 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
kk_lee69
註冊時間: 2013-03-30 文章: 2
第 1 樓
|
發表於: 星期六 三月 30, 2013 10:34 pm 文章主題: 新手求助 ... 詢問 98 轉 XP 後....印表機問題....感謝幫忙 |
|
|
各位大哥: 小弟是個新手....我不懂FOXPRO 所以問的問題 可能會有點蠢,公司有一套 當時用在 98底下 用 FOXPRO 5.0寫的軟體.....原本都是正常的.....但是在XP 底下後 就出現了 怎麼列印 紙張都是A4
當然小弟 有先做功課.....網上一查 有人提到 98 與 XP 自行定義紙張的編號問題
我打開 FRT 後看果然 是PAPERSIZE=256 所以怎麼印都是 A4
但是問題來了....我要的其實很簡單 只要能改成 可以 正常列印 LETTER 的紙張就可以了,我沒有中一刀的需要,我只要可以列印 LETTER 就可以了.....
目前 列印的時候 不會選擇印表機....網上也找的到很多方式等等的解決方案,無奈 小弟 對FOXPRO 不熟......所以很多的解決方法 對我來說 都不知道該怎麼改跟操作.....
引言回覆: |
CREATE TABLE &TMP1 (P5KYFM C(20),P5KYTO C(20),P5PRDT C(09), P5PGNO C(03),P5DATA C(200))
USE &TMP1
USE
CASE VAR1=2
FLNAME1 = 'TEMP\'+ACC_TIME
CASE VAR1=3
LOCATE FOR (P2GDNO=ACC_KEYFROM .OR. P2GDNO>ACC_KEYFROM)
CASE VAR1=4
PAGENO = PAGENO+1
STORE ACC_KEYFROM TO M.P5KYFM
STORE ACC_KEYTO TO M.P5KYTO
STORE P_DATE TO M.P5PRDT
STORE STR(PAGENO, 3) TO M.P5PGNO
CASE VAR1=5
SCATTER MEMVAR
CASE VAR1=6
IF M.P2GDNO>ACC_KEYTO
STORE ' ' TO SW1
ELSE
STORE 'Y' TO SW1
ENDIF
CASE VAR1=7
STORE M.P2GDNO+' '+M.P2DESC+' ' TO TMP_1
STORE ' ' TO TMP_2
STORE ' ' TO TMP_3
STORE TMP_1+TMP_2+TMP_3 TO M.P5DATA
TMP1 = 'TEMP\'+ACC_TIME
INSERT INTO &TMP1 FROM MEMVAR
CASE VAR1=8
CASE VAR1=9
IF ACC_SEL='1'
FLNAME1 = 'TEMP\'+ACC_TIME
SELECT 9
USE &FLNAME1 ALIAS FPT05
TMP1 = 'SPL01B'
REPORT FORM &TMP1 NOCONSOLE NOEJECT TO PRINTER
TMP1 = 'TEMP\'+ACC_TIME+'.DBF'
TMP2 = 'TEMP\'+ACC_TIME+'.CDX'
SELECT 9
USE
ERASE &TMP1
ERASE &TMP2
ENDIF
|
這是其中一段程式
列印的部份 應該是
REPORT FORM &TMP1 NOCONSOLE NOEJECT TO PRINTER
解決的想法 有下面幾個 不知道哪個簡單
第一種 改 REPORT FORM &TMP1 NOCONSOLE NOEJECT TO PRINTER ,讓列印前先選擇印表機跟紙張.....選好後 可以連續打印正確即可....
第二種 不動程式......我在XP 的登錄檔案作手腳 看看能不能內定出來就是 LETTER
第三種 就是 可以不用選印表機 內定預設的 紙張就固定 LETTER 就可以了
不知道 哪種方式簡單 有沒有人 可以教我一下的
PS 我現在用 6.0 在改程式碼 |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 2 樓
|
發表於: 星期日 三月 31, 2013 12:03 am 文章主題: |
|
|
先試看看,重新開啟 SPL01B.FRX,
選擇[設定列印格式],
按下[列印設定],
指定你要印的印表機,
把紙張格式改成 LETTER,
存檔後,再試印看看.
(這些動作是更新報表檔中的預設印表機及紙張格式) _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
kk_lee69
註冊時間: 2013-03-30 文章: 2
第 3 樓
|
發表於: 星期日 三月 31, 2013 2:20 am 文章主題: |
|
|
syntech 寫到: | 先試看看,重新開啟 SPL01B.FRX,
選擇[設定列印格式],
按下[列印設定],
指定你要印的印表機,
把紙張格式改成 LETTER,
存檔後,再試印看看.
(這些動作是更新報表檔中的預設印表機及紙張格式) |
了解 我在測試看看 ,不過 我的6.0是英文版的...我不熟FOXPRO 所以你說的位置其實我有點模糊...... 我在實際測試看看
不過我剛剛測試出一個心得 如果我在報表法前面 加上
SYS(1037)
這樣的話 會有對話框,選擇紙張印表機 都沒問題,而且同一個報表 只要選一次,後面再列印 預設值都會跟前面選的一樣.....
想請教 難道沒有方法 可以直接抓取 WINDOWS 預設的印表機的名稱跟紙張設定嗎?? 既然 SYS(1037) 可以影響 那麼 沒有辦法利用 SYS(1037)抓取完畢以後直接等於按下確認....
或者 可以讓我設定一次 就都不用每次列印都出現嗎?? |
|
回頂端 |
|
 |
bx1166
註冊時間: 2011-12-06 文章: 273
第 4 樓
|
發表於: 星期日 三月 31, 2013 7:28 am 文章主題: |
|
|
開始 印表機設定 內容 裡面直接去設定使用Letter紙張 試試看 |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 5 樓
|
發表於: 星期一 四月 01, 2013 10:19 am 文章主題: |
|
|
kk_lee69 寫到: | 如果我在報表法前面 加上
SYS(1037)
這樣的話 會有對話框,選擇紙張印表機 都沒問題,而且同一個報表 只要選一次,後面再列印 預設值都會跟前面選的一樣.....
|
你誤打誤撞修改了報表預設值.
這就是我說的動作.
英文版的話,
當你已經開啟報表檔後,
選擇[File][Page Setup],
然後按下[Print Setup],
選擇SIZE是 'Letter',
再按下[ok]
sys(1037) 就是開啟[Print Setup]設定 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|