Avatar billede prodoc Nybegynder
25. december 2001 - 19:20 Der er 3 kommentarer og
1 løsning

Placere tekst ÉT bestemt sted i richedit boks!

Hejsa alle sammen,
Jeg har en Form1 med En Richedit1 og en Button1, så vil jeg gerne have det sådan at når jeg trykker på knappen så skal den indsætte et stykke tekst i RichEdit boksen! Jeg har allerede koden herunder:

RichEdit1.Text := RichEdit1.Text + \'(TEKST)\';

Men når man bruger den kode så indsætter den \"teksten\" i richedit boksen men teksten bliver indsat som den sidste linie i \"richedit-dokumentet\" hvordan kan jeg lave det sådan at den indsætter \"teksten\" der hvor jeg allerede har markeret med musen (altså der hvor | blinker:) ), håber I ka\' hjælpe mig....

M.v.h. ProDoc

Og Glædelig Jul og godt nytår!!!
Avatar billede dkn Nybegynder
26. december 2001 - 00:54 #1
procedure TForm1.Button1Click(Sender: TObject);
Var
Richtext:ansistring;
begin
if RichEdit1.SelStart = 0 then exit;
Richtext := RichEdit1.Text;
insert(\'<My text to insert>\', Richtext, RichEdit1.SelStart+RichEdit1.SelLength);
RichEdit1.Text := Richtext;
end;

dkn
Avatar billede prodoc Nybegynder
28. december 2001 - 20:16 #2
Tak dkn, men jeg har etekstra spørgsmål!!
Den gør som jeg vil have den til, altså at indsætte teksten der hvor markøren er, men når man har indsat teksten fra buttonlinket så flytter markøren op i starten at richedit, hvordan kan man få den til at flytte markøren hen efter der hvor man har indsat teksten :)

(Hvis du ved hvordan man gør det så får du 15 points ekstra, altså 30 - men hvis der er andre der ved det så får dkn 15 og den der ved det 15)
Avatar billede dkn Nybegynder
28. december 2001 - 23:41 #3
...
  public
    { Public declarations }
    Procedure InsertTextInRichEdit(REdit:TRichEdit; TextToinsert:string);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
InsertTextInRichEdit(RichEdit1, \'<Test>\');
end;

procedure TForm1.InsertTextInRichEdit(REdit: TRichEdit;
  TextToinsert: string);
Var
Richtext:ansistring;
CurrentStart:integer;
begin
CurrentStart := REdit.SelStart;
if CurrentStart = 0 then exit;
Richtext := REdit.Text;
insert(TextToinsert, Richtext, REdit.SelStart+REdit.SelLength);
REdit.Text := Richtext;
REdit.SelStart := CurrentStart+length(TextToinsert)-1;
REdit.SetFocus;
end;

...

dkn
Avatar billede prodoc Nybegynder
30. december 2001 - 02:09 #4
Ja det virker, MEN... når jeg markerer med | for enden af linien, så indsætter den teskten før det sidste bogstav i linien i stedet for bag ved...

eks.
-HEJ ALLE SAMMEN
+indsæt 213
= HEJ ALLE SAMME123N ?

Hvad kan probemet være?

M.v.h. ProDoc
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester