![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравыствуйте! Подскажите как передавайть массивы в функцию?
Код:
type
rHostMessage = packed record
fCaption : array[0..STR_LEN_SHORT-1] of Char; //вх заголовок сообщения
fMessage : array[0..STR_LEN_SHORT-1] of Char; //вх текст сообщения
fFlags : integer; //вх флаги сообщения
fArgs : array .... //как передать?
end;
PrHostMessage = ^rHostMessage;
var
vHostMessage:PrHostMessage;
function exec(aObjClassName:string;aMessageCode:UINT; aParam:WPARAM; bParam:LPARAM):LPARAM;
var
vHM:PrHostMessage;
mes:string;
begin
case aMessageCode of
...
CIN_HOST_MESSAGE:
begin
vHM:=PrHostMessage(AParam);
mes:=vHM.fMessage;
format(mes, args);//нужно как-то передавать аргументы
result := Application.MessageBox(PChar(mes), vHM.fCaption, flags);
end;
...
end;
end; |
|
#2
|
||||
|
||||
|
Не очень понял, что требуется, но может такой пример вам чем-нибудь поможет...
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
arr: array of string;
i: integer;
s: string;
begin
SetLength(arr, 6);
for i:= 0 to 5 do
arr[i]:= 'Строка ' + IntToStr(i+1);
for i:= 0 to Length(arr)-1 do
s:= s + arr[i] + #13#10;
MessageBoxA(handle, pchar(s), '', 64);
end; |