21. januar 2001 - 22:45Der er
6 kommentarer og 1 løsning
Farvekodning i RichEdit
Jeg sidder og laver et program, til at kigge i logs gemt i mIRC. Jeg vil derfor gerne have, så mit program viser de farver der er i mIRC. Fx. * <nick> vil give en lilla farve og så vidre. Programmet åbner loggen i en RichEdit.
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
Du kan sættet en default font ved RichEdit1.Font := dinFont.
Ellers prøv at kikke her: procedure WriteConstStringToScreen(StringToWrite : ShortString); begin with RichEdit1 do begin Lines.Add(StringToWrite); SelStart := Tag; Tag := Tag + 2 + Length(StringToWrite); SelLength := Length(StringToWrite); end; with RichEdit1.SelAttributes do begin Color := OverSkriftFont.Color; Name := OverSkriftFont.Name; Size := OverSkriftFont.Size ; Style := OverSkriftFont.Style; end; RichEdit1.SelLength := 0; //Needed to Add line to the last line. Just because the linenumbers is qreater then visible lines end;
OverSkriftFont har jeg lavet som global font. Du kan jo bare angive værdien for eks farven i stedet for at variable til det. Jeg benytter Tag som tæller for hvor mange karekter jeg har skrevet i RichEdit. Jeg har selv lavat et program som ændre i farve i nogle tekst stykker. Det er kedeligt arbejde, men man skal bare holde tungen lige i munden. Tag := Tag + 2.. Jeg mener 2 stammer fra <CR><LF>. Det er lang tid siden jeg lavede det.
Det er vist ikke helt hvad jeg leder efter. Det skal være sådan, at når der er en * i en linie, laver den tekst farven om til lilla. Også hvis der skulle være tre af dem, altså ***, men her en anden farve!
Ok. Jeg viser her et lille udpluk af hvordan teksten kan se ud: * FarvWORK roder lige med noget bras (Denne tekst skal være LILLA.) *** Ronson^ has quit IRC (Read error: Connection reset by peer) (Denne tekst skal være BLÅ) *** nezlo has quit IRC (hygge) (Denne tekst skal være GRØN).
Du kan sammenligne det med, at når man skriver kode i Delphi, så når man skriver \"//\" laver den teksten kursiv og blå.
Her skal det bare være sådan, at den, når der bliver åbnet en tekst-til i RichEdit, så tjekker den teksten, og laver de nødvendige ændringer på farven!
Ja det mener jeg jo jeg har svaret på. Du skal markere den tekst du vil ændre i RichEdit1 med: RichEdit1.SelStart = tal_på_start_position og RichEdit1.SelLength = tal som fotæller længden af det som skal ændres RichEdit1.SelAttributes.Color = farven RichEdit1.SelAttributes.Font = fontnavn RichEdit1.SelAttributes.Sixe = eks 10p RichEdit1.SelAttributes.Style = eks bold
Man er derfor nød til at tælle hvor mange karakter som man ligge ind.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.