Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi StringGrid erste Spalte nur Zahlen sonst Meldung schreiben (https://www.delphipraxis.net/180775-stringgrid-erste-spalte-nur-zahlen-sonst-meldung-schreiben.html)

Alterauge 17. Jun 2014 09:48

StringGrid erste Spalte nur Zahlen sonst Meldung schreiben
 
Hallo,

habe ein StringGrid, wo jetzt geprüft werden soll! Ob sich in der ersten Spalte 10 Zahlen Zeichen befinden (1234567897).
Sind jetzt keine 10 Zeichen (Zahlen) vorhanden, soll automatisch eine Meldung in der Spalte erstellt werden! (keine ID vorhanden).

Wie mache ich das?

DeddyH 17. Jun 2014 09:54

AW: StringGrid erste Spalte nur Zahlen sonst Meldung schreiben
 
Wenn Länge <> 10 oder mindestens ein Zeichen keine Ziffer -> Meldung. Was ist daran schwer umzusetzen?

himitsu 17. Jun 2014 09:54

AW: StringGrid erste Spalte nur Zahlen sonst Meldung schreiben
 
Die Werte der ersten Spalte in einer Schleife prüfen und bei einem Fehler den Wert der Zelle ändern?

Zum Prüfen kannst du Delphi-Referenz durchsuchenLength und Delphi-Referenz durchsuchenTryStrToInt (mit Int64, da Integer zu klein) verwenden.

Alterauge 17. Jun 2014 10:05

AW: StringGrid erste Spalte nur Zahlen sonst Meldung schreiben
 
Es müssen jetzt 10 Ziffern vorhanden sein, oder es wir ein Text in die Zeile eingefügt.
Wie schreibe ich die Überprüfung weiter?

Delphi-Quellcode:
 if StringGrid2.Cells [0,StringGrid.FixedRows] := ???;

DeddyH 17. Jun 2014 10:11

AW: StringGrid erste Spalte nur Zahlen sonst Meldung schreiben
 
Mach Dir doch einfach eine kleine Boolean-Funktion, die den zu überprüfenden String (und ggf. die erwartete Länge) entgegennimmt und zurückgibt, ob der String gültig ist.

baumina 17. Jun 2014 10:13

AW: StringGrid erste Spalte nur Zahlen sonst Meldung schreiben
 
So ein := hat noch in keiner If-Abfrage funktioniert. Vergleiche werden z.B. mit = gemacht.

Alterauge 17. Jun 2014 10:24

AW: StringGrid erste Spalte nur Zahlen sonst Meldung schreiben
 
Wie sieht so eine Boolean- Funktion aus?

DeddyH 17. Jun 2014 10:33

AW: StringGrid erste Spalte nur Zahlen sonst Meldung schreiben
 
Meine Güte:
Delphi-Quellcode:
function IsValidID(const IDStr: string; ExpectedLength: integer = 10): Boolean;
const
  VALID_CHARS = ['0'..'9'];
var
  Len, idx: integer;
begin
  Len := Length(IDStr);
  Result := Len = ExpectedLength;
  if Result then
    for idx := 1 to Len do
      if not CharInSet(IDStr[idx], VALID_CHARS) then
        begin
          Result := false;
          break;
        end;
end;
Ungetestet.

Alterauge 17. Jun 2014 12:20

AW: StringGrid erste Spalte nur Zahlen sonst Meldung schreiben
 
danke :-) :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz