![]() |
Re: eigene Konsole -> Readln Problem
tja.... achten .. wie setz ich die dann ? angenommen ich wollte mal nen kleinen Teststring zurückgeben ?
Delphi-Quellcode:
s := 'Zu übergebender String';
F.BufPos := length(s)-1; Move(s[1],F.Buffer[0],length(s)-1); Result := 0; aber da kommt nix an
Delphi-Quellcode:
readln(s);
writeln('s entählt: "',s,'"'); "" |
Re: eigene Konsole -> Readln Problem
Liste der Anhänge anzeigen (Anzahl: 1)
also es kommt nix an weil ich nich weiß wie ich BufPos und BufEnd setzen muss. BufSize bleibt glaub ich kostant.
So schauts aus bis jetzt. Jetzt kann man auch Text eintippen :) er wird nur noch nich zurückgegeben. |
Re: eigene Konsole -> Readln Problem
und es kommt noch besser. Offensichtlich ( ich hab 2k ) scheint unter win xp gar keine Eingabe aufzutauchen, das Fenster schließt sich einfach wieder. Hab ich irgend ne Message vergammelt ?
also was noch nicht tut ist ConsoleIn:
Delphi-Quellcode:
kann mir jemand sagen wie ich die BufPos und BufEnd Variablen setzen muss ? Und wieso bricht bei XP der Message Loop ab ? wenn es überhaupt so weit kommt ( es also schon vorher abbicht )
Function ConsoleIn(var F: TTextRec): Integer;
var Msg:TMsg; s: string; begin s:=''; ConsoleWin.proto.AddLine('_',BackgroundColor,TextColor); while GetMessage(msg,0,0,0) do // aufhängen^^ begin if msg.message = WM_CHAR then begin Case msg.wParam and $FF of 8: begin if length(s) <>0 then setlength(s,length(s)-1); end; 13: break; else s := s + chr(msg.wParam); end; ConsoleWin.proto.AddLine(s,BackgroundColor,TextColor,true); end; if IsWindowVIsible(msg.hwnd) then begin TranslateMessage(msg); DispatchMessage(msg); end else break; // bis das Konsolenfenster geschlossen ist end; ConsoleWin.proto.AddLine(s,BackgroundColor,TextColor,true); Move(s[1],F.BufPtr^,length(s)); ///F.BufPos := ???; ///F.BufEnd := ???; Result := 0; end; |
Re: eigene Konsole -> Readln Problem
mal nebenbei für alle die das in der Codeschlacht hier mal testn wollen hier das Programm.
Tut bei 2000 aber offenbar bei XP nicht :( testets mal bitte. Jemand ne Idee woran das liegt ? [altes attachment entfernt] |
Re: eigene Konsole -> Readln Problem
also meine lieben Programmierkünstler :) ich habs jetzt soweit feritg. Es fehlt noch die Prozessbeendung beim Schließen des Fensters aber sonst isses fertig !
War zwar ein wenig tricky rauszufinden was man mit dem Buffer tun muss aber es lefft. Danke an alle die mitgeholfen ham :) :dp: :hello: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz