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

Вниз

FileRead, FileWrite   Найти похожие ветки 

 
Adham   (2003-04-27 07:45) [0]

Привет, МАСТЕРА!
Почему-то под Delphi6 не идет следующее:
var s:string;L:integer;
begin
FH:=FileCreate("aa.dat");
s:="assa";L:=Length(s);
FileWrite(FH,L,sizeof(L));
FileWrite(FH,s,L);
CloseFile(f);
end;
записывает в файл всяку ерунду ну и естественно
считывать не могу.
Что я делаю не так?


 
Palladin ©   (2003-04-27 07:50) [1]

думаешь не так
var s:string;L:integer;
begin
FH:=FileCreate("aa.dat");
s:="assa";L:=Length(s);
FileWrite(FH,L,sizeof(L));
FileWrite(FH,s[1],L);
CloseFile(f);
end;


 
Adham ©   (2003-04-27 11:18) [2]

Все пошло на УРА!
А в Дельфийском хелпе в этой ссылке:
FileExists, RenameFile, FileCreate, FileWrite, FileClose, ExtractFileName Example
идет такая штука:
StringLen := Length(StringGrid1.Cells[X,Y]);
FileWrite(FileHandle, StringLen, SizeOf(StringLen));
FileWrite(FileHandle, StringGrid1.Cells[X,Y], Length(StringGrid1.Cells[X,Y]);
где StringGrid1.Cells[X,Y]:string;
Кстати, при чтении необходимо оказывается так:
FileRead(Fl,L,SizeOf(Integer));
SetLength(S,L); //и только потом
FileRead(Fl,S[1],L);

Спасибо.


 
default ©   (2003-04-27 11:41) [3]

to Adham
понял почему так?


 
Adham ©   (2003-04-27 12:41) [4]

Честно говоря, только интуитивно.
Дельфийский хелп я не проверял, но если он верен
то я не знаю, почему так.
По-моему var Buffer, который требуется для FileRead (FileWrite)
нужно давать в виде указателя на первый байт.


 
Anatoly Podgoretsky ©   (2003-04-27 12:45) [5]

Правильно, а ты давал указатель на переменную string, которая если не NIL является указателем на этот самый байт.


 
Palladin ©   (2003-04-27 12:45) [6]


> Кстати, при чтении необходимо оказывается так:
> FileRead(Fl,L,SizeOf(Integer));
> SetLength(S,L); //и только потом
> FileRead(Fl,S[1],L);

а ты как делал?


 
Adham ©   (2003-04-27 17:00) [7]

> FileRead(Fl,L,SizeOf(Integer));
> SetLength(S,L); //и только потом
> FileRead(Fl,S[1],L);
Да я эту чертову [1] не ставил :(



Страницы: 1 вся ветка

Текущий архив: 2003.05.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
3-22948
Shota_body
2003-04-08 14:09
2003.05.08
pack в Halcyone


1-23172
KSergey
2003-04-24 14:20
2003.05.08
Получить файл формата EMF


1-23196
FZ*XupypG
2003-04-25 03:17
2003.05.08
Вторичные потоки, выполнение кода в фоновом режиме


7-23410
hawkins
2003-03-15 08:34
2003.05.08
где в системном реестре хранятся ссылки Избранного Internet Exp


1-23114
skovorodka
2003-04-27 13:27
2003.05.08
TShiftState ?