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

Вниз

Передать массив как параметр   Найти похожие ветки 

 
Wind001   (2009-12-03 16:05) [0]

Добрый день.
Искал в сети как передачу массива, как параметр, нашел пример, вернее несколько одинаковых примеров.
Но примера реализации не нашел ф-ции не нашел.

Вот сама ф-ция


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;

И она не работает.


 
Anatoly Podgoretsky ©   (2009-12-03 16:09) [1]

> Wind001  (03.12.2009 16:05:00)  [0]

Что это означает "не работает"


 
Игорь Шевченко ©   (2009-12-03 16:09) [2]


> И она не работает.


Больно слышать


 
clickmaker ©   (2009-12-03 16:11) [3]

то В, то bm, то Mass, то опять b...

в SysUtils уже определен тип TByteArray

var Mass: TByteArray;
...... // тут заполнение массива .....
ShowMwssage(IntToStr(checkSumm(Mass));

function checkSumm(TByteArray: B): Byte;


 
korneley ©   (2009-12-03 16:32) [4]


> clickmaker ©   (03.12.09 16:11) [3]
> function  checkSumm(TByteArray: B): Byte;

function  checkSumm(B: TByteArray): Byte;
;))


 
Wind001   (2009-12-03 16:40) [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"


 
Wind001   (2009-12-03 16:46) [6]

Спасибо поменял на Mass: TByteArray;всё заработало!!!


 
Anatoly Podgoretsky ©   (2009-12-03 16:48) [7]

> Wind001  (03.12.2009 16:40:05)  [5]

Типы разные, Mass должен быть типа В


 
Германн ©   (2009-12-03 16:49) [8]


> Исправляюсь


> Incompatible types: "B" and "Array"

Исправил называется :)

<telepator>
Пиши так:
type
 TMess = array [0..26] of Byte;
var
 Mess : TMess;

function CheckSum(b: TMess);

Удачи!
</telepator>


 
Wind001   (2009-12-03 17:14) [9]


> Исправил называется :)
>
> <telepator>
> Пиши так:
> type
>  TMess = array [0..26] of Byte;
> var
>  Mess : TMess;
>
> function CheckSum(b: TMess);
>
> Удачи!

Спасибо! Учел на будущее.



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
11-1210657161
MM_ASH
2008-05-13 09:39
2010.01.24
VMT


1-1234095719
dreamse
2009-02-08 15:21
2010.01.24
Подскажите, какое событие возникает


15-1258742459
POOP
2009-11-20 21:40
2010.01.24
Djvu просмоторщик для мобильника?


1-1230566193
alek_1
2008-12-29 18:56
2010.01.24
Rave Report проблема с кирилицей в ПДФ


4-1227021398
StriderMan
2008-11-18 18:16
2010.01.24
Как получить русское название кодировки. mlang?