Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TClientSocket: Problem bei Eventzuweisung (https://www.delphipraxis.net/98123-tclientsocket-problem-bei-eventzuweisung.html)

Nils_13 22. Aug 2007 19:45

Re: TClientSocket: Problem bei Eventzuweisung
 
Könnte dein dazu gezeigtes Beispiel nicht hilfreich sein ? (Variable msg)

Muetze1 22. Aug 2007 20:23

Re: TClientSocket: Problem bei Eventzuweisung
 
Die VCL hat doch einen Thread um die Nachrichten zu verarbeiten. Warum hier nicht gleiches versuchen?

sirius 22. Aug 2007 20:54

Re: TClientSocket: Problem bei Eventzuweisung
 
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
Delphi-Quellcode:
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)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:21 Uhr.
Seite 2 von 2     12   

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