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

Вниз

Простой вопрос новичка про указатели   Найти похожие ветки 

 
demidoff   (2004-09-21 15:17) [0]

Добрый день, вот только начинаю с указателями разбираться, вот интересно теперь, у меня есть указатель и размер памяти который нужно считать. И как мне взять и считать к примеру в Мемо все что есть в этом куске памяти используя этот указатель и размер.
Вот что есть, но это походу добавляет в Мемо сам адрес указателя а не содежимоей памяти, а просто необходимо прочесть содержимое:
procedure TForm1.RcvdData(Sender: TObject; Buffer: Pointer;
 Len: Integer);
begin
Memo1.Lines.Add(Pchar(Buffer)^)
end;

наверно вопрос глупый но вот пока мне это не понять, не судите строго, просто подскажите или покажите новичку ;)


 
KSergey ©   (2004-09-21 15:20) [1]

В буфере текстовые данные надеюсь? А то ведь хрен знает что получится...
А так - ну вроде правильно, только ^ убрать


 
KSergey ©   (2004-09-21 15:23) [2]

Хотя, конечно, если придираться - то в буфере в конце должен быть ноль зыписан, иначе не понятно какой блины кусок читать.

Либо. чтобы совсем правильно, если в исходном буфере этого нюля нет - то выделить новый, в конец дописать этот ноль. При этом буфером может быть что угодно.

Сделать можно даже так:

s: String

SetLength(s, len);
s := Pchar(Buffer);  // вроде так должно получиться, я ничего не путаю?
Memo1.Lines.Add(s);

Проверять код лень


 
demidoff   (2004-09-21 15:28) [3]

Чтото не выходит, при отладке вижу длину Len = 47
а после s:= Pchar(Buffer) s показывает равно "" то есть ничему и ничего не добавляет в мемо. ((


 
demidoff   (2004-09-21 15:31) [4]

А не, Всё) работает)
спасибо огромное


 
KSergey ©   (2004-09-21 15:31) [5]

> [3] demidoff   (21.09.04 15:28)
> Чтото не выходит, при отладке вижу длину Len = 47
> а после s:= Pchar(Buffer) s показывает равно ""

А в Buffer что лежит? Там подика первый же быйт - 0? ;)
Вообще, я пожалуй не совсем корректный код написал, нет смысла в нем делать SetLength. Тогла уж надо побайстно запихивать - это будет правильно.

А вообще ключевой был вопрос -
> В буфере текстовые данные надеюсь?



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

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

Наверх




Память: 0.48 MB
Время: 0.024 c
4-1094794580
needle
2004-09-10 09:36
2004.10.10
Как узнать принадлежит-ли компьютер к какому-либо домену?


1-1095836363
den_777
2004-09-22 10:59
2004.10.10
Верна ли реализация плугинов


14-1095499912
VID
2004-09-18 13:31
2004.10.10
А вот как работает Фирма “IDC - МАКСИКО.РУ”


4-1094229255
Solo
2004-09-03 20:34
2004.10.10
Не ставится СВТ хук.


4-1094549744
Multy
2004-09-07 13:35
2004.10.10
Как просмотреть список запушеных приложений?