Hi zusammen
In einem der in Delphi enthaltenen Demos gibt es eine einzige Prozedure, die in einem Case..of-Block zwischen allen unter Delphi möglichen DBs unterscheidet. In den den einzelnen Selektorblöcken befinden sich eine ganze Menge Konstrukte wie das unten nicht auskommentierte.
Die ganzen with..do begin..end-Konsttrukte benötigen insgesamt geschätzt wohl ebensoviel Platz wie die eigentlichen Anweisungen, was die komplette Prozedur sagenhaft aufbläht. Um etwas mehr Übersichtlichkeit zu erreichen, habe ich unter einem der Selektoren diese with-Konstrukte durch solche zu ersetzen, wie sie der ausgeklammerte Block widergibt - und prompt meckerte Delphi wegen unbekanntem Bezeichner PrecMax(zum Bleistift).
Delphi-Quellcode:
with MapRules.Add do begin
PrecMax := 19;
PrecMin := 4;
SourceDataType := dtFmtBCD;
TargetDataType := dtCurrency;
end;
// MapRules.Add(PrecMax := 2);
// MapRules.Add(PrecMin := 0);
// MapRules.Add(SourceDataType := dtFmtBCD);
// MapRules.Add(TargetDataType := dtBoolean);
An was liegt das? Ich habe zwar eine Vermutung. Aber sowas ist letzten Endes weniger als Halbwissen. Ich selst verwende seit Jahren aus mehreren Gründen keine with do begin - Blöcke mehr.
Gruss
Delbor