![]() |
Re: Alice - künstliche Intelligenz
das Programm ist doch nur eine amateurmäßige Nachahmumg (sorry!) von ELIZA, das bereits 1966 programmiert wurde.
Wer sowas ernsthaft mal angehen möchte, soll auf den folgenden Link schauen und sich mal durchhangeln zu weiterführenden Links. ![]() |
Re: Alice - künstliche Intelligenz
Zitat:
|
Re: Alice - künstliche Intelligenz
Zitat:
Außerdem soll dieses Programm glaub ich auch eher "ein Gag" sein :wink: |
Re: Alice - künstliche Intelligenz
Hola,
naja das Programm ist nicht gerade der Renner ein bissl die Relation in der Unterhaltung verloren |
Re: Alice - künstliche Intelligenz
Zitat:
sorry trotzdem |
Re: Alice - künstliche Intelligenz
Hi,
Für eine neue Version von "Alice" habe ich eine Prozedur programmiert. Sie soll, wenn ein Text in einem String vorkommt, die Variable "Found" auf True setzen. So sieht Sie aus:
Delphi-Quellcode:
Aber die Prozedur setzt "Found" nur auf True, wenn der Text am Anfang oder am Ende des Strings steht.
procedure TxtInStr(Str: String; Txt: String);
var i: Integer; begin For i := 1 To Length(Str) Do If Copy(Str, i, i + Length(Txt) - 1) = Txt Then Found := True; end; Wenn er in der Mitte ist, passiert nichts. Was habe ich falsch gemacht? Oder ist so eine Prozedur sogar schon in Delphi vorgegeben? |
Re: Alice - künstliche Intelligenz
Uhm... darf ich dir Pos ans Herz legen?
Delphi-Quellcode:
Vermutlich wird dann sogar die procedure-Kapselung überflüssig
procedure TxtInStr(Str: String; Txt: String);
begin Found := (Pos(Txt, Str) >= -1); end; |
Re: Alice - künstliche Intelligenz
Delphi-Quellcode:
Das ist nicht ganz korrekt. Pos gibt die Position des ersten Vorkommens zurück, die (in Delphi-Strings) mit 1 beginnt.
Found := (Pos(Txt, Str) >= -1);
Wurde nichts gefunden, wird 0 zurückgegeben. Also würde die ja immer True zurrückliefern. richtig ist:
Delphi-Quellcode:
Found := Pos(Txt, Str) > 0;
|
Re: Alice - künstliche Intelligenz
Danke, aber ich habe gerade gemerkt, dass das immer noch nicht richtig ist.
Richtig ist:
Delphi-Quellcode:
Found := Pos(Txt, Str) >= 1;
|
Re: Alice - künstliche Intelligenz
:drunken: stimmt.. bei Delphi-Strings komm ich immer gern ins schwitzen... historisch korrekt, aber irgendwie unlogisch...
- hier stand mal was über nen Type-Cast - |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:31 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