一些耗时长的操作,多线程是个不错的选择。
procedure TForm1.doHash; var hash:TwxzHash; begin //hash:=TwxzHash.Create; progressbar1.Max:=5; progressbar1.Position:=0; memo1.Lines.Add('string md5'); memo1.Lines.Add( hash.GetStringMD5( 'wwwxxxx') ); ProgressBar1.StepBy(1); memo1.Lines.Add('file md5'); memo1.Lines.Add(hash.GetFileMD5(edit2.Text)); ProgressBar1.StepBy(1); memo1.Lines.Add('file sha1'); memo1.Lines.Add(hash.GetFileSHA1(edit2.Text)); ProgressBar1.StepBy(1); memo1.Lines.Add('file sha256'); memo1.Lines.Add(hash.GetFileSHA256(edit2.Text)); ProgressBar1.StepBy(1); memo1.Lines.Add('file sha512'); memo1.Lines.Add(hash.GetFileSHA512(edit2.Text)); ProgressBar1.StepBy(1); end; procedure TForm1.Button2Click(Sender: TObject); begin TThread.CreateAnonymousThread(dohash).Start; end;