Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TClientSocket/Server - Befehl senden mit edit text Speech??? (https://www.delphipraxis.net/35262-tclientsocket-server-befehl-senden-mit-edit-text-speech.html)

xeon2000 5. Dez 2004 11:38

Re: TClientSocket/Server - Befehl senden mit edit text Speec
 
oh mann ! ich bin halt irgendwie zu blöd...aber vielleicht hab ichs auch einfach nur schlecht beschrieben...

naja, wie auch immer...hier ist der source code ! klick

PS: kein scheiss bauen und biddö nicht sagen, dass ihr es geschrieben hättet oder so....

_master_ 5. Dez 2004 13:11

Re: TClientSocket/Server - Befehl senden mit edit text Speec
 
CLIENT:
Delphi-Quellcode:
// SENDEN von Strings
procedure TfrmMain.SendString(Cmd, Param1, Param2: String );
var
  FullCmd: String;
begin
   FullCmd := Cmd + '¬' +Param1+ '¬' +Param2+ '¬';
  if ClientSocket1.Socket.Connected then
  begin
    ClientSocket1.Socket.SendText( FullCmd );
  end else
  begin
    ShowMessage('you are not connected!');
  end;
end;
// READ STRINGS
procedure TfrmMain.ClientSocket1SockRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
  Data, Cmd, Param1, Param2: String;
begin
  Data := Socket.ReceiveText;

//-
  Cmd := Copy(Data, 1, Pos('¬', Data) -1);
  Delete(Data, 1, Pos('¬', Data));
//-
  Param1 := Copy(Data, 1, Pos('¬', Data) -1);
  Delete(Data, 1, Pos('¬', Data));
//-
  Param2 := Copy( Data, 1, Pos('¬', Data) -1);
  Delete(Data, 1, Pos('¬', Data));
//-

  if Cmd = 'Test' then
  begin
    MessageBoxA(Handle, pChar(Param1), pChar('Client'), MB_ICONINFORMATION);
  end;
  ..
  ..
end;
// SENDEN von Befehlen
procedure TfrmMain.Button1Click(Sender: TObject);
begin
  // Sende Text aus Edit1 im Befehl 'Test'
  SendString('Test', Edit1.Text, '');
end;
SERVER:
Delphi-Quellcode:
// STRING Senden
procedure TfrmMain.SendString( Socket: TCustomWinSocket; Cmd, Param1, Param2: String );
var
  FullCmd: String;
begin
  FullCmd := Cmd + '¬' +Param1+ '¬' +Param2+ '¬';
  Socket.Sendtext( FullCmd );
end;
// EMPFANGEN
procedure TfrmMain.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
  Data, Param1, Param2: String;
  Cmd: Integer;
begin
  Data := Socket.ReceiveText;
//-
  Cmd := Copy(Data, 1, Pos('¬', Data) -1);
  Delete(Data, 1, Pos('¬', Data));
//-
  Param1 := Copy(Data, 1, Pos('¬', Data) -1);
  Delete(Data, 1, Pos('¬', Data));
//-
  Param2 := Copy( Data, 1, Pos('¬', Data) -1);
  Delete(Data, 1, Pos('¬', Data));
//-
  if Cmd = 'Test' then
  begin
    ShowMessage('Gesendeter Text: ' + Param1);
    SendString(Socket, 'Test', 'Text ist angekommen...', ''); // So Sendet der Server befehle [ od. Antworten ]
  end;
  ..
  ..
end;
du müsstest den code oben einfugen [ natürlich ohne dem test etc.. ]
und dein code würde zb. so aussehen
Delphi-Quellcode:
// Client #######
// Button1.Click:
  SendString( 'Speech', Edit1.Text, '' ); // Param2 ist unnötig

// Server #######
// On Read:
  if Cmd = 'Speech' then
  begin
    oleVoice := CreateOLEObject('SAPI.SpVoice');
    oleVoice.Speak('Hello World!', 0);
    // usw...
  end;

xeon2000 6. Dez 2004 21:00

indy TCP spezieller Befehl mit Edit
 
hi !

sorry für den Doppelpost, aber ich bin halt noch neu hier im Forum...außerdem dachte ich, es wär sinnvoll, weil wenn man nun über die Suche geht findet man nur TClientSocket, obwohl mein neues Problem ja was mit indy TCP zu tun hat...

hmmm.......naja.

also:

ich hab das ganze mal mit den indy kompos gemacht :

CLient sendet was:

Code:
Client.WriteLn('opencd');
Server reagiert:

Code:
If Command = 'opencd' then mciSendString('Set cdaudio door open wait', nil, 0, handle);
aber auch bei diesen Komponenten stellt sich die Frage, wie man da lösen kann, dass der User mit einem Edit einstellen kann, in z.b. welchem intervall das ganze geschieht...oder bei dem Speech eben mit welchem Text...

bin für jede Hilfe dankbar !!!!!!!!!!!!!

phXql 6. Dez 2004 22:07

Re: TClientSocket/Server - Befehl senden mit edit text Speec
 
wofür muss der server bei einem Speech Chat das tray des CD-Laufwerks öffnen? was soll das für ein komisches programm werden? trojaner?

Torpedo 7. Dez 2004 09:36

Re: indy TCP spezieller Befehl mit Edit
 
Zitat:

Zitat von xeon2000
aber auch bei diesen Komponenten stellt sich die Frage, wie man da lösen kann, dass der User mit einem Edit einstellen kann, in z.b. welchem intervall das ganze geschieht...

Mach doch im Client einen Timer, der alle x ms den Befehl sendet.

jim_raynor 7. Dez 2004 10:03

Re: indy TCP spezieller Befehl mit Edit
 
Zitat:

Zitat von xeon2000
aber auch bei diesen Komponenten stellt sich die Frage, wie man da lösen kann, dass der User mit einem Edit einstellen kann

Lies in Ruhe diesen Beitrag und denke mal darüber nach. Es wurde hier alles gesagt, was du brauchst. Und mit deiner etwas "nervigen" Art, dürftest du dir hier nicht viele Freunde machen.

xeon2000 7. Dez 2004 11:22

Re: TClientSocket/Server - Befehl senden mit edit text Speec
 
was für eine nervige Art ? komisch...

auf jeden Fall sorry, wenn ich jemanden genervt habe...tut mir leid !

des soll kein Trojaner werden, sondern ein Remote Control Tool, bei dem der User jeder Zeit abbrechen kann. das mit dem Timer war ja auch nur ein Beispiel...

mir gehts eher um das mit dem Edit.Text.............weil ich nicht nur ein paar Knöpchen drücken will, sondern halt z.b. bei dem Problem mit dem Speech selber vom clienten aus bestimmen möchte, was gesagt werden soll....

wiedermal vielen Dank im Voraus...

das Forum ist echt saugeil !

Torpedo 7. Dez 2004 11:31

Re: TClientSocket/Server - Befehl senden mit edit text Speec
 
Gib allen deinen Befehlen eine Zahl, z.B. speech=001 cd öffnen=002 cd schließen=003...
Dann sende z.B. 002 und das CD-Laufwerk öffnet sich. (nachdem der Server "002" ausgewertet hat.)
Wenn du dann mitsenden willst, was der Computer bei 001 sagen soll, hänge doch an 001 einfach den Text an.
Beispiel:
001+Edit1.Text
Der Server schneidet 001 weg und hat den Text, den er sagen soll.

PS: Bitte erkläre doch mal, wofür man mit einem Remote Control Tool das CD-Laufwerk öffnet. Damit jemand eine CD einlegen kann? Dann kann er es doch gleich selbst öffnen :stupid:

xeon2000 7. Dez 2004 13:30

Re: TClientSocket/Server - Befehl senden mit edit text Speec
 
das mit dem cd-rom war ja auch nur en beispiel....danke !!!!!!!!!!!!!!!

aber kennt jemand von euch tutorials oder links dazu, um zu lernen, wie man das dann wegschneiden kann?

Gruß Xeon

Torpedo 7. Dez 2004 13:44

Re: TClientSocket/Server - Befehl senden mit edit text Speec
 
Wegschneiden: Delphi-Referenz durchsuchenDelete
Du kannst auch gleich nur den Text rauskopieren: Delphi-Referenz durchsuchenCopy und Delphi-Referenz durchsuchenLength


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:45 Uhr.
Seite 2 von 3     12 3      

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