AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Labelfeld mit Zahlen sortieren

Ein Thema von Lebersalz · begonnen am 14. Jan 2006 · letzter Beitrag vom 15. Jan 2006
 
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Labelfeld mit Zahlen sortieren

  Alt 14. Jan 2006, 19:56
Lebersalz hat in einer PM an mich geschrieben
Genau ich bin grad dabei eine Lottoziehung zu programmieren...Die eigentliche Lottoziehung hab ich auch schon programmiert und dort werden sie auch sortiert ausgegeben... mein problem ist jetzt das ich den eigenen Tipp über 6 Spin Edit Felder gemacht hab und die mit einem TLabelfeld verknüpft hab!
wenn man jetzt aber die Zahlen unsortiert angibt werden diese natürlich auch unsortiert ausgegeben... Hab das Labelfeld mit den Spineditfeldern folgendermaßen verbunden; Label4.caption:=Spinedit1 + Spinedit2+...bis Spinedit6
wenn jetzt Spinedit1 größer ist als Spinedit2 und Spinedit6 ebenfalls noch kleiner sind die ja unsortiert ... wie krieg ich dieses Labelfeld jetzt sortiert???

Du sortierst nicht den Schriftzug auf dem Label, sondern die sechs Zahlen deiner Ziehung - das ist der Trick. Damit du sie sortieren kannst packst du sie alle in einen Container, z.B. ein Array of Integer:

Delphi-Quellcode:
var
  aZiehung: array of integer;

begin
  SetLength(aZiehung, 6);
  aZiehung[0] := SpinEdit1.Value;
  aZiehung[1] := SpinEdit2.Value;
  // ... den Rest kannst du schon
end;
Wenn du damit fertig bist, verwendest du vielleicht den BubbleSort von Schaedel:

Delphi-Quellcode:
procedure BubbleSort(var Zahlen: array of integer);
var
  i, j, zahl: integer;
begin
  // vom ersten bis zum vorletzten Eintrag
  for i := Low(Zahlen) to Pred(High(Zahlen)) do
    // vom nächsten bis zum letzten Eintrag
    for j := Succ(i) to High(Zahlen) do
      // Ordnung prüfen
      if Zahlen[i] > Zahlen[j] then
      begin
        // vertauschen
        zahl := Zahlen[i];
        Zahlen[i] := Zahlen[j];
        Zahlen[j] := zahl;
      end;
end;
Und zum Schluß machst du aus all diesen Zahlen dann wieder eine Zeichenkette:

Delphi-Quellcode:
function ErgebnisStr(const ergebnis: array of integer): String;
var
  i: Integer;
begin
  for i := Low(ergebnis) to High(ergebnis) do
    if Result = ''
      then Result := IntToStr(ergebnis[i])
      else Result := Result + ' ' + IntToStr(ergebnis[i]);
end;
Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz