当前位置: 首页 > news >正文

想自己做个网站百度云下载

想自己做个网站,百度云下载,网站定位包括哪些内容,wordpress 新浪代码本例用到:TClientDataSet.Fields[]; { 字段集合; 它比 FieldList 有更多功能, 如可获取嵌套字段 } TClientDataSet.FieldList[]; { 字段列表; 它比 Fields 轻便, 如果只是取值用它快一些 } TClientDataSet.FieldByName(); { 根据字段名称获取字段对象; 获…

本例用到:
TClientDataSet.Fields[];           { 字段集合; 它比 FieldList 有更多功能, 如可获取嵌套字段 }
TClientDataSet.FieldList[];        { 字段列表; 它比 Fields 轻便, 如果只是取值用它快一些 }
TClientDataSet.FieldByName();      { 根据字段名称获取字段对象; 获取一个字段对象时它比上两个快 }
TClientDataSet.FindField();        { 根据字段名称查找字段对象 }
TClientDataSet.FieldValues[];      { 根据字段名称获取字段值; 如果仅是获取字段值, 这个最快 }
TClientDataSet.First;              { 到第一个记录 }
TClientDataSet.Next;               { 到下一个记录 }
TClientDataSet.Last;               { 到最后一个记录 }
TClientDataSet.Prior;              { 到上一个记录 }
TClientDataSet.RecNo;              { 设置或读取当前记录的位置 }
TClientDataSet.Bof;                { 当前位置是否是第一个记录 }
TClientDataSet.Eof;                { 当前位置是否是最后一个记录 }
TClientDataSet.RecordSize;         { 一个记录的大小; 所谓一个记录就是当前行的所有字段 }
TClientDataSet.RecordCount;        { 记录总数; 也就是总行数 }
TClientDataSet.GetFieldList();     { 根据指定的几个字段名获取字段对象的列表 }
TClientDataSet.GetFieldData();     { 把指定字段的值写入一个缓冲区 }
TClientDataSet.GetCurrentRecord(); { 把当前记录(不包括 Bolb 字段)写入到一个缓冲区 }

读取字段的结构信息可以使用 TFieldDef 对象(一般来源于 FieldDefs 或 FieldDefList);

现在要读取其中的数据, 应该使用 TField 对象(一般来源于 Fields 或 FieldList).

Fields[0]、Fields[1] ... Fields[n] 获取的是当前行的第几个字段, 可用 Next、RecNo 等指定当前位置(行).

下面的例子使用了 Common Files\CodeGear Shared\Data\holdings.xml, 若更换文件需调整代码.

这是 holdings.xml 的字段信息:
ACCT_NBR  { 类型是 r8, 对应 ftFloat, 相当于 Double }
SYMBOL    { 类型是 string, 对应 ftString, 相当于 AnsiString; 指定 Size=7, 加上空结束, 大小是 8 }
SHARES    { 类型是 r8, 对应 ftFloat, 相当于 Double }
PUR_PRICE { 类型是 r8, 对应 ftFloat, 相当于 Double }
PUR_DATE  { 类型是 date, 对应 ftInteger, 相当于 Integer }

先窗体上放置 ClientDataSet1、DataSource1、DBGrid1、Memo1 和七个 Button, 然后:

{ 准备数据, 也可在设计时完成 }
procedure TForm1.FormCreate(Sender: TObject);
beginChDir(GetEnvironmentVariable('CommonProgramFiles') + '\CodeGear Shared\Data\');ClientDataSet1.LoadFromFile('holdings.xml');DBGrid1.DataSource := DataSource1;DataSource1.DataSet := ClientDataSet1;
end;{ 读取字段值的几种方法 }
procedure TForm1.Button1Click(Sender: TObject);
varv1,v2,v3,v4,v5,v6,v7,v8,v9: Variant;num: Double;fName: string;
begin{ 获取首字段的名称 }fName := ClientDataSet1.Fields[0].FieldName;{ 获取第一个字段值的几种方法: }v1 := ClientDataSet1.Fields[0].Value;v2 := ClientDataSet1.FieldByName(fName).Value;v3 := ClientDataSet1.FindField(fName).Value;v4 := ClientDataSet1.FieldValues[fName];v5 := ClientDataSet1[fName]; { FieldValues 是默认的数组属性 }v6 := ClientDataSet1.FieldList[0].Value;v7 := ClientDataSet1.FieldList.FieldByName(fName).Value;v8 := ClientDataSet1.FieldList.Find(fName).Value;v9 := ClientDataSet1.FieldList.Fields[0].Value;{ 已知这个字段是 Double 类型的, 可同时转换 }num := ClientDataSet1.Fields[0].AsFloat;{ 查看结果 }with Memo1.Lines do beginClear;Add(v1); Add(v2); Add(v3); Add(v4); Add(v5); Add(v6); Add(v7); Add(v8);Add(FloatToStr(num));end;
end;
{ 遍历当前行字段的几种方法 }
procedure TForm1.Button2Click(Sender: TObject);
varField: TField;i: Integer;
beginMemo1.Clear;for Field in ClientDataSet1.Fields dobeginMemo1.Lines.Add(Field.Value);end;Memo1.Lines.Add('');for i := 0 to ClientDataSet1.FieldCount - 1 dobeginMemo1.Lines.Add(ClientDataSet1.Fields[i].Value);end;Memo1.Lines.Add('');for i := 0 to ClientDataSet1.FieldList.Count - 1 dobeginMemo1.Lines.Add(ClientDataSet1.FieldList[i].Value);end;Memo1.Lines.Add('');
end;{ First、Next、Last、Prior、RecNo }
procedure TForm1.Button3Click(Sender: TObject);
vars1,s2,s3: string;
begin{ 读取第二行第二个字段 }ClientDataSet1.First;ClientDataSet1.Next;s1 := ClientDataSet1.Fields[1].AsString;{ 读取倒数第二行第二个字段 }ClientDataSet1.Last;ClientDataSet1.Prior;s2 := ClientDataSet1.Fields[1].AsString;{ 读取第四行第二个字段 }ClientDataSet1.RecNo := 4;s3 := ClientDataSet1.Fields[1].AsString;{ 查看结果 }with Memo1.Lines do beginClear;Add('第二行第二个字段: ' + s1);Add('倒数第二行第二个字段: ' + s2);Add('第四行第二个字段: ' + s3);end;
end;{ 遍历指定字段的所有记录 }
procedure TForm1.Button4Click(Sender: TObject);
vari: Integer;
beginif not ClientDataSet1.Bof then ClientDataSet1.First;Memo1.Clear;while not ClientDataSet1.Eof dobeginMemo1.Lines.Add(ClientDataSet1.FieldList[0].Value);ClientDataSet1.Next;end;Memo1.Lines.Add('-------');for i := 1 to ClientDataSet1.RecordCount dobeginClientDataSet1.RecNo := i;Memo1.Lines.Add(ClientDataSet1.FieldList[1].Value);end;
end;{ 通过 GetFieldList 可以读取几个指定字段的 TField 对象的列表 }
procedure TForm1.Button5Click(Sender: TObject);
varList: TList;Field: TField;i: Integer;
beginList := TList.Create;ClientDataSet1.GetFieldList(List, 'ACCT_NBR; SYMBOL; SHARES');Memo1.Clear;for i := 0 to List.Count - 1 dobeginField := List[i];Memo1.Lines.Add(Field.Value);end;List.Free;
end;{ GetFieldData 读取字段值到指针 }
procedure TForm1.Button6Click(Sender: TObject);
varF1: Double;F2: array[0..7] of AnsiChar;
beginClientDataSet1.GetFieldData(ClientDataSet1.Fields[0], @F1);ClientDataSet1.GetFieldData(ClientDataSet1.Fields[1], @F2);with Memo1.Lines do beginClear;Add(FloatToStr(F1));Add(F2);end;
end;//这是后面的例子用到的函数, 转换 TClientDataSet 时间格式到 TDateTime
function TDateTimeRecToDateTime(DataType: TFieldType; Data: TDateTimeRec): TDateTime;
varTimeStamp: TTimeStamp;
begincase DataType offtDate:beginTimeStamp.Time := 0;TimeStamp.Date := Data.Date;end;ftTime:beginTimeStamp.Time := Data.Time;TimeStamp.Date := DateDelta;end;elsetryTimeStamp := MSecsToTimeStamp(Data.DateTime);exceptTimeStamp.Time := 0;TimeStamp.Date := 0;end;end;Result := TimeStampToDateTime(TimeStamp);
end;{ GetCurrentRecord 是把当前行的所有字段(不包括 Blob 字段)读入到缓冲区 }
procedure TForm1.Button7Click(Sender: TObject);
typeTHoldingsStruct = packed record { 这是根据 holdings.xml 建立的数据结构 }ACCT_NBR: Double;SYMBOL: array[0..7] of AnsiChar; { 其 Size=7, 但后面还有个 #0 }SHARES: Double;PUR_PRICE: Double;PUR_DATE: Integer;
//    Other: array[0..4] of Byte; { 它后面还若干字节偏移, 测试时其字节数等于前面的字段数 }end;
varbuf: THoldingsStruct;DateTimeRec: TDateTimeRec;
begin//ShowMessage(IntToStr(ClientDataSet1.RecordSize)); { 可通过这个值对照上面的结构 }if ClientDataSet1.GetCurrentRecord(@buf) then with Memo1.Lines dobeginClear;Add(FloatToStr(buf.ACCT_NBR));Add(buf.SYMBOL);Add(FloatToStr(buf.SHARES));Add(FloatToStr(buf.PUR_PRICE));DateTimeRec.Date := buf.PUR_DATE;Add(DateToStr(TDateTimeRecToDateTime(ftDate, DateTimeRec)));end;
end;
http://www.lbrq.cn/news/2592811.html

相关文章:

  • 建个企业网站还是开个淘宝店网站策划是什么
  • 怎样做音视频宣传网站班级优化大师免费下载
  • 湘潭seo磐石网络开源seo软件
  • 有网站前台如何做后台计算机培训机构
  • WordPress同步某个表湖南网站seo
  • 青岛鲁icp 网站制作 牛商网市场调研公司
  • 秦皇岛网站建设服务域名查询备案
  • 打字赚钱网站昆明seo关键词
  • 广州网站开发广州亦客网络解答网络营销推广技巧
  • 按营销型网站要求重做网站 费用百度识图在线网页版
  • 网站设计公司飞沐云搜索下载
  • 京华建设科技有限公司网站百度刷搜索词
  • 网站模版怎么用广州seo工资
  • 信阳建设企业网站百度信息流广告平台
  • 网站图片太多怎么办怎么做网络营销推广
  • 做二手车的网站有哪些杭州余杭区抖音seo质量高
  • 沈阳微信网站开发推广软件是什么工作
  • 网站推广昔年下拉湘潭关键词优化公司
  • 什么软件做网站最好seo优化需要多少钱
  • 保定网站建设培训班深圳网络推广公司有哪些
  • 广南网站建设今日新闻头条最新消息
  • 知名网站建设怎么样域名查询网站入口
  • 关于网站建设的博客网络推广的方法
  • 泰安房产信息网官网湖南专业seo优化
  • 现工作室专做网站建设等应用程序项目,但工作室名暂为哪家网络公司比较好
  • 在网站上做承诺书拉新人拿奖励的app
  • 企业网站是怎么建站的南京seo新浪
  • 网站建设具体建设流程网站建设深圳公司
  • 做产品网站费用吗网络推广方案范文
  • 万网主机网站建设数据库怎么弄抖音推广佣金平台
  • Antlr学习笔记 01、maven配置Antlr4插件案例Demo
  • 基于Java的AI工具和框架
  • Corrosion2靶机练习笔记
  • 面向智能体的上下文工程:策略、实现与 LangGraph 实践
  • 设计原则和设计模式
  • 内存、硬盘与缓存的技术原理及特性解析