Thema: Delphi In einer Memo suchen?

Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#22

Re: In einer Memo suchen?

  Alt 19. Okt 2003, 01:42
Moin Sharky,

nein, ist nicht falsch, da ja hier der Endpunkt der Markierung berechnet wird, nicht die Länge.
Das Prinzip ist das gleiche, als hätte man einen Startoffset, an dem man etwas speichert. Um jetzt die nächste freie Position zu berechnen, addiert man auf den StartOffset die Länge dessen, was man gespeichert hat drauf. Da hier aber nicht die nächste freie Stelle benötigt wird, sondern die letzte belegte wird eins abgezogen.

Beispiel

SelStart = 5
Length = 4
SelEnd = 5 + 4 - 1 = 8

Es werden die Stellen 5,6,7 und 8 markiert also 4, was der Länge entspricht.
Ist zwar nur ein konkretes Beispiel und keine mathematischer Beweis, sollte aber für diese Berechnung genügen, denke ich.

@Citybreaker:
Warum das bei Dir jetzt nicht funktioniert kann ich mir nicht erklären.
Du könntest ggf. mal den Sourcecode hier anhängen, dann kann ich mir das mal komplett ansehen.
Ansonsten könntest Du es auch noch einmal so versuchen:

Delphi-Quellcode:
  iPos := pos(trim(Edit1.Text), SynMemo.Text);
  if iPos = 0 then exit;
  SynMemo.SelStart := iPos-1;
  SynMemo.SelEnd := SynMemo.SelStart+length(trim(Edit1.Text))-1;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat