![]() |
Re: LiebesTester
Erstmal ist es eine schöne Umsetzung eines alten Klassikers. Das haben bei uns zumeist die Mädels mit Stift und Papier in der Grundschule gemacht. Allerdings denke ich, dass sie nen andern Algo verwendet haben :wink: Nachdem auch Jamba und Co schon auf die Idee gekommen sind das zu vermarkten ist das nun genau das was der Welt noch gefehlt hat... *läster* Aber es ging ja primär um den Lerneffekt und somit kann ich damit leben.
Zitat:
Toni |
Re: LiebesTester
hay,
:gruebel: kann es sein das wenn ich lowercase benutze immer 0 zurückkommt? weil nach dem lowercase bekommt die variable imemr den wert 0.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i: integer; begin name1:=Edit1.Text; name1:=Edit2.Text; name1:=LowerCase(name1); name2:=LowerCase(name1); for i:= 1 to length(name1) do zahl1:= zahl1*zahlen[name1[i]]; for i:= 1 to length(name2) do zahl2:= zahl2*zahlen[name2[i]]; zahl3 := zahl1 + zahl2; zahl3 := zahl3 mod 100; Edit3.Text := IntToStr(zahl3); end; mfG toredo |
Re: LiebesTester
Halb OT ;) :
Zitat:
Habs mir mal irgendwann erklären lassen... Mit der Umsetzung davon könnte man sogar noch ein bisschen mehr lernen als bei einem einfachen Buchstaben addieren ;) Beispiel: Christoph-Maria + Eva (weils so schön viele Buchstaben sind ;) ) Test auf: Liebe 1. Buchstabe: L: kommt in beiden Namen zusammen 0 mal vor. 2. Buchstabe: I: kommt 2 mal vor 3. Buchstabe: E: 1 4. Buchstabe: B: 0 5. Buchstabe: E: 1 Verrechnet wird das dann nach diesem Schema: ![]() Wenn zwei solche Zahlen addiert zusammen größer 10 sind, wird einfach aus dieser Zahl noch die Quersumme genommen. (5+8 = 13 => 4) @toredo: Setz das doch mal um für die Nostalgiker unter uns ;) mfG, Chris |
Re: LiebesTester
Zitat:
aber noch mals chnel zum code, weil den möcht ich fertigbringen :zwinker:
Delphi-Quellcode:
nach dem makierten code kommt für zahl1 und zahl2 immer 0 raus, das versteh ich nicht richtig...
procedure TForm1.Button1Click(Sender: TObject);
var i: integer; begin name1:=LowerCase(Edit1.Text); name2.Text:=LowerCase(Edit2.Text); ---------------------------------------- for i:= 1 to length(name1) do zahl1:= zahl1*zahlen[name1[i]]; for i:= 1 to length(name2) do zahl2:= zahl2*zahlen[name2[i]]; ---------------------------------------- zahl3 := zahl1 + zahl2; zahl3 := zahl3 mod 100; Edit3.Text := IntToStr(zahl3); end; mfG toredo |
Re: LiebesTester
Delphi-Quellcode:
einrücken nicht vergessen, macht den Code lesbarer,
procedure TForm1.Button1Click(Sender: TObject);
var i: integer; begin name1:=LowerCase(Edit1.Text); name2:=LowerCase(Edit2.Text); showMessage(name1,name2); zahl1:=1; // <------------- for i:= 1 to length(name1) do zahl1:= zahl1*zahlen[name1[i]]; zahl2:=1; // <----------- for i:= 1 to length(name2) do zahl2:= zahl2*zahlen[name2[i]]; zahl3 := zahl1 + zahl2; zahl3 := zahl3 mod 100; Edit3.Text := IntToStr(zahl3); end; zahl1 und zahl2 sind nicht initialisiert worden - daher wahrscheinlich 0 und ein Produkt mit 0 gibt 0. Grüße Klaus |
Re: LiebesTester
:cheers: thx jetzts funzts...
aber etwas funzt an dem prog noch nicht, aber den fehler im source find ich noch: alles hat geklappt bis ich meinen namen+den namen eines bestimmten girls eingegeben habe dann kam -99 raus :? mfG toredo -edit- problem ist gelöst |
Re: LiebesTester
kann es sein das es zu einem Überlauf bei zahl1 und zahl2 kommt.
Wenn die beiden Zahlen als Integer deklariert sind dann kann es bei der Multiplikation zu einem Überlauf kommen, der Wert wird größer als 2147483647. Vielleicht kannst Du dann LongInt oder Cardinal verwenden. Grüße Klaus |
Re: LiebesTester
man kann das proggi jetzt saugen:
![]() thx an alle helfer. mfG toredo |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 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 by Thomas Breitkreuz