Ein String an Turbo Pascal übergeben an eine Procedure:

  • 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.

  • 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.

  • Es kommt "error in line 6"


    Die Einrückung verschwindet hier im Text.


    Danke.
    Gruss


  • 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);