![]() |
Edit kopieren
hallo,
möchte gerne nur Buchstaben kopieren!
Delphi-Quellcode:
procedure TForm1.CRDBGrid1DblClick(Sender: TObject);
begin Edit1.Text := SQLQuery.FieldByName('TEST').Text; end; |
AW: Edit kopieren
Und wo ist Dein Problem?
Gruß K-H |
AW: Edit kopieren
Beispieltext:
"grün 908" möchte aber nach Edit1: nur "grün" kopieren. es könnte aber auch so aussehen: "gelb 98334" auch hier soll nur "gelb" kopiert werden. |
AW: Edit kopieren
Und was willst du bei "grün 908 blau" haben?
Ober bei "ei gelb E7"? |
AW: Edit kopieren
Nach den Beispielen sollte da
"grünblau" und "eigelbE" herauskommen. ein erster Ansatz wäre
Delphi-Quellcode:
ggf müßten dann noch !/&%$ und Konsorten heraus gefiltert werden.
target:='';
for i:=1 to length(source) do case source[i] of $00..$20 : begin end; $30..$39 : begin end; else target:=target+source[i]; end;{case----------------------} Gruß K-H |
AW: Edit kopieren
Wenn (fast) immer ein Leerzeichen zwischen Farbe und Zahl steht, könnte es auch so gehen:
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 - 1); end else begin Edit1.Text := SQLQuery.FieldByName('TEST').Text; end; end; |
AW: Edit kopieren
Beispiele haben leider zu 99% die Angewohnheit 99% der auftretenden Fälle zu beschreiben.
Problematisch werden aber immer die restlichen 1% der Fälle. Zitat:
|
AW: Edit kopieren
Möchte nur die Zahlen löschen! (sie stehen immer am Ende [String])
Leerzeichen sollen bestehen bleiben! |
AW: Edit kopieren
Bitte präzisiere die Aufgabenstellung:
Soll quasi alles vor der ersten Ziffer, die einem Leerzeichen folgt kopiert werden? Zitat:
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:
oder eher so?
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;
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:
Oder, oder, oder ... siehe Sir Rufos 1%-Der-Fälle-, aber 99%-Aufwand-Regel ;-)
procedure TForm1.CRDBGrid1DblClick(Sender: TObject);
begin Edit1.Text := HoleOhneZiffern(SQLQuery.FieldByName('TEST').Text); end; |
AW: Edit kopieren
Zitat:
Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz