ich hoffe mein Beitrag ist hier richtig.
Mein Problem:
Ich lese daten aus einer Datenbank und zeige sie in einer ListBox an.
Aber manchmal stimmt der Abstand nicht (siehe bild1 - bild4).
Zeile 1 ist der Text so wie ich ihn gerne ausgeben möchte.
Zeile 2 ist der Text als Hexadezimal
Zeile 3 ist der Hexadezimal als Char (komischer Weise stimmen die Abstände hier)
Zeile 4 ist der Hexadezimal als Char ohne Leerzeichen
Hier der Code:
Code: Alles auswählen
f19:=ialpha;
f2:=Form1.Blankweg(3,f2); // Blanks am Anfang und am Ende entfernen
f4:=Form1.Blankweg(3,f4);
f19:=Form1.Blankweg(3,f19);
f2:=Form1.Blankdazu(2,30,f2); // Feld mit Blanks auf Länge bringen (hier 30 Stellen)
f4:=Form1.Blankdazu(1,4,f4);
f19:=Form1.Blankdazu(2,34,f19);
// Variable tt, iaöpha, f2, f4, f16, f17, f18, f19 = string
// Variable l, fb, fc = integer
ialpha:=f19;
tt:=' | '+f2+' | '+ialpha+' | '+f4+' Gramm |';
ListBox1.Items.Add(tt); // Ausgabe Zeile 1 Text
z5:=z5 + 1;
f18:='';
f19:='';
f16:='';
l:=Length(tt);
if l > 0 then
begin
for fc:=1 to l do
begin
f17:=Copy(tt,fc,1);
fb:=Ord(f17[1]);
f18:=f18+HexStr(fb,2)+' ';
f19:=f19+' '+Char(fb)+' ';
f16:=f16+Char(fb);
end;
ListBox1.Items.Add(f18); // Ausgabe Zeile 2 Hexadezimal von Text
ListBox1.Items.Add(f19); // Ausgabe Zeile 3 Text zu Hexadezimal
ListBox1.Items.Add(f16); // Ausgabe Zeile 4 Text
end;
Bei Blätter (letzte) ist der '|' ein zu lang.
Kann mir das jemand erklären?
Danke und Gruß
Jürgen