Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: TClientSocket: Problem bei Eventzuweisung

  Alt 22. Aug 2007, 21:54
Irgendwie so vielleicht:
Delphi-Quellcode:
function readkey:char;
var buf:input_record;
    ret:cardinal;
begin
  result:=#0;
  GetNumberOfConsoleInputEvents(inputhandle,ret);
  if ret>0 then
  begin
    readconsoleinput(inputhandle,buf,1,ret);
    if buf.EventType=key_event then
    begin
      if buf.Event.KeyEvent.bKeyDown then
        result:=buf.Event.KeyEvent.AsciiChar;
    end;
  end;
end;

procedure readln(var x:string);
var key:char;
    msg:tmsg;
begin
  x:='';
  repeat
    while peekmessage(msg,0,0,0,PM_remove) do begin
      translatemessage(msg);
      dispatchmessage(msg);
    end;
    key:=readkey;
    if key <>#0 then
    begin
      write(key);
      if key<>#13 then x:=x+key;
    end;
  until (key=#13);
end;
mit
inputhandle:=getstdhandle(STD_INPUT_HANDLE); //DWORD Man muss allerdings noch besser auf die Tasten reagieren. Und ob das die optimale Lösung ist?
Als alternativen fallen mir (neben der normalen VCL-GUI-Anwendung) noch ein:
-nonVCL-GUI
-TClient in Thread setzen (wie mütze sagt)
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat