Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Übersetzer - Ansatzprobleme (https://www.delphipraxis.net/91097-uebersetzer-ansatzprobleme.html)

naudoc 29. Apr 2007 15:01

Re: Übersetzer - Ansatzprobleme
 
Ja genau das.
Wie programmier ich das(ich brauch nur nen Ansatz, wie die einzelnen Buchstaben erfasst werden....)

mfG

Meflin 29. Apr 2007 15:30

Re: Übersetzer - Ansatzprobleme
 
Zitat:

Zitat von naudoc
Wie programmier ich das(ich brauch nur nen Ansatz, wie die einzelnen Buchstaben erfasst werden....)

Wie wärs mal mit nem simplen
Delphi-Quellcode:
NewText := StringReplace(OldText, 'E', '3', [rfReplaceAll, rfIgnoreCase])
Das musst du eben für jeden buchstaben des Alphabets machen...


g0rmed 30. Apr 2007 06:54

Re: Übersetzer - Ansatzprobleme
 
Oder du informierst dich mal über formale Sprachen, das ist glaub ich schonmal ne sehr gute Grundlage für den theoretischen Ansatz...hier bie wiki
Das Thema ist aber nicht sooo einfach(soll nicht heißen, dass es sehr schwer ist), vorallem deswegen, weil es auch Besandteil des info-studiums ist...
Wie das mit Delphi am besten umzusetzten ist...keine Ahnung...hab mich damit bisher nur theoretisch beschäftigt :roll:

mkinzler 30. Apr 2007 06:56

Re: Übersetzer - Ansatzprobleme
 
Zitat:

Wie wärs mal mit nem simplen
Delphi-Quellcode:
NewText := StringReplace(OldText, 'E', '3', [rfReplaceAll, rfIgnoreCase])
Das musst du eben für jeden buchstaben des Alphabets machen...
Da wäre aber der Ansatz über den ASCII-Code besser

Meflin 30. Apr 2007 13:33

Re: Übersetzer - Ansatzprobleme
 
Zitat:

Zitat von mkinzler
Da wäre aber der Ansatz über den ASCII-Code besser

Ach wirklich? Und was möchte das bitteschön für einen Vorteil bringen :roll:

ist es so schwer, mit 8k+ Beiträgen halbwegs sinnvolle und informative Beiträge zu erstellen?


mkinzler 30. Apr 2007 13:34

Re: Übersetzer - Ansatzprobleme
 
Es wäre nur eine If-Anweisung

Meflin 30. Apr 2007 13:42

Re: Übersetzer - Ansatzprobleme
 
Zitat:

Zitat von mkinzler
Es wäre nur eine If-Anweisung

Und was will er bitte mit den ASCII-Codes, wenn aus "M" "|\/|" werden soll :gruebel:


naudoc 30. Apr 2007 15:35

Re: Übersetzer - Ansatzprobleme
 
Hallo nochmal,

Wie bekomme ich denn den Text aus einer Memo?
also:
Delphi-Quellcode:
edit2.text := StringReplace(edit1.text, 'E', '3', [rfReplaceAll, rfIgnoreCase])
funktioniert, aber
Delphi-Quellcode:
memo2.lines := StringReplace(memo1.lines, 'E', '3', [rfReplaceAll, rfIgnoreCase])
nicht.

Wie bekomme cih das zum laufen?

mfG

mkinzler 30. Apr 2007 15:39

Re: Übersetzer - Ansatzprobleme
 
Du mußst zuerst den Inhalt in eine temporäre Variable schreiben

Delphi-Quellcode:
s := memo1.lines;
memo2.lines := StringReplace(s, 'E', '3', [rfReplaceAll, rfIgnoreCase])

naudoc 30. Apr 2007 15:53

Re: Übersetzer - Ansatzprobleme
 
Wenn ich das mache passiert trotzdem das selbe:

[Fehler] Unit1.pas(37): Inkompatible Typen: 'String' und 'TStrings'

und gleich noch ne Frage:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
edit2.text := StringReplace(edit1.text, 'a', '4 ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'b', '|3 ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'c', '[ ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'd', '|) ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'E', '3 ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'f', '|= ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'g', '9 ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'h', '|-| ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'i', '! ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'j', '_| ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'k', '|{ ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'l', '1 ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'm', '|\/| ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'n', '|\| ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'o', '0 ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'p', '|° ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'q', '[,] ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'r', ',- ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 's', '5 ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 't', '7 ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'u', '|_| ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'v', '\/ ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'w', '\/\/ ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'x', '}{ ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'y', '\|/ ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'z', '2 ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'ä', '43 ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'ö', '03 ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, 'ü', '|_|3 ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, '?', '! ', [rfReplaceAll, rfIgnoreCase]);
edit2.text := StringReplace(edit1.text, '.', '* ', [rfReplaceAll, rfIgnoreCase]);
end;
Erstmal sorry weils so lange ist, aber wenn ich jetzt in Edit1 was eingebe sind die Keys nach 2 Tasten gesperrt. Weiss jemand warum? (Es sind keine OnKeyPress- oder sowas Ereignisse eingestellt)
--> sorry hatte MaxLength eingestellt

Nochwas:
Der Text wird 1:1 kopiert in Edit2 und nicht verändert, warum?


mfG


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:09 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz