Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Fehler mit übersetzung ovn Zeichen


drsnoop - Mi 10.03.04 17:05
Titel: Fehler mit übersetzung ovn Zeichen
habe ein problem mit folgendem programm... nämlich:

ich wollte einen text zeichen für zeichen codieren. was auch ohne probleme klappt...
jedoch wollte ich dem programm nun sagen, dass es einen absatz bzw. eine leerzeile
sozusagen ignorieren soll und einfach zum nächsten zeichen springen soll.

was ich meine ist das:

wenn ich folgendes eingebe:

"xxxxxx
xxx
xxxxxx"

macht es daraus:

"yyyyyyyyyyyyyyy"

es soll aber

"yyyyyy
yyy
yyyyyy"

ausgeben...

ich habe es mal so probiert:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button1Click(Sender: TObject);
 var i, j : integer;
     ausgabe1 : string;
begin
 for i := 1 to length(m_eingabe.text) do
 begin
  if (ord(m_eingabe.text[i]) = 13)
     then ausgabe1 := ausgabe1 + m_eingabe.text[i] 
     else ausgabe1 := ausgabe1 + chr(ord(m_eingabe.text[i])+ord(tf_key.text[j])); //codierung
 end;


geht aber irgendwie nicht... kann mir da jemand helfen?


maximus - Mi 10.03.04 17:13

Hi,

kleiner tip: ein zeilenunbruch besteht aus #13#10 :wink:

mfg.


drsnoop - Mi 10.03.04 17:37

hoppla... wusste ich nicht....

aber wie krieg ich dat in den quelltext?


maximus - Do 11.03.04 11:15

moin.


Delphi-Quelltext
1:
2:
3:
4:
if ((m_eingabe.text[i] = #13and (m_eingabe.text[i+1] = #10)) 
or ((m_eingabe.text[i] = #10and (m_eingabe.text[i-1] = #13))
     then ausgabe1 := ausgabe1 + m_eingabe.text[i]  
     else ausgabe1 := ausgabe1 + chr(ord(m_eingabe.text[i])+ord(tf_key.text[j])); //codierung


oder so :wink: