Delphi将纯文本资料转入数据库计算机二级考试

文章作者 100test 发表时间 2009:06:15 07:13:57
来源 100Test.Com百考试题网


  编辑特别推荐:

  全国计算机等级考试(等考)指定教材

  全国计算机等级考试学习视频

  全国计算机等级考试网上辅导招生

  全国计算机等级考试时间及科目预告

  百考试题教育全国计算机等级考试在线测试平台

  全国计算机等级考试资料下载

  全国计算机等级考试论坛

  计算机等级考试四级应用题解析汇总

  2009年下半年全国计算机二级考试时间是2009年9月19日至23日。2009年下半年全国计算机二级考试报名时间会在考前两个月开始报名!更多优质资料尽在百考试题论坛 百考试题在线题库

  例如,有一段人事档案资料archive.txt,内容如下:
  小许男21工程师
  小吴女23助理工程师
  小蔡男22助理工程师
  小牟女22工程师
  要将它转入数据库archive.dbf中,archive.dbf结构如下:
  姓名,性别,年龄,职称
  怎么办呢?现在通过使用delphi编程,很好地解决了这个难题。Delphi提供了许多功能强大,丰富的字符处理函数和过程,常用的有:
  (1)function Length(S:String):Integer返回串的长度
  (2)function Copy(S:String.Index,Count:Integer):String 给出一个字符串中串的拷贝
  (3)function Pos(Substr:String.S:String).Integer 查找子串在字符串中的位置
  (4)Procedure Delete(VarS:String.Index,Count:Integer).从一个字符串中去除子串
  利用Delphi提供的已有函数和过程基础上编制自己的三个函数,实现了纯文本格式资料转入数据库功能。只要Delphi支持的数据库都可以支持。
  archive.txt中每行数据为一个字符串,字符串中每个被分割的数据为一个字段,分割每个字段的字符为分割符,这里是空格,也可以是,、.、#等符号。具体思想是:先将字符串进行调整,然后把串中每个字符同分割符比较,将不是分割符的字符追加到MyStr串中,最后得到一个字段的内容。通过一个循环,就可以将一个字符串分成几个字段。
  Function Regulate(aString,Sepchar:string):string 去掉多余的分割符,规范字符串
  Function GetSubStr(varsSt g:string.SepChar:String):String.得到字符串中一个子串,因要改变参数aString的值,所以将它用var定义。
  FunctionGetSubStrNum(aString,SepChar:String):Integer.计算一个字符串要被分割成几个字段。
  参数:aString是所需分割的一个字符串,SepChar是分割符。
  Function RegulateStr(aString:String.Sepchar:String):String.
  var
  i,Num:Integer.
  Flag:Boolean.
  MyStr,TempStr:String.
  begin
  Flag:=False.进行标志,去除多余的分割符
  Num:=Length(aString). 计算aString串的长度
  for i:=1 to Num do
  begin
  TempStr:=Copy(aString,i,1).取aString串中的一字符
  if TempStr SepChar then
  begin
  MyStr:=MyStr TempStr.
  Flag:=True.
  end
  else
  if(Flag = True)then
  begin
  Mystr:=Mystr TempSrt.
  Flag:=False.
  end.
  end.
  if MyStr[Length(MyStr)] SepChar then
  MyStr:=MyStr SepChar.
  RegulateSrt:=MyStr.
  end.
  Function GetSubStr(var aString:String,SepChar:Strign):String.
  var
  Mysrt:String.
  StrLen:Integer.
  SepCharPso:Integer.
  begin
  StrLen:=Length(aString).
  SepCharPos:=Pos(SepChar,aString).计算分割符在子串中的位置
  MyStr:=Copy(aString,1,SepCharPos-1). 将分割符前所有字符放到mystr串中
  Delete(aString,1,SepCharPos).除去分割符和分割符前的子串
  GetSubStr:=MyStr.返回一个字段
  end.
  FunctionTforml.GetSubStrNum(aString:String.SepChar:String):Integer.
  var
  i:Integer.
  StrLen:Integer.
  Num:Integer.
  begin
  StrLen:=Length(aString).
  Num:=0.
  for i:=1 to StrLen do
  if Copy(aString,i,1) = SepCharthen
  Num:=Num 1.
  GetSubSrtNum:=Num.
  end.
  有了上面三个函数,现在介绍一下具体的应用:
  1.首先建立一个窗体Forml,加入一个RichEditl(或Menol),一个按钮Buttonl和一个Tablel,设置Tablel的属性:
  Tablell.DataBase = c:\\Archivs
  Tablell.TableName =Archive.dbf
  2.分别加入以下程序:
  Const Space=
  ProcedureTForml.FormCreate(Sender:Tobject).
  begin
  RichRditl.Lines.LoadFromFile(Archive.txt).
  end.
  ProcedureTForml.Button1Click(Sender:Tobject).
  var
  i,j:Integer.
  MyLine:String.
  begin
  with Tablel do
  begin
  Open.
  for i:=0 to RichEditl.Lines.Count-1 do
  begin
  MyLine:=RegulateStr(Richeditl.Lines[i],Space).
  for j:=1 to Num do
  begin
  Append.
  fileds[j-1].aString:=GetSubSrt(MyLine,Space)).
  post.
  end.
  end.
  end.
  end.
  然后就可以进行编译,运行了。此程序在win95/Delphi2.0下调试通过。

  2009年9月全国计算机等级考试时间及科目预告

  2009年NCRE考试有新变化

  2009年全国计算机等级考试-大纲

  全国计算机等级考试历年真题及答案

  2009年上半年全国计算机等级考试试题及答案



相关文章


DELPHI技巧:用Delphi编写圆周率模拟器计算机二级考试
DELPHI技巧:有关TListView的使用计算机二级考试
DELPHI技巧:改变RichEdit的游标位置计算机二级考试
DELPHI技巧:为Delphi中数据库报表加网格计算机二级考试
Delphi将纯文本资料转入数据库计算机二级考试
计算机二级Delphi中TApplication类计算机二级考试
计算机二级DELPHI技巧:代码优化分析一例计算机二级考试
计算机二级DELPHI技巧:Delphi操作Excel计算机二级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛