Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Frame kann Objekte des Formulars nicht ändern

  Alt 22. Mai 2014, 11:17
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)
  Mit Zitat antworten Zitat