Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ermittlung ob in eienr Variablen Zahlen oder Buchstaben steh (https://www.delphipraxis.net/146818-ermittlung-ob-eienr-variablen-zahlen-oder-buchstaben-steh.html)

Ykcim 27. Jan 2010 12:03


Ermittlung ob in eienr Variablen Zahlen oder Buchstaben steh
 
Hallo Zusammen,

wie kann ich prüfen, ob in einem StringGrid Feld Zahlen oder Buchstaben stehen?

Ich habe in dieser Spalte ein Datum stehen und möchte das StringGrid danach sortieren. Dazu formatiere ich das Datum erst nach JahrMonatTag, sortiere das StringGrid und formatiere dann wieder zurück. Das klappt auch alles wunderbar. Jetzt stehen aber nicht nur Daten in dieser Spalte, sondern auch Text, wie z.B. "Kein Bedarf". Diese sollen dann ganz unten im StringGrid stehen. Das würde ja auch passen bei der Sortierung, wenn der Eintrag durch das umformatieren nicht verloren ginge.

Daher möchte ich die Formatierungen nur auf die Felder anwenden, die mit einer Zahl anfangen. Und dazu muss ich die Unterscheidung nach Buchstaben und Zahlen vornehmen...

Vielen Dank für die Hilfe

Yckim

p80286 27. Jan 2010 12:24

Re: Ermittlung ob in eienr Variablen Zahlen oder Buchstaben
 
Delphi-Quellcode:
var
  dummy:string[255];
...

dummy:=striggrid.cells[x,y];
if (length(dummy)>0 ) and
   (dummy[1]) in ['0'..'9'] then begin
  Formatiere(dummy);
  striggrid.cells[x,y]:=dummy;
end;
nur so runter getippt.

Gruß
K-H

Ykcim 28. Jan 2010 08:23

Re: Ermittlung ob in eienr Variablen Zahlen oder Buchstaben
 
Hallo p80286

vielen Dank für die Antwort. Ich werde es gleich ausprobieren.

Gruß

Ykcim

hoika 28. Jan 2010 09:30

Re: Ermittlung ob in eienr Variablen Zahlen oder Buchstaben
 
Hallo,

Zitat:

Ich habe in dieser Spalte ein Datum
Wie wäre es mit TryStrToDate ?


Heiko

p80286 28. Jan 2010 10:34

Re: Ermittlung ob in eienr Variablen Zahlen oder Buchstaben
 
@Hoika
Ich traue diesem "Datum" nicht, daher könnte es sein, daß TryStrtoDate auf Grund eines Formatfehlers vor die Wand läuft.
Darum zumindestens eine Vorauswahl über eine Ziffer.
Bei "Jan. 5th 1987" hilft das natürlich auch nicht weiter.

Gruß
K-H

mkinzler 28. Jan 2010 10:39

Re: Ermittlung ob in eienr Variablen Zahlen oder Buchstaben
 
Man könnte auch alle bekannten Formate abtesten ( mit der entsprechenden Version von TryStrToDate())

Ykcim 28. Jan 2010 10:46

Re: Ermittlung ob in eienr Variablen Zahlen oder Buchstaben
 
Hallo,

ich habe die erste Lösung zwar noch nicht umgesetzt, aber hier noch eine Info zu den Daten:

Normalerweise steht ein Datum in der Spalte: 01.02.2010
Das soll umformatiert werden zu: 20100201
Dann wird sortiert
Dann wieder Rückformatierung zu: 01.02.2010

Ab und an steht dort jedoch kein Datum, sondern entweder "Kein Bedarf" oder "Kein FA".
Und damit das nach der ganzen hin und herformatierung da auch noch steht, möchte ich, dass nur die Zellen umformatiert werden, die mit Zahlen gefüllt sind...

Ich hoffe, dass macht die Sache etwas deutlicher.

Vielen Dank und lieben Gruß

Ykcim

hoika 28. Jan 2010 11:09

Re: Ermittlung ob in eienr Variablen Zahlen oder Buchstaben
 
Hallo,

Zitat:

Das soll umformatiert werden zu: 20100201
Wozu soll das gut sein ?

Dir ist schon bekannt, dass ein Dateum (TDateTime)
ein Double ist, und direkt verglichen werden kann.

Und wenn das TryStrToDate schiefgeht,
ist es hat kein Datum und gehört bei der Sortierung ganz nach hinten (unten).


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:39 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-2025 by Thomas Breitkreuz