Richedit

0

Jak zrobić aby w richedit po wpisaniu tekstu np po 60 znakach automatycznie wstawial enter, albo w jaki sposób określić ilość znaków w lini?

0

<delphi>If (Length(RichEdit.Lines[0]) = 60) or (Length(RichEdit.Lines[0]) > 60) then
RichEdit.text := RichEdit.text + #13#10; <delphi>

POPRAWIŁEM :)

Tam gdzie jest [0], to dajesz numer linijki

0

Niestety nie działa to tak jak chciałem (jeśli jest wczytywany plik i wstawiam poprawki w nim to nic sie nie dzieje)

0

Raczej w onchange coś takiego:

if Length(Memo.Text)>=60 then
//wstawianie

Natomiast nie pamiętam, czy length liczy też znaki #13#10.

0

Natomiast nie pamiętam, czy length liczy też znaki #13#10.

#13 liczy jako 2 znaki (bo to enter), tylko niewiem co z #10, ale chyba to w richedit i memo robi się jako jedność, i powstają 2 znaki :)

0

A co do samego wczytania tekstu z pliku żeby co 60 znak przechodził do kolejnej lini to mam taki kodzik (może niezbyt poprawnie napisany ale działa) :

procedure TForm1.Button1Click(Sender: TObject);
var TF: TextFile;
    i: Integer;
    c:array of char;
begin
  assignFile(TF,'NazwaPliku.txt');
  try
    reset(TF);
    setLength(c,SizeOf(TF));  //ustawia długość tablicy
    for i:=1 to SizeOf(TF) do
    begin
    read(TF,c[i]);
    if eof(TF) then exit;  // jeśli napotka koniec pliku to wychodzi z niego
    If (i mod 60=1) then  // co 60 znak przechodzi do kolejnej lini
      begin
        RichEdit1.Lines.Add('');
        RichEdit1.Text:=RichEdit1.Text+c[i];
      end
    else
      RichEdit1.Text:=RichEdit1.Text+c[i];
    end;
  finally
    CloseFile(TF);
  end;
end;
end.
0

Natomiast nie pamiętam, czy length liczy też znaki #13#10.

#13 liczy jako 2 znaki (bo to enter), tylko niewiem co z #10, ale chyba to w richedit i memo robi się jako jedność, i powstają 2 znaki :)

#13 - (CR) - ogranicznik wiersza
#10 - (LF nie mylić z Łukaszem :-D ) - znak który może lecz nie musi wystąpić po #13

0

#13 - (CR) - ogranicznik wiersza
#10 - (LF nie mylić z Łukaszem :-D ) - znak który może lecz nie musi wystąpić po #13

Czyli mówie.. liczy jako 2 znaki

1 użytkowników online, w tym zalogowanych: 0, gości: 1