Bonjour, voila, j'ai créé un script permettant de signer un fichier (c'est en fait un port d'un autre langage). Cependant le script d'origine (en C++), met quelques secondes à s'executer sur un gros fichier, alors que mon script en Delphi en met une trentaine voir plus, sur le même fichier.

J'aimerais savoir si vous avez une solution pour accelerer la rapidité de ce script.

Voila la fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
procedure TForm4.Sign(map: string);
var
  F: TfileStream;
  buf: integer;
  sum: integer;
begin
  if MessageDlg('La signature d''une map peut durer un certain temps, variant de 10secondes à 2minutes selon la puissance des ordinateurs. Durant ce temps, le programme semble inaccessible et buggé. Voulez vous toujours signer la map ?',
    mtConfirmation, [mbYes, mbNo], 0) = mrYes then
    begin
      sum := $00000000;
      F := TFileStream.Create(map, fmOpenReadWrite);
      F.Position := $800;
      while F.Position <> F.size do
        begin
          F.ReadBuffer(buf, SizeOf(integer));
          sum := sum xor buf;
        end;
      F.Position := $2D0;
      F.WriteBuffer(sum, SizeOf(integer));
      F.Free;
    end;
end;
Merci de votre aide future.

A+ et Joyeuses Fêtes ^^ !!!