[DUG] Indy

Robert martin rob at wildsoft.co.nz
Fri Aug 4 09:08:52 NZST 2006


Hi Max (and others)

I have just found out how to do it.  All I needed was

  VStream := TFileStream.Create(AFilename, fmOpenRead);


and the component handles the rest. 

The joys of learning a new component model !

Rob Martin
Software Engineer

phone +64 03 377 0495
fax   +64 03 377 0496
web www.chreos.com

Wild Software Ltd



Max Nilson wrote:
> Robert martin asked: 
>
>   
>> On the FTP server I have
>>
>> procedure TForm1.IdFTPServerCRCFile(ASender: TIdFTPServerContext;
>>   const AFileName: String; var VStream: TStream); var
>>     CRC     : TIdHashCRC32;
>>     fs      : TFileStream;
>>     Hash    : String;
>> begin
>>     CRC := TIdHashCRC32.Create;
>>     try
>>         fs := TFileStream.Create(AFilename, fmOpenRead);
>>         try
>>             Hash    := IntToStr(CRC.HashValue(fs));
>>
>>             VStream := TMemoryStream.Create;
>>             VStream.Write(Hash, SizeOf(Hash));
>>     
>
> I think the preceeding line should read:
>              VStream.Write(Hash, Length(Hash));
>
> As SizeOf will return you 4 bytes being the native size of the string type,
> ie. a pointer.
>
>   
>>         finally
>>             fs.Free;
>>         end;
>>     finally
>>         CRC.Free;
>>     end;
>>     
>
> Cheers, Max.
>
>
> _______________________________________________
> Delphi mailing list
> Delphi at ns3.123.co.nz
> http://ns3.123.co.nz/mailman/listinfo/delphi
>
>   


More information about the Delphi mailing list