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='CheckGleich' then
MyChekGleich(Grid:TStringGrid,nr)
else if cb.Text='CheckInteger' then
MyChekInteger(Grid:TStringGrid,nr)
else if cb.Text='CheckDouble' then
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.