![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Циклы... [D6, Win95/98]
Agent[007] © (2004-07-01 18:52:00)Вот функция(самодельная) генерирует строку из одинаковых символов:
function GenStr(P: Char; Count: Integer): string;
var
i: Integer;
begin
for i := 1 to Count do Result := Result + P;
end;
При её обычном использовании все нормально, но вот:
for j:= 0 to 5 do Caption := 'a' +GenStr('0', 2)+ 'a';
Caption в данном слечае равен 'a' + '0'(10 штук(5 * 2)) + 'a'
ЧТО ДЕЛАТЬ???
Ega23 (2004-07-01 19:06:00) [21]Не обязательно.
string по умолчанию AnsiString, а эти инициализюруются компилятором в ''
А ты проверь, ради прикола. Я тоже так поначалу подумал, но потом усомнился. Result:=''; действительно помогло.
GuAV (2004-07-01 19:04:00) [22]
> Result := '';
Не обязательно.
string по умолчанию AnsiString, а эти инициализюруются компилятором в ''
Ega23 (2004-07-01 19:00:00) [23]function GenStr(P: Char; Count: Integer): string;
var
i: Integer;
begin
for i := 1 to Count do Result := Result + P;
end;
Перед for поставь Result:='';
Agent[007] (2004-07-01 18:58:00) [24]Thanks...
default (2004-07-01 18:57:00) [25]Result := '';
for i := 1 to Count do Result := Result + P;
это очень медленный способ)
Agent[007] (2004-07-01 18:56:00) [26]GenStr должен давать 2 символа, а даёт 10 !!!
Iconka (2004-07-01 18:54:00) [27]А ты что хотел получить в результате?
Fay (2004-07-01 18:54:00) [28]А что не так? Кроме
j:= 0 to 5, конечно.