Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Простой вопрос


Holms ©   (2002-05-15 09:56:00) 

Есть вот такая функция
function GetHashCode(const Buffer; Count: Integer): Word; assembler;
Интересует какой тип переменной Buffer? С какими параметрами ее вызывать?


Dimka Maslov   (2002-05-15 10:08:00) [1]

Буфером может быть любая переменная, например массив или строка, или просто указатeль на выделенный фрагмент памяти.

Вызов функции для массива:
var
Buf: array [xxxx..xxxx] of xxxx;
...
GetHashCode(Buf, SizeOf(Buf));


Для строки:
var
Str: string;
...
GetHashCode(PChar(Str)^, Length(Str));


Для указателя:
var
Ptr: Pointer;
Size: Integer;
...
Size:=xxxx;
GetMem(Ptr, Size);
...
GetHashCode(Ptr^, Size);


Reindeer Moss Eater   (2002-05-15 10:08:00) [2]

Это не указатель, а адрес буфера данных


MBo   (2002-05-15 10:04:00) [3]

это просто указатель. можно передавать адрес начала строки или массива или переменную
s:="qpoiwn";
i:=GetHashCode(s[1],length(s)):

a:array of integer;
setlength(a,3);
a[0]:=2;
...
i:=GetHashCode(a[0],3*SizeOf(Integer)):


Наверх

Титульная страница Поиск, карта сайта Написать письмо