VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

請教一個關於 巨集 的用法
前往頁面 上一頁  1, 2
 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
jerryclt



註冊時間: 2009-03-10
文章: 334
來自: 佛心來的

第 16 樓

發表發表於: 星期五 六月 29, 2012 7:55 am    文章主題: 引言回覆

朱育興 寫到:
DIMENSION AA[3]
AA[1]="XY1"
AA[2]="XY2"
AA[3]="XY3"
XY1=4
XY2="23A"
XY3=15
? EVAL(EVAL("AA[1]"))
? EVAL(EVAL("AA[2]"))
? EVAL(EVAL("AA[3]"))


其實這個例子無法解決小弟的需求,
就差那麼臨門一腳 Razz
真正的需求是:

BB='AA'
AA[1]="XY1"
AA[2]="XY2"
AA[3]="XY3"
XY1=4
XY2="23A"
XY3=15
? EVAL(EVAL("BB[1]"))
? EVAL(EVAL("BB[2]"))
? EVAL(EVAL("BB[3]"))

就有問題了,
只能用
? EVAL(&BB[1])
? EVAL(&BB[2])
? EVAL(&BB[3])

總之,
靠 EVALUATE() 這個好物,
解決掉沒有 &&BB[1] 用法的缺憾!
&& -> 註解用 Evil or Very Mad
回頂端
檢視會員個人資料 發送私人訊息
jerryclt



註冊時間: 2009-03-10
文章: 334
來自: 佛心來的

第 17 樓

發表發表於: 星期五 六月 29, 2012 8:08 am    文章主題: 引言回覆

yctsai 寫到:
改觀念,您的作法可改成

public nn (x,y)

thisformset.formb.page1.sub.page3.text1.value = nn (1,1)
thisformset.formb.page1.sub.page3.text2.value = nn (1,2)
...

以後利用nn,來判斷物件的值,不用"thisformset.formb.page1.sub.page3.text2.value"

我很多複雜formset,利用此法,程式簡單


我也是這麼做的,
不然不用三兩天就會忘了某個變數是幹啥用的,
然後還要去查一下雖然是自己打上去的卻連自己都看不大懂的解說 = ="

其實 nn(20,40) = nn(800)
差別在運算上 nn(800) 比 nn(20,40) 快上一些些
回頂端
檢視會員個人資料 發送私人訊息
sean27



註冊時間: 2008-08-17
文章: 49


第 18 樓

發表發表於: 星期五 六月 29, 2012 10:36 am    文章主題: 引言回覆

jerryclt 寫到:

其實 nn(20,40) = nn(800)
差別在運算上 nn(800) 比 nn(20,40) 快上一些些



nn(20,40) = nn(800) --> 這句話不是很正確,在 vfp 可能錯的時候比較多!

_________________
foxpro & php 初學者
回頂端
檢視會員個人資料 發送私人訊息
jerryclt



註冊時間: 2009-03-10
文章: 334
來自: 佛心來的

第 19 樓

發表發表於: 星期五 六月 29, 2012 11:07 am    文章主題: 引言回覆

sean27 寫到:
jerryclt 寫到:

其實 nn(20,40) = nn(800)
差別在運算上 nn(800) 比 nn(20,40) 快上一些些



nn(20,40) = nn(800) --> 這句話不是很正確,在 vfp 可能錯的時候比較多!


你可以試試看,

PUBLIC array nn[2,3]
nn[1,1]='A'
nn[1,2]='B'
nn[1,3]='C'
nn[2,1]='D'
nn[2,2]='E'
nn[2,3]='F'
?nn[1]
?nn[2]
?nn[3]
?nn[4]
?nn[5]
?nn[6]

dimension nn[x,y]
nn[x1,y1] == nn[(x1-1)*y+y1]


dimension nn[20,40]
nn[12,22] == nn[(12-1)*40+22] == nn[462]
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4212
來自: Taipei,Taiwan

第 20 樓

發表發表於: 星期五 六月 29, 2012 11:45 am    文章主題: 引言回覆

sean27 寫到:
jerryclt 寫到:

其實 nn(20,40) = nn(800)
差別在運算上 nn(800) 比 nn(20,40) 快上一些些



nn(20,40) = nn(800) --> 這句話不是很正確,在 vfp 可能錯的時候比較多!



這是 c++ 等語言的習慣,
實際上還是會遇到各開發工具是 row 先算,還是 column 先算,及element 基底 是0/1的情況.


印象中是 n大壞習慣之一. Very Happy

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
sean27



註冊時間: 2008-08-17
文章: 49


第 21 樓

發表發表於: 星期五 六月 29, 2012 11:47 am    文章主題: 引言回覆

>>nn(20,40) = nn(800) --> 這句話不是很正確,在 vfp 可能錯的時候比較多!
前提是 nn 的陣列是 (20,40) 這行 nn(20,40) = nn(800) 才會成立, 其他情況均錯
例如陣列是 dimension nn(20,50) nn(20,40)=nn(990) 就不是 nn(800)
你這樣的寫法 nn(20,40) = nn(800) 前提沒交代清楚 , 會造成誤解
就像論壇上一些發問的問題 常常是前提不清楚, 導致回答的人也一頭霧水

_________________
foxpro & php 初學者
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4212
來自: Taipei,Taiwan

第 22 樓

發表發表於: 星期五 六月 29, 2012 11:56 am    文章主題: 引言回覆

jerryclt 寫到:
能否再請教一下,
你們是如何得知 EVAL() 這個函數的?
小弟在HELP裡找到的 &命令 / 巨集名稱 / 巨集替換 裡,
都看不到 EVAL() 這個字眼 = ="



vfp 6.x 中文版程式設計 [應用實務篇] 章立民 ISBN957-22-3118-9

ch 5 : & , 名稱運算式, 與 Evaluate()的比較
5.1 名稱運算式(Name Expression)
5.2 EVALUATE()的運算式讀取
5.3 超加速的陷阱 ----- EVALUATE()永遠比&快嗎
5.4 我們真的能完全捨棄巨集運算子嗎

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
jerryclt



註冊時間: 2009-03-10
文章: 334
來自: 佛心來的

第 23 樓

發表發表於: 星期五 六月 29, 2012 1:27 pm    文章主題: 引言回覆

syntech 寫到:

vfp 6.x 中文版程式設計 [應用實務篇] 章立民 ISBN957-22-3118-9

ch 5 : & , 名稱運算式, 與 Evaluate()的比較
5.1 名稱運算式(Name Expression)
5.2 EVALUATE()的運算式讀取
5.3 超加速的陷阱 ----- EVALUATE()永遠比&快嗎
5.4 我們真的能完全捨棄巨集運算子嗎


給你打敗了 Confused
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4212
來自: Taipei,Taiwan

第 24 樓

發表發表於: 星期五 六月 29, 2012 2:08 pm    文章主題: 引言回覆

jerryclt 寫到:
syntech 寫到:

vfp 6.x 中文版程式設計 [應用實務篇] 章立民 ISBN957-22-3118-9

ch 5 : & , 名稱運算式, 與 Evaluate()的比較
5.1 名稱運算式(Name Expression)
5.2 EVALUATE()的運算式讀取
5.3 超加速的陷阱 ----- EVALUATE()永遠比&快嗎
5.4 我們真的能完全捨棄巨集運算子嗎


給你打敗了 Confused



我的藏經閣有很多東西.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
jerryclt



註冊時間: 2009-03-10
文章: 334
來自: 佛心來的

第 25 樓

發表發表於: 星期五 六月 29, 2012 3:49 pm    文章主題: 引言回覆

說到藏經閣,
我總算還保留有一本[NOVELL Btrieve],
大概27年了 @@"
當時用 Turbo C 2.0 + Btrieve,
打遍天下無敵手,
後來被撈什子OOP打敗,
從此放入藏經閣中,
去年某客戶的Btrieve檔壞掉,
然還派上用場,
真是見鬼的客戶 >"<
回頂端
檢視會員個人資料 發送私人訊息
aizz



註冊時間: 2007-01-29
文章: 171


第 26 樓

發表發表於: 星期五 六月 29, 2012 4:01 pm    文章主題: 引言回覆



還是學學我吧.....


躺在長灘島的白色沙灘上, 曬曬太陽, 看看F-CUP的比基尼....

不必再淌這種混水 ... 多好?...



Laughing Wink Twisted Evil Razz Evil or Very Mad
回頂端
檢視會員個人資料 發送私人訊息
jerryclt



註冊時間: 2009-03-10
文章: 334
來自: 佛心來的

第 27 樓

發表發表於: 星期五 六月 29, 2012 4:41 pm    文章主題: 引言回覆

aizz 寫到:


還是學學我吧.....


躺在長灘島的白色沙灘上, 曬曬太陽, 看看F-CUP的比基尼....

不必再淌這種混水 ... 多好?...



Laughing Wink Twisted Evil Razz Evil or Very Mad


你不要再灌水了,
再灌就丟水桶 Twisted Evil
回頂端
檢視會員個人資料 發送私人訊息
aizz



註冊時間: 2007-01-29
文章: 171


第 28 樓

發表發表於: 星期五 六月 29, 2012 5:44 pm    文章主題: 引言回覆













看看就好.... 記得要擦鼻血...............


Laughing Razz Twisted Evil Wink Evil or Very Mad
回頂端
檢視會員個人資料 發送私人訊息
朱育興



註冊時間: 2003-08-25
文章: 661
來自: 台中市大里區

第 29 樓

發表發表於: 星期五 六月 29, 2012 9:17 pm    文章主題: 引言回覆

jerryclt 寫到:

BB='AA'
AA[1]="XY1"
AA[2]="XY2"
AA[3]="XY3"
XY1=4
XY2="23A"
XY3=15
? EVAL(EVAL("BB[1]"))
? EVAL(EVAL("BB[2]"))
? EVAL(EVAL("BB[3]"))

就有問題了,
只能用
? EVAL(&BB[1])
? EVAL(&BB[2])
? EVAL(&BB[3])


BB='AA'

DIMENSION AA[3]
AA[1]="XY1"
AA[2]="XY2"
AA[3]="XY3"
XY1=4
XY2="23A"
XY3=15

? EVAL(EVAL(BB+"[1]"))
? EVAL(EVAL(BB+"[2]"))
? EVAL(EVAL(BB+"[3]"))

EVALUATE() 與 & 各有其適用之處

_________________
希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
pilipala



註冊時間: 2009-05-13
文章: 75


第 30 樓

發表發表於: 星期一 七月 02, 2012 8:14 am    文章主題: 引言回覆

這篇可以參考看看 ~~

http://support.microsoft.com/kb/125046/en-us?spid=7992&sid=global
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
前往頁面 上一頁  1, 2
2頁(共2頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作