Форум: "Основная";
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];
ВнизRichEdit или Memo! Как загружать фалы больших размеров только для Найти похожие ветки
← →
Alx2 (2002-04-08 16:09) [12]
SourceHFILE := CreateFile(PChar(Filename), GENERIC_READ, FILE_SHARE_READ,
Nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
If SourceHFILE = INVALID_HANDLE_VALUE Then exit;
fileSize := GetFileSize(SourceHFILE, Nil);
If fileSize = 0 Then
Begin
CloseHandle(SourceHFILE);
exit;
End;
SourcehFileMap := CreateFileMapping(SourceHFILE, Nil, PAGE_READONLY, 0, fileSize, Nil);
CloseHandle(SourceHFILE);
If SourcehFileMap = 0 Then exit;
SourcepvFile := MapViewOfFile(SourcehFileMap, FILE_MAP_READ, 0, 0, 0); // Вот это место теперь - Pointer на проекцию файла.
If SourcepvFile = Nil Then
Begin
CloseHandle(SourcehFileMap);
exit;
End;
А смотреть его можно, как обычный участок памяти.
Например, подсчитать кол-во пробелов:
Var ch : ^Char;
begin
...........
Ch := SourcePvFile;
Count := 0;
For K := 1 To fileSize Do
Begin
If Ch^ =" " Then inc(Count);
inc(Ch);
End;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c