|
| TMemo D5 Fra : Ulrik Vadstrup |
Dato : 08-05-02 07:55 |
|
Jeg tror jeg har stirret mig blind, men hvordan indsætter jeg en tekst i en
Tmemo - fra der hvor cusoren står.
Kan jeg evt give den indsatte tekst en anden farve ?
--
--
Ulrik Vadstrup
| |
Hans Milling (08-05-2002)
| Kommentar Fra : Hans Milling |
Dato : 08-05-02 11:15 |
|
"Ulrik Vadstrup" <vadstrup@post12.tele.dk> wrote in message news:<3cd8cc3e$0$97326$edfadb0f@dspool01.news.tele.dk>...
> Jeg tror jeg har stirret mig blind, men hvordan indsætter jeg en tekst i en
> Tmemo - fra der hvor cusoren står.
>
> Kan jeg evt give den indsatte tekst en anden farve ?
>
> --
Det er meget simpelt det med at indsætte tekst, du skriver noget i stil med:
Memo1.Lines.Add('Tekst');
Skal du hente teksten fra en tekstfil er der vist en .LoadFromFIle() metode også.
Skal du ændre baggrunds farven kan du skrive noget i stil med: Memo1.Color:=clLime;
| |
Ulrik Vadstrup (08-05-2002)
| Kommentar Fra : Ulrik Vadstrup |
Dato : 08-05-02 12:32 |
|
"Hans Milling" <nivs1978@hotmail.com> wrote in message
news:1f8d1318.0205080215.4fae1539@posting.google.com...
> "Ulrik Vadstrup" <vadstrup@post12.tele.dk> wrote in message
news:<3cd8cc3e$0$97326$edfadb0f@dspool01.news.tele.dk>...
> > Jeg tror jeg har stirret mig blind, men hvordan indsætter jeg en tekst i
en
> > Tmemo - fra der hvor cusoren står.
> >
> > Kan jeg evt give den indsatte tekst en anden farve ?
> >
> > --
>
> Det er meget simpelt det med at indsætte tekst, du skriver noget i stil
med:
>
> Memo1.Lines.Add('Tekst');
>
> Skal du hente teksten fra en tekstfil er der vist en .LoadFromFIle()
metode også.
> Skal du ændre baggrunds farven kan du skrive noget i stil med:
Memo1.Color:=clLime;
Jo - dem kendte jeg bestemt godt
Problemet ligger i at indsætte en tekst der hvor coursor står - eksempelvis
midt i en anden tekst.
Og så give den tekst man indsætter en anden farve.
Første problem er dog det vigtigste at få løst.
Jeg gætter med det er noget med at fange coursor'ens position og så sætte
den værdi i SelStart - men hvon gør jeg det ?
Memo1.Color:=clLime; sætter jo baggrunds farven og ikke tekstens farve.
Eller tak for buddet
Mvh
Ulrik
| |
Casper A. Hansen (08-05-2002)
| Kommentar Fra : Casper A. Hansen |
Dato : 08-05-02 13:05 |
|
"Ulrik Vadstrup" <vadstrup@post12.tele.dk> wrote in message news:<3cd8cc3e$0$97326$edfadb0f@dspool01.news.tele.dk>...
> Jeg tror jeg har stirret mig blind, men hvordan indsætter jeg en tekst i en
> Tmemo - fra der hvor cusoren står.
Brug SelStart og SelLength.
Eks.: Erstatte selected tekst med din egen tekst.
with Memo1, Lines do
Text := Copy(Text, 1, SelStart-1) + 'din egen tekst' + Copy(Text,
SelStart + SelLength, MaxInt);
>
> Kan jeg evt give den indsatte tekst en anden farve ?
Nej, der skal du bruge en RichEdit control, men jeg har ikke nogen
erfaringer med den.
/Casper
| |
Ulrik Vadstrup (08-05-2002)
| Kommentar Fra : Ulrik Vadstrup |
Dato : 08-05-02 13:14 |
|
"Casper A. Hansen" <cah@skygate.dk> wrote in message
news:d581ee7f.0205080404.79e74a4d@posting.google.com...
> "Ulrik Vadstrup" <vadstrup@post12.tele.dk> wrote in message
news:<3cd8cc3e$0$97326$edfadb0f@dspool01.news.tele.dk>...
> > Jeg tror jeg har stirret mig blind, men hvordan indsætter jeg en tekst i
en
> > Tmemo - fra der hvor cusoren står.
> Brug SelStart og SelLength.
>
> Eks.: Erstatte selected tekst med din egen tekst.
> with Memo1, Lines do
> Text := Copy(Text, 1, SelStart-1) + 'din egen tekst' + Copy(Text,
> SelStart + SelLength, MaxInt);
>
> /Casper
Jammen - der skal jeg jo også vide hvor cursoren står for at jeg ved hvor
jeg skal indsætte teksten.
jeg har sjusset mig frem til følgende
Lpos := SendMessage(memResult.Handle,EM_LINEFROMCHAR,memResult.SelStart,0);
Cpos := SendMessage(memResult.Handle,EM_LINEINDEX,Lpos,0);
LineLength := SendMessage(memResult.handle, EM_LINELENGTH, Cpos, 0);
CPos := memResult.SelStart-CPos;
Men det giver mig jo "bare" linie nummer, linie længde og cursor position -
jeg kan ikke komme videre derfra.
Nogen forslag til en anden måde at gøre det på ? - evt anden komponent ?
| |
Hans Milling (08-05-2002)
| Kommentar Fra : Hans Milling |
Dato : 08-05-02 19:14 |
|
"Ulrik Vadstrup" <vadstrup@post12.tele.dk> wrote in message news:<3cd91707$0$97309$edfadb0f@dspool01.news.tele.dk>...
> "Casper A. Hansen" <cah@skygate.dk> wrote in message
> news:d581ee7f.0205080404.79e74a4d@posting.google.com...
> > "Ulrik Vadstrup" <vadstrup@post12.tele.dk> wrote in message
> news:<3cd8cc3e$0$97326$edfadb0f@dspool01.news.tele.dk>...
> > > Jeg tror jeg har stirret mig blind, men hvordan indsætter jeg en tekst i
> en
> > > Tmemo - fra der hvor cusoren står.
> > Brug SelStart og SelLength.
> >
> > Eks.: Erstatte selected tekst med din egen tekst.
> > with Memo1, Lines do
> > Text := Copy(Text, 1, SelStart-1) + 'din egen tekst' + Copy(Text,
> > SelStart + SelLength, MaxInt);
> >
> > /Casper
>
> Jammen - der skal jeg jo også vide hvor cursoren står for at jeg ved hvor
> jeg skal indsætte teksten.
> jeg har sjusset mig frem til følgende
>
> Lpos := SendMessage(memResult.Handle,EM_LINEFROMCHAR,memResult.SelStart,0);
> Cpos := SendMessage(memResult.Handle,EM_LINEINDEX,Lpos,0);
> LineLength := SendMessage(memResult.handle, EM_LINELENGTH, Cpos, 0);
> CPos := memResult.SelStart-CPos;
>
> Men det giver mig jo "bare" linie nummer, linie længde og cursor position -
> jeg kan ikke komme videre derfra.
> Nogen forslag til en anden måde at gøre det på ? - evt anden komponent ?
Kan du ikke kopiere teksten op i clipboard og så paste den i den memo?
| |
Søren Mikkelsen (09-05-2002)
| Kommentar Fra : Søren Mikkelsen |
Dato : 09-05-02 12:41 |
|
"Ulrik Vadstrup" <vadstrup@post12.tele.dk> skrev i en meddelelse
news:3cd8cc3e$0$97326$edfadb0f@dspool01.news.tele.dk...
> Jeg tror jeg har stirret mig blind, men hvordan indsætter jeg en tekst i
en
> Tmemo - fra der hvor cusoren står.
>
> Kan jeg evt give den indsatte tekst en anden farve ?
>
> --
> --
> Ulrik Vadstrup
Hej Ulrik
memo1.Seltext := ' Denne tekst er indsat ';
Du så vidt jeg ved ikke ændre farven på dele af teksten i et Tmemo, det kan
du derimod i Trichedit.
Dette sætter den selectede text i et trichedit til blå :
Richedit1.SelAttributes.Color := ClBlue;
VH Søren Mikkelsen.
| |
Ulrik Vadstrup (13-05-2002)
| Kommentar Fra : Ulrik Vadstrup |
Dato : 13-05-02 11:25 |
|
"Søren Mikkelsen" <somi@wanadoo.dk> wrote in message
news:ahtC8.213$IJ2.344723667@news.orangenet.dk...
>
> Hej Ulrik
>
> memo1.Seltext := ' Denne tekst er indsat ';
>
> Du så vidt jeg ved ikke ændre farven på dele af teksten i et Tmemo, det
kan
> du derimod i Trichedit.
> Dette sætter den selectede text i et trichedit til blå :
> Richedit1.SelAttributes.Color := ClBlue;
>
> VH Søren Mikkelsen.
>
Jammen skal jeg ikke også sætte en selstart - eller er det automatisk der
hvor cusoren står ?
| |
Søren Mikkelsen (13-05-2002)
| Kommentar Fra : Søren Mikkelsen |
Dato : 13-05-02 22:43 |
|
"Ulrik Vadstrup" <vadstrup@post12.tele.dk> skrev i en meddelelse
news:3cdf9502$0$51097$edfadb0f@dspool01.news.tele.dk...
> "Søren Mikkelsen" <somi@wanadoo.dk> wrote in message
> news:ahtC8.213$IJ2.344723667@news.orangenet.dk...
> >
> > Hej Ulrik
> >
> > memo1.Seltext := ' Denne tekst er indsat ';
> >
> > Du så vidt jeg ved ikke ændre farven på dele af teksten i et Tmemo, det
> kan
> > du derimod i Trichedit.
> > Dette sætter den selectede text i et trichedit til blå :
> > Richedit1.SelAttributes.Color := ClBlue;
> >
> > VH Søren Mikkelsen.
> >
>
> Jammen skal jeg ikke også sætte en selstart - eller er det automatisk der
> hvor cusoren står ?
>
Det er der cursoren står
VH Søren Mikkelsen
| |
Ole Nielsen (10-05-2002)
| Kommentar Fra : Ole Nielsen |
Dato : 10-05-02 10:43 |
|
Hej
Jeg ved ikke lige om det virker i Delphi 5, men i Delphi 6 findes der en
properti til TMemo der hedder SelText. Den skifter selected tekst ud med den
tekst du sætter og hvis der ikke er tekst selected, bliver teksten indsat
ved cursorposition.
Memo1.SelText := 'Et eller andet';
Venlig hilsen
| |
Ole Nielsen (10-05-2002)
| Kommentar Fra : Ole Nielsen |
Dato : 10-05-02 10:49 |
|
Hej (igen) :)
Ups, bemærkede ikke lige indlægget fra Søren Mikkelsen.
Sorry...
Venlig hilsen
| |
|
|