Mange tak!
Det virker HELT fint!
Glædelig efter jul!
MVH
Ossi
"Thomas Riedel, LogiHouse" <thr@image.dk> skrev i en meddelelse
news:B2%06.4601$SI6.131106@news000.worldonline.dk...
> Hej Ossi
>
> Her er noget kode, der kan det, du søger:
> Du skal blot lave en form1, placere en memo1 på den, og
> lade memo1's OnKeypress referere til proceduren memo1onkeypress
> den udvidede versaionmed <div class="text"> kan du sikkert selv finde ud
af
> at lave.
> Det eneste, du skal gøre for at tilføje flere par, er at øge paircount og
> skrive de øvrige
> par ind i pairs-arrayet
>
> God fornøjelse - og jul!
>
> Thomas R.
>
> const
> paircount = 3;
> pairs : array [1..2,1..paircount] of
> string =
> (('<html>', '<div>', '<p>'),
> ('</html>', '</div>', '</p>'));
>
> var linetoken : string;
> linepos : integer;
> lineindex : integer;
>
>
> procedure tform1.getlineinfo(index : integer);
>
> var i, t, l, lpos : integer;
> s, lin : string;
>
>
> begin
> i := 0;
> t := 0;
> {Find linienr, bruteforce}
> while (i < memo1.lines.count) and (t < index) do
> begin
> l := length(memo1.lines[i]) + 2; {cr+lf = to tegn}
> t := t + l;
> inc(i);
> end;
>
> lineindex := i-1;
> lpos := index - (t-l);
> linepos := lpos;
> {linepos er offset på linien}
>
> lin := memo1.lines[lineindex];
>
> s := '>';
>
> while (lpos > 0) and (lin[lpos] <> '<') do
> begin
> s := lin[lpos] + s;
> dec(lpos);
> end;
> if lpos > 0 then s := '<'+s;
> linetoken := s;
> {linetoken er den indtastede kode, f,eks <html>}
> end;
>
> procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
> var l : string;
> i, st : integer;
> begin
> with memo1 do
> if key = '>' then
> begin
> st := selstart+1;
> getlineinfo(selstart);
> l := memo1.lines[lineindex];
> for i := 1 to paircount do
> if pairs[1,i] = linetoken then
> begin
> insert('>'+pairs[2,i], l , linepos+1);
> memo1.lines[lineindex] := l;
> memo1.selstart := st;
> key := #0;
> break;
> end;
> end;
> end;
>
>
> --
> Thomas Riedel
> LogiHouse
> Ossi <ossipoff@get2net.dk> skrev i en
> nyhedsmeddelelse:zHM06.186$UF3.4335@news.get2net.dk...
> > Hej Nyhedsgruppe,
> > -----------------------------
> > Jeg har en SynEdit/MwEdit/Almindelig Memo på min form. (Altså en Memo
> > Jeg kunne godt tænke mig det sådan at når man skriver <html> Så skriver
> den
> > selv </html> og placere courseren imellem...
> >
> > Det skulle også meget gerne virke så når man skriver <div> eller <div
> > class="text"> Så skriver den </div> bagefter.
> >
> > Kan i hjælpe?
> >
> > MVH
> > Ossi
> >
www.whitehat.dk/intersoft
> >
> >
>
>