mainform.h
来自「著名的SecureBlackBox控件完整源码」· C头文件 代码 · 共 153 行
H
153 行
//---------------------------------------------------------------------------
#ifndef MainFormH
#define MainFormH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Buttons.hpp>
#include <Dialogs.hpp>
#include <Grids.hpp>
#include <ScktComp.hpp>
#include "SBUtils.hpp"
#include "SBSSHConstants.hpp"
#include "SBSSHClient.hpp"
#include "SBSSHCommon.hpp"
#include "SBSftp.hpp"
#include "SBSftpCommon.hpp"
#include "SBSSHKeyStorage.hpp"
#include "ProgressForm.h"
//---------------------------------------------------------------------------
#define FILE_BLOCK_SIZE 0x10000
#define STATE_OPEN_DIRECTORY_SENT 1
#define STATE_READ_DIRECTORY_SENT 2
#define STATE_CHANGE_DIR 3
#define STATE_MAKE_DIR 4
#define STATE_RENAME 5
#define STATE_REMOVE 6
#define STATE_DOWNLOAD_OPEN 7
#define STATE_DOWNLOAD_RECEIVE 8
#define STATE_UPLOAD_OPEN 9
#define STATE_UPLOAD_SEND 10
#define STATE_CLOSE_HANDLE 11
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TGroupBox *GroupBox1;
TLabel *Label1;
TLabel *Label2;
TLabel *Label3;
TLabel *lbPrivateKey;
TSpeedButton *sbPrivateKey;
TEdit *editHost;
TEdit *editUserName;
TEdit *editPassword;
TEdit *edPrivateKey;
TStringGrid *StringGrid1;
TMemo *Memo1;
TButton *Button2;
TButton *Button3;
TButton *Button4;
TButton *Button5;
TButton *Button6;
TEdit *Edit4;
TEdit *EditPath;
TButton *btnUpdateFileInfo;
TGroupBox *GroupBox2;
TCheckBox *CheckBoxV3;
TCheckBox *CheckBoxV4;
TCheckBox *CheckBoxV2;
TButton *btnConnect;
TClientSocket *scktClient;
TSaveDialog *SaveDialog1;
TOpenDialog *OpenDialog1;
TOpenDialog *OpenDialog;
void __fastcall FormCreate(TObject *Sender);
void __fastcall FormDestroy(TObject *Sender);
void __fastcall scktClientConnect(TObject *Sender,
TCustomWinSocket *Socket);
void __fastcall scktClientDisconnect(TObject *Sender,
TCustomWinSocket *Socket);
void __fastcall scktClientRead(TObject *Sender,
TCustomWinSocket *Socket);
void __fastcall sbPrivateKeyClick(TObject *Sender);
void __fastcall btnConnectClick(TObject *Sender);
void __fastcall StringGrid1DblClick(TObject *Sender);
void __fastcall StringGrid1MouseMove(TObject *Sender,
TShiftState Shift, int X, int Y);
void __fastcall Button2Click(TObject *Sender);
void __fastcall Button3Click(TObject *Sender);
void __fastcall Button4Click(TObject *Sender);
void __fastcall Button5Click(TObject *Sender);
void __fastcall Button6Click(TObject *Sender);
void __fastcall btnUpdateFileInfoClick(TObject *Sender);
private: // User declarations
void __fastcall HandleSSHClientSend(TObject* Sender, void* Buffer, int Size);
void __fastcall HandleSSHClientReceive(TObject* Sender, void* Buffer, int MaxSize, int &Written);
void __fastcall HandleSSHClientOpenConnection(TObject* Sender);
void __fastcall HandleSSHClientCloseConnection(TObject* Sender);
void __fastcall HandleSSHClientAuthSuccess(TObject* Sender);
void __fastcall HandleSSHClientAuthFailed(TObject* Sender, int AuthType);
void __fastcall HandleSSHClientKeyValidate(TObject* Sender, TElSSHKey* ServerKey, bool &Validate);
void __fastcall HandleSftpOpenConnection(TObject* Sender);
void __fastcall HandleSftpCloseConnection(TObject* Sender);
void __fastcall HandleSftpOpenFile(TObject* Sender, TSBSftpFileHandle Handle);
void __fastcall HandleSftpError(TObject* Sender, int ErrorCode, const AnsiString Comment);
void __fastcall HandleSftpSuccess(TObject* Sender, const AnsiString Comment);
void __fastcall HandleSftpDirectoryListing(TObject* Sender, TList* Listing);
void __fastcall HandleSftpData(TObject* Sender, void* Buffer, int Size);
void __fastcall HandleSftpAbsolutePath(TObject* Sender, const AnsiString Path);
void __fastcall HandleSftpFileAttributes(TObject* Sender, TElSftpFileAttributes* Attributes);
void __fastcall ClearFileList(void);
public: // User declarations
__fastcall TForm1(TComponent* Owner);
void CloseCurrentHandle(void);
void Log(AnsiString S);
void BuildFileList(AnsiString Path);
void OutputFileList(void);
void ChangeDir(AnsiString Dir);
void MakeDir(AnsiString Dir);
void RenameFile(AnsiString OldName, AnsiString NewName);
void DeleteDir(AnsiString Name);
void DeleteFile(AnsiString Name);
void DownloadFile(TElSftpFileInfo* Info, AnsiString LocalName);
void UploadFile(AnsiString LocalFile);
void WriteNextBlockToFile(void);
AnsiString WritePermissions(TElSftpFileAttributes* Attributes);
AnsiString FormatPath(AnsiString Path);
void RequestAbsolutePath(AnsiString Path);
void SetCellInfo(int Index, TElSftpFileInfo* Info);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
TElSSHClient* SSHClient;
TElSSHTunnelList* TunnelList;
TElSubsystemSSHTunnel* SftpTunnel;
TElSftpClient* SftpClient;
TElSSHMemoryKeyStorage* KeyStorage;
int State;
TSBSftpFileHandle CurrentHandle;
TList* CurrentFileList;
AnsiString CurrentDir;
AnsiString RelDir;
unsigned int CurrentFileOffset;
unsigned int CurrentFileSize;
//HANDLE CurrentFile;
TFileStream* CurrentFile = NULL;
//---------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?