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

苦命IT人 FOXPRO 2.5 ARRAY 菜鳥問題

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
lazybaby



註冊時間: 2006-07-03
文章: 8


第 1 樓

發表發表於: 星期二 七月 04, 2006 12:25 am    文章主題: 苦命IT人 FOXPRO 2.5 ARRAY 菜鳥問題 引言回覆

原來的軟件公司已不知所踪 我是IT部攪NETWORK的(老板以為攪IT的什麼都懂)
就把這難題交給我了 沒有方法的話可慘了 這2天老板面色已滿黑的了

軟件是FOXPRO 2.5生成的APP檔(96年的) 公司要修正一报表
我用2.5打開PJX後改了其中一报表
想再生成APP檔 在轉換过程中出現了多個文件的ERROR
(例)
Program c:\2\salesret.prg has the following errors:
Unknown FOOT - Undefined

Screen Set c:\2\scrns\addret.spr has the following errors:
Unknown ITEMNO - Undefined
Unknown FOOT - Undefined

看了一下文件應是這里出了問題
"EXTERNAL ARRAY foot, new, null_new"
"EXTERNAL ARRAY foot, itemno"

思考了很久也在網上查了很多 ARRAY 数组 還是找不到方法解決
如何可找到 FOOT 和 itemno 這2個定義? (在文件中找不到有這2個文件)

本人專業是網絡的 對 FOXPRO一點點也不熟 各位見笑了.

(因對在下的工作前景有很大影響 可以的話就請各位出出手吧)

萬分激謝
回頂端
檢視會員個人資料 發送私人訊息
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2157


第 2 樓

發表發表於: 星期二 七月 04, 2006 10:19 am    文章主題: 引言回覆

這個錯誤訊息是foxpro 在使用陣列前會先檢查這個陣列是否有在這個程序中定義過,
如果不是在這個程序中定義就會出現這種警告訊息,
只要是你確定在這個程序中使用的確實是陣列的話,
可以不用理會它.

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
lazybaby



註冊時間: 2006-07-03
文章: 8


第 3 樓

發表發表於: 星期二 七月 04, 2006 11:46 am    文章主題: 引言回覆

garfield 寫到:
這個錯誤訊息是foxpro 在使用陣列前會先檢查這個陣列是否有在這個程序中定義過,
如果不是在這個程序中定義就會出現這種警告訊息,
只要是你確定在這個程序中使用的確實是陣列的話,
可以不用理會它.


不理會不行 運行新生成的APP檔中會產生"SYNTAX ERROR"
"unrecognised phrase/keyword in command"和走位

我找到一文件 FOOTER


DIMENSION foot( maxrow, new_maxcol), itemno( maxrow)
DO load_arr
do &screen_prg
DO end_footer
RETURN

這几句

再試轉換过程時 我指向了此文件 但還出現了相同的ERROR

不解?

謝謝 garfield 大大
回頂端
檢視會員個人資料 發送私人訊息
catjoke



註冊時間: 2003-06-16
文章: 175
來自: 香港

第 4 樓

發表發表於: 星期三 七月 05, 2006 9:32 am    文章主題: 引言回覆

你有沒有 把它備份, 原本的 app 檔案, 說不定有部份 程式被殺掉..

找找 ReFox 吧, 它可以把 app 檔的檔案還原, 檢查有沒有其他吧..
隨便改了便做 app, 你實在太大意了!

唉~

_________________
喵喎~ 貓當然是 "茅" 的嘛! ^0^;
回頂端
檢視會員個人資料 發送私人訊息
lazybaby



註冊時間: 2006-07-03
文章: 8


第 5 樓

發表發表於: 星期四 七月 06, 2006 1:39 am    文章主題: 引言回覆

catjoke 寫到:
你有沒有 把它備份, 原本的 app 檔案, 說不定有部份 程式被殺掉..

找找 ReFox 吧, 它可以把 app 檔的檔案還原, 檢查有沒有其他吧..
隨便改了便做 app, 你實在太大意了!

唉~


用了ReFox 還是不行.....
回頂端
檢視會員個人資料 發送私人訊息
JEFFWANG



註冊時間: 2004-03-03
文章: 40


第 6 樓

發表發表於: 星期四 七月 06, 2006 9:06 am    文章主題: 引言回覆

找一找以前人的電腦,如果還有資料的話,根據經驗來說有時會將某一特殊功能以其他語言編譯,避免被反組譯,就算被反組譯了也不知道該模組的運作情形,以前常用C或MASM來做轉換資料用(也就是重新編碼資料),如果少了這部份就......當然還有一個最後的方法,根據系統的運作原則,重新寫一個就沒有以前的包袱了。
回頂端
檢視會員個人資料 發送私人訊息
catjoke



註冊時間: 2003-06-16
文章: 175
來自: 香港

第 7 樓

發表發表於: 星期四 七月 06, 2006 9:21 am    文章主題: 引言回覆

JEFFWANG 寫到:
找一找以前人的電腦,如果還有資料的話,根據經驗來說有時會將某一特殊功能以其他語言編譯,避免被反組譯,就算被反組譯了也不知道該模組的運作情形,以前常用C或MASM來做轉換資料用(也就是重新編碼資料),如果少了這部份就......當然還有一個最後的方法,根據系統的運作原則,重新寫一個就沒有以前的包袱了。


對~ 從重寫過最好!
IT 人最利害之處, 離職後, 九成以上另一個跟唔到而不能再用...


就算現在你要改, 也是整個 報表部份, 從零寫過!
已有的程式只是參考, 要維修/維護, 你要明白晒成個原理...

有毛病才可以針對錯誤而作出修正.


可惜我一開始已是 VFP, Dos 版的 foxpro 我也不太熟...

而我建議不使用 Array 來做 報表,
改用 Foxpro 強項: Table, Cursor...

? Print Header....
SCAN
? print out data...
? myTable.MyField
LineCount = LineCount + XXX
IF LineCount >= 56
? Print Footer~~
? Print (End of Page)
? Print Header~~
ENDIF
ENDSCAN


相對你會容易掌握和處理, 維修又比較容易.

你先將果張 報表程式碼, 打印佐出黎, 再係 Hardcopy 度追蹤..
會易過係 電腦睇, 因為你無 concept ~~

_________________
喵喎~ 貓當然是 "茅" 的嘛! ^0^;
回頂端
檢視會員個人資料 發送私人訊息
bin1x



註冊時間: 2004-08-27
文章: 462


第 8 樓

發表發表於: 星期四 七月 06, 2006 10:25 am    文章主題: 引言回覆

個人覺得
也許是變數可見性的問題
好像之前有人寫的,對於array 變數
常用的方法是傳址吧
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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