Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#7

AW: aus FieldByName das letzte Zeichen kopieren

  Alt 8. Dez 2013, 10:43
hallo,
natürlich steht da was drin!
Sonst würde ich doch nicht fragen!

danke
Mein liebes altes Auge,

ich hatte dir doch drei Fragen gestellt. Es wäre nett, wenn du dich dazu motivieren könntest, diese auch zu beantworten, denn sie dienen dazu, dich auf die richtige Spur zu lenken und dir so zu helfen, dein Problem zu verstehen.

Die zweite Frage lautete nicht: "steht da was drin?", sondern: "Was passiert, wenn das Feld, dessen letztes Zeichen du auslesen möchtest, leer ist?" Denn auf diesen Fall solltest du unbedingt vorbereitet sein, um Laufzeitfehler zu vermeiden.

Sieh mal: das erste Zeichen eines Strings, nennen wir ihn MeinString, wird mit MeinString[1] ermittelt. Wie glaubst du nun das letzte Zeichen ermitteln zu können? Immerhin hattest du bereits auf die Vermutung angestellt, es könnte was mit der Länge des Strings zu tun haben. Da lagst du nicht so falsch, nur solltest du nicht noch 1 abziehen, denn MeinString[Length(MeinString)] ergibt bereits das letzte Zeichen. Oder mache es wie Himitsu vorschlug, mit LastChar := RightStr(MeinString, 1); . Nun wird dir vielleicht klar, was geschähe, wenn du z.B. schreiben würdest LastChar := MeinString[0]; . Die 0 käme dort nämlich hinein, wenn dein String leer wäre, denn dann hätte er die Länge 0. Und da in einem String die darin befindlichen Zeichen mit der Position 1 und nicht mit der Position 0 beginnen, ergäbe das einen Fehler.

Konntest du mir soweit folgen?
  Mit Zitat antworten Zitat