AGB  ·  Datenschutz  ·  Impressum  







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

dunkelgrüner Breakpoint ?

Ein Thema von EccoBravo · begonnen am 20. Okt 2005 · letzter Beitrag vom 21. Okt 2005
 
Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#11

Re: dunkelgrüner Breakpoint ?

  Alt 20. Okt 2005, 17:19
Das ist es ja eben, mein richtiger Code ist genauso wie der Pseudocode, keine Probleme ersichtlich, worüber der Optimizer stolpern könnt. den richtigen Code anzuhängen, würde Euch und die Seitre überfordern, daher nur ein Ausschnitt, der repitorisch wiederholt wird

Delphi-Quellcode:

   ...

   while (iStart < fmax) and (FeldNr<11) do
    begin
        addr:='';
        addr:=addr+IntToHex(buff1[aStart],2);
        addr:=addr+IntToHex(buff1[aStart+1],2);
        addr:=addr+' ';
        addr:=addr+IntToHex(buff1[aStart+2],2);
        addr:=addr+IntToHex(buff1[aStart+3],2);

        if addr='FEFF 00E0'      then begin
                                      if param in['a','p','f'] then begin
                                          j:=j+1;
                                      end;
                                      aStart:=aStart+8; lStart:=aStart+4; iStart:=aStart+8;
                                  end
        else if addr='0800 1600'  then begin
                                      if param in['a'] then begin
                                          j:=j+1;
                                          Plan.Inhalt1:= Lesen(lStart,iStart,Lang);
                                      end
                                      else lang:= Laenge_bestimmen(lStart);
                                      aStart:=aStart+8+lang; lStart:=aStart+4; iStart:=aStart+8;
                                  end
        else if addr='0800 1800'  then begin
                                      if param in['a'] then begin
                                          j:=j+1;
                                          Plan.Inhalt2:= Lesen(lStart,iStart,Lang);
                                      end
                                      else lang:= Laenge_bestimmen(lStart);
                                      aStart:=aStart+8+lang; lStart:=aStart+4; iStart:=aStart+8;
                                  end
        else if addr='0800 2000'  then begin
                                      if param in['a','p'] then begin
                                          j:=j+1;
                                          Plan.Inhalt3:= Lesen(lStart,iStart,Lang);
                                      end
                                      else lang:= Laenge_bestimmen(lStart);
                                      aStart:=aStart+8+lang; lStart:=aStart+4; iStart:=aStart+8;
                                  end
        else if addr='0800 3000'  then begin
                                      if param in['a','p'] then begin
                                          j:=j+1;
                                          Plan.Inhalt4:= Lesen(lStart,iStart,Lang);
                                      end
                                      else lang:= Laenge_bestimmen(lStart);
                                      aStart:=aStart+8+lang; lStart:=aStart+4; iStart:=aStart+8;
                                  end
        else if addr='0800 3010'  then begin
                                      if param in['a','p'] then begin
                                          j:=j+1;
                                          Plan.Inhalt5:= Lesen(lStart,iStart,Lang);
                                      end
                                      else lang:= Laenge_bestimmen(lStart);
                                      aStart:=aStart+8+lang; lStart:=aStart+4; iStart:=aStart+8;
                                  end
        else if addr='0800 5000'  then begin
                                      if param in['a'] then begin
                                          j:=j+1;
                                          Plan.Inhalt6:= Lesen(lStart,iStart,Lang);
                                       end
                                      else lang:= Laenge_bestimmen(lStart);
                                      aStart:=aStart+8+lang; lStart:=aStart+4; iStart:=aStart+8;
                                  end
        else if addr='0800 6000'  then begin
                                      if param in['a','p'] then begin
                                          j:=j+1;
                                          Plan.Inhalt7:= Lesen(lStart,iStart,Lang);
                                      end
                                      else lang:= Laenge_bestimmen(lStart);
                                      aStart:=aStart+8+lang; lStart:=aStart+4; iStart:=aStart+8;
                                  end

   ...

   ...

   ...


       else if addr='0C30 5100then begin
                                    if param in['a'] then begin
                                         j:=j+1;
                                         Feld[FeldNr].Inhalt1:= Lesen(lStart,iStart,Lang);
                                     end
                                     else lang:= Laenge_bestimmen(lStart);
                                     aStart:=aStart+8+lang; lStart:=aStart+4; iStart:=aStart+8;
                                end
       else if addr='0C30 4200then begin
                                    if param in['a'] then begin
                                         j:=j+1;
                                         Feld[FeldNr].Inhalt2:= Lesen(lStart,iStart,Lang);
                                     end
                                     else lang:= Laenge_bestimmen(lStart);
                                     aStart:=aStart+8+lang; lStart:=aStart+4; iStart:=aStart+8;
                                end
       else if addr='0C30 6A00then begin
                                    if param in['a'] then begin
                                         j:=j+1;
                                         Feld[FeldNr].Inhalt3:= Lesen(lStart,iStart,Lang);
                                     end
                                     else lang:= Laenge_bestimmen(lStart);
                                     aStart:=aStart+8+lang; lStart:=aStart+4; iStart:=aStart+8;
                                end
       else if addr='0C30 A000then begin
                                    if param in['a'] then begin
                                         j:=j+1;
                                         Feld[FeldNr].Inhalt4:= Lesen(lStart,iStart,Lang);
                                     end
                                     else lang:= Laenge_bestimmen(lStart);
                                     aStart:=aStart+8+lang; lStart:=aStart+4; iStart:=aStart+8;
                                end
       else if addr='0C30 0A00then begin
                                    if param in['a'] then begin
                                         j:=j+1;
                                         Feld[FeldNr].Inhalt5:= Lesen(lStart,iStart,Lang);
                                     end
                                     else lang:= Laenge_bestimmen(lStart);
                                     aStart:=aStart+8+lang; lStart:=aStart+4; iStart:=aStart+8;
                                end
       else if addr='0AC30 1800then begin
                                    if param in['a'] then begin
                                         j:=j+1;
                                         Feld[FeldNr].Inhalt6:= Lesen(lStart,iStart,Lang);
                                     end
                                     else lang:= Laenge_bestimmen(lStart);
                                     aStart:=aStart+8+lang; lStart:=aStart+4; iStart:=aStart+8;
                                end
       else if addr='0AC30 2300then begin
                                    if param in['a'] then begin
                                         j:=j+1;
                                         Feld[FeldNr].Inhalt7:= Lesen(lStart,iStart,Lang);
                                     end
                                     else lang:= Laenge_bestimmen(lStart);
                                     aStart:=aStart+8+lang; lStart:=aStart+4; iStart:=aStart+8;
                                end


       else begin
             if param in['a'] then begin
                 j:=j+1;
                 Feld[FeldNr].Inhalt8:= Lesen(lStart,iStart,Lang);
             end
             else lang:= Laenge_bestimmen(lStart);
             aStart:=aStart+8+lang; lStart:=aStart+4; iStart:=aStart+8;
       end;
  
   end;

   ...
Mit diesem Programm wird der Inhalt aus einem File herausgefiltert.
Es sind etwa 170 else if Sequenzen.
Die Variable j wird später als Zählergebnis gebraucht.
Ich hoffe, Ihr könnt damit was anfangen

Danke E. B.
  Mit Zitat antworten Zitat
 


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 11:28 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