AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

eigene Konsole -> Readln Problem

Ein Thema von hboy · begonnen am 3. Jan 2005 · letzter Beitrag vom 5. Jan 2005
Antwort Antwort
Seite 3 von 3     123   
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#21

Re: eigene Konsole -> Readln Problem

  Alt 4. Jan 2005, 03:51
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,'"');

""
Power is nothing without TControl
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#22

Re: eigene Konsole -> Readln Problem

  Alt 4. Jan 2005, 04:35
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.
Miniaturansicht angehängter Grafiken
con02_171.jpg  
Power is nothing without TControl
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#23

Re: eigene Konsole -> Readln Problem

  Alt 4. Jan 2005, 13:27
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:
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;
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 )
Power is nothing without TControl
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#24

Re: eigene Konsole -> Readln Problem

  Alt 4. Jan 2005, 14:14
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]
Power is nothing without TControl
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#25

Re: eigene Konsole -> Readln Problem

  Alt 5. Jan 2005, 12:56
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
Power is nothing without TControl
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz