用lisp开发类excel数据库功能?
由于excel数据库功能强大,简单易用,我们一些程序用它编写。请问有谁用lisp开发类excel数据库功能? ;;;Excel数据库函数简单易用,仿此写Dget();;;(Dget )
;;;datafile文件可由Excel内拷贝粘贴成txt文件
;;;要求datafile内容按序排列
;|示例
(setq b 1000);b是其它程序运行结果
;;下句与txt文件第一行有关,第一行都成了全局变量,故需将它们写入主函数的局部变量中
(setq filter '(and (= 带宽 b) (>= 头轮合力 170)))
(setq datafile "book1.txt")
(Dget filter datafile)|;
(defun Dget (filter datafile / F FILEHEAD FL J JB LENGT LOOP LST X)
(vl-load-com)
(setq FL (findfile datafile)) ;找到文件
(setq f (open FL "r")) ;只读打开文件
(setq fileHead (READ-LINE f)) ;读取文件第一行
(setq lst (read (strcat "(" fileHead ")"))) ;加括号
(setq loop T)
(setq lengt (length lst))
(while (and loop (setq jb (READ-LINE f)));最后一行后再读返回nil
(setq jb (read (strcat "(" jb ")")))
(setq j -1)
(repeat lengt
(setq j (1+ j) x (nth j lst))
(SETQ FL (nth j jb))
;;如果不是数字,转换成字符串
(IF (NUMBERP FL) nil (SETQ FL (VL-PRINC-TO-STRING FL)))
(set x FL)
)
(if (eval filter) (setq loop nil));满足条件时结束循环,不再读取文件
)
(close f)
)
;;;(princ "黄明儒写于2011年11月12日")
;;欢迎同学们批评指正 下来看看先
页:
[1]