在线等待,如何读这样的文本文件(50分)

  • 主题发起人 主题发起人 touip
  • 开始时间 开始时间
T

touip

Unregistered / Unconfirmed
GUEST, unregistred user!
有这样一个文本文件
1,aaaa,54.00,2002-12-01,n
2,dg,12.00,2001-11-23,y
....
如何把它和一个数据表联系起来,最好的方法是
 
导入excel然后保存为数据表
 
根据文本文件的内容自定义一个文本文件类型的数据库结构。
 
文件数据不是很多,打开EXCEL都要好久,如果我只有一条记录的话,
那要多久才能导进去啊
分析:1,aaaa,54.00,2002-12-01,n
有什么好方法?
 
建立一个库,字段依次为以上的四个类型,
第一个字段采用变长的,
数字型,
日期型,
逻辑型
用readln读到一个字符串中,再从字符串中读出来,采用逗号作为分隔符,
读出来的值依次赋给每个相应的字段就可以了,
可能较难的一点是怎么取分隔符,我还没有找到这个函数,找到给我说一下了
 
to jsxjd:
type
mytxt=record
id:integer;
number:integer;
end;
var
mytxt1:mytxt;
myfile=file of mytxt1;
可是读不出来
 
to xgr541:
和我想法一样,你也没找到,有没写过类似的函数?
 
你听过csv 或者 string command 没有,二者都可以。
 
详细请参看
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1048662
太长了,也为离线数据库省点空间,不转贴了。 [:)]
 
var
slFile, slTxt: TStrings;
i, j: integer;
begin
slFile := TStringList.Create;
slTxt := TStringList.Create;
for i := 0 to
slFile.Lines.LoadFromFile('文件名');
for i := 0 to slFile.Lines.Count - 1 do
begin
slTxt.Delimiter := ',';
slTxt.DelimitedText := slFile;
{
slFile[0] = aaaa,54.00,2002-12-01,n
slTxt[0]='aaa'
slTxt[1]='54.00'
slTxt[2]='2002-12-01
slTxt[3]='n'
}
for j := 0 to slTxt.Lines.Count - 1 do
begin
{将数据写入数据库}
end;
end;
slFile.Free;
slTxt.Free;
end;
 
用文本文件读入,或TstringList(如果是D6)
procedure TForm1.Button1Click(Sender: TObject);
var
MyStrList : TStrings;
i:word;
j:byte;
begin
MyStrList:=TStringList.Create;
MyStrList.LoadFromFile('data.txt');
MyStrList.Delimiter:=','; //指定分隔符
MyStrList.DelimitedText:=MyStrList.text;
ListBox1.Items := MyStrList;
...
//输入数据库(略)

end;
 
多人接受答案了。
 
后退
顶部