AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Übersetzer - Ansatzprobleme

Ein Thema von naudoc · begonnen am 29. Apr 2007 · letzter Beitrag vom 22. Feb 2008
Antwort Antwort
Seite 2 von 3     12 3      
naudoc

Registriert seit: 7. Nov 2006
92 Beiträge
 
#11

Re: Übersetzer - Ansatzprobleme

  Alt 29. Apr 2007, 15:01
Ja genau das.
Wie programmier ich das(ich brauch nur nen Ansatz, wie die einzelnen Buchstaben erfasst werden....)

mfG
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#12

Re: Übersetzer - Ansatzprobleme

  Alt 29. Apr 2007, 15:30
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
NewText := StringReplace(OldText, 'E', '3', [rfReplaceAll, rfIgnoreCase]) Das musst du eben für jeden buchstaben des Alphabets machen...

  Mit Zitat antworten Zitat
Benutzerbild von g0rmed
g0rmed

Registriert seit: 3. Apr 2007
Ort: Sülzetal
64 Beiträge
 
Delphi 2005 Personal
 
#13

Re: Übersetzer - Ansatzprobleme

  Alt 30. Apr 2007, 06:54
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
Hans
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Übersetzer - Ansatzprobleme

  Alt 30. Apr 2007, 06:56
Zitat:
Wie wärs mal mit nem simplen
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
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#15

Re: Übersetzer - Ansatzprobleme

  Alt 30. Apr 2007, 13:33
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

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

  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Übersetzer - Ansatzprobleme

  Alt 30. Apr 2007, 13:34
Es wäre nur eine If-Anweisung
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#17

Re: Übersetzer - Ansatzprobleme

  Alt 30. Apr 2007, 13:42
Zitat von mkinzler:
Es wäre nur eine If-Anweisung
Und was will er bitte mit den ASCII-Codes, wenn aus "M" "|\/|" werden soll

  Mit Zitat antworten Zitat
naudoc

Registriert seit: 7. Nov 2006
92 Beiträge
 
#18

Re: Übersetzer - Ansatzprobleme

  Alt 30. Apr 2007, 15:35
Hallo nochmal,

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

Wie bekomme cih das zum laufen?

mfG
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Übersetzer - Ansatzprobleme

  Alt 30. Apr 2007, 15:39
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])
Markus Kinzler
  Mit Zitat antworten Zitat
naudoc

Registriert seit: 7. Nov 2006
92 Beiträge
 
#20

Re: Übersetzer - Ansatzprobleme

  Alt 30. Apr 2007, 15:53
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:13 Uhr.
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