Bitte präzisiere die Aufgabenstellung:
Soll quasi alles vor der ersten Ziffer, die einem Leerzeichen folgt kopiert werden?
Zitat von
Sir Rufo:
Und was willst du bei "grün 908 blau" haben?
Ober bei "ei gelb E7"?
Hier sollen dann "grün" und "ei gelb E7" kopiert werden?
Aus "ei gelb E 7" müsste aber "ei gelb E" werden?
Oder soll aus "ei gelb E7" "ei gelb" werden?
Und aus "grün 908 blau" "grün<zwei Leerzeichen>blau" oder "grün<ein Leerzeichen>blau"?
Wenn's nur drum geht, dass das Leerzeichen hinter grün erhalten bleibt, dann:
Delphi-Quellcode:
procedure TForm1.CRDBGrid1DblClick(Sender: TObject);
var
iPos : Integer;
begin
iPos := Pos(' ',SQLQuery.FieldByName('TEST').Text);
if iPos > 0 then begin
Edit1.Text := Copy(SQLQuery.FieldByName('TEST').Text,1,iPos);
end else begin
Edit1.Text := SQLQuery.FieldByName('TEST').Text;
end;
end;
oder eher so?
Delphi-Quellcode:
function HoleOhneZiffern(source :
String) :
String;
var
i : Integer;
begin
Result := '
';
for i := 1
to length(source)
do
case source[i]
of
$00..$1F :
begin end;
// alle ASCII-Zeichen vor dem Leerzeichen
$30..$39 :
begin end;
// Die Ziffern 0 bis 9
else Result := Result + source[i];
end;
Delphi-Quellcode:
procedure TForm1.CRDBGrid1DblClick(Sender: TObject);
begin
Edit1.Text := HoleOhneZiffern(SQLQuery.FieldByName('TEST').Text);
end;
Oder, oder, oder ... siehe
Sir Rufos 1%-Der-Fälle-, aber 99%-Aufwand-Regel