Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Nach ABC ordnen (https://www.delphipraxis.net/40898-nach-abc-ordnen.html)

ferby 22. Feb 2005 22:05

Datenbank: - • Version: - • Zugriff über: -

Nach ABC ordnen
 
Hallo,

Ich habe 99 Labels mit Namen untereinander.
Ich möchte das diese Labels nach dem ABC sotiert werden.
Es müssen die Labels + inhalt sotiert werden, nicht deren Inhalt!
Die Labels sind durchnummeriert von
Label1
Label2
Label3
.
.
.
.
Label99


Wie mach ich das?

Wenn Label1.caption:='Bertl' und label2.caption:='Anton' dann möchte ich nicht das Label1.caption:='Anton' ist und Label2.caption:='Bertl' sondern
das die beiden label die positionen ändern.....


kann mir wer weiterhelfen?
danke!

Nikolas 22. Feb 2005 22:13

Re: Nach ABC ordnen
 
Schreib dir alle Namen in eine Stringlist. Dadurch hast du eine eineindeutige Zuordnung zwischen Namen und Nummern (falls es keine doppelten Namen gibt). Jetzt nimmst du eine andere Stringlist, setzt sorted auf true und füllst sie mit allen Namen. Jetzt gehst du die durch, nimmst dir einen Namen schaust in der ersten Liste nach dem passenden Label und setzt es an die passende Stelle auf dem Form und du bist fertig.

Luckie 22. Feb 2005 22:17

Re: Nach ABC ordnen
 
Das steht bei Datenbanken, steht eine Datenbank da hinter? Dann würde ich datensensitive DBLabels nehmen und das Eintragen der Abfrage überlassen, wie es sich auch gehört.

Sharky 23. Feb 2005 06:49

Re: Nach ABC ordnen
 
Hai ferby,

irgendwie verstehe ich denn Sinn der Aktion nicht :gruebel:. Warum ist es denn wichtig das ein Label an einer bestimmten Position steht?


Zitat:

Zitat von Luckie
... Dann würde ich datensensitive DBLabels nehmen und das Eintragen der Abfrage überlassen, wie es sich auch gehört.

Hai Luckie,
das würde in diesem Fall sicher nichts nutzen. Ein DBLabel bekommt seinen Inhalt ja von einer TDataSource. Und diese gibt immer nur den aktiven Datansatz einer Tabelle wieder. Es würde also in allen DBLables der selbe Inhalt stehen.

Jasocul 23. Feb 2005 07:08

Re: Nach ABC ordnen
 
Zitat:

Zitat von Sharky
irgendwie verstehe ich denn Sinn der Aktion nicht :gruebel:. Warum ist es denn wichtig das ein Label an einer bestimmten Position steht?

Solche Probleme gibt es wirklich. Ich habe sowas mit Buttons gehabt. Aber die Sortierung habe ich dabei schon im SQL-Statement eingebaut (Stichwort order by).

Als ferby, TQuery verwenden und eine "order by" benutzen.

Luckie 23. Feb 2005 07:16

Re: Nach ABC ordnen
 
Zitat:

Zitat von Sharky
Ein DBLabel bekommt seinen Inhalt ja von einer TDataSource. Und diese gibt immer nur den aktiven Datansatz einer Tabelle wieder. Es würde also in allen DBLables der selbe Inhalt stehen.

Wieder was gelernt. Dann geht es so eben nicht.

Zitat:

Zitat von Jasocul
Aber die Sortierung habe ich dabei schon im SQL-Statement eingebaut (Stichwort order by).

Aber an so was hatte ich gedacht. Denn grundsätzlich gilt bei Datenbankanwendungen, dass das Aufbereiten der Dtaen die Datenbank erledigt. Die visuellen Elemente auf dem Fenster dienen nur der Darstellung der Daten. (Ich hoffe, das ist korrekt. ;) )

Und bei 99 Labels stellt sich die Frage, ob man nicht besser eine Tabelle (Listview, StringGrid) oder eine Liste (ListBox) nimmt. Ich wäre schon zu faul diese 99 Labels auf der Form zu plazieren. :?

alcaeus 23. Feb 2005 07:18

Re: Nach ABC ordnen
 
Allgemein ist es irgendwie daneben, Labels für die Anzeige zu verwenden, und die Labels dann rumzuschieben. Da würde ich wohl eher mit einem "blinden" Memo arbeiten (also ein Memo welches disabled ist, keinen Rand, etc., damit es nicht wie ein Memo aussieht). Dann kannst du die Elemente auch gleich sortieren.

Greetz
alcaeus

Luckie 23. Feb 2005 07:20

Re: Nach ABC ordnen
 
Zitat:

Zitat von alcaeus
Da würde ich wohl eher mit einem "blinden" Memo arbeiten (also ein Memo welches disabled ist, keinen Rand, etc., damit es nicht wie ein Memo aussieht). Dann kannst du die Elemente auch gleich sortieren.

Das würde ich aber auch nicht für eine sehr gelungene Darstellungsform halten.

alcaeus 23. Feb 2005 07:27

Re: Nach ABC ordnen
 
Zitat:

Zitat von Luckie
das würd eich aber auch nicht für eine sehr gelungene Darstellungsform halten.

Ja, das Memo vielleicht nicht, aber wie du schon erwähnt hast, eine Listbox oder so wäre besser. Ein Memo wäre jedenfalls schon mal ein Schritt in die richtige Richtung ;)

Greetz
alcaeus

Jasocul 23. Feb 2005 07:36

Re: Nach ABC ordnen
 
Und was soll er machen, wenn er so seine Sprach-Steuerung macht?
OK, dann braucht man sicher nicht sortieren. Ich wollte nur aufzeigen, dass es Fälle gibt, wo man etwas so löst.
Bei meinen Buttons geht es zum Beispiel darum, eine schnelle Artikelauswahl zu ermöglichen. Dafür genügen drei Randbedingungen. Zwei davon werden über Button dargestellt. Diese erzeuge ich allerdings dynamisch, da ich vorher nicht mal weiß, wie viele erforderlich sind.
Das hätte auch mit ComboBox gelöst werden. Da dauert die Auswahl aber länger. Beim Verkauf am Telefon ein echter Unterschied.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:02 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz