⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainform.h

📁 著名的SecureBlackBox控件完整源码
💻 H
字号:
//---------------------------------------------------------------------------

#ifndef MainFormH
#define MainFormH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ComCtrls.hpp>
#include <Dialogs.hpp>
#include <ExtCtrls.hpp>
#include <ImgList.hpp>

#include "SBUtils.hpp"
#include "SBPGP.hpp"
#include "SBPGPKeys.hpp"
#include "SBPGPUtils.hpp"
#include "SBPGPStreams.hpp"
#include "SBPGPConstants.hpp"
#include "PassphraseRequestForm.h"
#include "SignaturesForm.h"
//#include "ImgList.h"
//---------------------------------------------------------------------------
#define STATE_SELECT_OPERATION		 0
#define STATE_PROTECT_SELECT_KEYRING	 1
#define STATE_PROTECT_SELECT_SOURCE	 2
#define STATE_PROTECT_SELECT_OPERATION	 3
#define STATE_PROTECT_SELECT_RECIPIENTS	 4
#define STATE_PROTECT_SELECT_SIGNERS	 5
#define STATE_PROTECT_SELECT_DESTINATION 6
#define STATE_PROTECT_PROGRESS		 7
#define STATE_PROTECT_FINISH		 8
#define STATE_DECRYPT_SELECT_KEYRING	 11
#define STATE_DECRYPT_SELECT_SOURCE	 12
#define STATE_DECRYPT_PROGRESS		 13
#define STATE_DECRYPT_FINISH		 14
#define STATE_FINISH			 255
#define STATE_INVALID			 -1
//---------------------------------------------------------------------------

class TfrmForm : public TForm
{
__published:	// IDE-managed Components
        TPanel *pHints;
        TLabel *lbStage;
        TLabel *lbStageComment;
        TPageControl *PageControl;
        TTabSheet *tsFileSelect;
        TLabel *lbPrompt;
        TLabel *lbFileSelectComment;
        TEdit *edFile;
        TButton *btnBrowseFile;
        TTabSheet *tsProgress;
        TLabel *lbProcessingFile;
        TProgressBar *pbProgress;
        TTabSheet *tsEncOps;
        TLabel *lbEncryptionAlg;
        TLabel *lbProtLevel;
        TComboBox *cbEncryptionAlg;
        TComboBox *cbProtLevel;
        TCheckBox *cbUseConvEnc;
        TCheckBox *cbCompress;
        TCheckBox *cbSign;
        TCheckBox *cbTextInput;
        TCheckBox *cbUseNewFeatures;
        TCheckBox *cbEncrypt;
        TTabSheet *tsFinish;
        TLabel *lbFinished;
        TLabel *lbErrorComment;
        TButton *btnSignatures;
        TTabSheet *tsKeyringSelect;
        TLabel *lbPubKeyring;
        TLabel *lbSecKeyring;
        TEdit *edPubKeyring;
        TButton *btnBrowsePub;
        TEdit *edSecKeyring;
        TButton *btnBrowseSec;
        TTabSheet *tsUserSelect;
        TLabel *lbPassphrase;
        TLabel *lbPassphraseConfirmation;
        TEdit *edPassphrase;
        TEdit *edPassphraseConf;
        TListView *lvKeys;
        TTabSheet *tsOperationSelect;
        TLabel *lbIWantTo;
        TRadioButton *rbProtect;
        TRadioButton *rbUnprotect;
        TButton *btnBack;
        TButton *btnNext;
        TButton *btnCancel;
        TElPGPReader *pgpReader;
        TElPGPWriter *pgpWriter;
        TElPGPKeyring *pgpPubKeyring;
        TElPGPKeyring *pgpSecKeyring;
        TElPGPKeyring *pgpKeyring;
        TOpenDialog *DlgOpen;
        TSaveDialog *DlgSave;
        TImageList *imgKeys;
        void __fastcall FormCreate(TObject *Sender);
        void __fastcall btnCancelClick(TObject *Sender);
        void __fastcall btnNextClick(TObject *Sender);
        void __fastcall btnBackClick(TObject *Sender);
        void __fastcall cbEncryptClick(TObject *Sender);
        void __fastcall cbSignClick(TObject *Sender);
        void __fastcall btnBrowseFileClick(TObject *Sender);
        void __fastcall pgpWriterKeyPassphrase(TObject *Sender,
          TElPGPCustomSecretKey *Key, AnsiString &Passphrase,
          bool &Cancel);
        void __fastcall btnBrowsePubClick(TObject *Sender);
        void __fastcall btnBrowseSecClick(TObject *Sender);
        void __fastcall pgpReaderKeyPassphrase(TObject *Sender,
          TElPGPCustomSecretKey *Key, AnsiString &Passphrase,
          bool &Cancel);
        void __fastcall pgpReaderPassphrase(TObject *Sender,
          AnsiString &Passphrase, bool &Cancel);
        void __fastcall pgpReaderCreateOutputStream(TObject *Sender,
          const AnsiString Filename, TDateTime TimeStamp, TStream *&Stream,
          bool &FreeOnExit);
//        void __fastcall pgpReaderSignatures(TObject *Sender,
//          TList *Signatures, _ARRAYOF TSBPGPSignatureValidity* Validities,
//          const int Validities_Size, );

//		void __fastcall pgpReaderSignatures(TObject *Sender,
//		  TList *Signatures, const TSBPGPSignatureValidity* Validities,
//		  const int Validities_Size);
		void __fastcall pgpReaderSignatures(System::TObject* Sender,
		  Classes::TList* Signatures, TSBPGPSignatureValidity * Validities,
		  const int Validities_Size);

		void __fastcall btnSignaturesClick(TObject *Sender);
		void __fastcall pgpReaderProgress(TObject *Sender, __int64 Processed,
		  __int64 Total, bool &Cancel);
		void __fastcall pgpWriterProgress(TObject *Sender, __int64 Processed,
          __int64 Total, bool &Cancel);
private:	// User declarations
        int State;
        AnsiString Source;

//        sigs: array of TElPGPSignature;
//        vals: array of TSBPGPSignatureValidity;
        TElPGPSignature** sigs;
        TSBPGPSignatureValidity** vals;

        void Back(void);
        void Next(void);

        int GetPrevState(int State);
        void ChangeState(int nextState);

        void EnableButtons(bool Back, bool Next);
        void SetCaption(const AnsiString Stage, AnsiString Comment);

        void KeysToList(bool PublicKeys);
        AnsiString RequestKeyPassphrase(TElPGPCustomSecretKey* Key, bool &Cancel);

        void ProtectFile(const AnsiString SourceFile, AnsiString DestFile);
        void DecryptFile(const AnsiString SourceFile);
public:		// User declarations
        __fastcall TfrmForm(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TfrmForm *frmForm;
//---------------------------------------------------------------------------
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -