Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Циклы... [D6, Win95/98]


Страницы:   1 2

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, конечно.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо