AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Copy-Problem

Ein Thema von Tommy1988 · begonnen am 22. Nov 2007 · letzter Beitrag vom 24. Nov 2007
Antwort Antwort
Seite 1 von 2  1 2      
Tommy1988
(Gast)

n/a Beiträge
 
#1

Copy-Problem

  Alt 22. Nov 2007, 00:02
Guten Abend.. ich habe ein kleines Problem..

Folgender Code bewirkt, dass wenn ich eingegeben HABE automatisch hinten dran gehangen wird:
Delphi-Quellcode:
 if Copy(SynMemo1.Text, CurPosition-2, 3) = '[b]then
 begin
  SynMemo1.SelText := '[/b]';
  SynMemo1.SelStart := CurPosition-4;
 end;
gehe ich mit dem cursor jetzt aber zwischen und und drücke ENTF
so sieht der Text folgendermaßen aus:
'/b>'

Was kann man dagegen machen?
Ich hab es schon so versucht:
Delphi-Quellcode:
 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;
Wenn das 2. Copy also nicht [/b] ist soll da das [/b] eingefügt werden. Nur es klappt leider nicht

Achso, vielleicht sollte ich sagen, dass der Code in einer Extra Prozedur steht die beim
"SynMemo1Change" aufgerufen wird.
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#2

Re: Copy-Problem

  Alt 22. Nov 2007, 00:34
@Tommy1988: sorry, komm jetzt nicht mit... was für 'n copy ist denn das... das keinen index auf das gefundene zeichen zurückliefert....?????
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#3

Re: Copy-Problem

  Alt 22. Nov 2007, 01:18
Zitat:
das keinen index auf das gefundene zeichen zurückliefert....?????
Keine Ahnung was Du meinst .. Sorry
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Copy-Problem

  Alt 22. Nov 2007, 02:51
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.
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
22. Nov 2007, 14:36
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.
Tommy1988
(Gast)

n/a Beiträge
 
#6

Re: Copy-Problem

  Alt 22. Nov 2007, 17:49
Zitat:
das keinen index auf das gefundene zeichen zurückliefert....?????
Was heißt das denn jetzt?

Zitat:
nachdem sich der Text geändert hat
Ich habe es schon anders verucht, klappt aber nicht.
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Copy-Problem

  Alt 22. Nov 2007, 22:41
Ich glaube grenzgaenger verwechselt copy mit pos oder so

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.
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Copy-Problem

  Alt 23. Nov 2007, 07:26
oder du frägst ab ob entf gedrückt wurde
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#9

Re: Copy-Problem

  Alt 23. Nov 2007, 15:19
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.
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Copy-Problem

  Alt 23. Nov 2007, 16:29
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;
Blackheart
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz