Показать сообщение отдельно
  #2  
Старый 30.06.2010, 03:12
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Присал такое:
Код:
procedure IncTestID(var AID : String; Num : Integer);
type
  TCharSet = 'A'..'Z';
var
  C : TCharSet;
  I : Integer;
begin
  If AID = '' Then
    Begin
      AID := 'A';
      Exit;
    End;
  C := AID[Num];
  If C = 'Z'
    Then
      Begin
        C := 'A';
        If Num = 1 Then
          Begin
            AID := 'A' + AID;
            For I := 1 To Length(AID) Do AID[i] := 'A';
            WriteLn('Iteration: ' + AID);
          end
            Else IncTestID(AID,Num-1);
      End
    Else
      Begin
        C := Succ(C);
      End;
  AID[Num] := C;
end;

procedure TMyApplication.Exec;
var
  V : String;
begin
  V := '';

  While V < 'ZZZZ' Do
  Begin
    IncTestID(V,Length(V));
    WriteLn(V);
  End;
end;

только больше, чем на 3х лучше не пробовать. Уже на 4 работает очень долго...
Ответить с цитированием