Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как лучше и надежней записывакть/читать стринг из файла [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


Наверх

Титульная страница Поиск, карта сайта Написать письмо