Dialog Bot

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Ironsmurf
Beiträge: 111
Registriert: 04.01.2006 12:57
Computerausstattung: AMD FX(tm)-6300 Six-Core Processor
3.50 GHz / 8 GB Ram
Windows 7 / 64bit / Ultimate
Purebasic 5.20 LTS (Windows - x86)
Wohnort: Deutschland

Dialog Bot

Beitrag von Ironsmurf »

Hallo

Ich möchte für meinen Rechner einen Dialog Bot programmieren, bezogen auf ein bestimmtes Thema ( so eine Art Expertensystem ).

Da ich blutiger Anfänger bin, hänge ich nun etwas fest.

Vieleicht kann mir jemand erklären, wie ich den Eingabetext im String$ nach Schlüsselwörter durch suchen kann.

Z.B. String$ = (bitte mach das Licht an), wichtig sind ja nur die Wörter (Licht & an), wie kann ich das aus dem Eingabetext heraus filtern.

Danke schon mal im voraus
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Mit CountString() oder FindString(). Schau mal in der Hilfe.
Sollte z. B. der String "Licht" in deinem String$ vorkommen, geben beide Funktionen einen Wert ungleich null zurück. Der erste Befehl, zählt, wie oft ein String in einem anderen vorkommt. Aber es reicht glaube ich hier auch der zweite Befehl, der nur findet und wenn gefunden, die Position des Strings zurückgibt, also an welcher Stelle der String im String$ vorkommt.

Ausführliche Version:

Code: Alles auswählen

String$="Bitte mach das Licht an."

If FindString(String$, "Licht", 1) > 0
  Debug "Licht kommt darin vor."
   If FindString(String$, "an", 1) > 0
     Debug "an kommt darin vor."
   EndIf
EndIf
Kompakte Version:

Code: Alles auswählen

String$="Bitte mach das Licht an."

If FindString(String$, "Licht", 1) And FindString(String$, "an", 1)
   Debug "Beide Wörter kommen in String$ vor."
EndIf
Hoffe, das hilft.
Zuletzt geändert von AND51 am 22.01.2006 11:54, insgesamt 1-mal geändert.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
Rubiko
Beiträge: 943
Registriert: 25.02.2005 19:43
Computerausstattung: Intel i7 2600k
8GB Ram
GeForce GTX 560 Ti
Wohnort: Schwabach

Beitrag von Rubiko »

AND51 hat geschrieben:Mit CountString() oder FindString(). Schau mal in der Hilfe.
Sollte z. B. der String "Licht" in deinem String$ vorkommen, geben beide Funktionen einen Wert ungleich null zurück. Der erste Befehl, zählt, wie oft ein String in einem anderen vorkommt. Aber es reicht glaube ich hier auch der zweite Befehl, der nur findet und wenn gefunden, die Position des Strings zurückgibt, also an welcher Stelle der String im String$ vorkommt.

Ausführliche Version:

Code: Alles auswählen

String$="Bitte mach das Licht an."

If FindString(String$, "Licht", 1) > 0
  Debug "Licht kommt darin vor."
   If FindString(String$, "an", 1) > 0
     Debug "an kommt darin vor."
   EndIf
EndIf
Kompakte Version:

Code: Alles auswählen

String$="Bitte mach das Licht an."

If FindString(String$, "Licht", 1) And FindString(String$, "an", 1)
   Debnug "Beide Wörter kommen in String$ vor."
EndIf
Hoffe, das hilft.
hastn 'n' zuviel im zweiten code beim "debug"^^
Ich wollte die Welt verändern, doch Gott gab mir nicht den Quelltext.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Melde gehorsamst: Fehler beseitigt.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Re: Dialog Bot

Beitrag von zigapeda »

Ironsmurf hat geschrieben:Hallo

Ich möchte für meinen Rechner einen Dialog Bot programmieren, bezogen auf ein bestimmtes Thema ( so eine Art Expertensystem ).

Da ich blutiger Anfänger bin, hänge ich nun etwas fest.

Vieleicht kann mir jemand erklären, wie ich den Eingabetext im String$ nach Schlüsselwörter durch suchen kann.

Z.B. String$ = (bitte mach das Licht an), wichtig sind ja nur die Wörter (Licht & an), wie kann ich das aus dem Eingabetext heraus filtern.

Danke schon mal im voraus
So wie ich das jetzt verstanden habe, möchtest du dann später mit dem programm komunizieren oder?
Wenn ja, wäre mein Tipp nicht nach Schlüsselwörtern zu suchen sondern unwichtige Wörter rauszufiltern und dann schauen was noch übrig bleibt.
Unwichtig wäre z.B. "bitte" weil es "nur" eine höfflichkeitsform ist.
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Antworten