易截截图软件、单文件、免安装、纯绿色、仅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 究竟产生了几个String对象的问题

技术交流,DH讲解. 这个是在CSDN上面看见的问题.我说说自己的想法. procedure TForm1.btn1Click(Sender: TObject);
var
Str:String;
begin
Str:='abc' ;

Str:=str+'d';

str:=copy(Str,1,3);

str:=UpperCase(str);
end;
问题1答案:2010下
Unit4.pas.29: begin
005144E0 55 p ......

Delphi CRC32校验

网上Down的一个单元.自己改了下. unit utCRC32;
interface
uses
Windows,SysUtils,Classes;
const //Crc32表
Crc32Tab: Array[0..$FF] of LongInt =
($00000000, $77073096, $ee0e612c, $990951ba, $076dc419, $706af48f,
$e963a535, $9e6495a3, $0edb8832, $79dcb8a4, $e0d5e91e, $97d2d988,
$0 ......

SDL & Object Pascal (Delphi) [前言]

实际上这个名字叫[SDL & Delphi]也不成问题, 因为除了Delphi似乎也没有哪个流行的开发工具用的是Pascal语言。
SDL其实我也只学了不到两星期而已。刚开始我想试图用VC,因为这样资料最全,也很好找,但太久没用VC现在看C的代码有点困难(->这个算符是干吗的来着……)。其实作为一个专业不是计算机的人 ......

Delphi 自己写个Timer玩玩

技术交流,DH讲解.
明天去坐火车,回家,今天就没有事做,本来在弄一个跨进程获取其他程序里面组件,如ListView,ListBox,Button等的信息,突然有个想法自己写个Timer,不用SetTimer函数,我们自己用个多线程也正好实现这个.反正前段时间多线程也弄得比较多,本来想单独讲讲的,现在就用个例子来说明吧.
写成一个控件:utTimer.pas
v ......

在Delphi中,字符串查找 函数

Delphi提供的字符串函数里有一个Pos函数,它的定义是:
function Pos(Substr: string; S: string): Integer;
它的作用是在字符串S中查找字符串Substr,返回值是Substr在S中第一次出现的位置,如果没有找到,返回值为0。
使用pos函数来查找字符第一次出现的位置
var
str1:string;
i,j:integer;
begin
str1:='dsf465 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号