Menu
Substitúcia textu na obrázky (smiles v texte)
Každý, kto robil len s free componentami a potreboval text premeniť priamo na obrázok (napríklad smajlíky) sa stretol s problémom, ako to vlastne vyriešiť. Ja som to vyriešil nasledovne. Potrebujete len komponentu TRichView, ktorá sa dá zadarmo stiahnuť.
Kód:
var reOut: TRichView; sa: array of String[6]; //smiles v textovej forme {max 6 znakov na smila} procedure formatujtext(text:String); var s, L: longint; j,k:byte; sTEMP: String; hit:boolean; begin s:=0; L:= Length (text); sTemp:''; / / bez smajlov if not fileexists'smiles.cfg') then begin reout.AddText(text,0); reout.Format; exit; end; // so smajlami with reout do while s<=L-1 do //vsetky znaky otestuj begin hit:=false; //ak sa trafil do nejakeho smila for k:=0 to length(sa)-1 do //vsetky smily v poli if not hit then for j:= 1 to length(sa[k]) do //celu dlzku retazca popisujuceho smile begin if (s+j)>strlen(pchar(text)) then //ochrana proti preteceniu break; if (sa[k][j] <> text[s+j]) then begin BREAK; end; if (j = length(sa[k])) then begin AddText(sTemp,0); sTemp:''; addbullet(k,ilsmiles,false); s:=s+length(sa[k])-1; hit:=true; end; end; if not hit then sTemp:=sTemp+Text[s+1]; s:=s+1; end; reout.AddText(sTemp,0); //ak ostalo daco za smilom reout.format; end;
Doplňujúce info