![]() |
Eingabe Zeichen für Zeichen auswerten
Hallo
Ich bin recht neu in Sachen Delphi und stosse jetzt schon auf mein erstes Problem. Ich suche nach einer Möglichkeit eine Eingabe in ein Editfeld Zeichen für Zeichen mit einer Konstante abzugleichen. Wenn die Eingabe nicht der Konstante entspricht, soll das falsche Zeichen angegeben werden. (ähnlich wie bei einem Rechtschreibeduden ;) ) Ich würde mich freuen, wenn mir jemand weiterhelfen könnte. :thumb: Herzlichen Dank Freundliche Grüsse Bernasconi |
Re: Eingabe Zeichen für Zeichen auswerten
Hi und willkommen in der DP.
Du hast auf deiner Form ein Editfeld und möchtest die Eingabe in diesem Feld auswerten ? Nach jeder Eingabe eines Zeichens oder nach drücken auf einen Knopf (Button)? |
Re: Eingabe Zeichen für Zeichen auswerten
Delphi-Quellcode:
const
MeineKonstante = 'IrgendeinText' var i: Integer; begin for i:=0 to Length(strBenutzerEingabe)-1 do begin if i>(Length(MeineKonstante)-1) then begin ShowMessage('Die Benutzereingabe ist kürzer als die Konstante'); end else if strBenutzerEingabe[i] <> MeineKonstante[i] then begin ShowMessage('Die Stelle ' + IntToStr(i) + ' unterscheidet sich'); Exit; end; end; end; |
Re: Eingabe Zeichen für Zeichen auswerten
@Rochus: Stimmt nicht ganz. Benutzereingabe: 'TEXT000000' konstante: 'TEXT' -> gleich
Delphi-Quellcode:
außerdem kannst du ein paar begin/end dinger weglassen ;)
const
MeineKonstante = 'IrgendeinText' var i: Integer; begin if length(meinekonstante)<length(strbenutzereingabe) then ShowMessage('Die Benutzereingabe ist länger als die Konstante'); for i:=0 to Length(strBenutzerEingabe)-1 do if i>(Length(MeineKonstante)-1) then begin ShowMessage('Die Benutzereingabe ist kürzer als die Konstante'); break; //abbrechen wenn ein fehler gekommen ist end else if strBenutzerEingabe[i] <> MeineKonstante[i] then begin ShowMessage('Die Stelle ' + IntToStr(i) + ' unterscheidet sich'); Exit; end; end; |
Re: Eingabe Zeichen für Zeichen auswerten
Ja genau:
Ein Form auf dem Folgende Elemente liegen: Editfeld Button für Auswertung Button für Löschen Wenn ich im Editfeld eine Zeile geschrieben habe, klicke ich danach auf den auswerten Button. Wenn ich darauf klicke, soll der Text kontrolliert werden, wie bei einem Rechtschreibeduden. Es sollen nur die einzelnen Zeichen die falsch sind herausgefiltert werden. Ein Beispiel: Verlagt wird folgende Zeichenkette. "Ich bin Franz aus den Bergen." Wenn jetzt "Ivh bin Franz aus den Bergen." eigegeben wird, dann möchte ich folgendes Ergebnis haben: Ich möchte dass der falsche Buchstaben zum Beispiel fett dargestellt wird. Das ist ja eher einfach, einfach muss ich irgendwie einische Schlaufe aufbauen, die jedes Zeichen einzeln abgleicht und dann entscheidet wie es dargestellt werden soll. Wie mache ich sowas? Ich hoffe ich konnte mich einigermassen Verständlich ausdrücken! :| |
Re: Eingabe Zeichen für Zeichen auswerten
Zitat:
Gut, jetzt ist es so eine Sache ob jmd. den Code schlecht formatiert, aber sich an begin und end hält, aber zu gutem Stil gehört beides. Gruß Der Unwissende |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:23 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