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

不同 Form 中傳遞 var 的問題

答題得分者是:P.D.
vernon
一般會員


發表:27
回覆:26
積分:10
註冊:2003-05-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-11 15:45:12 IP:202.175.xxx.xxx 未訂閱
Form1 有 i 變量, 在 Form2 中怎樣才能把數值傳遞給 Form1 中的 i ??
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-11 16:30:48 IP:61.66.xxx.xxx 未訂閱
引言: Form1 有 i 變量, 在 Form2 中怎樣才能把數值傳遞給 Form1 中的 i ??
很多方式, 最直的做法 1.i 宣告為 public, 不過不建議使用 i名稱, 最好以有效名稱(正規)命名 2.form2 中, uses Form1 3.form1 必須 form2 先 create 出來 4.直接在 form2 中改變 i 值, form1 的 i 值即可變動 第二種方式 1.form2宣告一個function , 回傳 i 值內容 2.form1 uses form2, 然後在form1中執行該function, 把你要的結果 i:= form2.function(...); 3.form1呼叫form2.function前, form2必須被create 這類做法至少可以有十種以上方法可以達成, 僅提供兩種方式參考! 發表人 - P.D. 於 2003/07/11 16:35:41
ha0009
版主


發表:16
回覆:507
積分:639
註冊:2002-03-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-11 16:42:00 IP:61.30.xxx.xxx 未訂閱
你好: 以下你參考看看。

當你的變數放在私有或保護區段而想要讓外部使用,則需利用 Property 宣告來達成,好處是你可以過濾使用者的不當存取。否則你只需要
宣告在 Public 或 Published 來達成。    unit Unit1;    interface    uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, db, Grids, DBGrids, ADODB, ComCtrls;    type
  TForm1 = class(TForm)
  private
     FPriveValue : integer;
  public
     
     PublicValue : integer;
     peoperty PriveValue : integer read FPriveValue write FPriveValue;
     
  end;    implementation
    當你要存取某單元祇要 Uses 該單元既可,只要是屬於 Public 或 Published 的變數或物件宣告等你都可以存取。
unit Unit2;    interface    uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, db, Grids, DBGrids, ADODB, ComCtrls,
Unit1;
 
type
  TForm1 = class(TForm)
  private
  public
  end;
implementation

cmj
高階會員


發表:15
回覆:242
積分:226
註冊:2002-06-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-07-11 21:23:11 IP:211.76.xxx.xxx 未訂閱
引言: Form1 有 i 變量, 在 Form2 中怎樣才能把數值傳遞給 Form1 中的 i ??
Form1 -> Unit.Pas
Form2 -> Unit2.Pas    Form1 如下
unit Unit1;
interface
uses
   .
   .
TForm1 = class(TForm)
   .
   .
var i:integer;
implementation    在Form2 之uses加入Unit1
.
.
Unit1.i:=1; //改變Form1之i值    注意Form1要先Create    
發表人 - cmj 於 2003/07/11 21:25:27
系統時間:2024-05-18 11:52:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!