Einzelnen Beitrag anzeigen

Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Problem mit POS() funktion

  Alt 13. Sep 2005, 22:02
Delphi-Quellcode:
function lastpos(s:string,c:char):integer; overload;
var i:integer;
begin
for i := length(s) downto 0 do //einfach urnter zählen...
 if s[i]=c then
 begin
  result:=i;
  exit; //und abbrechen, sobald ein zeichen gefunden ist.
 end;
end;

function lastpos(sub,s:string):integer; overload;
var cancel:boolean;
begin
cancel:=false;
while not cancel do
 begin
  result:=pos(sub,s); // position holen
  delete(s,0,result); // anfang bis dahin wegschneiden
  if pos(sub,s) = then cancel:=true; // wenn da nix mehr is, dann hammer den letzten!
 end;
end;
Nicht getestet und nicht auf parameterreihenfolge geachtet. also selber debuggen, und in die onlinehilfe schauen
die erste sollte schneller sein, geht aber nur, wenn man einen char sucht.

Du solltest dann selber noch schauen, dass du zuvor ab dem cursoer alles wegschneidest.

also etwa so:

towork:= copy(memo1.text,0,memo1.cursorpos) //irgendwie so muss das heissen. evtl. is es auch selectionstart oder so ähnlich.

//Nachtrag

@marabu: und ich mach mir extra die arbeit.....
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat