Hallo Liste, hallo Frank,
Du schriebst:
S. die Kommentare weiter oben in der Datei (Zeile 163ff.) -- vielleicht nicht offensichtlich erkennbar, dass die dazu gehören.
Habe ich mittlerweile gefunden, hat mir aber nicht geholfen. Standardantwort: incompatible types in assignment
Wie rufst du sie denn jetzt auf?
Wie in meiner zweiten E-Mail (hast du die auch schon gelesen?) zu diesem Thread beschrieben:
Var laenge, drei, eins: Integer; ...
laenge := 20; drei := 3; eins := 1; Leistung [eins] := StrReadInt (Leistungs_Zahl [drei], laenge, Leistung [eins]);
Ich verstehe nämlich nicht genau, was die Funktion tut und welche Variablen ich für die Argumente einsetzen muß.
Hast du das Beispiel in dem Kommentar gesehen?
Ja, Du meinst:
i := 1; if StrReadInt (s, i, Size) and StrReadComma (s, i) and ...
Demnach müßte ich also für das 2. Argument die Variable eins einsetzen:
eins := 1; Leistung [eins] := StrReadInt (Leistungs_Zahl [drei], eins, Leistung [eins]);
Das erste Argument ist der String, aus dem ich die Zahl haben möchte. Vielleicht ist das 3. Argument der springende Punkt. Mir ist überhaupt nicht klar, weshalb noch ein 3. Argument gebraucht wird, also auch nicht, was da erwartet wird.
Zu Str2Int:
Fehler ergeben dann Laufzeitfehler (können aber mit "{$I-}" und IOResult usw. abgefangen werden).
Fehler? Falls der String doch noch andere Dinge als Ziffern enthält?
Ja.
Tut er eigentlich nicht ...
Das "{$I-}" bzw. IOResult verstehe ich nicht.
OK, wenn du das noch nicht benutzt hast, sind die anderen Varianten in diesem Fall einfacher.
So scheint es. Zwar habe ich in einem kleinen Probe-Programm vorhin problemlos gearbeitet, aber mein großes Programm läuft genau dann nicht mehr, wenn ich die Zeile mit Str2Int einkommentiere, obwohl bei der Übersetzung nichts beanstandet wird (Das ist ja wohl en Laufzeitfehler, oder?).
Bevor ich hier um Rat gefragt habe, hätte ich beinahe den String in eine Datei geschrieben und mit ReadLn wieder eingelesen, was meiner Meinung nach auch eine sichere Möglichkeit ist, aber natürlich umständlich und nicht "elegant".
Oder gibt es dabei auch die Möglichkeit mit dem Laufzeitfehler?
Danke und Fröhliche Grüße Roland