Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Edit kopieren (https://www.delphipraxis.net/188374-edit-kopieren.html)

strom 25. Feb 2016 16:34

Edit kopieren
 
hallo,

möchte gerne nur Buchstaben kopieren!

Delphi-Quellcode:
procedure TForm1.CRDBGrid1DblClick(Sender: TObject);
begin
 Edit1.Text := SQLQuery.FieldByName('TEST').Text;
end;

p80286 25. Feb 2016 16:39

AW: Edit kopieren
 
Und wo ist Dein Problem?

Gruß
K-H

strom 25. Feb 2016 16:51

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.

Sir Rufo 25. Feb 2016 16:53

AW: Edit kopieren
 
Und was willst du bei "grün 908 blau" haben?
Ober bei "ei gelb E7"?

p80286 25. Feb 2016 17:08

AW: Edit kopieren
 
Nach den Beispielen sollte da
"grünblau" und "eigelbE" herauskommen.

ein erster Ansatz wäre
Delphi-Quellcode:
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----------------------}
ggf müßten dann noch !/&%$ und Konsorten heraus gefiltert werden.

Gruß
K-H

nahpets 25. Feb 2016 17:19

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;

Sir Rufo 25. Feb 2016 17:24

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:

Ja, nee ... dann muss das aber so sein ...
Wer kennt das nicht :stupid:

strom 25. Feb 2016 17:30

AW: Edit kopieren
 
Möchte nur die Zahlen löschen! (sie stehen immer am Ende [String])
Leerzeichen sollen bestehen bleiben!

nahpets 25. Feb 2016 17:55

AW: Edit kopieren
 
Bitte präzisiere die Aufgabenstellung:

Soll quasi alles vor der ersten Ziffer, die einem Leerzeichen folgt kopiert werden?
Zitat:

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 ;-)

p80286 25. Feb 2016 22:59

AW: Edit kopieren
 
Zitat:

Zitat von strom (Beitrag 1331372)
Möchte nur die Zahlen löschen! (sie stehen immer am Ende [String])
Leerzeichen sollen bestehen bleiben!

Wenn Du Deine Anforderung(en) in ganzen Sätzen formulieren würdest und auch die zu verarbeitenden Daten möglichst vollständig beschreiben würdest, könnten wir Dir vielleicht auch weiterhelfen.

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:09 Uhr.
Seite 1 von 2  1 2      

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