Archiv verlassen und diese Seite im Standarddesign anzeigen : Grafik Modus Variablen einlesen bzw Ausgeben
jajaja da bin ich schon wieder ...und hab euch allen auch was mitgebracht ! :]
aaalso ... diesmal möchte ich im Grafikmodus Variablen (integer o.ä.) einlesen ...z.B. Gib zahl ein ....
und diese dann auch ausgeben ....z.b. ..outtext(´du hast ´,zahl,´ eingegeben´); ... wenn so einfach wär wie textmodus wärs ne schöne sache ... ISSES aber nicht !!! ;(
danke ..mal wieder ...im Voraus ..an Guru und Diogenes
Neffe
Felix Kaiser
11.03.2002, 16:33
Mit der Ausgabe könntest einfach so machen:
Definierst diese Funktion:
function IntToStr(l: longint): string;
var
s: string;
begin
Str(l,s);
IntToStr:= s;
end;
Und könntest bei der Ausgabe wie folgt verwenden:
OutText(´du hast ´+IntToStr(zahl)+´ eingegeben);
oder: OutText(Concat(´du hast ´,IntToStr(zahl),´ eingegeben´);
Einlesen ist komplizierter, müsstest über ReadKey (CRT Unit) Zeichen für Zeichen einlesen und auf dem Bildschirm ausgeben oder z.B. bei Backspace das letzte Zeichen löschen und dementsprechend das Zeichen auf dem Bildschirm auch wieder löschen, aber imo fehlt mir die Zeit den Code zusammen zu basteln.
Aber afaik unterstützen die meisten Grafikmodi TTY (TeleTYper) und somit könnte u.U. auch die Routine "Readln" funktionieren, allerdings grafisch beschränkt.
Tausend Dank trotzdem .... wüßt nicht wo ich ohne dieses Forum wär .... wahrscheinlich in der Bibliothek und das 24/7 !!!
thx
Neffe
Diogenes
12.03.2002, 18:12
Die "rohe" Eingabe-routine könnte lauten:
procedure ReadString( var S: string);
var
Key: Char;
begin
S := ´´;
repeat
repeat until KeyPressed; {Auf Taste warten}
Key := ReadKey; {Taste holen}
if Cook( Key)
then S := S + Key;
until Key = #13
end;
Man beachte die Zeilen "if Cook then S := S + Key;": Hier sollte die Verarbeitung des Zeichens stehen. Wenn ein True zurückgegeben wird, wird es zum String hinzugefügt. Trifft für #010 oder #013 kaum zu, für #065 wahrscheinlich. Zusätzlich solltest Du hier die Editorfunktionen dazutun, zum Beispiel auf "Del" mit Löschen des letzten Zeichens reagieren (entweder mit einem #032 oder demselben Zeichen in Hintergrundfarbe überschreiben - dann Graphikcursor zurücksetzen.
Ich fürchte, mit einem expliziten Codebeispiel dafür aufwarten kann ich nicht, denn ich müßte erst die DOS-Graphik studieren - da bin ich nämlich eher unbedarft.
kann ich auch andersherum einen String in einen Int umwandeln ? Wenn ja wie ?
Neffe
schon gefunden geht mit Val ... :)
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.