易截截图软件、单文件、免安装、纯绿色、仅160KB

delphi实现批量读取格式有规律的文本文件的内容.

现有一系统不定时在同一目录下生成一批txt文件,内容大概如下;
      20100112_164910,6,81406392,808,113,,
为方便统计,需要将这些txt文件中的数据读入数据表中.
现有两种方法:
   一是直接将数据读入到数据表中的某一列中,再用sql 语句拆开成几列: 
       20100112_164910   6     81406392      808         113
  二是在导入时就将其拆开成几列分别导入到各列中
如果第二种方法可以实现,那么对于系统的性能将会是一个很大的帮助.
下面介绍我的做法,可能是最笨重的一种,欢迎大家提出更好的方法.
   核心方法是调用memo的Delimiter特性. 若把Delimiter的值设为",",那么使用DelimitedText属性可得到由","分开的几行.
需要两个memo,第一个memo将文档中的内容读入,第二个memo将第一个memo中的内容分解成几行.
如上面的例子就会变成:
20100112_164910 
6
81406392
808
113
接下来的事情就变得比较简单了.当然这里面循环是肯定少不了的了.
下面是全部代码:
第一步:新建一个带参数的过程: 参数是文件名
var
    F:text; 
procedure TForm1.Insert(FileName:string);
var
  s: string;
  i:integer;
begin
  AssignFile(F,FileName); //将文件的内容读到F中
  Reset(F);
  Memo1.Clear;
  while not Eof(F) do
   begin
    Readln(F, s);       //再将F中的内容读到S中
    Memo1.Lines.Add(s); //将内容加入memo中
   end;
   CloseFile(F);
 if  memo1.Lines.Count>=1 then
 begin
   for i:=0 to memo1.Lines.Count-2 do
   begin
      if length(memo1.Lines[i])>4 then
      begin
      Memo2.Lines.Delimiter := ',';
      Memo2.Lines.DelimitedText := memo1.Lines[i];
       //下面两句是业务处理语句,把相关的内容插入表中
    &n


相关文档:

Delphi正则表达式使用方法(TPerlRegEx)

Delphi正则表达式使用方法(TPerlRegEx)
正 文:
    使用Delphi开发软件无疑是一种比较高效率的方式,完全对象的语言,严格控制的语法,可视化开发环境的性能,编译器的速度和已编译代码的效率,编程语言的功能及其复杂性,数据库结构的灵活性和可扩展性,框架对设计和使用模式的扩充无疑都是delph ......

引用 [转]delphi编译错误中英对照表

在编译delphi程序时会出现在些提示,全是E文的,现在给大家一个对照表,可以更好的理解错误提示信息!
';' not allowed before 'ELSE' ElSE前不允许有“;”
'' clause not allowed in OLE automation section 在OLE自动区段不允许“”子句
'' is not a type identifier 不是类型标识符
'' not prev ......

Delphi下实现包含通配符的文本查找

本文最早在编程论坛上发表,文章地址:http://programbbs.com/bbs/view12-21351-1.htm,相关文件可以在上述地址的页面中下载。转载时请注明出处。
一、前言
通配符就是指“*”和“?”两个字符,“*”表示当前位置可以没有或者有多个任意字符;“?”表示当前位置有一个任意字符。 ......

Delphi调试DLL 不能调试 不能进入调试 注意!!!

如何调试DLL,在这里就不再赘述了,但是,今天就碰到了一个特别奇怪的问题,参数设置正确,就是不能调试?? 通过上网查资料,发现了问题,注意:
  1, 将Project主菜单的Project Options对话框的Compiler页面Debugging选项中的 Debug informaton、Local symbols、Assertions复选框选中
  2,将Tools主菜单的D ......

Delphi 自己写个Timer玩玩

技术交流,DH讲解.
明天去坐火车,回家,今天就没有事做,本来在弄一个跨进程获取其他程序里面组件,如ListView,ListBox,Button等的信息,突然有个想法自己写个Timer,不用SetTimer函数,我们自己用个多线程也正好实现这个.反正前段时间多线程也弄得比较多,本来想单独讲讲的,现在就用个例子来说明吧.
写成一个控件:utTimer.pas
v ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号