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

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

BlockWrite [D6]


pvasya ©   (2002-10-03 13:52:00) 

Я в замешательстве. Hаверное я забыл паскаль.

procedure WriteToFile;
var f:file;
a:string;
begin
Assign(f,"d:\1.aaa");
Rewrite(f,1);
a:="test";
BlockWrite(f,a,Length(a));
Close(f);
end;

В паскале 7.0 записывает в файл test, в Delphi6 -- ерунду. Объясните мне убогому как в Delphi писать стринги в файл. Да, мне нужна файловая переменная типа file, ибо файл нетипизированный.


Anatoly Podgoretsky   (2002-10-03 14:38:00) [1]

Или
strVal:String[255];
strName:String[255]"
или
strVal:ShortString;
strName:ShortString"

Вообще приходи в ru.delphi.chainik


Smithson   (2002-10-03 14:17:00) [2]

для ShortString такая перменная уже есть - S[0].
Посему - blockwrite(F,S[0],Length(S)+1,i).
При считывании - blockread(F,Ch, 1,i);
blockread(F,S[1],Ch,i);
S[0] := Ch; // Ch: Char;


pvasya   (2002-10-03 14:12:00) [3]

я так и думал, но мнея не устраивает стоки ограниченной длины поэтому прийдется ввести переменную указвающую длину строки для последующего корректного считывания


Anatoly Podgoretsky   (2002-10-03 14:11:00) [4]

Или
strVal:String[255];
strName:String[255]"
или
strVal:ShortString;
strName:ShortString"

Вообще приходи в ru.delphi.chainik


MBo   (2002-10-03 14:10:00) [5]

каждое поле по отдельности.
Либо используй короткие строки strval:string[10]


pvasya   (2002-10-03 14:06:00) [6]

А как тогда писать в файл структуру такого типа?

TActionList=Record
typeAct:byte;
strVal:String;
strName:String
iVal:integer;
aDate:TDateTime;
aTime:TDateTime;
end;


Kaban   (2002-10-03 13:59:00) [7]

Кстати,
To avoid scope conflicts, AssignFile replaces the Assign procedure that was available in previous versions of Delphi. However, for backward compatibility Assign is still available.


MBo   (2002-10-03 13:57:00) [8]

BlockWrite(f,a[1],Length(a));


Наверх

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