Zitat von
fes:
@huxxx: also wenn ich das nach deiner procedure mache, gibt er mir den gleichen text aus, aber er entfernt das letzte hochkomma.
Also aus dem text blablabla'dfdf' wird blablabla'dfdf
Die anderen Vorschläge bin ich grad am ausprobieren.
Oh..., das letzte ' hab ich ja garnicht gesehen..., dann halt so (ein exit einbauen):
Delphi-Quellcode:
var s:String;
var i, copy_to:integer;
begin
s:=Clipboard.AsText;
for i:=1 to length(s) do begin
if s[i] = '''' then begin
copy_to:=i;
ShowMessage(copy(s,1,copy_to-1));
exit; // Das ist jetzt neu!
end;
end;
end;
Okay..., das müsste funktionieren!
Achja, in deinem Quelltext hab ich ein paar Fehler gefunden:
- Wo ist die Variable d (wurde sie lokal deklariert?)
d[k] := c[i+1];
... ist falsch, wenn schon "d:= d + c[i+1];" (musst aber deine for-Schleife entfernen)
->
Delphi-Quellcode:
for k := 0 to length(c)-2 do //...wird der string ab da in die variable d geschrieben
begin
d[k] := c[i+1]; //c+1 damit der das erste hochkomma nicht mitgeschrieben wird
//und length(c)-2 damit das 2te hochkomma nicht mitgeschrieben wird
end;
Das ist auch der Grund warum d nach der Schleife den wert '' (nix) hat.
Delphi-Quellcode:
for i:=0 to length(c) do
begin
if c[i] = '''' then //sobald ein Hochkomma vorhanden ist...
Der Fehler macht zwar nix, aber c[0] ist '', also nix.