|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
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]")) |
其實這個例子無法解決小弟的需求,
就差那麼臨門一腳
真正的需求是:
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] 用法的缺憾!
&& -> 註解用 |
|
回頂端 |
|
|
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大壞習慣之一. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
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. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
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 我們真的能完全捨棄巨集運算子嗎 |
給你打敗了 |
|
回頂端 |
|
|
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 我們真的能完全捨棄巨集運算子嗎 |
給你打敗了 |
我的藏經閣有很多東西. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
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的比基尼....
不必再淌這種混水 ... 多好?...
|
|
回頂端 |
|
|
jerryclt
註冊時間: 2009-03-10 文章: 334 來自: 佛心來的
第 27 樓
|
發表於: 星期五 六月 29, 2012 4:41 pm 文章主題: |
|
|
aizz 寫到: |
還是學學我吧.....
躺在長灘島的白色沙灘上, 曬曬太陽, 看看F-CUP的比基尼....
不必再淌這種混水 ... 多好?...
|
你不要再灌水了,
再灌就丟水桶 |
|
回頂端 |
|
|
aizz
註冊時間: 2007-01-29 文章: 171
第 28 樓
|
發表於: 星期五 六月 29, 2012 5:44 pm 文章主題: |
|
|
看看就好.... 記得要擦鼻血...............
|
|
回頂端 |
|
|
朱育興
註冊時間: 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 |
|
回頂端 |
|
|
pilipala
註冊時間: 2009-05-13 文章: 75
第 30 樓
|
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|