AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

grüne Zeile

Ein Thema von juelin · begonnen am 8. Jan 2018 · letzter Beitrag vom 10. Jan 2018
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: gruene Codezeilen

  Alt 9. Jan 2018, 09:20
Und falls ich mir äh, die Bemerkung erlauben darf: Du solltest an der Qualität Deines Codes arbeiten. Immerhin geht es wohl auch um MwSt. (Und bei Fehlern kennt das Finanzamt keinen Spass.)
Da kann ich nur zustimmen. Falls das ein kommerzielles Projekt ist würde ich dir empfehlen noch mal einen Schritt zurück zu gehen und zu lernen.
Falls das nur ein Spielprojekt zum Üben/Spaß ist dann lass dich nicht aufhalten.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: gruene Codezeilen

  Alt 9. Jan 2018, 07:51
Da hab' ich jetzt keine sinnvolle Antwort, weiß aber, dass in eínigen Projekten von mir, die Anzeige der Zeilen im Debugger, nicht mit den tatsächlich ausgeführten Zeilen übereinstimmt. Die Differenz ist zwar innerhalb eines Projektes einheitlich, aber bei unterschiedichen Projekt meist in einer Spanne von ca. 5 bis 9 Zeilen.
Das hatte ich auch schon mal, mit falschen Zeilenumbrüchen. Ich habe dann den ganzen Quelltext der betroffenen Unit in einen Texteditor kopiert. Die "bösen" Zeilenumbrüche ersetzt und wieder alles zurück kopiert.
Ralph
  Mit Zitat antworten Zitat
juelin

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

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
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es 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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz