Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.07;
Скачать: CL | DM;

Вниз

Как лучше и надежней записывакть/читать стринг из файла   Найти похожие ветки 

 
Алик   (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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.107 c
4-1175630984
LuceferAB
2007-04-04 00:09
2007.10.07
как показать форму не отбирая фокуса


15-1189531493
vasIZmax
2007-09-11 21:24
2007.10.07
"Тарифный" ход


2-1189342976
lllll00
2007-09-09 17:02
2007.10.07
в чем ошибка


15-1189085540
delphiForever
2007-09-06 17:32
2007.10.07
вполне серьезно


15-1187848276
AZIZE
2007-08-23 09:51
2007.10.07
И снова о кино