[Code] [Delphi] Palindrome erkennen - ausgeben

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Fritz, 18. März 2010 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 18. März 2010
    [erledigt] Palindrome erkennen

    hat sich erledigt, danke an alle poster die mir zur lösung verholfen haben.
     
  2. 19. März 2010
    AW: [Delphi] Palindrome erkennen - ausgeben

    Und wo liegt das Problem?

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

    Mfg Rushh0ur
     
  3. 20. März 2010
    AW: [Delphi] Palindrome erkennen - ausgeben

    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
     
  4. 21. März 2010
    AW: [Delphi] Palindrome erkennen - ausgeben

    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.
     
  5. 21. März 2010
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    AW: [Delphi] Palindrome erkennen - ausgeben

    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.

    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
    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.

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

    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
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.