Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Stringgrid inkl. Umlaute richtig sortieren (https://www.delphipraxis.net/95852-stringgrid-inkl-umlaute-richtig-sortieren.html)

Mackhack 6. Sep 2007 06:58

Re: Stringgrid inkl. Umlaute richtig sortieren
 
Hallo Marabu,

schiebst du dabei die Bits um 16 stellen nach Links oder wie muss ich mir das vorstellen? Und warum funktioniert das ueberhaupt mit dem schieben?

marabu 6. Sep 2007 08:00

Re: Stringgrid inkl. Umlaute richtig sortieren
 
Ja richtig, alle Bits werden um 16 Positionen nach links verschoben - das ist eine Multiplikation mit 2 hoch 16. Das funktioniert so, weil die Multiplikation, wie jede andere Rechenoperation auch, auf Registerebene per Shift realisiert wird. Manchmal musst du aufpassen, dass du den richtigen Basistyp verwendest. Ein Byte und SHL 8 löscht effektiv das Byte, da die Bits "am linken Rand" verloren gehen und "von rechts her" mit Nullen aufgefüllt wird.

Hier ein paar Stichworte für eine Suche: Technische Informatik Schieberegister ALU.

PS: Hast du Schlafstörungen? Bei dir muss es doch zappenduster sein...

Steven2 6. Sep 2007 10:45

Re: Stringgrid inkl. Umlaute richtig sortieren
 
Danke Marabu, das müßte nun wirklich funktionieren...sieht hier auch gut aus.
Danke !!!

Viele Grüße
Steven

Mackhack 6. Sep 2007 14:52

Re: Stringgrid inkl. Umlaute richtig sortieren
 
Zitat:

Zitat von marabu
PS: Hast du Schlafstörungen? Bei dir muss es doch zappenduster sein...

Hallo Marabu,

nein hab ich keine, Schlaf is doch sowas von ueberbewertet, findest du nicht auch :???: Vielen Dank fuer die Erklaerungen!

Steven2 8. Sep 2007 19:57

Re: Stringgrid inkl. Umlaute richtig sortieren
 
Hallo

wie funktioniert das jetzt hiermit?
Delphi-Quellcode:
  SIZE_SUFFIX = 'Ä'; // Wie kann ich auch die anderen Umlaute sortieren (angeben)
  SIZE_COLINDEX = 3;
kann ich das weglassen oder muss ich die anderen umlaute integrieren?
wenn ja...magst du mir noch zeigen wie?

grüße steven

marabu 8. Sep 2007 20:19

Re: Stringgrid inkl. Umlaute richtig sortieren
 
Hallo Steven,

die beiden Konstanten sind doch nur Relikte aus deinem anfangs geschilderten Problem, der Sortierung von Zeichenketten, die eine Zahl und ordinären Text enthalten. Sie haben nichts mit dem allgemeinen Sortierproblem (Telefonbuchordnung) zu tun.

Gute Nacht

Steven2 8. Sep 2007 20:30

Re: Stringgrid inkl. Umlaute richtig sortieren
 
AHA...achso, also brauche ich nur folgendes?
Irgendwie bin ich grad etwas verwirrt:

Delphi-Quellcode:
// Event Handler für OnCustomCompare() im OI erzeugen:
procedure TForm.AdvStringGrid1ClickSort(Sender: TObject; ACol: Integer);

begin
   with Sender as TAdvStringGrid do
     SortByColumn(ACol);
end;

Delphi-Quellcode:
procedure TForm.AdvStringGrid1CustomCompare(Sender: TObject; str1,
  str2: String; var Res: Integer);
begin
  // die Locale solltest du in deinem Programm an zentraler Stelle
  // gleich zu Beginn zwischenspeichern, damit der ständige Aufruf
  // von GetThreadLocale hier unterbleiben kann.
  Res := CompareString(GetThreadLocale or SORT_GERMAN_PHONE_BOOK shl 16,
  NORM_IGNORECASE, PChar(str1), Length(str1), Pchar(str2), Length(str2)) - 2;
end;

marabu 8. Sep 2007 20:39

Re: Stringgrid inkl. Umlaute richtig sortieren
 
Richtig.

Der Code für das Event OnGetFormat() bezog sich auf Spaltenwerte der Form '150 Kb'.

Weg damit.

Steven2 8. Sep 2007 21:08

Re: Stringgrid inkl. Umlaute richtig sortieren
 
Okay
Danke :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:18 Uhr.
Seite 4 von 4   « Erste     234   

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