Форум: "Начинающим";
Текущий архив: 2007.10.07;
Скачать: [xml.tar.bz2];
ВнизКак лучше и надежней записывакть/читать стринг из файла Найти похожие ветки
← →
Алик (2007-09-09 15:09) [0]Всем добрый день!
Помогите плиз!
Прога производит регулярную запись и чтение стрингов фиксированной длины из создаваемого прогой файла, например
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;
Но проблема в том, что частенько прога портит эти стринги, т.е. когда я их считываю получается билиберда.
Может есть другой лучший способ как писать и читать стринги в свои файлы.
Заранее благодарен!
← →
Anatoly Podgoretsky © (2007-09-09 15:27) [1]> Алик (09.09.2007 15:09:00) [0]
file of StrWrite
← →
MetalFan © (2007-09-09 15:49) [2]
> WriteFile(flr, PChar(StrWrite)^, 100, rdd, nil);
> ReadFile(flr, Buffer^, 100, rdd, nil);
и автор рассчитывает "получить обратно" свою строку таким образом?
← →
{RASkov} © (2007-09-09 19:15) [3]
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;
← →
Alexey SVD (2007-09-09 23:15) [4]TFileStream
← →
Alexey SVD (2007-09-09 23:15) [5]Удалено модератором
← →
Alexey SVD (2007-09-09 23:15) [6]Удалено модератором
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.10.07;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.054 c