|
Registriert seit: 9. Mai 2006 Ort: Mannheim 142 Beiträge Delphi XE5 Professional |
#12
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:
Wenn ich Haltepunkte setze und Compeliere sind einige Zeilen Grün (siehe Anhang).
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 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
Jürgen Linder
|
![]() |
Ansicht |
![]() |
![]() |
![]() |
ForumregelnEs ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus. Trackbacks are an
Pingbacks are an
Refbacks are aus
|
|
Nützliche Links |
Heutige Beiträge |
Sitemap |
Suchen |
Code-Library |
Wer ist online |
Alle Foren als gelesen markieren |
Gehe zu... |
LinkBack |
![]() |
![]() |