AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TClientSocket/Server - Befehl senden mit edit text Speech???
Thema durchsuchen
Ansicht
Themen-Optionen

TClientSocket/Server - Befehl senden mit edit text Speech???

Ein Thema von xeon2000 · begonnen am 4. Dez 2004 · letzter Beitrag vom 7. Dez 2004
Antwort Antwort
Seite 1 von 3  1 23      
xeon2000
(Gast)

n/a Beiträge
 
#1

TClientSocket/Server - Befehl senden mit edit text Speech???

  Alt 4. Dez 2004, 15:40
Hi !

ich arbeite an nem kleinen Speech-Chat (er arbeitet mir dem Microsoft Sam Speech System). Ich arbeite mir TClientsocket und TServerSocket. also wenn ich die funktion alleine aufrufen will dann mach ich das so (ich gib mal nich den ganzen quelltext ein, sondern nur das worauf es ankommt...) :

BEIM CLIENTEN :


Connecten :

Delphi-Quellcode:
if ClientSocket1.Active = False then
begin
ClientSocket1.Host := Edit1.Text;
ClientSocket1.Port := 1533;
ClientSocket1.Active := True;
Button1.Caption := 'Trennen';


end
else
begin
ClientSocket1.Active := True;
ClientSocket1.Close;
Button1.Caption := 'Verbinden';

end

Befehl Senden:

ClientSocket1.Socket.SendText('Speech');
BEIM SERVER:

Delphi-Quellcode:
if MyString = 'Speechthen

oleVoice := CreateOLEObject('SAPI.SpVoice');
 oleVoice.Speak('Hello World!', 0);

//usw....

MEINE EIGENDLICHE FRAGE:

wie kann ich das ganze realisieren, dass nicht nur der Befehl gesendet wird, sondern auch der Text aus Edit1 ?
also z.b. so :

ClientSocket1.Socket.SendText('Speech' + Edit1.Text); // GEHT ABER IT !!!!! und das aller wichtigste :

WIE MUSS DER SERVER DANN DARAUF REAGIEREN ???

ich hoffe ich konnte es so verständlich wie möglch erklären...

DANKE !!!!!!!!!!

[edit=Chakotay1308][delphi]-Tags gesetzt. Nächstes Mal bitte selber machen. Mfg, Chakotay1308[/edit]
  Mit Zitat antworten Zitat
4. Dez 2004, 15:58
Dieses Thema wurde von "Chakotay1308" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Internet / IP / LAN" verschoben.
Kein Tipp für die Code-Library
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: TClientSocket/Server - Befehl senden mit edit text Speec

  Alt 4. Dez 2004, 16:04
Hi,
die Sparte Neuen Beitrag zur Code-Library hinzufügen ist nur für nützliche Tipps, die in unsere Code-Sammlung - genannt Code-Library - sollen. Außerdem haben wir hier praktische [ delphi][ /delphi]-Tags. Bitte nutze die um deinen SourceCode lesbarer zu machen.

Zu deinem Problem: dein Schritt, den du am Ende deines Beitrags geschrieben hast, ist schon ganz gut. Du solltest dir überlegen, wie übermittelst du sowohl Text, als auch den Befehl. Angenommen du schickst nicht "Speech" und dann direkt den Text, sondern zum Beispiel "Speech:Hier kommt der Text". Dann könntest du mit Hilfe von Delphi-Referenz durchsuchenPos und Delphi-Referenz durchsuchencopy den Text Speech: rausschneiden und den Rest ausgeben.

Hoffe das hilft,
Chris
  Mit Zitat antworten Zitat
xeon2000
(Gast)

n/a Beiträge
 
#4

Re: TClientSocket/Server - Befehl senden mit edit text Speec

  Alt 4. Dez 2004, 16:11
hä ?

sry aber des hab ich it so ganz verstanden...könntest du mir vielleicht n kleines Beispiel posten ?

Dankeschön !

PS : Sorry wegen den Tags.........
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: TClientSocket/Server - Befehl senden mit edit text Speec

  Alt 4. Dez 2004, 16:20
Hi,
also...
Bisher sendest du so den Text:
ClientSocket1.Socket.SendText('Speech'); Du könntest zum Beispiel so den Text senden und den Befehl senden:
ClientSocket1.Socket.SendText('Speech:' + Edit1.Text); Dann musst aber aufpassen, dass du auch die if-Abfrage änderst. Dazu Delphi-Referenz durchsuchenpos und Delphi-Referenz durchsuchencopy in der Delphi-Hilfe.
Die könnte dann zum Beispiel so aussehen:
Delphi-Quellcode:
if Pos('SubStr:', MyString) = 1 then begin
  // hantiere hier mit Copy herum...
  oleVoice := CreateOLEObject('SAPI.SpVoice');
  oleVoice.Speak(MyString, 0);
end;
Chris
  Mit Zitat antworten Zitat
xeon2000
(Gast)

n/a Beiträge
 
#6

Re: TClientSocket/Server - Befehl senden mit edit text Speec

  Alt 4. Dez 2004, 16:44
sry und wahrscheinlich ist die Frage total dumm, aber wie soll ich mit dem "copy" herumhanieren???????

:confused:

Bin einfach zu blöd dafür !
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: TClientSocket/Server - Befehl senden mit edit text Speec

  Alt 4. Dez 2004, 16:51
Hi,
guck' dir in der Hilfe mal an, was Copy macht. Du sollst mit der Funktion versuchen den Teil, den du nicht ausgeben willst (in diesem Fall Speech:) herauszuschneiden, bzw. alles andere des Strings in einen anderen packen.
Beispiel:
Delphi-Quellcode:
sInput := '111Dies ist ein String';
sOutput := Copy(sInput, 3, length(sInput);
ShowMessage(sOutput);
// sollte "Dies ist ein String ausgeben"


Chris
  Mit Zitat antworten Zitat
xeon2000
(Gast)

n/a Beiträge
 
#8

Re: TClientSocket/Server - Befehl senden mit edit text Speec

  Alt 4. Dez 2004, 17:35
des geht au it !!!!!!!!!!!!!

ich müsste zu dem auch noch wissen, wie man z.b. ein programm starten kann, dass man zuvor per edit1 festgelegt hat, also z.b. :

[/delphi]ClientSocket1.Socket.SendText('run' + Edit1.Text);

und der server muss dann so reagieren (GEHT ABA IT !!!!!) :

[delphi]if MyString = 'run' then

ShellExecute(0,
Nil,
PChar('Edit1.Text'),
Pchar(''),
Pchar(''),
SW_NORMAL);

genau da scheiterts bei mir !!! und das mit der Speech muss doch ähnlich gehen ???????????????????????

man ich werd langsam nervös !

  Mit Zitat antworten Zitat
xeon2000
(Gast)

n/a Beiträge
 
#9

Re: TClientSocket/Server - Befehl senden mit edit text Speec

  Alt 4. Dez 2004, 18:40
kann mir keiner helfen ?

Bitte !
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#10

Re: TClientSocket/Server - Befehl senden mit edit text Speec

  Alt 4. Dez 2004, 22:33
1.) Pushen ist erst ab 24 Stunden nach dem letzten Beitrag erlaubt.
2.) Dir wurden schon recht viele Tips gegeben, schau doch mal in die OH.
3.) Zu der Sache mit dem Run:
Delphi-Quellcode:
[...]
MyString:=Socket.ReceiveText;
if (copy(MyString,1,3)='run') then
Delete(MyString,1,3);
Shellexecute(0,Nil,PChar(MyString),PChar(''),PChar(''),SW_NORMAL);
Ungetestet, müste aber gehen.
Julian J. Pracht
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 20:24 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