Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2009, 13:37   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию Как передать результат функции как Array of Byte?

Собственно функция (как вариант - процедура) должна получить Array of Byte (только с заданным размером и заранее неизвестным - (8,5,3,4) и выдать результат как Array of Byte ( Опять таки неизвестно заранее, какой у него будет размер на выходе) Как это правильно записать и реализовать?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 05.12.2009, 13:48   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,674
По умолчанию

Код:
type TArrayOfByte = array of Byte;

procedure ProcName (AB: TArrayOfByte);
begin
...
end;
Arigato вне форума Ответить с цитированием
Старый 05.12.2009, 13:50   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Никогда не дружил с указателями, дайте пример, пожалуйста.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 05.12.2009, 18:45   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

так дык, пример-же готов практически с поста 2:
Код:
type TArrayOfByte = array of Byte;
var inpm, outm: TArrayOfByte;


function ProcName(AB: TArrayOfByte): TArrayOfByte;
var i: integer;
begin
 // или работаем
 for i:=0 to length(AB)-1 do
  AB[i]:= AB[i] +1;

 // или добавляем данные
 setlength(AB, length(AB)+1); // 
 AB[length(AB)-1]:= 2; // 

 // и результат
 result:= ab
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
var i: integer;
begin
 setlength(inpm,5);
 for i:=0 to length(inpm)-1 do
  inpm[i]:= i;


 outm:= ProcName(inpm);
 for i:=0 to length(outm)-1 do
  memo1.Lines.add(inttostr(outm[i]))
end;
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 05.12.2009, 18:55   #5
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
так дык, пример-же готов практически с поста 2:
Я набрал сообщение раньше, чем Arigato дополнил пост.

Спасибо. Попробую.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать весь результат запроса в массив? VladimirAleks Общие вопросы Delphi 5 22.10.2009 11:52
convert(array of byte, real48) Ringess Общие вопросы Delphi 3 24.06.2009 13:03
Подскажите! Как преобразовать определенный тип в array of byte BrainIce Общие вопросы Delphi 3 19.05.2009 17:22
Как прописать переменные типа array в функции? Dux Общие вопросы Delphi 2 09.12.2008 23:46
Array of byte в файл Deight Общие вопросы Delphi 3 05.12.2008 19:10