satırlar birbirine giriyor

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
sga
Üye
Mesajlar: 60
Kayıt: 08 Tem 2005 12:49

satırlar birbirine giriyor

Mesaj gönderen sga »

merhaba,
bu programda rich editin ilk satırındaki yazı ortalı,mavi,18 punto,kalın
ikici satırdaki yazı sola dayalı,kırmızı,16 punto,italik
üçüncü satırdaki yazı sağa dayalı,yeşil,14 punto,altı çizili olacak
şöyle bir prog. yazdım ama satırların özellikleri birbirine giriyor hata nerede acaba ?

Kod: Tümünü seç

 richedit1.selstart:=0;
richedit1.SelLength:=length(richedit1.lines[0]);
richedit1.SelAttributes.Color:=clblue;
richedit1.SelAttributes.Size:=18;
richedit1.SelAttributes.Style:=richedit1.SelAttributes.Style+[fsbold];
richedit1.paragraph.alignment:=tacenter;
richedit1.SelLength:=0;

richedit1.selstart:=length(richedit1.lines[0])+1;
richedit1.SelLength:=length(richedit1.lines[1]);
richedit1.SelAttributes.Color:=clred;
richedit1.SelAttributes.Size:=16;
richedit1.SelAttributes.Style:=richedit1.SelAttributes.Style+[fsitalic];
richedit1.paragraph.alignment:=taleftjustify;
richedit1.SelLength:=0;

richedit1.selstart:=length(richedit1.lines[0])+length(richedit1.lines[1])+1;
richedit1.SelLength:=length(richedit1.lines[2]);
richedit1.SelAttributes.Color:=clgreen;
richedit1.SelAttributes.Size:=14;
richedit1.SelAttributes.Style:=richedit1.SelAttributes.Style+[fsunderline];
richedit1.paragraph.alignment:=tarightjustify;
richedit1.SelLength:=0;

sga
Kullanıcı avatarı
Asri
Kıdemli Üye
Mesajlar: 767
Kayıt: 16 Eyl 2003 09:54
Konum: istanbul

Mesaj gönderen Asri »

Aşağıdaki şekilde düzenledim.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
uzunluk: integer;

begin
  uzunluk:= 0;

  Richedit1.SelStart:= 0;
  uzunluk:= uzunluk + Length(Richedit1.Lines[0]) + 2;
  Richedit1.SelLength:= uzunluk;
  Richedit1.SelAttributes.Color:= clRed;
  Richedit1.SelAttributes.Size:=18;
  Richedit1.SelAttributes.Style:=Richedit1.SelAttributes.Style+[fsbold];
  Richedit1.paragraph.alignment:=tacenter;

  Richedit1.SelStart:=uzunluk;
  uzunluk:= uzunluk + Length(Richedit1.Lines[1]) + 2;
  Richedit1.SelLength:= uzunluk;
  Richedit1.SelAttributes.Color:= clblue;
  Richedit1.SelAttributes.Size:=16;
  Richedit1.SelAttributes.Style:=Richedit1.SelAttributes.Style+[fsitalic];
  Richedit1.paragraph.alignment:=taleftjustify;

  Richedit1.SelStart:=uzunluk;
  uzunluk:= uzunluk + Length(Richedit1.Lines[2]) + 2;
  Richedit1.SelLength:= uzunluk;
  Richedit1.SelAttributes.Color:= clyellow;
  Richedit1.SelAttributes.Size:=14;
  Richedit1.SelAttributes.Style:=Richedit1.SelAttributes.Style+[fsunderline];
  Richedit1.paragraph.alignment:=tarightjustify;

  Richedit1.SelStart:=uzunluk;
  uzunluk:= uzunluk + Length(Richedit1.Lines[3]) + 2;
  Richedit1.SelLength:= uzunluk;
  Richedit1.SelAttributes.Color:= clblack;


end;
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.
Cevapla