Vollständige Version anzeigen : [Code] [Delphi] Palindrome erkennen - ausgeben


Fritz
18.03.2010, 19:22
hat sich erledigt, danke an alle poster die mir zur lösung verholfen haben.

Rushh0ur
19.03.2010, 21:08
Und wo liegt das Problem?

Hast ja (sogut wie) alles fertig vorgegeben, musst nur noch "zussamenklicken" & "-pasten".

Mfg Rushh0ur

Rushh0ur
20.03.2010, 02:26
Nein, da fehlt anscheinend noch etwas, ich kann dir aber nicht sagen, was :)


Naja, du hast halt die Prototypfunktionen vorgegeben die helfen sollen ein ganze Text zu verarbeiten: Wörter extrahieren und jedes Wort prüfen....

Mfg Rushh0ur

Chillikid
21.03.2010, 12:27
text[ende] bedeutet, dass der Buchstabe an der Stelle ende aus dem String text genommen wird. Denn ende ist ein Integer!

laenge >= ende überprüft, ob die Zahl ende noch kleiner ist als laenge, denn ende wird in der Schleife ja immer erhöht und muss aber logischerweise kleiner bleiben, als das Wort lang ist.

length(wort) > 1
Ich kann kein Delphi, deshalb rate ich, dass length(...) eine Funktion ist, die die Länge des Strings, also wort, zurückgibt. Wenn diese größer als 1 ist, kommt true heraus, sonst false. Das ist der Rückgabewert der Funktion NeachstesWort, die im Grunde nur prüft, ob im String noch ein Wort vorhanden ist.

Ich denke, nach diesem Muster, solltest du den Rest selber verstehen können.

Rushh0ur
21.03.2010, 21:39
Ich erklär dir mal den Code vom Ende beginend, bzw vom Einstiegstpunkt vom Button.

intalsstring : string; Wofür?
Um einen Integer Wert in seinen representierenden ASCII Zeichen zu konventieren und weiter zu verwenden.

MemoOut.Clear(); ?
Diese Zeile löscht den Inhalt (->Clear) des Memo Feldes.


Wie du wohl bemerkt hast verwende ich inerhalb der OnClick-Ereignisses die Funktionen
NeachstesWort und PruefeobPalindrom die ich vorher definiere, da sie ja sonst nicht exestieren, dh sobald eine dieser funtionen Aufgerufen wird springt das Programm zu dem entprechenden Code, der oberhalb steht.


Die Funktion PruefeobPalindrom prüft wie der Name es schon sagt ob der Übergebene String ein Palindrom ist also "gespiegelt" ist, dabei wird die groß und klein Schreibung nicht beachtet.

if wort <> wort[laenge-i+2] Kannst du das auch mal erläutern?[
Hier wird nach einander von vorne und hinten beginend die zeichen verglichen.
-> reittier -> reittier -> reittier -> reittier


Die Funktion NeachstesWort sucht innerhalb eines übergebenen Textes von einem übergebenden Startpunkt beginend das nächste Wort heraus bzw wann es Endet und gibt es dieses zurück.

[I]Was bedeutet das [ende] immer?
Result := length(wort) > 1; Die Zeile verstehe ich nicht
Länge >=ende(des Wortes), was bewirkt das genau?
-> Siehe Chillikid (http://board.raidrush.ws/showpost.php?p=9442704&postcount=6)
Nur ne kleine verbesserung, es wird das Ende des Wortes gesucht bis der Text halt endet deswegen muss der Ende-Zeiger immer kleiener sein als die Textlänge, da ja sonst das Wort ja beendet ist, deswegen Länge >=ende.

...
Was genau sind diese GroupBoxen?
Das sind die Boxen die die Memo Felder umranden und eine Überschrift für diese Tragen.

Kannst du bitte die Sache mit der Anzahl rausnehmen?
Ich denke das kriegst du auch selbert hin, ist ganz easy, einfach alles was mit einschliesslich der Variable anzahl zu tun hat entfernen.

Mfg Rushh0ur

raid-rush
21.03.2010, 21:39
Alle Posts zum Thema [Code] [Delphi] Palindrome erkennen - ausgeben, stammen von Mitgliedern des Forums.

[Code] [Delphi] Palindrome erkennen - ausgeben

raid-rush.ws pr