![]() |
Der Server führt nur " einen Befehl" aus ??
hallo,
hab da einen code, der server sollte zwei befehle ausführen, zb. wenn in d. variable orders: öffnen abgelegt wird, soll er das cdfach öffnen, wenn er in d. variable text: schließen abgelegt wird, soll er das cdfach schließen. tut er aber nicht, wenn ich nur eine variable und einen befehl benutze funktioniert es. kann sein das beim zweiten aufruf des befehls dann alle beide variableninhalte wie, öffnenschließen steht ???? wie müßte ich diesen code umschreiben.
Code:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket); var orders : string; Text : string; begin orders := socket.ReceiveText; Text := socket.ReceiveText; if orders = 'öffnen' then begin mciSendString('SET CDAUDIO DOOR OPEN WAIT',nil,0, Self.Handle); //Öffnen end; if Text = 'schließen' then begin mciSendString('SET CDAUDIO DOOR CLOSED WAIT',nil,0, Self.Handle); //Schließen end; end; mfg vader |
Re: Der Server führt nur " einen Befehl" aus ??
wenn du Receivetext ausführst ist der Befehl ja gelesen und der eingangspuffer leer. beim 2. mal lesen in "text" wird kein Wert mehr gelesen.
warum überhaupt 2 Variablen ? |
Re: Der Server führt nur " einen Befehl" aus ??
Delphi-Quellcode:
Edit: ops
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket); var order : string; begin order := socket.ReceiveText; if order = 'öffnen' then begin mciSendString('SET CDAUDIO DOOR OPEN WAIT',nil,0, Self.Handle); //Öffnen end; if order = 'schließen' then begin mciSendString('SET CDAUDIO DOOR CLOSED WAIT',nil,0, Self.Handle); //Schließen end; end; |
Re: Der Server führt nur " einen Befehl" aus ??
@Vader: ich habe die zweite und die dritte Kopie dieses Threads mal gelöscht ;-)
|
Re: Der Server führt nur " einen Befehl" aus ??
aber wie muß ich dann den Client schreiben,wenn ich nur eine
Variable nehme funktioniert es nicht.
Code:
wenn ich jetzt das Prog. ausführe dann funktoniert der erste Befehl "öffnen", wenn ich dann die 2 Checkbox aktiviere wird nichts ausgeführt.
procedure TForm1.AusführenClick(Sender: TObject);
var orders : string; begin if checkbox1.Checked = True then begin orders := 'öffnen'; Clientsocket1.Socket.SendText(orders); end; if Checkbox2.Checked = True then begin orders := 'schließen'; Clientsocket1.Socket.SendText(Text); end; end; Was ist in meinen Code falsch ??? mfg Vader |
Re: Der Server führt nur " einen Befehl" aus ??
halt ich hab mich verschrieben,natürlich muß in der Zeile:
Clientsocket1.Socket.SendText(Text); ( orders ) stehen !! ich habs ausprobiert und es funzt 8) mfg vader |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03: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