![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
динамичные параметры функции
TeNY © (2004-08-05 20:36:00)как можно создать функцию с динамичными параметрами
к примеру Find(find1,find2...findN)
ведь если их обьявить заранее то компилятор будет ругатся в случае если их не указать.Примером нужной функции является функция склеивания текстовых кусков String типа в один.
begin...end (2004-08-06 13:28:00) [21]Или тогда пусть у тебя будет только array of string, и всё.
Мастер (2004-08-06 13:25:00) [22]>TiNY (06.08.04 13:20) [8]
Второй параметр все равно нужно опередать, даже если он пустой -
Conc(s,[]);
Ega23 (2004-08-06 13:22:00) [23]TiNY (06.08.04 13:20) [8]
А кто array os string передавать будет? Дядя Вася?
TiNY (2004-08-06 13:20:00) [24]а при одном параметре функции conc('sss') выдается сообщение
[Error] Unit1.pas(41): Not enough actual parameters
Мастер (2004-08-06 13:08:00) [25]>begin...end © (06.08.04 13:03) [6]
Точно:-)
begin...end (2004-08-06 13:03:00) [26]
> [5] Мастер © (06.08.04 13:01)
> for i := 0 to Len
for i := 0 to Len - 1
Мастер (2004-08-06 13:01:00) [27]Например, так:
function conc(s: String; Arr: array of String): String;
var
i: Integer;
Len: Integer;
begin
Result := s;
Len := Length(Arr);
if Len=0 then Exit;
for i := 0 to Len do Result := Result + Arr[i];
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(Conc('Ðàç',['Äâà', 'Òðè', '×åòûðå']));
end;
TeNY (2004-08-06 12:47:00) [28]к примеру функция
concat(s[,s1,s2,s3]):string как оркганизовать её пытался найте её в System но там её неТ!
Мастер (2004-08-06 11:59:00) [29]Либо массив параметров, либо использовать параметры по-умолчанию, напр:
function MasterFunc(p1: Integer=0;p2: Integer=0;p3: Integer=0;...pn: Integer=0);
TeNY (2004-08-06 11:57:00) [30]а где её взять?
Гаврила (2004-08-05 20:37:00) [31]посмотри на функцию Format
там вторым параметром идет как раз array of const