![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Передать массив как параметр [D7, XP, 2003]
Wind001 © (2009-12-03 16:05:00)Добрый день.
Искал в сети как передачу массива, как параметр, нашел пример, вернее несколько одинаковых примеров.
Но примера реализации не нашел ф-ции не нашел.
Вот сама ф-ция
type B = array[0..26] of Byte;
.......
var
bm: b;
....
function checkSumm(Bm: B ): Byte;
var i: integer;
CSumm: Byte;
begin
i:=0;
CSumm:=0;
CSumm:=(Bm[0] xor Bm[1]);
for i:= 1 to 25 do
CSumm:=(CSumm xor bm[i+1] );
result:=CSumm;
end;
А вот реализация, которая не работает:
var Mass: array [0..26] of Byte;
...... // тут заполнение массива .....
ShowMwssage(IntToStr(checkSumm(b));
end;
И она не работает.
Wind001 (2009-12-03 17:14:00) [1]
> Исправил называется :)
>
> <telepator>
> Пиши так:
> type
> TMess = array [0..26] of Byte;
> var
> Mess : TMess;
>
> function CheckSum(b: TMess);
>
> Удачи!
Спасибо! Учел на будущее.
Германн (2009-12-03 16:49:00) [2]
> Исправляюсь
> Incompatible types: 'B' and 'Array'
Исправил называется :)
<telepator>
Пиши так:
type
TMess = array [0..26] of Byte;
var
Mess : TMess;
function CheckSum(b: TMess);
Удачи!
</telepator>
Anatoly Podgoretsky (2009-12-03 16:48:00) [3]> Wind001 (03.12.2009 16:40:05) [5]
Типы разные, Mass должен быть типа В
Wind001 (2009-12-03 16:46:00) [4]Спасибо поменял на Mass: TByteArray;всё заработало!!!
Wind001 (2009-12-03 16:40:00) [5]Исправляюсь у меня процедура и реализация в разных модулях по этому "b" встретилась два раза. Mass добавлял в уже в форум, для понятности и проглядел в "b" функции.
Сейчас изменил и в реализации и в форуме.
var Mass: array [0..26] of Byte;
begin
...... // тут заполнение массива .....
ShowMwssage(IntToStr(checkSumm( Mass));
end;
Ошибка
[Error] Unit1.pas(217): Incompatible types: 'B' and 'Array'
korneley (2009-12-03 16:32:00) [6]
> clickmaker © (03.12.09 16:11) [3]
> function checkSumm(TByteArray: B): Byte;
function checkSumm(B: TByteArray): Byte;
;))
clickmaker (2009-12-03 16:11:00) [7]то В, то bm, то Mass, то опять b...
в SysUtils уже определен тип TByteArray
var Mass: TByteArray;
...... // тут заполнение массива .....
ShowMwssage(IntToStr(checkSumm(Mass));
function checkSumm(TByteArray: B): Byte;
Anatoly Podgoretsky (2009-12-03 16:09:00) [8]> Wind001 (03.12.2009 16:05:00) [0]
Что это означает "не работает"
Игорь Шевченко (2009-12-03 16:09:00) [9]
> И она не работает.
Больно слышать