我要读取的文件格式如下:MySql, Version: 3.23.42-nt-log, started with:
TCP Port: 3306, Named Pipe: MySQL
Time                 Id Command    Argument
MySql, Version: 3.23.42-nt-log, started with:
Time                 Id Command    Argument
021216  9:57:05    1 Connect     ODBC@localhost as anonymous on 
021216  9:57:08    1 Init DB     sfa
021216  9:57:15    1 Query       select * from mp_right
021216 11:03:05    1 Query       create table test(id integer)
021216 11:03:13    1 Query       create table test1(id integer)
021216 11:03:28    1 Query       insert into test1 values(1)通过Readln可以读取一行的内容,我怎样能够读取文件中Command 和Argument列的内容?该文件属于记录文件吗?

解决方案 »

  1.   

    tempIni := TIniFile.Create(ExtractFilePath(Application.ExeName)+'Costing.ini');
     curDBName:= tempIni.ReadString('SYSTEM','DBNAME' ,'' )
    这样可以都你想要的字段的。
    system,dbname是costing里面的目录
      

  2.   

    不过使用以前,要先建立consting这个文件
      

  3.   

    to Means_pan(酷鱼) :你是说我要对原来的文件进行改造呀?这可能很困难,文件不是我写的,是Mysql的日志。
    我要通过Mysql的日志文件,将本地数据的更改(离线状态时的更改)更新到服务器端。
      

  4.   

    to halfdream(哈欠):这个系统如果处理好的话是很复杂的,首先,一条命令不一定在一条上,所以readln是不可以的。通过二进制分析发现,一条命令的结束是十六进制OA,而一条命令的结束是0D 0A,所以我要通过数据流的方式读一块数据到内存(文件很大,不可能全部取出),进行判断,找0A,然后判断0A前是否是0D,是则继续读,这样就把各条命令进行分离,再对每条命令进行分析。复杂的地方还有分块读的问题。要把剩下的字节合并到下一块中,剩下的字节还是不定长的。我认为还是很复杂的。