Nur mal so am Rande bemerkt, diese ganzen
try..except
Blöcke machen deinen Code sehr unleserlich weil hier vom Wesentlichen abgelenkt wird.
Vereinfache deinen Code durch Auslagerung in Funktionen
Delphi-Quellcode:
function VarFloatToStr( Value : Variant; Default : string = '' ) : string;
begin
if VarIsFloat( Value )
then
Result := FloatToStr( Value )
else
Result := Default;
end;
function VarIntToStr( Value : Variant; Default : string = '' ) : string;
begin
if VarIsOrdinal( Value )
then
Result := IntToStr( Value )
else
Result := Default;
end;
function IfThen( ACondition : Boolean; const TrueStr : string; const FalseStr : string = '' ) : string;
begin
if ACondition
then
Result := TrueStr
else
Result := FalseStr;
end;
procedure TMain.Details_exec;
begin
Clear_Details;
Label_ArtikelNr.Caption := Artikel.Artikel_Nr;
Label_Bezeichnung1.Caption := Artikel.Bezeichnung1;
Label_Gewicht.Caption := VarFloatToStr( Artikel.Gewicht, '-' );
Label_Sicherheitsbestand.Caption := VarIntToStr( Artikel.Sicherheitsbestand, '-' );
Label_AuftragNr.Caption := Auftrag.Auftrag_Nr;
Label_Menge.Caption := VarIntToStr( Auftrag.Auftrag_Menge, '-' );
Label_AuftragStatus.Caption := VarIntToStr( Auftrag.Auftrag_Status, '-' );
Label_EilFA.Caption := IfThen( Auftrag.EilFa, 'Ja', 'Nein' );
Label_KritAT.Caption := VarFloatToStr( Auftrag.KritAT, '-' );
Label_Lagerzugang.Caption := DateToStr( Auftrag.Lagerzugang );
Label_AGStatus.Caption := VarIntToStr( Arbeitsgang.AG_Status, '-' );
Label_RMDatum.Caption := DateToStr( Arbeitsgang.RM_Datum );
Label_RMMenge.Caption := VarIntToStr( Arbeitsgang.RM_Menge, '-' );
Label_AGNr.Caption := VarIntToStr( Arbeitsgang.AG_Nr, '-' );
Label_AGBezeichnung.Caption := Arbeitsgang.AG_Bezeichnung;
Label_Maschine.Caption := Arbeitsgang.Maschine_Bezeichnung;
Label_MaschineNr.Caption := Arbeitsgang.Maschine_Nr;
Label_Bezeichnung2.Caption := Artikel.Bezeichnung2;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)