Thema: Delphi Buchstaben konvertieren

Einzelnen Beitrag anzeigen

Tommy1988
(Gast)

n/a Beiträge
 
#1

Buchstaben konvertieren

  Alt 17. Jun 2007, 10:41
Ich habe diesen Code hier:

Delphi-Quellcode:
const
// #1
  abc : Array[1..26] of String =
  ('a','b','c','d','e','f','g','h','i','j',
   'k','l','m','n','o','p','q','r','s','t',
   'u','v','w','x','y','z');

// #2
  char1 : Array[1..26, 1..2] of Char =
(('A','4'),('B','B'),('C','('),('D','Ð'),
 ('E','3'),('F','ƒ'),('G','g'),('H','h'),
 ('I','1'),('J','j'),('K','{'),('L','£'),
 ('M','m'),('N','n'),('O','0'),('P','p'),
 ('Q','q'),('R','r'),('S','$'),('T','7'),
 ('U','µ'),('V','v'),('W','w'),('X','×'),
 ('Y','¥'),('Z','2'));
Und hiermit wird der Text der in einem Memo steht, konvertiert und in ein RichEdit verfrachtet:
Delphi-Quellcode:
procedure TForm1.JvXPButton1Click(Sender: TObject);
var Text: string;
    i : Integer;
begin
  Text := LowerCase(Memo1.Text);
  for i := 1 to 26 do begin
    while Pos(abc[i], Text) <> 0 do begin
      Text[Pos(abc[i], Text)] := char1[i,Random(2)+1];
    end;
  end;
  RichEdit1.Text := Text;
end;
Jetzt meine Frage: wenn ich #2 (s.o.) ändere in:
Delphi-Quellcode:
('a','b','c','Ð','e','f','g','h','i','j',
   'k','l','m','n','o','p','q','r','s','t',
   'u','v','w','x','y','z')
Dann bekomme ich in dieser Reihe Fehler:
Text[Pos(abc[i], Text)] := char1[i,Random(2)+1]; Wie kann ich eine EINFACHE Konvertierungsmethode schreiben?

Beispiel:
Delphi-Quellcode:
// #1
  abc : Array[1..26] of String =
  ('a','b','c','d','e','f','g','h','i','j',
   'k','l','m','n','o','p','q','r','s','t',
   'u','v','w','x','y','z');
Und das kovertierte ungefähr so:
Delphi-Quellcode:
// #1
  abc : Array[1..26] of String =
  ('1','2','3','4','5','6','7','8','9','10',
   '11','12','13','14','15','16','17','18','19','20',
   '21','22','23','24','25','26');
  Mit Zitat antworten Zitat