![]() |
Copy-Problem
Guten Abend.. ich habe ein kleines Problem..
Folgender Code bewirkt, dass wenn ich eingegeben HABE automatisch hinten dran gehangen wird:
Delphi-Quellcode:
gehe ich mit dem cursor jetzt aber zwischen und und drücke ENTF
if Copy(SynMemo1.Text, CurPosition-2, 3) = '[b]' then
begin SynMemo1.SelText := '[/b]'; SynMemo1.SelStart := CurPosition-4; end; so sieht der Text folgendermaßen aus: '/b>' Was kann man dagegen machen? Ich hab es schon so versucht:
Delphi-Quellcode:
Wenn das 2. Copy also nicht [/b] ist soll da das [/b] eingefügt werden. Nur es klappt leider nicht :cry:
if (Copy(SynMemo1.Text, CurPosition-2, 3) = ' [b]')
and (Copy(SynMemo1.Text, CurPosition-3, 4) <> '[/b]') then begin SynMemo1.SelText := '[/b]'; SynMemo1.SelStart := CurPosition-4; end; Achso, vielleicht sollte ich sagen, dass der Code in einer Extra Prozedur steht die beim "SynMemo1Change" aufgerufen wird. |
Re: Copy-Problem
@Tommy1988: sorry, komm jetzt nicht mit... was für 'n copy ist denn das... das keinen index auf das gefundene zeichen zurückliefert....????? :gruebel: :gruebel: :gruebel: :gruebel: :gruebel: :gruebel: :gruebel: :gruebel:
|
Re: Copy-Problem
Zitat:
|
Re: Copy-Problem
Ich vermute mal, dass das Ereignis erst aufgerufen wird, nachdem sich der Text geändert hat. Du findest dann kein "[/b]", weil da nur noch ein "/b> steht.
|
DP-Maintenance
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Langsam solltest du wissen, dass Delphi-Fragen NICHT hier her gehören. :? |
Re: Copy-Problem
Zitat:
Zitat:
|
Re: Copy-Problem
Ich glaube grenzgaenger verwechselt copy mit pos oder so :mrgreen:
Jedenfalls könntest du noch versuchen, in OnKeyDown statt in OnChange die Tags zu ergänzen. Dort kannst du entscheiden, ob die gedrückte Taste ein ">" ist oder etwas Anderes. |
Re: Copy-Problem
oder du frägst ab ob entf gedrückt wurde :wink:
|
Re: Copy-Problem
Das Problem ist ja auch generell das, dass wenn ich
nach eine Leerstelle mache, und diese mit Backspace zurückziehe, wieder drangehangen wird, das liegt aber am OnChange. Nur ich wüsst nicht wie man das in einem anderem Event machen könnte. |
Re: Copy-Problem
Am einfachsten dürfte es doch sein zu prüfen ob hinter bereits ein steht.
Delphi-Quellcode:
procedure TForm1.Memo1Change(Sender: TObject);
begin if (Copy(Memo1.Text, Memo1.SelStart-2, 3) = '[b]') and not (Copy(Memo1.Text, Memo1.SelStart+1, 4) = '[/b]') then begin Memo1.SelText := '[/b]'; Memo1.SelStart := Memo1.SelStart-4; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz