1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| if (OpenDialog1->Execute())
{
if (FileExists(OpenDialog1->FileName) == false)
{
Sysutils::Beep();
MessageDlg("Impossible d'ouvrir le fichier. Opération annulée.", mtWarning, TMsgDlgButtons() << mbOK, 0);
return;
}
}
else {
return;
}
TFileStream *Fichier;
try {
Fichier = new TFileStream(OpenDialog1->FileName, fmOpenRead | fmShareDenyWrite);
}
catch ( ... )
{
Sysutils::Beep();
MessageDlg("Impossible d'ouvrir le fichier. Action annulée.", mtError, TMsgDlgButtons() << mbOK, 0);
delete Fichier;
return;
}
if (!Fichier)
{
Sysutils::Beep();
MessageDlg("Impossible d'ouvrir le fichier. Action annulée.", mtError, TMsgDlgButtons() << mbOK, 0);
delete Fichier;
return;
}
TMemoryStream *Buffer = new TMemoryStream();
char BufferTemp[512*1024];
int OctetTransferes;
Buffer->Clear();
Buffer->Size = 512*1024;
Fichier->Seek(0 * (512 * 1024), soFromBeginning);
OctetTransferes = Fichier->Read(BufferTemp, 512 * 1024);
Label3->Caption = IntToStr(OctetTransferes);
Buffer->ReadBuffer(BufferTemp, 512 * 1024);
Label2->Caption = IntToStr(Buffer->Size);
Label1->Caption = IntToStr(Fichier->Size);
delete Buffer;
delete Fichier; |
Partager