Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 05.12.2009, 14: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, 14:48   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 14,402
По умолчанию

Код:
type TArrayOfByte = array of Byte;

procedure ProcName (AB: TArrayOfByte);
begin
...
end;
Arigato на форуме Ответить с цитированием
Старый 05.12.2009, 14: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, 19:45   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

так дык, пример-же готов практически с поста 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, 19:55   #5
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать весь результат запроса в массив? 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 10.12.2008 00:46
Array of byte в файл Deight Общие вопросы Delphi 3 05.12.2008 20:10