R rgn Unregistered / Unconfirmed GUEST, unregistred user! 2006-08-31 #1 有一个不定长度的很长的字符串,要保存,等到下一次程序启动时要读入,请问怎样保存好?保存成ini它太长会换行,下次读入时只读入第一行。不想保存进数据库,因为它长度不定。有什么好办法?
H huzhicheng Unregistered / Unconfirmed GUEST, unregistred user! 2006-08-31 #5 能不能单独存成一个文本文件,然后读取的时候先计算文件大小,然后将其读出。或者存的时候按固定的长度拆分一下,读的时候反向操作一下,可以吗?
D dey-999 Unregistered / Unconfirmed GUEST, unregistred user! 2006-08-31 #6 放到一个专门的文本文件中,一旦读取则全部为你需要的文本字符串,可以规定每行的字符数,使用TStringList的SaveToFile和LoadFromFile就可以了
N nicai_wgl Unregistered / Unconfirmed GUEST, unregistred user! 2006-08-31 #8 写入文件 var tmpStr: WideString; tmpFileStream: TStream; begin tmpFileStream := TFileStream.Create('c:/1.txt', fmCreate or fmOpenReadWrite); try tmpFileStream.Write(tmpStr[1], Length(tmpStr)); finally tmpFileStream.Free; end; end; 从文件读出 var tmpStr: WideString; tmpFileStream: TStream; begin tmpFileStream := TFileStream.Create('c:/1.txt', fmCreate or fmOpenReadWrite); try SetLength(tmpStr, tmpFileStream.Size); tmpFileStream.Read(tmpStr[1], tmpFileStream.Size); finally tmpFileStream.Free; end; end;
写入文件 var tmpStr: WideString; tmpFileStream: TStream; begin tmpFileStream := TFileStream.Create('c:/1.txt', fmCreate or fmOpenReadWrite); try tmpFileStream.Write(tmpStr[1], Length(tmpStr)); finally tmpFileStream.Free; end; end; 从文件读出 var tmpStr: WideString; tmpFileStream: TStream; begin tmpFileStream := TFileStream.Create('c:/1.txt', fmCreate or fmOpenReadWrite); try SetLength(tmpStr, tmpFileStream.Size); tmpFileStream.Read(tmpStr[1], tmpFileStream.Size); finally tmpFileStream.Free; end; end;
D dey-999 Unregistered / Unconfirmed GUEST, unregistred user! 2006-08-31 #12 老大,你将数据分段放到TStringList中,每个元素只给50个字符,保存的时候文本文件不会换行了吧,取的时候将TStringList中的合并,比如stringreplace(TStringList.CommaText,',','',[rfReplaceAll])不就OK了?
老大,你将数据分段放到TStringList中,每个元素只给50个字符,保存的时候文本文件不会换行了吧,取的时候将TStringList中的合并,比如stringreplace(TStringList.CommaText,',','',[rfReplaceAll])不就OK了?
N nicai_wgl Unregistered / Unconfirmed GUEST, unregistred user! 2006-08-31 #13 老大,不管你原来的字符串是什么,我那样读出来之后还是跟原来一样的。 至于换行你是把c:/1.txt直接打开看了吧,呵呵,记事本会自动换行的老大。 你看看读出来的字符串和原来的比较一下,一样就OK了。
N nicai_wgl Unregistered / Unconfirmed GUEST, unregistred user! 2006-08-31 #14 另外不一定是c:/1.txt的,c:/1.dat也可以,改成txt无非是方便查看。