Thema: Delphi Spalten überprüfen...

Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.737 Beiträge
 
Delphi 6 Enterprise
 
#9

AW: Spalten überprüfen...

  Alt 2. Mai 2014, 12:30
Ich würde es vllt. mal so versuchen (ohne jetzt dein ganzes Konzept umzuschmeißen) und ohne jede Fehlerprüfung:

Delphi-Quellcode:
procedure TMyChek.StartePruefung;
var i:integer;
begin
  for i:=1 to 15 do
    PruefeCombobox(i);
end;

procedure TMyChek.PruefeCombobox(nr as integer);
var cb:TCombobBox;
begin
  cb:=TComboBox(FindComponent('ComboBox'+IntToStr(nr)));
  if cb.Text='CheckGleichthen
    MyChekGleich(Grid:TStringGrid,nr)
  else if cb.Text='CheckIntegerthen
    MyChekInteger(Grid:TStringGrid,nr)
  else if cb.Text='CheckDoublethen
    MyChekDouble(Grid:TStringGrid,nr)
  else
    //Kein Check für Spalte nr
end;
Und die Checks dann so auslegen, dass Sie nicht irgendeinen Wert zurückliefern, sondern das StringGrid markieren oder eine Liste mit Fehlern zuückliefern.


Zu deinem Speichern Problem (Nr.2). Wäre es nicht sinnvoller, die Daten (=Regeln pro Spalte) in einer Form zu speichern, die es ermöglicht sie nachher wieder leicht auszulesen?. Mach dich doch dazu mal z.B. über Ini-Dateien schlau. Das was du unter Punkt 2 machst, kannst du als Mensch zwar nachher gut lesen, aber eine Routine zu schreiben, mit der du das wieder einlesen kannst wird unnötig schwierig.


P.S.: In der Regel dutzt man sich hier. Egal ob Anfänger oder Profi. Nur falls du dich wunderst, warum ich einfach "du" schreibe, wo du doch immer so höflich von "sie" sprichst.

P.P.S.: Nur ein Gedanke, der mir gerade kam. Wenn du Beispielsweise hingegen willst und in deinen Prüfroutinen die Gridzellen durch einfärben markieren willst, so würde ich mir eine Struktur anlegen, z.B. ein Array of Array of TColor oder sonstwas, wo in der OnDraw Funktion des Grids (also bei jedem Neuzeichnen) geguckt wird, welche Farbe eine Zelle haben soll. Und in deinen Prüfroutinen machst du dann nur noch einen entsprechenden Eintrag in dieser Struktur.
Ralph

Geändert von Jumpy ( 2. Mai 2014 um 12:37 Uhr)
  Mit Zitat antworten Zitat