Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.09.11;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
7-33823
Zilog
2003-06-16 14:31
2003.09.11
Как можно организовать передачу данных по паре?


3-33459
SPIRIT
2003-08-20 15:04
2003.09.11
Ошибочный аргумент


14-33801
Igor_thief
2003-08-22 13:01
2003.09.11
Странный глюк


1-33611
pirat
2003-08-31 16:57
2003.09.11
как


14-33810
Ru
2003-08-22 11:31
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский