[ viking13 @ 11.02.2008. 16:44 ] @
Relativno hitna stvar. Kako najlakše ograničiti broj karaktera u svakoj liniji memo-a? Treba mi nešto što će da izgleda kao kad se kuca SMS poruka, odnosno da me posle određenog broja karaktera memo automatski prebaci na novu liniju, naravno da mi ne lomi reči, već da radi lomljenje iza space-a, zareza ili tačke. Čisto radi testa uradio sam nešto ovako: procedure TForm1.Memo1Change(Sender: TObject); var s, d: string; begin s := Memo1.Lines.Text; while length(s) > 0 do begin if length(d) > 0 then d := d + CRLF; d := d + Copy(s, 1, 80); Delete(s, 1, 80); end; Memo2.Lines.Text := d; end; Naravno ovo će lomi tekst gde stigne, ali sa još malo koda mogu da dobijem manje više ono što hoću. Problem je što hoću da mi ovo radi u jednom Memou, a ne ovako. Kako da izbegnem rekurzivno pozivanje OnChange, sem sa Memo1.OnChange := nil; Memo1.Lines.Text := d; Memo1.OnChange := Memo1Change; Takođe mi ne treba da mi kursor luta po memou. Svaki predlog je dobrodošao. |