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

Вниз

MemoryStream   Найти похожие ветки 

 
MemoryReader   (2005-01-31 16:36) [0]

Есть указать на область памяти, как считать последующие 100 байт? Например в TmemoryStream;
Или?
За ранее спасибо


 
Digitman ©   (2005-01-31 16:39) [1]

?!


 
Александр Иванов ©   (2005-01-31 16:42) [2]

p- указатель
Pointer(Integer(p)+100);


 
Skier ©   (2005-01-31 16:43) [3]

TMemoryStream.WriteBuffer(...) ?


 
Александр Иванов ©   (2005-01-31 16:46) [4]

В первый раз н понял до конца.

type
Arr:array[1..100] of byte;
PArr:^Arr;
var Data:PArr;
...
Data:=P;


 
MemoryReader   (2005-01-31 16:50) [5]

Может я не правильно выражаюсь :(
 seek(f,N);
 blockread..из файла

А как из памяти запущенной программы тоже самое сделать?


 
Jay1982 ©   (2005-01-31 16:53) [6]

BlockWrite"ом попробуй


 
default ©   (2005-01-31 16:59) [7]

Move


 
MemoryReader   (2005-01-31 17:12) [8]

не понял? причем тут move?


 
default ©   (2005-01-31 17:15) [9]

задай тогда вопрос понятнее


 
Александр Иванов ©   (2005-01-31 17:17) [10]

А [4] попробовал?
type
Arr=array[1..100] of byte;
PArr=^Arr;
var Data:PArr;
P:Pointer;
i:integer;
...
Data:=P;
for i:=1 to 100 do
ShowMessage(Data^[i]);


 
Jay1982 ©   (2005-01-31 17:22) [11]

BlockWrite(fl, p, 100)
fl - file
p - указатель на участок памяти


 
MemoryReader   (2005-01-31 17:29) [12]

Делаю так: "Stream.Readbuffer(data,sizeof(data));" почему так делать нельзя?
var data:Parr;
begin
Stream:=TStream.Create;
Data:=@TTP;
Stream.Readbuffer(data,sizeof(data));
....
stream.free;
end;


 
Александр Иванов ©   (2005-01-31 17:31) [13]

Зачем тебе этот Stream? если можно обойтись без таких потерь?


 
MemoryReader   (2005-01-31 17:37) [14]

Без stream в моем случае нельзя :(


 
Александр Иванов ©   (2005-01-31 17:39) [15]

Насколько я понял результатом должно быть заполнение переменной data (Stream.Readbuffer(data,sizeof(data));). Смысла нет использовать TStream и его потомков. Если только это не лабораторная работа.


 
Skier ©   (2005-01-31 17:41) [16]

>MemoryReader   (31.01.05 17:29) [12]
что есть Parr ?


 
MemoryReader   (2005-01-31 17:49) [17]

>Насколько я понял результатом должно быть заполнение переменной >>data (Stream.Readbuffer(data,sizeof(data));). Смысла нет >использовать TStream и его потомков. Если только это не >лабораторная работа.
Наоборот нужно  stream заполнить data"ой (writebuffer?)

>что есть Parr ?

type
Arr=array[1..100] of byte;
PArr=^Arr;


 
Александр Иванов ©   (2005-01-31 17:58) [18]

type
Arr=array[1..100] of byte;
PArr=^Arr;
var Data:PArr;
P:Pointer;
i:integer;
...
Data:=P;
Stream:=TMemoryStream.Create;
Stream.Write(Data^,100);
...
Stream.Free;


 
Skier ©   (2005-01-31 18:00) [19]

Stream:=TMemoryStream.Create;
Stream.WriteBuffer(TTP, Sizeof(TTP));



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

Форум: "Основная";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.037 c
1-1107234528
StarCon
2005-02-01 08:08
2005.02.13
ScrollBar передвинуть


4-1103566714
sashas
2004-12-20 21:18
2005.02.13
Получение сообщения WM_MOUSELEAVE


4-1104220306
Kair
2004-12-28 10:51
2005.02.13
Мастера, научите!


1-1106999603
.dn
2005-01-29 14:53
2005.02.13
EXE


14-1105277177
Kerk
2005-01-09 16:26
2005.02.13
Религия





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский