![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как лучше и надежней записывакть/читать стринг из файла [WinXP]
Алик © (2007-09-09 15:09:00)Всем добрый день!
Помогите плиз!
Прога производит регулярную запись и чтение стрингов фиксированной длины из создаваемого прогой файла, например
Owndata.dat.
Делаю это так:
var
Buffer : PChar;
flr : hFile;
rdd : Cardinal;
StrRead : String;
StrWrite : String[100];
begin
try
CreateFile(........................);
Buffer := PChar(AllocMem(100));
WriteFile(flr, PChar(StrWrite)^, 100, rdd, nil);
ReadFile(flr, Buffer^, 100, rdd, nil);
StrRead := Buffer;
finally
Buffer := PChar(AllocMem(0));
End;
Но проблема в том, что частенько прога портит эти стринги, т.е. когда я их считываю получается билиберда.
Может есть другой лучший способ как писать и читать стринги в свои файлы.
Заранее благодарен!
Alexey SVD (2007-09-09 23:15:00) [1]TFileStream
Alexey SVD (2007-09-09 23:15:00) [2]Удалено модератором
Alexey SVD (2007-09-09 23:15:00) [3]Удалено модератором
{RASkov} (2007-09-09 19:15:00) [4]
type TString100 = String[100];
......
//Запись
procedure TForm1.Button1Click(Sender: TObject);
var F: File of TString100; S: TString100;
begin
AssignFile(F, 'Owndata.dat');
Rewrite(F);
try
S:='Строка до 100 символов';
Write(F, S);
.....
finally CloseFile(F); end;
end;
//Чтение
procedure TForm1.Button2Click(Sender: TObject);
var F: File of TString100; S: TString100;
begin
AssignFile(F, 'Owndata.dat');
Reset(F);
try
while not EOF(F) do begin
Read(F, S);
ShowMessage(S);
end;
finally CloseFile(F); end;
end;
MetalFan (2007-09-09 15:49:00) [5]
> WriteFile(flr, PChar(StrWrite)^, 100, rdd, nil);
> ReadFile(flr, Buffer^, 100, rdd, nil);
и автор рассчитывает "получить обратно" свою строку таким образом?
Anatoly Podgoretsky (2007-09-09 15:27:00) [6]> Алик (09.09.2007 15:09:00) [0]
file of StrWrite