Einzelnen Beitrag anzeigen

Real-TTX

Registriert seit: 7. Mai 2008
Ort: Stuttgart / Wertheim
136 Beiträge
 
Delphi 2007 Enterprise
 
#1

Konvertierung : String -> Copy -> Char -> Integer -

  Alt 16. Jul 2009, 21:55
Hi Jungs,

Ich habe ein Problem beim arbeiten mit chars. In C kann ich den char einfach als "int" benutzen und als char ausgeben.... In Delphi ist das ganze nicht so einfach wie ich sehe....

Hier Mein Codeschnippsel wie ich dachte das zu machen... aber auch nach einiger Zeit googlen bin ich nicht weiter...

Delphi-Quellcode:
  adoQuery := objDatabase.SQLExecSelect('SELECT * FROM Series');

  for i := 1 to 26 do // Hier gehe ich das Alphabet durch. Hier erstelle ich Nodes von "A" bis "Z"
  begin // Element 0 ist für Zahlen vorgesehen
    achar := Chr(64 + i);
    Nodes[i] := TreeView.Items.Add(nil,achar); // Nodes ist nur ein TTreeNode Array
  end;

  while not adoQuery.Eof do // Hier möchte ich die Sachen einordnen
  begin
    // Hier ist mein Problem.....
    TreeView.Items.AddChild(Nodes[Ord(UpperCase(Copy(adoQuery['Name']-65,0,1)))],adoQuery['Name']);
    adoQuery.Next;
  end;

......

// Kurze erklärung:
Copy(adoQuery['Name'],0,1) // <-- Erstes Zeichen als String
UpperCase(x) // <-- Zeichen umformatieren als Großzeichen (A: sollte den Int-Wert haben von 65)
Ord(x) // <-- Hier sollte es theoretisch 65 sein
Nodes[x-65] // <-- Und hier zurückrechnen auf das Element von einem TTreeNode Array (-65) somit ist es bei A die 1 ...
Gibt es da noch ein Trick ?

Gruß, Real-TTX
  Mit Zitat antworten Zitat