PDA

View Full Version : [Delphi] not really an emu question.



Falcon4ever
June 14th, 2002, 16:07
Hi,

I've a problem with my delphi program but i just can't find out what's wrong.

The program must read the filesize in bytes and put that number in nSize (and that works) but it won't do nSize - 4 for some strange reason.

Bytesreken and toread2 need to be nSize - 4




FileHandle: THandle;
Buffer1: array[0..3] of Char; // create array for 1st 4 bytes
Buffer2: array of Char; //create changeble array
toread2:longword;
nSize: Integer;
strSize: String;
Bytesreken: Integer;
.
. (more var's but otherwise the list would be to big)

begin
FileHandle := CreateFile(Pchar(Label1.caption),GENERIC _READ,FILE_SHARE_READ,nil,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL + FILE_FLAG_RANDOM_ACCESS, 0);
try

//Get filesize in bytes
nSize := GetFileSize (FileHandle, nil);
SetLength (strSize, 20);
Str (nSize, strSize);

//The math part, filesize (in bytes) - 4 (bytes)
Bytesreken:= nSize-4;
toread2:= nSize-4;
SetLength(Buffer2, Bytesreken); //Bytesreken must be integer Buffer 2 must be filesize - 4
.
.

icepir8
June 14th, 2002, 18:38
make nSize and Bytesreken longs.

Falcon4ever
June 14th, 2002, 18:45
Ok i will try that soon.