Einzelnen Beitrag anzeigen

Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Zufallszaheln generieren und in Memo feld ausgeben funktioniert nicht

  Alt 13. Feb 2013, 12:01
Oder man baut sich gleich eine Klasse, die die entsprechende Funktionalität zur Verfügung stellt (braucht man eh öfter). Wenn XE bereits eine TIntegerList hat, dann kann man die Klasse ja auch davon ableiten und entsprechend erweitern.

Delphi-Quellcode:
procedure TIntegerList.Exchange(Index1, Index2: integer);
var
  T: integer;
begin
end;

procedure TIntegerList.Sort;
var
  I, J: integer;
begin
end;

procedure TIntegerList.Assign(List: TIntegerList);
var
  I: integer;
begin
  Clear;
  for I := 0 to List.Count - 1 do
    Add(List[I]);
end;

procedure TIntegerList.Mix;
var
  MixList: TIntegerList;
  I: integer;
begin
  MixList := TIntegerList.Create;
  try
    while FCount > 0 do
    begin
      I := Random(FCount);
      MixList.Add(FItems[I]);
      Del(I);
    end;
    Assign(MixList);
  finally
    MixList.Free;
  end;
end;

procedure TIntegerList.SetStrings(Strings: TStrings; ColCount: integer);
var
  I, J, K, RowCount: integer;
  S: string;
begin
  Strings.BeginUpdate;
  Strings.Clear;
  try
    if FCount mod ColCount = 0 then
      RowCount := FCount div ColCount
    else
      RowCount := FCount div ColCount + 1;
    for I := 0 to RowCount - 1 do
    begin
      S := '';
      for J := 0 to ColCount - 1 do
      begin
        K := I * ColCount + J;
        if K < FCount then
          S := S + IntToStr(FItems[K]) + FSeparator;
      end;
      Strings.Add(S);
    end;
  finally
    Strings.EndUpdate;
  end;
end;
  Mit Zitat antworten Zitat