Autor Beitrag
Girgl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 281


D6 Enterprise
BeitragVerfasst: Fr 07.05.04 17:18 
Servus,
wie kann ich bei einfügen von text durch nen buttonklick etc. den cursor zwischen zwei zeichen setzen,also in meinem fall zwischen > und <?
Benedikt
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 07.05.04 20:20 
Hi,

kommt drauf an was du für Text einfügst bzw. worein.
Angenommen du fügst auf einen Button-Click Text in ein Memo ein, dann könntest du es folgendermaßen machen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
var
  InsertText:   String;
  TempPos:      Integer;
begin
        InsertText:='<a href="http://www.delphi-forum.de"></a>';  //einzufügender Text

        TempPos:=Memo1.SelStart;   //aktuelle Cursor-Pos

        Memo1.SelText:=InsertText;  //Text einfügen

        Memo1.SelStart:=TempPos+Pos('>', InsertText);    //Cursor-Pos hinter die > in InsertText setzen
        Memo1.SetFocus;   //Memo den Focus geben
end;
Girgl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 281


D6 Enterprise
BeitragVerfasst: Fr 07.05.04 20:29 
ja,sowas hab ich mir auch gedacht,nur hab ich nochn bischen was anderes im kopf gehabt,aber is jetz egal,danke
Girgl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 281


D6 Enterprise
BeitragVerfasst: Di 11.05.04 15:14 
es geht zwar,aber irgendwie gibt es nen kleinen fehler der auftaucht und zwar,wenn ich ein paar mal die space taste drück un ddann per strg alt + irgendwas tags einfügen lassen will,dann is der cursor nich zwischen den klammern sondern irgendwo davor.
Ich hab mal der kontrolle wegen die cursorposition ausgeben lassen und festgestellt,dass es ne ganz andere is,als es sein sollte.

Weiss jemand wie ich des lösen kann?
Benedikt
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 11.05.04 16:31 
Hi,

wo fügst du den Text denn ein?
Memo? SynEdit? RichEdit?

Ich hab es mal kurz getestet (Memo/SynEdit), da gabs keine Probleme.

Ansonsten wäre es vielleicht hilfreich, meinen Code von oben ein wenig anders zu nutzen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
var 
  InsertText:   String;
begin
        InsertText:='<a href="http://www.delphi-forum.de"></a>';  //einzufügender Text

        Memo1.SelText:=InsertText;  //Text einfügen

        Memo1.SelStart:=Memo1.SelStart-(Length(InsertText)-Pos('>', InsertText));    //Cursor-Pos hinter die > in InsertText setzen
        Memo1.SetFocus;   //Memo den Focus geben
Girgl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 281


D6 Enterprise
BeitragVerfasst: Di 11.05.04 20:01 
yo besten dank so gehts