[Profile] Continue-CALculate 連續計算巨集

HyperEditor Q&A/技術交流
主題已鎖定
dllee
進階會員
文章: 43
註冊時間: 29日 5月 2003年, 08:34
聯繫:

[Profile] Continue-CALculate 連續計算巨集

文章 dllee »

以下的 pro 檔頭的說明文件,提供您需不需要下載的參考。
如果有任何使用上的問題或意見,請回應,謝謝。

【註】因為網頁字型顯示的關係,以下說明可能因字不對齊而怪怪的,請下載後,用漢書開啟。


;;======================================
;; ccal.pro  Continue-CALculate 連續計算巨集  v1.00 【漢書Profile】he6.00+
;;
;; 1999.04.21 (c) by 李棟樑 <dllee@edirect168.com> http://dllee.ktop.com.tw
;;======================================
;;
;; ■ 目的
;;
;;  對於一般量的運算,如學生成績的計算,只要將公式建好,透過按鍵定義算式
;;  的範圍及輸出位置,即可快速得到解答,而不必使用 Excel。
;;
;;
;; ■ 安裝方法
;;
;;  您可以選擇以下任一種安裝方法:
;;
;;  1. 如果您沒有自己定義 my.pro 可以直接將本檔案改名成 my.pro 放在漢書的
;;    安裝目錄即可。
;;
;;  2. 如果您有自己定義 my.pro ,請在 my.pro 的 def autoexec 中加入以下的
;;    設定
;;
;;     def autoexec=[exist ccal.pro]
;;            [if %Exist][m ccal.pro][end]
;;
;;    如果您還沒有定義 autoexec 則直接將上面一行文字去掉前面的空白及註解 ;;
;;    貼到您的 my.pro 中即可。
;;    如果您已定義 autoexec 則將上述的定義加在您原本 autoexec 定義之後即可。
;;
;;
;; ■ 定義巨集指令
;;
;;  setCalLeftPos    記錄計算式左邊位置
;;  setCalRightPos    記錄計算式右邊位置
;;  setCalShowPos    設定計算結果輸出位置
;;  getCalResult     將計算結果輸出到設定位置,並自動下移一行
;;
;;  筆者習慣將以上的指令分別定義給 Win-7,8,9,0 。當然,使用者也可以自行修改
;;  對應按鍵。以下的使用方法解說是以筆者慣用的定義來說明。
;;
;;
;; ■ 使用方法
;;
;;  用 Win-7 記錄計算式左邊位置
;;  用 Win-8 記錄計算式右邊位置
;;  用 Win-9 設定計算結果輸出位置 (預設位置是 Win-8 設定位置的右邊)
;;  用 Win-0 執行計算,並將計算結果輸出到設定位置,然後自動移到下一行,
;;       以便再按下 Win-0 繼續計算
;;    Win-= 與 Win-0 的弁酮萓P。
;;
;;  例如,有以下的資料要計算:
;;
;;      35%    30%    35%
;;    平時成績   期中考   期末考   原始總分
;;    ========   ======   ======   ========
;;      83  *.35+ 51 *.30+ 72 *.35=      ←第一行算式
;;      96  *.35+ 86 *.30+ 96 *.35=
;;      89  *.35+ 40 *.30+ 72 *.35=
;;      79  *.35+ 91 *.30+ 93 *.35=
;;      50  *.35+ 89 *.30+ 74 *.35=
;;      89  *.35+ 61 *.30+ 72 *.35=
;;      78  *.35+ 45 *.30+ 90 *.35=
;;      87  *.35+ 74 *.30+ 88 *.35=
;;      86  *.35+ 93 *.30+ 95 *.35=
;;      87  *.35+ 19 *.30+ 72 *.35=
;;      89  *.35+ 83 *.30+ 90 *.35=
;;      91  *.35+ 75 *.30+ 98 *.35=
;;      77  *.35+ 72 *.30+ 85 *.35=
;;      89  *.35+ 84 *.30+ 76 *.35=
;;      86  *.35+ 75 *.30+ 72 *.35=
;;    ========   ======   ======   ========
;;     ↑                   ↑  ↑
;;    w-7                 w-8  w-9
;;
;;  在以上的位置分別按下 w-7 , w-8 , w-9 ,然後將游標移到第一行算式的
;;  任一位置,按 15 次 w-0 計算結果就會顯示在 = 號之後了,如下:
;;
;;      35%    30%    35%
;;    平時成績   期中考   期末考   原始總分
;;    ========   ======   ======   ========
;;      83  *.35+ 51 *.30+ 72 *.35= 69.55
;;      96  *.35+ 86 *.30+ 96 *.35= 93
;;      89  *.35+ 40 *.30+ 72 *.35= 68.35
;;      79  *.35+ 91 *.30+ 93 *.35= 87.5
;;      50  *.35+ 89 *.30+ 74 *.35= 70.1
;;      89  *.35+ 61 *.30+ 72 *.35= 74.65
;;      78  *.35+ 45 *.30+ 90 *.35= 72.3
;;      87  *.35+ 74 *.30+ 88 *.35= 83.45
;;      86  *.35+ 93 *.30+ 95 *.35= 91.25
;;      87  *.35+ 19 *.30+ 72 *.35= 61.35
;;      89  *.35+ 83 *.30+ 90 *.35= 87.55
;;      91  *.35+ 75 *.30+ 98 *.35= 88.65
;;      77  *.35+ 72 *.30+ 85 *.35= 78.3
;;      89  *.35+ 84 *.30+ 76 *.35= 82.95
;;      86  *.35+ 75 *.30+ 72 *.35= 77.8
;;    ========   ======   ======   ========
;;
;;======================================
;; 1999.04.21(c)v1.00 by 李棟樑<dllee@edirect168.com> http://dllee.ktop.com.tw
;;======================================
附加檔案
ccal.pro
Continue-CALculate 連續計算巨集
(5.75 KiB) 已下載 164 次
dllee
進階會員
文章: 43
註冊時間: 29日 5月 2003年, 08:34
聯繫:

直接把 pro 檔都放上來好了,用需要的請儘量使用 :D

文章 dllee »

代碼: 選擇全部

;;======================================
;; ccal.pro   Continue-CALculate 連續計算巨集    v1.00  【漢書Profile】he6.00+
;;
;; 1999.04.21 (c)  by  李棟樑 <dllee@edirect168.com>  http://dllee.ktop.com.tw
;;======================================
;;
;; ■ 目的
;;
;;    對於一般量的運算,如學生成績的計算,只要將公式建好,透過按鍵定義算式
;;    的範圍及輸出位置,即可快速得到解答,而不必使用 Excel。
;;
;;
;; ■ 安裝方法
;;
;;    您可以選擇以下任一種安裝方法:
;;
;;    1. 如果您沒有自己定義 my.pro 可以直接將本檔案改名成 my.pro 放在漢書的
;;       安裝目錄即可。
;;
;;    2. 如果您有自己定義 my.pro ,請在 my.pro 的 def autoexec 中?#91;入以下的
;;       ?#93;定
;;
;;          def autoexec=[exist ccal.pro]
;;                       [if %Exist][m ccal.pro][end]
;;
;;       如果您還沒有定義 autoexec 則直接將上面一行文字去掉前面的空白及註解 ;;
;;       貼到您的 my.pro 中即可。
;;       如果您已定義 autoexec 則將上述的定義?#91;在您原本 autoexec 定義之後即可。
;;
;;
;; ■ 定義巨集指令
;;
;;    setCalLeftPos        記錄計算式左邊位置
;;    setCalRightPos       記錄計算式右邊位置
;;    setCalShowPos        ?#93;定計算結果輸出位置
;;    getCalResult         將計算結果輸出到?#93;定位置,並自動下移一行
;;
;;    筆者習慣將以上的指令分別定義給 Win-7,8,9,0 。當然,使用者?#93;可以自行修改
;;    對應按鍵。以下的使用方法解說是以筆者慣用的定義來說明。
;;
;;
;; ■ 使用方法
;;
;;    用 Win-7 記錄計算式左邊位置
;;    用 Win-8 記錄計算式右邊位置
;;    用 Win-9 ?#93;定計算結果輸出位置 ?#93;預?#93;位置是 Win-8 ?#93;定位置的右邊)
;;    用 Win-0 執行計算,並將計算結果輸出到?#93;定位置,然後自動移到下一行,
;;             以便再按下 Win-0 繼續計算
;;       Win-= 與 Win-0 的功能相同。
;;
;;    例如,有以下的資料要計算:
;;
;;            35%        30%        35%
;;        平時成績     期中考     期末考     原始總分
;;        ========     ======     ======     ========
;;           83   *.35+  51  *.30+  72  *.35=            ←第一行算式
;;           96   *.35+  86  *.30+  96  *.35=
;;           89   *.35+  40  *.30+  72  *.35=
;;           79   *.35+  91  *.30+  93  *.35=
;;           50   *.35+  89  *.30+  74  *.35=
;;           89   *.35+  61  *.30+  72  *.35=
;;           78   *.35+  45  *.30+  90  *.35=
;;           87   *.35+  74  *.30+  88  *.35=
;;           86   *.35+  93  *.30+  95  *.35=
;;           87   *.35+  19  *.30+  72  *.35=
;;           89   *.35+  83  *.30+  90  *.35=
;;           91   *.35+  75  *.30+  98  *.35=
;;           77   *.35+  72  *.30+  85  *.35=
;;           89   *.35+  84  *.30+  76  *.35=
;;           86   *.35+  75  *.30+  72  *.35=
;;        ========     ======     ======     ========
;;         ↑                               ↑ ↑
;;        w-7                              w-8 w-9
;;
;;    在以上的位置分別按下 w-7 , w-8 , w-9 ,然後將游標移到第一行算式的
;;    任一位置,按 15 次 w-0 計算結果就會顯示在 = 號之後了,如下:
;;
;;            35%        30%        35%
;;        平時成績     期中考     期末考     原始總分
;;        ========     ======     ======     ========
;;           83   *.35+  51  *.30+  72  *.35=  69.55
;;           96   *.35+  86  *.30+  96  *.35=  93
;;           89   *.35+  40  *.30+  72  *.35=  68.35
;;           79   *.35+  91  *.30+  93  *.35=  87.5
;;           50   *.35+  89  *.30+  74  *.35=  70.1
;;           89   *.35+  61  *.30+  72  *.35=  74.65
;;           78   *.35+  45  *.30+  90  *.35=  72.3
;;           87   *.35+  74  *.30+  88  *.35=  83.45
;;           86   *.35+  93  *.30+  95  *.35=  91.25
;;           87   *.35+  19  *.30+  72  *.35=  61.35
;;           89   *.35+  83  *.30+  90  *.35=  87.55
;;           91   *.35+  75  *.30+  98  *.35=  88.65
;;           77   *.35+  72  *.30+  85  *.35=  78.3
;;           89   *.35+  84  *.30+  76  *.35=  82.95
;;           86   *.35+  75  *.30+  72  *.35=  77.8
;;        ========     ======     ======     ========
;;
;;======================================
;; 1999.04.21(c)v1.00 by 李棟樑<dllee@edirect168.com> http://dllee.ktop.com.tw
;;======================================

%@Calleftpos=1
%@Calrightpos=1
%@Calshowpos=1
def setCalLeftPos =[%@Calleftpos =%Column]            ;; 以目前位置當算式?#125;始
                   [%@Calrightpos=%@Calleftpos+50]    ;; 預?#93; 50 個字元的算式
                   [%@Calshowpos =%@Calrightpos+1]    ;; 預?#93;結果顯示在算式之後
                   [message 記錄計算式左點位置] [delay 36]
def setCalRightPos=[%@Calrightpos=%Column]            ;; 以目前位置當算式結束
                   [%@Calshowpos =%@Calrightpos+1]    ;; 預?#93;結果顯示在算式之後
                   [message 記錄計算式右點位置] [delay 36]
def setCalShowPos =[%@Calshowpos =%Column]            ;; 以目前位置作為輸出位置
                   [message ?#93;定計算式輸出位置] [delay 36]
def getCalResult  =[push mark]                        ;; 將目前的標記放入堆疊
                   [column %@Calleftpos] [mark block] ;; 標記算式
                   [column %@Calrightpos][mark block]
                   [sum]                              ;; 計算求值
                   [column %@Calshowpos]'%CalResult'  ;; 顯示結果
                   [down]                             ;; 下移一行準備下一次計算
                   [pop mark]                         ;; 自堆疊取回之前的標記
                   [message]                          ;; 清除 message

;;----------------------------以下按鍵定義使用者可自行?#93;定
def w-7=[setCalLeftPos]    ;; 記錄計算式左邊位置
def w-8=[setCalRightPos]   ;; 記錄計算式右邊位置
def w-9=[setCalShowPos]    ;; ?#93;定計算結果輸出位置
def w-0=[getCalResult]     ;; 將計算結果輸出到?#93;定位置,並自動下移一行
def w-equal=[getCalResult] ;; 將計算結果輸出到?#93;定位置,並自動下移一行

[/quote]
沒空更新的網頁...
http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
主題已鎖定