马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
看了一下关中大师的DCL对话框 可惜我的电脑坏了!学习的话相当有难度 不知道哪位大师可以出手写一下 会用DCL对话框的人是不难的!附图如 要求如下:
1如假厂名打上勾 那么就按照字大小 厂名 色来生成文字 这里的难点就是读取外部TXT文件 假如TXT文件增加了则对话框中也会增加 减少的话也会减少!
2同上
现在附上关中大师的程序源码!希望高手出手相助一下 电脑坏了 学习很有难度!
 - (vl-load-com)
- (defun c:test ( / dcl_id dd )
- (setq dcl_id (load_dialog "test"));加载对话框文件 把对话框文件放在支持文件搜索路径下
- (if (< dcl_id 0);如果对话框文件返回值为0
- (PROGN
- (alert "\n请把对话框文件放在支持文件搜索路径下")
- (exit)
- )
- )
- (new_dialog "test" dcl_id);启动对话框
- (test_sub_3);数据成表
- (show_list "wlist" word_list);增加列表 wlist插图比例返回值
- (if (and
- tt
- (vl-position tt word_list)
- )
- (progn
- (set_tile "wlist" (itoa (vl-position tt word_list)));设定属性值
- (set_tile "wlist1" tt);wlist1编辑返回值 (setq tt (get_tile "wlist1"))
- )
- (progn
- (set_tile "wlist" "0")
- (set_tile "wlist1" "A")
- )
- )
- (action_tile "wlist" "(test_sub_2 $value)")
- (action_tile "accept" "(ok_test)(done_dialog 1)")
- (action_tile "cancel" "(DONE_DIALOG 0)")
- (setq dd (start_dialog))
- (if (= dd 1)
- (princ "\n****操作完成****")
- (princ "\n****操作已取消****")
- )
- (princ)
- )
- (defun test_sub_1 (txt / dat_file ff);写入文件
- (setq dat_file (findfile "test.TXT"))
- (setq ff (open dat_file "a"))
- (write-line txt ff);写入文件到FF文件中
- (close ff)
- )
- (defun test_sub_2 (vvs)
- (set_tile "wlist1" (nth (atoi vvs) word_list))
- )
- ;;; 读文本数据成表
- (defun test_sub_3 (/ data datalist ff file datalist1 n i)
- (setq file (findfile "test.TXT"));查找这个文件
- (setq ff (open file "R"));以只读方式打开这个文件
- (setq data (read-line ff));读取这个文件
- (setq datalist '());建一个新的表
- (while data
- (setq datalist (cons data datalist))
- (setq data (read-line ff))
- )
- (close ff)
- (setq word_list (reverse datalist))
- (prin1)
- )
- (defun ok_test (/ data datalist ff file)
- (setq tt (get_tile "wlist1"))
- (if (= (member tt word_list) nil) ; 如果编辑栏的内容不在列表中则将其增?
- ; 拥搅斜?
- (progn
- (test_sub_1 tt)
- (setq file (findfile "test.TXT"))
- (setq ff (open file "R"))
- (setq data (read-line ff))
- (setq datalist '())
- (while data
- (setq datalist (cons data datalist))
- (setq data (read-line ff))
- )
- (close ff)
- (setq word_list (reverse datalist))
- )
- )
- )
- (defun show_list (key newlist)
- (start_list key);增加或者删除列表
- (mapcar
- 'add_list ;增加列表进去
- newlist
- )
- (end_list);结束列表
- )
|