Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Lagerreichweite und Fertigungsauftragsendtermin Berechnu

  Alt 13. Feb 2009, 00:42
Du kommentierst deinen Sourcecode nicht richtig.
Beispiel:
Delphi-Quellcode:
// zurückgelieferte Anzahl der Spalten
ColCount := mysql_num_fields(MySQLRes);
Der Kommentar wiederholt genau das, was man aus dem Sourcecode schon entnehmen kann.
Das bringt keine Zusatzinformation.
Beispiel 2:
Delphi-Quellcode:
//Lagerbestand
query:= 'select sum(lslgbe)from oms14 '+
        'where watenr=10013054';
Ok, es geht um den Lagerbestand. Aber warum steht da die ominöse Zahl 10013054?
DAS sollte doch im Kommentar erklärt werden, denn niemand ausser Dir weiss was 10013054 bedeutet.
Für magische Zahlen und String sollte man Konstanten verwenden:
Delphi-Quellcode:
const ARTIKEL_GRUPPE_ALTES_MATERIAL = '10013054';
...
query:= 'select sum(lslgbe)from oms14 where watenr='+ARTIKEL_GRUPPE_ALTES_MATERIAL;
Beispiel 3:
Delphi-Quellcode:
i:=0; j:=0;
rows1[3,i]:=inttostr(strtoint(rows[0,0])-strtoint(rows1[1,0]));
for i := 1 to length(rows1[0]) - 1 do
  begin
    rows1[3,i]:=inttostr(strtoint(rows1[3,i-1])-strtoint(rows1[1,i]));
    if (strtoint(rows1[3,i])<0) and (strtoint(rows1[3,i-1])>=0) then
      begin
            while (strtoint(rows1[3,i])<0) and (j<length(rows2[0])) do
Aaaahhrgh! Das nenn' ich mal Spaghetticode.
Hier solltest du unbedingt einige sprechende Zwischenvariablen verwenden:
Delphi-Quellcode:
Brutto := strtoint(rows[0,0]); // Variablenname frei erfunden. Du weisst bestimmt besser, was rows[0,0] bedeutet
Tara := strtoint(rows1[1,0]);
rows1[3,i]:=inttostr(Brutto-Tara);
Das ist jetzt nicht bös' gemeint, dass ich deinen Code so schlecht mache.
Soll nur helfen, es besser zu machen.
  Mit Zitat antworten Zitat