Thema: grüne Zeile

Einzelnen Beitrag anzeigen

juelin

Registriert seit: 9. Mai 2006
Ort: Mannheim
124 Beiträge
 
Delphi XE5 Professional
 
#6

grüne Zeile

  Alt 8. Jan 2018, 20:50
hi,
muss leider nochmal schreieben und das Problem konkretisieren.

ich habe ein Problem und weiß nicht mehr weiter.
Habe Windows 7 und Delphi XE5

Habe eine Code:
Delphi-Quellcode:
procedure TForm16.Ladtag;
  var z: integer;
  var m: integer;
  var dat1: TDate;
  var dat2: TDate;
  var dat3: TDate;
  var wa: string;
  var sum1: double;
  var sum2: double;
  var sum3: double;
  var sum4: double;
  var sum5: double;
  var sum6: double;
  var mg: double;
  var dd: Word;
  var mm: Word;
  var yy: Word;
  var dd2: Word;
  var mm2: Word;
  var yy2: Word;
  var mm3: Word;
  var yy3: Word;
  var h1: integer;
  var h2: integer;
begin
  z:=1;
  StringGrid1.RowCount:=z;
  Label1.Caption:=Chr(169)+'LINSOFT Das Wohnzimmer Datum: '+FormatDateTime('DD.MM.YYYY',now);
  sume16:=0;
  suma16:=0;
  sum1:=0;
  sum2:=0;
  sum3:=0;
  sum4:=0;
  sum5:=0;
  sum6:=0;
  m:=0;
  Form1.SQLQuery1.SQL.Text:='SELECT * FROM einaustag ORDER BY Jahr, Monat, Ware ';
  Form1.SQLQuery1.Open;
  while not Form1.SQLQuery1.EOF do
  begin
    f1:=Form1.SQLQuery1.Fields[0].AsString;
    f2:=Form1.SQLQuery1.Fields[1].AsString;
    f3:=Form1.SQLQuery1.Fields[2].AsString;
    f4:=Form1.SQLQuery1.Fields[3].AsString;
    f5:=Form1.SQLQuery1.Fields[4].AsString;
    f6:=Form1.SQLQuery1.Fields[5].AsString;
    f7:=Form1.SQLQuery1.Fields[6].AsString;
    f8:=Form1.SQLQuery1.Fields[7].AsString;
    f9:=Form1.SQLQuery1.Fields[8].AsString;
    fa:=Form1.SQLQuery1.Fields[9].AsString;
    yy:=StrToInt(f2);
    mm:=StrToInt(f3);
    dd:=StrToInt(f4);
    dat1:=EncodeDate(yy, mm, dd);
    if ((dat1 >= vdat16) and (dat1 <= bdat16)) then
    begin
      if m = 0 then
      begin
        dat2:=dat1;
        wa:=f1;
        m:=1;
      end;
      mm:=MonthOf(dat2);
      yy:=YearOf(dat2);
      mm2:=MonthOf(dat1);
      yy2:=YearOf(dat1);
      if ((mm <> mm2) or (yy <> yy2) or (wa <> f1)) then
      begin
        dd:=DayOf(dat2);
        mm:=MonthOf(dat2);
        yy:=YearOf(dat2);
        ialpha:=FloatToStr(sum1);
        Form1.kommapunkt;
        fb:=ialpha;
        ialpha:=FloatToStr(sum2);
        Form1.kommapunkt;
        fc:=ialpha;
        ialpha:=FloatToStr(sum3);
        Form1.kommapunkt;
        fd:=ialpha;
        ialpha:=FloatToStr(sum4);
        Form1.kommapunkt;
        fe:=ialpha;
        ialpha:=FloatToStr(sum5);
        Form1.kommapunkt;
        ff:=ialpha;
        ialpha:=FloatToStr(sum6);
        Form1.kommapunkt;
        fg:=ialpha;
        Form1.SQLDataSet1.CommandText:='INSERT INTO einausmon (Ware, Jahr, Monat, einmg, ausmg, einbetrag, ausbetrag, einmwst, ausmwst)'+' values ('''+wa+''', '''+IntToStr(yy)+''', '''+IntToStr(mm)+''', '''+fb+''', '''+fc+''', '''+fd+''', '''+fe+''', '''+ff+''', '''+fg+''')';
        h1:=Form1.SQLDataSet1.ExecSQL(False);
        if h1 <> 1 then
        begin
          Label2.Caption:='Fehler beim Einfügen in einausmon, Administrator verständigen';
        end;
        dat2:=dat1;
        wa:=f1;
        sum1:=0;
        sum2:=0;
        sum3:=0;
        sum4:=0;
        sum5:=0;
        sum6:=0;
        ialpha:=f5;
        Form1.punktkomma;
        mg:=StrToFloat(ialpha);
        sum1:=sum1+mg;
        ialpha:=f6;
        Form1.punktkomma;
        mg:=StrToFloat(ialpha);
        sum2:=sum2+mg;
        ialpha:=f7;
        Form1.punktkomma;
        mg:=StrToFloat(ialpha);
        sum3:=sum3+mg;
        ialpha:=f8;
        Form1.punktkomma;
        mg:=StrToFloat(ialpha);
        sum4:=sum4+mg;
        ialpha:=f9;
        Form1.punktkomma;
        mg:=StrToFloat(ialpha);
        sum5:=sum5+mg;
        ialpha:=fa;
        Form1.punktkomma;
        mg:=StrToFloat(ialpha);
        sum6:=sum6+mg;
      end else begin
        ialpha:=f5;
        Form1.punktkomma;
        mg:=StrToFloat(ialpha);
        sum1:=sum1+mg;
        ialpha:=f6;
        Form1.punktkomma;
        mg:=StrToFloat(ialpha);
        sum2:=sum2+mg;
        ialpha:=f7;
        Form1.punktkomma;
        mg:=StrToFloat(ialpha);
        sum3:=sum3+mg;
        ialpha:=f8;
        Form1.punktkomma;
        mg:=StrToFloat(ialpha);
        sum4:=sum4+mg;
        ialpha:=f9;
        Form1.punktkomma;
        mg:=StrToFloat(ialpha);
        sum5:=sum5+mg;
        ialpha:=fa;
        Form1.punktkomma;
        mg:=StrToFloat(ialpha);
        sum6:=sum6+mg;
      end;
    end;
    Form1.SQLQuery1.Next;
  end;
  Form1.SQLQuery1.Close;
  if m = 1 then
  begin
    dd:=DayOf(dat1);
    mm:=MonthOf(dat1);
    yy:=YearOf(dat1);
    ialpha:=FloatToStr(sum1);
    Form1.kommapunkt;
    fb:=ialpha;
    ialpha:=FloatToStr(sum2);
    Form1.kommapunkt;
    fc:=ialpha;
    ialpha:=FloatToStr(sum3);
    Form1.kommapunkt;
    fd:=ialpha;
    ialpha:=FloatToStr(sum4);
    Form1.kommapunkt;
    fe:=ialpha;
    ialpha:=FloatToStr(sum5);
    Form1.kommapunkt;
    ff:=ialpha;
    ialpha:=FloatToStr(sum6);
    Form1.kommapunkt;
    fg:=ialpha;
    Form1.SQLDataSet1.CommandText:='INSERT INTO einausmon (Ware, Jahr, Monat, einmg, ausmg, einbetrag, ausbetrag, einmwst, ausmwst)'+' values ('''+f1+''', '''+IntToStr(yy)+''', '''+IntToStr(mm)+''', '''+fb+''', '''+fc+''', '''+fd+''', '''+fe+''', '''+ff+''', '''+fg+''')';
    h1:=Form1.SQLDataSet1.ExecSQL(False);
    if h1 <> 1 then
    begin
      Label2.Caption:='Fehler beim Einfügen in einausmon, Administrator verständigen';
    end;
  end;
  m:=0;
[Zeile 258] Form1.SQLQuery1.SQL.Text:='SELECT * FROM einausmon ORDER BY Jahr, Monat, Ware ';
  Form1.SQLQuery1.Open;
  while not Form1.SQLQuery1.EOF do
  begin
    f1:=Form1.SQLQuery1.Fields[0].AsString;
    f2:=Form1.SQLQuery1.Fields[1].AsString;
    f3:=Form1.SQLQuery1.Fields[2].AsString;
    f4:=Form1.SQLQuery1.Fields[3].AsString;
    f5:=Form1.SQLQuery1.Fields[4].AsString;
    f6:=Form1.SQLQuery1.Fields[5].AsString;
    f7:=Form1.SQLQuery1.Fields[6].AsString;
    f8:=Form1.SQLQuery1.Fields[7].AsString;
    f9:=Form1.SQLQuery1.Fields[8].AsString;
    yy:=StrToInt(f2);
    mm:=StrToInt(f3);
    dd:=1;
    dat1:=EncodeDate(yy, mm, dd);
    yy2:=YearOf(vdat16);
    mm2:=MonthOf(vdat16);
[Zeile277] yy3:=YearOf(bdat16);
    mm3:=MonthOf(bdat16);
    if ((yy >= yy2) and (yy <= yy3) and (mm >= mm2) and (mm <= mm3)) then
    begin
      if m = 0 then
      begin
        dat2:=dat1;
        m:=1;
      end;
      if dat2 <> dat1 then
      begin
        dd2:=0;
        mm2:=MonthOf(dat2);
        yy2:=YearOf(dat2);
        Form1.SQLDataSet1.CommandText:='INSERT INTO abschluss (Art, Jahr, Monat, Tag)'+' values ('''+'M'+''', '''+IntToStr(yy2)+''', '''+IntToStr(mm2)+''', '''+IntToStr(dd2)+''')';
        h1:=Form1.SQLDataSet1.ExecSQL(False);
        if h1 <> 1 then
        begin
          Label2.Caption:='Fehler beim Einfügen in Abschluss, Administrator verständigen';
        end;
        dat2:=dat1;
      end;
      fg:='';
      fh:='';
      Form1.SQLQuery2.SQL.Text:='SELECT * FROM ware WHERE Ware='''+f1+''' ';
      Form1.SQLQuery2.Open;
      while not Form1.SQLQuery2.EOF do
      begin
        fg:=Form1.SQLQuery2.Fields[2].AsString;
        fh:=Form1.SQLQuery2.Fields[13].AsString;
        Form1.SQLQuery2.Next;
      end;
      Form1.SQLQuery2.Close;
      mm:=StrToInt(f3);
      yy:=StrToInt(f2);
      z:=z + 1;
      StringGrid1.RowCount:=z;
      z:=z - 1;
      StringGrid1.Cells[0, z]:=IntToStr(yy);
      StringGrid1.Cells[1, z]:=IntToStr(mm);
      StringGrid1.Cells[2, z]:=f1;
      ialpha:=f4;
      Form1.punktkomma;
      mg:=StrToFloat(ialpha);
      StringGrid1.Cells[3, z]:=FloatToStrF(mg,ffFixed,8,3);
      StringGrid1.Cells[4, z]:=fg;
      ialpha:=f5;
      Form1.punktkomma;
      mg:=StrToFloat(ialpha);
      StringGrid1.Cells[5, z]:=FloatToStrF(mg,ffFixed,8,3);
      StringGrid1.Cells[6, z]:=fh;
      ialpha:=f6;
      Form1.punktkomma;
      mg:=StrToFloat(ialpha);
      StringGrid1.Cells[7, z]:=FloatToStrF(mg,ffFixed,8,2);
      sume16:=sume16+mg;
      ialpha:=f7;
      Form1.punktkomma;
      mg:=StrToFloat(ialpha);
      StringGrid1.Cells[8, z]:=FloatToStrF(mg,ffFixed,8,2);
      suma16:=suma16+mg;
      ialpha:=f8;
      Form1.punktkomma;
      mg:=StrToFloat(ialpha);
      StringGrid1.Cells[9, z]:=FloatToStrF(mg,ffFixed,8,2);
      ialpha:=f9;
      Form1.punktkomma;
      mg:=StrToFloat(ialpha);
[Zeile 345] StringGrid1.Cells[10, z]:=FloatToStrF(mg,ffFixed,8,2);
      z:=z + 1;
    end;
    Form1.SQLQuery1.Next;
  end;
  Form1.SQLQuery1.Close;
  if m = 1 then
  begin
    dd2:=0;
    mm2:=MonthOf(dat1);
    yy2:=YearOf(dat1);
    Form1.SQLDataSet1.CommandText:='INSERT INTO abschluss (Art, Jahr, Monat, Tag)'+' values ('''+'M'+''', '''+IntToStr(yy2)+''', '''+IntToStr(mm2)+''', '''+IntToStr(dd2)+''')';
    h1:=Form1.SQLDataSet1.ExecSQL(False);
    if h1 <> 1 then
    begin
      Label2.Caption:='Fehler beim Einfügen in Abschluss, Administrator verständigen';
    end;
  end;
  Label8.Caption:=FloatToStrF(sume16,ffFixed,9,2);
  Label10.Caption:=FloatToStrF(suma16,ffFixed,9,2);
  if z = 1 then
  begin
    StringGrid1.RowCount:=2;
    StringGrid1.Cells[0, 1]:='';
    StringGrid1.Cells[1, 1]:='';
    StringGrid1.Cells[2, 1]:='';
    StringGrid1.Cells[3, 1]:='';
    StringGrid1.Cells[4, 1]:='';
    StringGrid1.Cells[5, 1]:='';
    StringGrid1.Cells[6, 1]:='';
    StringGrid1.Cells[7, 1]:='';
    StringGrid1.Cells[8, 1]:='';
    StringGrid1.Cells[9, 1]:='';
    StringGrid1.Cells[10, 1]:='';
  end;
  StringGrid1.FixedRows:=1;
  StringGrid1.FixedColor:=clLime;
end;
Wenn ich Haltepunkte setze und Compeliere sind einige Zeilen Grün (siehe Anhang).
Wenn ich nun das Programm im Einzelschritt (F9 bei den Haltepunkten) durcharbeite,
so springt das Programm bei Zeile 278 als nächstes auf Zeile 345
danach Zeilen 258 bis 277 und wieder Zeile 345 und Zeile 258, und so weiter
bis alle Satze in der Datenbank gelesen sind (Zeilennummern im Anhang).
Danach geht es mit Form1.SQLQuery1.Close; weiter.
Die Codezeilen dazwischen werden nicht berücksichtigt.
Projekt neu Compelieren bzw. Projekt neu erzeugen bringt auch nichts.
Keine relevanten Fehlermeldungen nach Projekt neu erzeugen vorhanden.
Kann man die Funktion Zeilen deaktivieren ausschalten?

Hat jemand da eine Idee und kann helfen?
Gruß Jürgen
Angehängte Dateien
Dateityp: rar Wohnzimmer1.rar (3,29 MB, 0x aufgerufen)
Dateityp: rar Wohnzimmer2.rar (3,38 MB, 0x aufgerufen)
Dateityp: rar Wohnzimmer3.rar (3,62 MB, 0x aufgerufen)
Jürgen Linder
  Mit Zitat antworten Zitat