明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4198|回复: 10

mccad,你好﹕我現在把其他內容發上去了 煩麻您了

[复制链接]
发表于 2002-6-20 12:45 | 显示全部楼层 |阅读模式
對不起﹐我以為我全部發上去呢﹖現在發其他的可以嗎﹖現在把其他內容發上
請你原諒﹐還望你能幫幫我

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2002-6-20 12:55 | 显示全部楼层

每行有18个字段,你要显示的是哪几个字段?

 楼主| 发表于 2002-6-20 16:39 | 显示全部楼层

mccad﹐你好﹕需要顯示的內容

1.在DCL中的"popup_list1"中顯示TEXT中的"SIZE"下面的資料如"1515""1518"
  "1520"。。。等﹐在DCL中的"popup_list2"中顯示TEXT中的"TT"下面的如﹕
   "20""25"。。。等
2.當TEXT中的資料在LSP中顯示后﹐我選擇"1515"后﹐那么在DCL中的"edit_box"
  中顯示相應的TEXT中的"GX"下面的資料"57" 。就這樣﹐非常感謝您的指導﹗
 楼主| 发表于 2002-6-22 09:33 | 显示全部楼层

mccad 你好:需要顯示的內容﹐再資煩麻您

1.在DCL中的"popup_list1"中顯示TEXT中的"SIZE"下面的資料如"1515""1518"
"1520"。。。等﹐在DCL中的"popup_list2"中顯示TEXT中的"TT"下面的如﹕
"20""25"。。。等
2.當TEXT中的資料在LSP中顯示后﹐我選擇"1515"后﹐那么在DCL中的"edit_box"
中顯示相應的TEXT中的"GX"下面的資料"57" 。就這樣﹐非常感謝您的指導﹗
发表于 2002-6-22 11:40 | 显示全部楼层

准备给你写几个函数调用

其实这段时间都很忙。
你的文本数据库形式由于每个字段的长度都是一定的,其实可以按第几个字符开始读取相应的数据。
 楼主| 发表于 2002-6-22 13:07 | 显示全部楼层

mccad 你好:能否告訴我﹐我不知道怎么寫 非常感謝您在百忙中幫我們解答﹐謝謝

发表于 2002-6-22 17:43 | 显示全部楼层

其实,自己写一些,对函数的理解会深刻一些

其实,自己写一些,对函数的理解会深刻一些
(setq ls (open "*.txt" "r"))
(setq llist (read (strcat "(' (read-line ls) ")")))
;;llist 为表
然后求你要的表中的一段一段的就好了!
发表于 2002-6-22 21:50 | 显示全部楼层

以下程序你试一下吧,把你需要的部分写好了

由于不太明白你的数据库字段与对话框编辑的对应关系,只写了个大概,你自己试着改动吧:


;;******************************************************
(defun c:sidegate (/ pk dd typ dcl ty mb kuan files tmplst str fn)
  (setq dcl (load_dialog "sidegate.dcl"))
  (if (not (new_dialog "sidegate" dcl))
    (exit)
  )
  (sidegate_start)

  (setq des_list (getsizelst (findfile "sidegate.TXT")))
  (start_list "gauge")
  (mapcar 'add_list des_list)
  (end_list)

  (foreach mb '("wang0" "wang1" "wang2" "wang3")
    (action_tile
      mb
      "(if typ (mode_tile typ 4)) (setq typ $key) (mode_tile typ 4)"
    )
  )
  (action_tile
    "gauge"
    "(setq pk (atoi $value))(settypevalue (+ pk 1))"
  )
  (action_tile "kuan" "(setq kuan  (atof $value))")
  (action_tile "accept" "(done_dialog)")
  (action_tile "cancel" "(done_dialog)(exit)")
  (start_dialog)
  (unload_dialog dcl)
  (setq dd (start_dialog))
  (if (= dd 1)
    (guowang)
  )

)

;;显示幻灯片函数
(defun sidegate_start (/ pt1 pt2 program)
  (setq        pts_lst        (list "0" "1" "2" "3")
  )
  (foreach pt0 pts_lst
    (setq pt1 (strcat "wang" pt0)
    )
    (start_image pt1)
    (slide_image
      0
      -10
      (dimx_tile pt1)
      (dimy_tile pt1)
      (strcat "a" pt0)
    )
    (end_image)
  )
)

;;按列表选项显示选项中的内容于编辑框内的函数
(defun settypevalue (ln)
  (setq files "sidegate.txt")
  (setq lnvalue (mc_getfile_text files ln))
  (set_tile "mu" (itoa ln))
  (if lnvalue
    (progn
  (set_tile "mu" (gettypevALue lnvalue "TT"))
  (set_tile "gong" (gettypevALue lnvalue "ET"))
  (set_tile "jiao_value" (gettypevALue lnvalue "FT"))
  (set_tile "dao" (gettypevALue lnvalue "GD"))
  (set_tile "daog" (gettypevALue lnvalue "GX"))
  (set_tile "daoz" (gettypevALue lnvalue "GY"))
  (set_tile "jieh" (gettypevALue lnvalue "SW1"))
  (set_tile "luo" (gettypevALue lnvalue "S1X"))
  (set_tile "luos" (gettypevALue lnvalue "S1Y"))
  (set_tile "hui" (gettypevALue lnvalue "RD"))
  (set_tile "huix" (gettypevALue lnvalue "RX"))
  (set_tile "huiz" (gettypevALue lnvalue "RY"))
  (set_tile "ding" (gettypevALue lnvalue "SW2"))
  (set_tile "luosi" (gettypevALue lnvalue "S2X"))
  (set_tile "luozh" (gettypevALue lnvalue "S2Y"))
  ))
)
;;******************************************************

;;将文件中有关SIZE值部分取出并形成列表的函数
(defun getsizelst (fildes / tmplst x fn)
  (setq tmplst nil)
  (setq fn (open fildes "r"))
  (read-line fn)
  (while (setq x (read-line fn))
    (setq x (substr x 2 4))
    (setq tmplst (append tmplst (list x)))
  )
  (close fn)
  (setq tmplst tmplst)
)

;;获取指定行指定列的值
(defun gettypevalue (ln vn)
  (setq vn (strcase vn))
  (cond
    ((or (= vn "SIZE") (= vn "1"))
     (setq x (substr ln 1 4))
    )
    ((or (= vn "TT") (= vn "2"))
     (setq x (substr ln 8 2))
    )
    ((or (= vn "ET") (= vn "3"))
     (setq x (substr ln 11 2))
    )
    ((or (= vn "FT") (= vn "4"))
     (setq x (substr ln 14 2))
    )
    ((or (= vn "CW") (= vn "5"))
     (setq x (substr ln 17 2))
    )
    ((or (= vn "GD") (= vn "6"))
     (setq x (substr ln 21 2))
    )
    ((or (= vn "GX") (= vn "7"))
     (setq x (substr ln 25 3))
    )
    ((or (= vn "GY") (= vn "8"))
     (setq x (substr ln 29 3))
    )
    ((or (= vn "SW1") (= vn "9"))
     (setq x (substr ln 34 3))
    )
    ((or (= vn "S1X") (= vn "10"))
     (setq x (substr ln 39 5))
    )

    ((or (= vn "S1Y") (= vn "11"))
     (setq x (substr ln 45 3))
    )
    ((or (= vn "RD") (= vn "12"))
     (setq x (substr ln 50 2))
    )
    ((or (= vn "RX") (= vn "13"))
     (setq x (substr ln 54 2))
    )
    ((or (= vn "RY") (= vn "14"))
     (setq x (substr x 58 3))
    )
    ((or (= vn "SW2") (= vn "15"))
     (setq x (substr ln 63 3))
     (if (= (substr x 3 1) "\"")
       (setq x (substr x 1 2))
     )
    )
    ((or (= vn "S2X") (= vn "16"))
     (setq x (substr ln 68 2))
    )
    ((or (= vn "S2Y") (= vn "17"))
     (setq x (substr ln 72 3))
    )
    ((or (= vn "SW3") (= vn "18"))
     (setq x (substr ln 77 3))
    )
  )
)

;;获取文件中指定行的值的函数
(defun mc_getfile_text (files line / fn text)
  (setq line (+ 1 line))
  (setq files (findfile files))
  (if files
    (progn
      (setq fn (open files "r"))
      (if (<= line (mc_getfile_line files))
        (progn
          (repeat line
            (setq text (read-line fn))
          )
          (close fn)
          text
        )
        nil
      )
    )
    nil
  )
)
;;获取文件中的行数的函数
(defun mc_getfile_line(files / tmplst x fn)
  (setq files(findfile files))
  (if files
    (progn
      (setq tmplst 0)
      (setq fn(open files "r"))
      (while (read-line fn)
        (setq tmplst (+ 1 tmplst))
      )
      (close fn)
      tmplst
    )
    nil
  )
)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2002-6-24 16:31 | 显示全部楼层

前生﹐你好﹕謝謝您的意見

你好﹕謝謝您的意見﹐我是一個剛入門的初學者﹐還有很多地方需你們的幫助。
 楼主| 发表于 2002-6-24 16:36 | 显示全部楼层

mcada你好:非常感謝

mcada你好:非常感謝﹐有一點問題﹐就是﹕我選擇size下的資料"2545"以上可以正常顯示﹐"2730"以下則會出現以下提示
"; 錯誤: 損壞的引數類型: stringp nil" 我找不出原因﹐真不好意思又麻煩你了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-20 01:37 , Processed in 0.549518 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表