Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#4

AW: Wie kann man bei Lazarus in einem Memo alle Zeichen nebeneinander bekommen?

  Alt 30. Okt 2015, 19:03
Benutze doch einfach SelText:
Delphi-Quellcode:
procedure TForm1.BtnE2ZClick(Sender: TObject);
Var
  i : Intgeger;
  
begin
  For i := 0 To Length(MyMemo.Text) -1 Do
  Begin
    MyMemo.SelStart := i;
    MyMemo.SelLength := 1;
    If MyMemo.SelText = 'EThen MyMemo.SelText := 'Z';
    If MyMemo.SelText = 'eThen MyMemo.SelText := 'z';
  End;
end;
Oder mit dem Text-String direkt (Achtung: Hier hat das erste zeichen den Index 1):
Delphi-Quellcode:
procedure TForm1.BtnE2ZClick(Sender: TObject);
Var
  i : Intgeger;
  
begin
  For i := 1 To Length(MyMemo.Text) Do
  Begin
    If MyMemo.Text[i] = 'E' MyMemo.Text[i] := 'Z';
    If MyMemo.Text[i] = 'e' MyMemo.Text[i] := 'z';
  End;
end;
Oder noch einfacher mit ReplaceStr aus der Unit StrUtils:
Delphi-Quellcode:
procedure TForm1.BtnE2ZClick(Sender: TObject);
Var
  i : Intgeger;
  
begin
  MyMemo.Text := StrUtils.ReplaceStr(MyMemo.Text,'E','Z');
  MyMemo.Text := StrUtils.ReplaceStr(MyMemo.Text,'e','z');
end;
Ob's ReplaceStr unter Lazarus gibt, vermag ich jetzt nicht zu beantworten.

Geändert von Perlsau (30. Okt 2015 um 19:11 Uhr)
  Mit Zitat antworten Zitat