Hallo, guten Abend.
Wie übegibt man bitte einen String an eine Procedure (Turbo Pascal 3.0)?
[code]
TYPE text = string [80];
var text1 : text;
procedure (text1 : string);
begin
....
....
end;
[code]
funktioniert nicht.
Danke.
Gruss
Du bist in Begriff, Forum64 zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachte, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
letzter Beitrag von spacer am
Hallo, guten Abend.
Wie übegibt man bitte einen String an eine Procedure (Turbo Pascal 3.0)?
[code]
TYPE text = string [80];
var text1 : text;
procedure (text1 : string);
begin
....
....
end;
[code]
funktioniert nicht.
Danke.
Gruss
Pascal ist bei mir schon eine ganze Weile her. Aber mit
procedure procName(var text1 : string);
oder
procedure procName(const text1 : string);
sollte es gehen. Das erste ist call by reference, also der String kann dann in der Prozedur verändert werden. Bei der zweiten Variante wird der String konstant übergeben und kann nicht verändert werden.
Funktioniert nicht . Fehlercode 44.
Danke.
Gruss
Es könnte auch vielleicht daran liegen, daß der Parameter vom Datentyp nicht übereinstimmt mit dem Datentypen der übergebenen Variable. Verwende mal anstelle von "TYPE text = string[80];" nur noch STRING (also auch ohne []) und schau mal, ob es so funktioniert. Falls es dann noch nicht läuft, poste bitte mal das ganze Programm. Die Übergabe eines Strings in Turbo Pascal müßte eigentlich funktionieren.
Oha Pascal, das ist laaaange her. Dein TYPE text ist doch ein String-Array mit 80 Einträgen, die Funktion möchte aber nur einen String.
Und muss die procedure nicht noch einen Namen haben?
Bitte den exakten Code posten, sonst ist es nur Rumgerate.
Es kommt "error in line 6"
Die Einrückung verschwindet hier im Text.
Danke.
Gruss
Wenn ich das mit Codebeispielen in meinem Buch vergleiche, dann fehlt die Längenangabe beim String in Zeile 6
Mein Versuch:
Variable c in Zeile 7 sollte ein char sein und kein byte, denn in Zeile 10 wird ein char übergeben.
klappt nicht.
Fehler in Zeile 8.
Dieser Test funktioniert:
Gruss
Gerade gelesen: strukturierte Datentypen (auch String) müssen vorher in einer gesonderten Typdefinition vereinbart werden, sonst stellt der Compiler eine Typunverträglichkeit fest:
TYPE texttyp = STRING[80];
PROCEDURE unterprog(t: texttyp);
Also in Deinem Fall:
procedure ausgabe(wort: text1);
Danke, jetzt funktioniert es.
Eine andere Frage:
var c : char;
b : byte;
Ich lese ein char aus von einem String, muss aber den Wert an einem Byte übergeben.
Wie wandelt man bitte ein char in ein Byte?
danke.
Gruss
Danke für die Info.
Das hatte ich mir schwieriger gedacht.
Gruss