Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Большие файлы / 4 сообщений из 4, страница 1 из 1
25.03.2003, 11:22
    #32126358
bjohny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большие файлы
Читаю в память файл размером 13 М(файл текстовый). Память выделяю, все ОК.
Если сохранить прочитанное в другой файл, то 1:1. Но если получить размер считанной переменной(StrLen), то показывает, что только 9 М. Подскажите плиз, чаво я проморгал.
Var FS:TFileStream;
FS:= TFileStream.Create('...', fmShareDenyNone);
iFileLength := FS.Size;// 13 M
st := PChar(AllocMem(iFileLength+1));// 13 M
FS.Read(st^, iFileLength);// Счиатл 13 М
Showmessage(InttoStr(StrLen(st)));// 9 М
FS.Free;
freemem(st);
...
Рейтинг: 0 / 0
25.03.2003, 11:27
    #32126364
Aleksei
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большие файлы
С чем-то таким я сталкивался.
По моему я просто стал открывать файл как не типизированный
var
F:File;
...
Рейтинг: 0 / 0
25.03.2003, 11:41
    #32126375
bjohny
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большие файлы
Спасибо, разобрался, не хватает буфера(или глючит дельфя). Зачитал файл по 512 kb, все ОК
...
Рейтинг: 0 / 0
26.03.2003, 09:39
    #32127049
SmaLL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Большие файлы
А зачем ты определяешь длину строки!? У тебя же есть значение еЁ длины, которое сохранено в iFileLength. Вот и используй его!
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Большие файлы / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]