Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: blockwrite sehr sehr große datei.

  Alt 28. Jan 2008, 07:23
Der Fehler muss woanders liegen, denn das hier funktioniert:
Delphi-Quellcode:
Var
  dat: File;
  lokal: integer;
  Num : Array of byte;

Begin
  AssignFile(dat, 'C:\test1.dat');
  rewrite(dat);
  SEtLength (Num,128);
  For lokal := 0 To 127 Do
    Blockwrite(dat, num[lokal], 1);
  closefile(dat);
End;
Zitat von himitsu:
ich würde dieses Verhalten ganz einfach als Fehler in Delphi ansehn, da hier 1 logischer gewesen wäre.
Es ist nicht gleich ein Fehler in Delphi, nur weil Du es als unlogisch ansiehst. Das BlockWrite ist älter als Du. Die 128 standen schon in der ersten Pascalversion, mit der ich gearbeitet habe (UCSD Pascal 1.0). Ob das in der Wirth'schen DEfinition auch schon enthalten ist, weiss ich nicht.
Soweit ich das beurteilen kann, stammen die 128 Bytes von der Sektorgröße damaliger Speicher (Tontafeln oder ? ). Das waren nun mal 'Blöcke' und mit diesem Superbefehl konnte man direkt auf die Tontafeln a.k.a. Floppies/Bänder schreiben! Also *hardwarenah* und supersauschnell!

Ich glaube, der Fragesteller hat uns noch nicht Alles verraten.

@snow: Reduziere dein Projekt mal auf die relevanten und fehlerhaften Zeilen und stelle es hier rein.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat