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.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.