lee50310 发表于 2022-6-15 09:28:25

本帖最后由 lee50310 于 2022-6-16 18:46 编辑

檔案存取分類
一般的檔案存取的方式大致分為二種,循序 與 隨機

1. 循序存取檔案:就像是傳統的錄音帶一樣,我們如果要聽第 5 首歌,我們必
                           須要先聽完前4首歌,或者用快轉過去,才能夠聽到第 5 首
                            歌,無法直點點選想要的曲目。

2. 隨機存取檔案:就是我們知道 第五首歌 的位置在 第幾分幾秒
                            那麼只要輸入此值便可很快找到這首歌不用重頭聽到尾
                                 
lisp要打開文件,我們使用open函數,除了文件的完整路徑外,還需要一個參數打開模式。此參數可以具有以下值:

(open filename mode) filename(檔案名):要打開的文件的名稱和路徑。如果未指定文件的完整路徑名,打開預設的AutoCAD默認目錄。

mode(模式)指示文件是否已打開以進行讀取,寫入或追加。
指定包含以下字母之一的字符串:
"r":(閱讀)閱讀;
"w" :(寫)寫(覆蓋任何現有文本);
"a" :(追加)開啟追加。如果filename不存在,則創建並打開一個新文件。
         如果filename已存在,寫入(追加在現有文本之後)。
         open返回指向文件的指針,如果文件不存在則創建。使用close函數後必須關閉文件。

打開文件後,配合的函數
可以使用read-line函數讀取它。此函數連續返回文件的每一行,直到沒有更多行為止。它通常與while循環使用。
write-line函數用於在打開寫入的文件中寫入一行。
write-char和read-char函數的工作方式與write-line和read-line類似,但它們不是每行寫入或返回一個字符串,而是每個字符寫入或返回一個 ascii 代碼。
最後是 關閉檔 close 函數







lee50310 发表于 2022-6-15 10:11:21

本帖最后由 lee50310 于 2022-6-15 15:13 编辑

提供一個範例將 TESTFILE.TXT 文字檔 寫入硬碟 D槽 TEMP路徑下
(PS: D槽必需建立 TEMP目錄夾 否則檔案無法存入)


;;簡單文字檔寫入例子
;;
;;-------------------------------------------------------------------------------
(defun c:tt()
    (setq fn (open "D:/TEMP/TESTFILE.TXT" "w"))                                    ;;覆蓋內容 參數:w
            (write-line "*** 這是一個檔案練習範例. ***" fn)
            (write-line "測試一" fn)
            (write-char 266 fn)                                                   ;;換行
            (write-line (strcat "    key = "(chr 34) "sizze" (chr 34) ";") fn)    ;;空格 (chr 34)
            (write-line(strcat " label = "(chr 34) "title" (chr 34) ";")   fn)
    (close fn)
)
;;-------------------------------------------------------------------------------
可將程式 OPEN 函數的 參數 "w" 改為 "a"後存檔
執行指令tt觀察 TESTFILE.TXT 檔 有何不同




柳飘飘 发表于 2022-6-16 08:43:18

lee50310 发表于 2022-6-15 09:28
檔案存取分類
一般的檔案存取的方式大致分為二種,循序 與 隨機



谢谢版主的分享,我好好看看,学习一下。

桃子 发表于 2022-6-16 13:38:38

强强强
页: 1 2 3 [4]
查看完整版本: 如何让程序,自动加载某个文件夹下面的lsp呢?