|
Registriert seit: 19. Okt 2004 Ort: Neuruppin 524 Beiträge Delphi 2007 Architect |
#11
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:
Mit diesem Programm wird der Inhalt aus einem File herausgefiltert. ... 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 5100' then 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 4200' then 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 6A00' then 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 A000' then 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 0A00' then 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 1800' then 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 2300' then 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; ... 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. |
![]() |
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 |
![]() |
![]() |