一个对文件操作的问题(50分)

  • 主题发起人 主题发起人 liwei@
  • 开始时间 开始时间
L

liwei@

Unregistered / Unconfirmed
GUEST, unregistred user!
有以下一个.txt文件
username age sex
sssss 23 df
fdaf 32 ew
dafdfa 23 df
.......
现在我是这么做的
slist:=tstringlist.Create ;
slist.LoadFromFile('c:/user.txt');
for line:=1 to slist.Count-1 do
begin
templine:=slist.Strings[line];
{ for statin:=0 to length(templine]) do
begin
temp:=pos(templine,' ');

end;
}
这里我要依次读出该行的username ,age,sex
如何写代码呢?

end;
end;
 
username=copy(slist.Strings[line],1,pos(' ',slist.Strings[line])-1)
其他类似
 
我也想知道
 
procedure TForm1.Button1Click(Sender: TObject);
type
TUserInfo = record
UserName : String;
Age : String;
Sex : String;
end;

var
TxtStrings : TStringList;
TempStr : String;
I, J : Integer;
UserInfo : array of TUserInfo;
begin
TxtStrings := TStringList.Create;
TxtStrings.LoadFromFile('C:/USER.TXT');

if TxtStrings.Count <= 1 then exit;

for I := 1 to TxtStrings.Count - 1 do
begin
TempStr := TxtStrings.Strings;
SetLength(UserInfo, I);

UserInfo[I - 1].UserName := Copy(TempStr, 1, Pos(' ', TempStr) - 1);
Delete(TempStr, 1, Pos(' ', TempStr));
while Pos(' ', TempStr) = 1 do
begin
Delete(TempStr, 1, 1);
end;

UserInfo[I - 1].Age := Copy(TempStr, 1, Pos(' ', TempStr) - 1);
Delete(TempStr, 1, Pos(' ', TempStr));
while Pos(' ', TempStr) = 1 do
begin
Delete(TempStr, 1, 1);
end;

UserInfo[I - 1].Sex := Trim(TempStr)
end;

FreeAndNil(TxtStrings);
end;
 
我想这还是用记录文件来解决的好.我写了个学习那个记录文件方面的小程序,有添加,删除,
查找的功能的,你要是要,我寄给你,jbas@163.com
 
procedure RegulateStr(aString:String;Sepchar:String;Isfirst:boolean);
//aString 为取出的字符串,Sepchar为分隔符.Isfirst是否列名。
var
Num:Integer;
MyStr,qryStr:String;
begin
Num:=0;
//i:=length(aString);
while length(astring)<>0 do begin
mystr:=copy(astring,1,pos(sepchar,astring)-1);//截取子符串
delete(astring,1,pos(sepchar,astring)); //删除子符串
if mystr=''then mystr:='1.00'; //防止空字符
if Isfirst then begin//如果是第一条,则特殊处理。
Form1.Query1.fields[Num].DisplayLabel:=mystr;
end else
begin
Form1.Query1.Fields[Num].AsString:=mystr;
end;
Num:=Num+1;
end;
end;
 
按照zhihuali的方法去做!
如果不想分析字符串来得到name,age等各个项,可以更改你的文件存储结构!
建议使用Ini文件存储,存取,写入都方便。
[PersonName1]
age=20
gender=男
........
[personName2]
age=14
gender=女
.........
这样存储如果你的项较多的话,就不要分析字符串了。
使用TIniFile进行操作就是些
Create,WriteString,WriteInteger,ReadInteger,ReadString之类的。详细的查帮助!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
452
import
I
I
回复
0
查看
636
import
I
后退
顶部