Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Progressbar (https://www.delphipraxis.net/26276-progressbar.html)

sui 21. Jul 2004 11:12


Progressbar
 
Moin, kann mir jemand einen Anstoss geben, wie ich bei dem
kleinen Verschlüssler hier eine Progressbar einbauen kann?

Ich weiss nicht bei welchen Werten ich da zugreifen soll?

Delphi-Quellcode:
 //Decodierung

    procedure PwdDecodeFile(FileName : string; Key : string);
var
  I : Integer;
  Zeichen : Byte;
  mem : TFileStream;
  keylen : Integer;
  keypos : Integer;
begin
  mem := TFileStream.Create(Filename,fmOpenReadWrite or fmShareExclusive);
  keylen := length(key)-1;
  keypos := 0;
  for I := 1 to mem.Size do
  begin
    mem.Position := I;
    mem.Read(Zeichen,1);

    if keypos = keylen then
      begin
        Zeichen := Zeichen+ord(key[keypos]);
        keypos := 0;
      end
    else
      begin
        Zeichen := Zeichen+ord(key[keypos]);
        inc(keypos);
      end;

    Mem.Position := I;
    mem.Write(Zeichen,1);
  end;
  mem.free;
end;

//Codierung

procedure PwdEncodeFile(FileName : string; Key : string);
var
  I : Integer;
  Zeichen : Byte;
  mem : TFileStream;
  keylen : Integer;
  keypos : Integer;
begin
  mem := TFileStream.Create(Filename,fmOpenReadWrite or fmShareExclusive);
  keylen := length(key)-1;
  keypos := 0;
  for I := 1 to mem.Size do
  begin
    mem.Position := I;
    mem.Read(Zeichen,1);

    if keypos = keylen then
      begin
        Zeichen := Zeichen-ord(key[keypos]);
        keypos := 0;
      end
    else
      begin
        Zeichen := Zeichen-ord(key[keypos]);
        inc(keypos);
      end;

    Mem.Position := I;
    mem.Write(Zeichen,1);
  end;
  mem.free;
end;

//Button Verschlüsseln

procedure TForm1.Button1Click(Sender: TObject);
begin
if (MaskEdit1.Text<>'') and (edit2.text<>'')
then PwdEncodeFile(edit2.text,Maskedit1.text)
else application.MessageBox('Es ist ein Fehler aufgetreten'+#10#13+'Entweder hast du keine Datei angegeben oder'+#10#13+'du hast kein Passwort eingegeben','Fehler',mb_ok+mb_iconerror);
end;
{Verschlüsseln}


   //Button Entschlüsseln

procedure TForm1.Button2Click(Sender: TObject);
begin
  if (MaskEdit1.Text<>'') and (edit2.text<>'')
then PwdDecodeFile(edit2.text,Maskedit1.text)

else application.MessageBox('Es ist ein Fehler aufgetreten'+#10#13+'Entweder hast du keine Datei angegeben oder'+#10#13+'du hast kein Passwort eingegeben','Fehler',mb_ok+mb_iconerror)

end; {Entschlüsseln}

iaby 21. Jul 2004 11:17

Re: Progressbar
 
direkt vor dem for i:= 1 to mem.size das rein:
Delphi-Quellcode:
progressbar1.position:= 0;
progressbar1.max:= mem.size;
direkt nach dem for i:= 1 to mem.size das rein:
Delphi-Quellcode:
progressbar1.step;
müsste stimmen, vielleicht auch von .Max 1 abziehen oder so-> ausprobieren!

gruss,
iaby


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz