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

怎樣宣告一個全局變量?

尚未結案
chrislao
初階會員


發表:86
回覆:69
積分:36
註冊:2002-12-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-23 19:11:43 IP:202.175.xxx.xxx 未訂閱
請大家幫忙,怎樣宣告一個全局變量,此變量可以給另一個form使用?
blk5743
高階會員


發表:34
回覆:371
積分:236
註冊:2003-11-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-23 19:39:00 IP:61.66.xxx.xxx 未訂閱
如果只有一個CPP要用 直接宣告在全域變數的位置 有兩個以上的CPP要共用 例如此變數為 int ppp; 則用 1.一個CPP宣告 int ppp; 另一個宣告 extern int ppp; 2.一個CPP宣告 int ppp; 在共用的.h檔中用 extern int ppp;
jean2004
初階會員


發表:69
回覆:80
積分:39
註冊:2004-12-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-25 08:06:38 IP:222.135.xxx.xxx 未訂閱
这样作: 第一步:在.h文件中添加如下代码: public: // User declarations __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //这里就是定义可读写全局变量的位置; extern PACKAGE AnsiString iDirList1;//数据库文件所在的目录,默认为程序所在的目录 extern PACKAGE AnsiString iDataFiles1;//当前使用的数据文件 extern PACKAGE AnsiString iADOcs1;//主要数据库的连接串 extern PACKAGE AnsiString iADOcs1a;//网址收藏用数据库的连接串 //--------------------------------------------------------------------------- #endif /* //只是要定义只读的全局变量,只要在这里定义一下就可以了;即:在这里定义的全局变量可以在所有窗体中引用,但不能被修改; AnsiString iRegName="jean\\information";//在注册表中注册的项名称 AnsiString iBiaoT="i资料收藏夹 V.2005.01.26 单机版"; */ 第二步:在.h文件对应的.cpp文件中重新声明全局变量: #pragma resource "*.dfm" TForm1 *Form1; //在这里要重新声明全局变量才可以: AnsiString iDirList1;//数据库文件所在的目录,默认为程序所在的目录 AnsiString iDataFiles1;//当前使用的数据文件 AnsiString iADOcs1;//主要数据库的连接串 AnsiString iADOcs1a;//网址收藏用数据库的连接串 第三步:给全局变量付值: void __fastcall TForm1::FormCreate(TObject *Sender) { //在一个事件里给全局变量直接付值就可以了: iDirList1=ExtractFilePath(ExpandFileName(Application->ExeName));//数据库文件所在的目录,默认为程序所在的目录 iDataFiles1="text.jea";//当前使用的数据文件 iADOcs1="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" iDirList1 iDataFiles1 ";Persist Security Info=False;Jet OLEDB:Database Password=" iPsw1;//主要数据库的连接串 iADOcs1a="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" iDirList1 "html.day;Persist Security Info=False;Jet OLEDB:Database Password=" iPsw2;//网址收藏用数据库的连接串 } 第四步:在其它窗体中使用全局变量:只要在.cpp文件里添加如下代码,就可以自由的使用全局变量了: #include "Unit2.h" #include "Unit1.h"//Unit1.h是包含要使用的全局变量的.h文件 注意: 1、如果在其它窗体中定义了和全局变量相同名称和兼容类型的局部变量或全局变量,将不能操作其它窗体的全局变量,如果类型不兼容的变量将不能被定义。例如:定义了一个AnsiString类型的全局变量,在其它窗体中就不能定义int类型的变量了,但可以定义AnsiString和String类型的变量; 2、在不同的窗体中可以定义相同名称和兼容类型的全局变量,不同的是引用的变量的值可能不同,一般的原则是使用本窗体的,其它窗体优先引用窗体一的。
系統時間:2024-05-19 20:35:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!