AGB  ·  Datenschutz  ·  Impressum  







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

While-Schleife wird Ignoriert ?!?!

Ein Thema von Nalincah · begonnen am 5. Aug 2004 · letzter Beitrag vom 5. Aug 2004
Antwort Antwort
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#1

While-Schleife wird Ignoriert ?!?!

  Alt 5. Aug 2004, 12:02
Zitat:
[Hinweis] uDatevExport.pas(404): FOR oder WHILE Schleife wird nicht durchlaufen - gelöscht
zeigt der mir an.

Warum? Hier der source:

Delphi-Quellcode:
MS.Write(s[1],1);
Inc(ByteCount);
// Restliche Platz mit Füllzeichen auffüllen (Bis 256 Bytes)
s := StringOfChar(#00,256-ByteCount);
MS.Write(s[1],Length(s));

while ((SizeOf(FS_ED) + SizeOf(MS)) mod 256 = 0) do
begin
  s := #00;
  FS_ED.Write(s,1);
end;
FS_ED.Position := SizeOf(FS_ED);
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: While-Schleife wird Ignoriert ?!?!

  Alt 5. Aug 2004, 12:15
FS_ED und MS sind beides Objektreferenzen (Zeiger) und diese sind immer 4 Byte groß (SizeOf(...)).
D.h
while ((SizeOf(FS_ED) + SizeOf(MS)) mod 256 = 0) liefert immer False und schleife wird nicht durchlaufen.
while ((FS_ED.Size + MS.Size) mod 256 = 0) do sollte funktionieren, da jetzt die größe des Streams (welches Du verwendest) abgefragt wird.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#3

Re: While-Schleife wird Ignoriert ?!?!

  Alt 5. Aug 2004, 12:58
Delphi-Quellcode:
  while (FS_ED.Size + MS.Size mod 256 <> 0) do
    begin
      s := #00;
      FS_ED.Write(s,1);
    end;
Hier wird doch FS_ED eigentlich jedesmal um 1 größer, oder?
Bei mir irgendwie nicht?
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: While-Schleife wird Ignoriert ?!?!

  Alt 5. Aug 2004, 13:17
Der Inhalt schon die größe des Zeigers ändert sich aber nicht.
Günter
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz