全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1368
推到 Plurk!
推到 Facebook!

請問StatusBar的問題

尚未結案
willchen
初階會員


發表:64
回覆:81
積分:29
註冊:2003-05-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-01-05 17:36:05 IP:163.28.xxx.xxx 未訂閱
真是抱歉,這個小問題還得麻煩各位高手。 問題是這樣的,我想要用StatusBar的變化來控制Socket,比如,程式在執行的狀態下,StatusBar會顯示程式執行中,當程式執行完畢時,StatusBar會顯示程式執行完畢,此時,我希望StatusBar文字的改變的事件觸發,來關閉Socket, 請問各位高手,這樣要怎麼寫,我看了help老半天只知道怎麼設StatusBar的文字,但沒看到StatusBar的改變的Event,不知道要怎麼寫。
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-01-05 17:44:38 IP:140.135.xxx.xxx 未訂閱
willchen您好:
引言: 問題是這樣的,我想要用StatusBar的變化來控制Socket,比如,程式在執行的狀態下,StatusBar會顯示程式執行中,當程式執行完畢時,StatusBar會顯示程式執行完畢,此時,我希望StatusBar文字的改變的事件觸發,來關閉Socket,
我不是高手,不好意思,何不在[程式執行完畢]的時候關閉 > < class="code"> 您的需求 : [程式執行完畢]→[StatusBar文字的改變]→[關閉Socket] 建議 : [程式執行完畢]→[關閉Socket] →[StatusBar文字的改變] 順心 發表人 -
ENIX007
高階會員


發表:28
回覆:274
積分:185
註冊:2003-11-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-01-05 18:04:24 IP:210.243.xxx.xxx 未訂閱
willchen您好: 看到您的問題,禁不住產生一個疑問: StatusBar的確是沒有OnChange事件,然而您的需求是要在StatusBar文字的改變 來關閉Socket,而"StatusBar的文字改變"這個動作不是由您程式控制的嗎? 那在改變StatusBar文字時順便關閉Socket... 對不起,反問您這個問題,我是不是會錯意了 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
------
程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
willchen
初階會員


發表:64
回覆:81
積分:29
註冊:2003-05-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-01-05 18:05:10 IP:163.28.xxx.xxx 未訂閱
因為我的程式一個Form裡面有個副程式跑,但我要等副程式跑完得到結果然後Socket傳送結果回去,這樣的話,我的程式就不能在副程式關Socket,有其他比較好的方式嗎??我把程式post上去好了,這樣比較好解決一點。 請各位高手多多指教,由於我需要此Form的顯示結果,我沒辦法把Socket關掉的程式寫在此Form的OnClose事件下。那要怎麼解決的好??  
 //---------------------------------------------------------------------------    #include 
#pragma hdrstop    #include "Unit1.h"
#include "Masks.hpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "LbAsym"
#pragma link "LbCipher"
#pragma link "LbClass"
#pragma link "LbRSA"
#pragma resource "*.dfm"
TForm1 *Form1;
int FileNumber=0;
AnsiString CurrentDir;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
 //Load key
 ServerletRSA->PrivateKey->LoadFromFile(ExtractFilePath(Application->ExeName) "privatekey");
 //Load加密result結果的key
 ServerletRSA->PublicKey->LoadFromFile(ExtractFilePath(Application->ExeName) "publickey");     CurrentDir=GetCurrentDir() "\\";     //Set CurrentDir     SE2MMClient->Port=7777;
 SE2MMClient->Address="127.0.0.1";
}
//---------------------------------------------------------------------------    void __fastcall TForm1::FormCreate(TObject *Sender)
{
 SE2MMClient->Open();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SE2MMClientRead(TObject *Sender,
      TCustomWinSocket *Socket)
{
 Edit1->Text="";                    //Debug
 SearchFiles("C:\\","*.txt");
 Edit1->Text=IntToStr(FileNumber);
 //Edit2->Text=ServerletRSA->DecryptString(Edit1->Text); //Debug
 AnsiString encrypted_result=ServerletRSA->EncryptString(IntToStr(FileNumber));
 ::Sleep(10);
 Socket->SendText(encrypted_result);
 ::Sleep(10);
 //SE2MMClient->Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SearchFiles(AnsiString Dir,AnsiString File)
{
 TSearchRec SearchRec;
 int iAttr=faAnyFile;
 int FileFound=0;
 if(!DirectoryExists(Dir))
 {
  return;
 }
 if(Dir.SubString(Dir.Length(),1)!="\\")
 {
  Dir=Dir "\\";
 }
 Application->ProcessMessages();
 FileFound=FindFirst(Dir "*.*",iAttr,SearchRec);
  while(FileFound==0)
  {
   if(SearchRec.Attr==faDirectory)
   {
     if((SearchRec.Name!=".")&&(SearchRec.Name!=".."))
     {
      SearchFiles(Dir SearchRec.Name,File);
     }
   }
   else
   {
     if(MatchesMask(SearchRec.Name,File))
     {
      Memo1->Lines->Add(Dir SearchRec.Name);
      FileNumber  ;
     }
   }
   FileFound=FindNext(SearchRec);
  }
 FindClose(SearchRec);
}
//---------------------------------------------------------------------------
aquarius
資深會員


發表:3
回覆:347
積分:330
註冊:2003-05-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-01-05 18:07:27 IP:211.23.xxx.xxx 未訂閱
在 TStatusBar 的 OnDrawPanel 中可以比對字串是否有改變, 若改變就可以去執行對應的程式. ...Aquarius
------
水瓶男的blog: http://791909.blogspot.com
ENIX007
高階會員


發表:28
回覆:274
積分:185
註冊:2003-11-27

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-01-06 17:08:55 IP:210.243.xxx.xxx 未訂閱
willchen您好 小弟還是不太了解您的問題所在 如同您程式碼中 > 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
------
程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
willchen
初階會員


發表:64
回覆:81
積分:29
註冊:2003-05-23

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-01-10 01:19:51 IP:203.70.xxx.xxx 未訂閱
真是謝謝各位高手的解答,我最後解決了這問題了,雖然不是利用各位高手所講的方法,但還是謝謝各位高手的意見,希望下次有機會可以不吝指教。
系統時間:2024-11-23 7:25:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!