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

Вниз

Вопрос по MapViewOfFile   Найти похожие ветки 

 
Yuri Btr   (2003-08-29 10:03) [0]

Ув. мастера, я отображаю в память некоторый бинарный файл с помощью MapViewOfFile, эта ф-ия возвращает указатель на первый байт файла в памяти. Как я могу обратиться ко всему диапазону памяти как к строке PChar (или String) начиная со смещения возвращаемой позиции первого байта и до размера файла+начальное смещение?
Дело в том, что в одном примере я нашёл такое -
MMF.Data:PByte;
MMF.Data:=MapViewOfFile(..);
PChar(MMF.Data) - но эта ф-ия естественно возвращает только часть файла - до первого попавшегося байта #0, а мне нужно например обработать весь диапазон байтов (длина файла)
Я пробовал так
SourceString:string;
SetLength(SourceString,MMF.Size);
for i:=0 to Length(SourceString)-1
do
SourceString[i+1]:=PChar(Integer(MMF.Data)+i)[0];
Но этот вариант неэффективен - очень медленно работает
Есть ли другие способы скопировать например в String(Pchar) определённое кол-во байтов области памяти начиная с заданного смещения?
Заранее спасибо.


 
Polevi   (2003-08-29 10:04) [1]

CopyMemory


 
MBo   (2003-08-29 10:07) [2]

или Move


 
Yuri Btr   (2003-08-29 10:10) [3]

Большое вам спасибо....
Пойду на MSDN смотреть :)



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

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

Наверх




Память: 0.44 MB
Время: 0.007 c
6-33720
vajo
2003-07-02 14:42
2003.09.11
Приём параметров в консольном приложении


14-33747
Герой
2003-08-20 15:38
2003.09.11
эффективная флудилка


9-33414
BANick
2003-03-08 13:18
2003.09.11
Как отрендерить опенгл на принтер?


14-33727
Vt
2003-08-25 07:59
2003.09.11
Файл справки.


14-33759
ИгорьМГ
2003-08-23 13:57
2003.09.11
Вопрос по доступу к базе данных на сервере





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский