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

Вниз

Массив как параметр функции   Найти похожие ветки 

 
Cardinal ©   (2004-12-30 13:27) [0]

Господа, есть к вам один ламерский вопрос. В случае, когда параметром моей функции является массив, у меня возникают некоторые проблемы. Мне требуется написать функцию, которая будет принимать массив (a: array [1..32] of byte), а возвращать строку, состоящую из символов, ANSII коды которых соответствуют значениям элементов массива.

function ByteArrayToStr(a: array [1..32] of byte): string;

Не компилируется: "OF expected but "[" found". Получается статические массивы нельзя использовать в параметрах функций и процедур? Пишу

function ByteArrayToStr(a: array of byte): string;

Компилится. Если в теле процедуры использовать функцию Copy, то
получаю "Incompatible types". Если в той же функции объявить переменную b: array of byte, то copy отлично работает...

Помогайте, пожалуйста!


 
Anton_K ©   (2004-12-30 13:31) [1]


type
Tmyarray=array [1..32] of byte;
...
function ByteArrayToStr(a:Tmyarray):string;
...


 
Digitman ©   (2004-12-30 13:43) [2]


> требуется написать функцию, которая будет принимать массив
> (a: array [1..32] of byte), а возвращать строку, состоящую
> из символов, ANSII коды которых соответствуют значениям
> элементов массива


а есть ли вообще смысл писать такую ф-цию ?

1. предположим, символы в массиве предст-т собой символы нуль-терминированной строки

тогда

var
 m: array [1..32] of byte;

 s: String;
..
s := StrPas(@m)

2. предположим, символы в массиве НЕ предст-т собой символы нуль-терминированной строки, т.е. печатаемыми символами строки по дифолту считаются все байты массива

тогда

var
 m: array [1..32] of byte;
 s: String;
..
SetLength(s, SizeOf(m));
StrLCopy(PChar(s), @m, SizeOf(m));


 
Sandman25 ©   (2004-12-30 14:37) [3]

[1] Anton_K ©   (30.12.04 13:31)

Не забываем добавлять const перед неизменяемыми параметрами.



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

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

Наверх





Память: 0.45 MB
Время: 0.042 c
3-1102845941
able
2004-12-12 13:05
2005.01.16
Вручную перебирать БД...


1-1104623105
Тем
2005-01-02 02:45
2005.01.16
Как получить список всех ресурсов программы с их типами ?


14-1103817997
ArMellon
2004-12-23 19:06
2005.01.16
Как работать в делфи с форматом kar?


3-1103092335
dolmat
2004-12-15 09:32
2005.01.16
SQL по двум базам


1-1104090401
X3M
2004-12-26 22:46
2005.01.16
Как получить координаты окна?





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