NEED HELP

Tags:    delphi

Jo, jeg pusler lidt med delphi 6 PE og nu er jeg kommet til et problem...

Jeg vil gerne lave en slags besked-sender - hvor man skriver en besked i en TEdit og trykker på en knap, hvor der derefter kommer et svar i TEdit'en...
F.eks :
Man skriver: Hvad er dit navn?
Computeren svarer: Mit navn er zip

Jeg har lavet det sådan:

produce TForm1.Button1Click(sender to TObject);
begin
if Edit1.text <= 'navn?' then
begin
Edit1.text := 'Mit navn er zip';
end

Det virker også fint nok, men når det så kommer flere muligheder på f.eks.:

if Edit1.text <= 'har du det?' then
begin
Edit1.text := 'Jeg har det fint, tak';
end;

Når jeg har skrevet mere end en så svarer den kun på den nederste...
f.eks:
Man skriver: Hvad er dit navn?
Computeren svarer: Jeg har det fint, tak.

Som I sikkert kan se, virker det jo ikke...

Hvad er galt?

HJÆLP mig - der er 150 up på spil.

Ses nok, ik' :-)
[Redigeret d. 13/01-03 19:20:47 af simon pedersen]



3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
her er lidt If-elseif ting du kan bruge:

<pre>
If Edit1.Text = 'Hvordan har du der?' Then
Begin
Edit2.Text := 'fint fint...';
End
Else If Edit1.Text = 'Hvad hedder du?' Then
Begin
Edit2.Text := 'Demo program';
End
Else If Edit1.Text = 'hello' Then
Begin
Edit2.Text := 'world';
End;
</pre>



Jo, jeg pusler lidt med delphi 6 PE og nu er jeg kommet til et problem...

Jeg vil gerne lave en slags besked-sender - hvor man skriver en besked i en TEdit og trykker på en knap, hvor der derefter kommer et svar i TEdit'en...
F.eks :
Man skriver: Hvad er dit navn?
Computeren svarer: Mit navn er zip


Du skal søre for at den svare på alt, ikke bare "Hvad er dit navn", eller "Har du det?".


Jeg har lavet det sådan:

produce TForm1.Button1Click(sender to TObject);
begin
if Edit1.text <= 'navn?' then
begin
Edit1.text := 'Mit navn er zip';
end

Det virker også fint nok, men når det så kommer flere muligheder på f.eks.:

if Edit1.text <= 'har du det?' then
begin
Edit1.text := 'Jeg har det fint, tak';
end;

Når jeg har skrevet mere end en så svarer den kun på den nederste...
f.eks:
Man skriver: Hvad er dit navn?
Computeren svarer: Jeg har det fint, tak.

Som I sikkert kan se, virker det jo ikke...

Hvad er galt?

HJÆLP mig - der er 150 up på spil.

Ses nok, ik' :-)
[Redigeret d. 13/01-03 19:20:47 af simon pedersen]


Se, Det er svært. Jeg er selv igang med at lave sådan et program, men
jeg har ikke tænkt mig at få programmet til at gøre det, men et andet program
som heder Hippie(A.L.I.C.E) som jeg har fundet på Internettet, det kan det du søger,
bortset fra at det er Engelsk. Perfect program.

MH.

The-Freak

Livet er for kort til at kede sig.

PS. Jeg ved godt at det ikke rigtigt har noget med emnet at gøre.

[Redigeret d. 13/01-03 19:55:25 af The-Freak][Redigeret d. 13/01-03 20:01:51 af The-Freak]



<= betyder mindre-end-eller-lig-med.
>= betyder størrer-end-eller-lig-med
< mindre end
> størrer end
= lig med
<> forskellig fra

Derfor så skal du selvfølgelig bruge fx:

if ed.Text='Hej' then svar:='Hej med dig'
else if ed.text='farvel' then svar:='farveller.'

Men hvis man skriver første tegn med stort har du et problem, her kan lowercase bruges.
Fx:

ind:=lowercase(edInd.text);
if (ind='hej') or (ind='goddag') then ud:='Hej'
else if (ind='farvel') then ud:='Farvel'
else if (ind='vi ses') then ud:='Ja, vi ses.';
idUd.text:=ud;

Bare lidt hjælp, håber du kan bruge det.



t