⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cale.il

📁 可以在cadence程序中直接调用的calc
💻 IL
字号:

(defun _cale_Form ()

        time = getCurrentTime()
        time = parseString(time)


        day = nth(2 time)
        month = car(time)
        year = nth(3 time)
        date = strcat("   Date:   " month "    " day "    " year)

        FORMFILE = outfile( "./cale.form")
        fprintf( FORMFILE "FILE_TYPE=FORM_DEFN VERSION=2\n")
        fprintf( FORMFILE "FORM\n")
        fprintf( FORMFILE "FIXED\n")
        fprintf( FORMFILE "PORT 40 13\n")
        fprintf( FORMFILE "HEADER \"Cale - by Fastprint\"\n")
        fprintf( FORMFILE "\n")
        fprintf( FORMFILE "TILE\n")
	
        fprintf( FORMFILE "FIELD value_show\n")
        fprintf( FORMFILE "FLOC 2 1\n")
        fprintf( FORMFILE "STRFILLIN 20 100\n")
        fprintf( FORMFILE "ENDFIELD\n")
        fprintf( FORMFILE "\n")
        
        fprintf( FORMFILE "TEXT \"=\"\n")
        fprintf( FORMFILE "TLOC  25 1\n")
        fprintf( FORMFILE "ENDTEXT\n\n")
        
        fprintf( FORMFILE "FIELD jieguo\n")
        fprintf( FORMFILE "FLOC 27 1\n")
        fprintf( FORMFILE "REALFILLIN 10 100\n")
        fprintf( FORMFILE "ENDFIELD\n")
        fprintf( FORMFILE "\n")
        
        fprintf( FORMFILE "FIELD mils\n")
        fprintf( FORMFILE "FLOC 2 4\n")
        fprintf( FORMFILE "REALFILLIN 10 100\n")
        fprintf( FORMFILE "ENDFIELD\n")
        fprintf( FORMFILE "\n")
        
        fprintf( FORMFILE "TEXT \"mils\"\n")
        fprintf( FORMFILE "TLOC  15 4\n")
        fprintf( FORMFILE "ENDTEXT\n\n")
        
        fprintf( FORMFILE "FIELD mm\n")
        fprintf( FORMFILE "FLOC 22 4\n")
        fprintf( FORMFILE "REALFILLIN 10 100\n")
        fprintf( FORMFILE "ENDFIELD\n")
        fprintf( FORMFILE "\n")
        
        fprintf( FORMFILE "TEXT \"mm\"\n")
        fprintf( FORMFILE "TLOC  35 4\n")
        fprintf( FORMFILE "ENDTEXT\n\n")
        
	fprintf( FORMFILE "FIELD clear\n")
	fprintf( FORMFILE "FLOC 10 7\n")
	fprintf( FORMFILE "MENUBUTTON \"Clear\" 5 3\n")
        fprintf( FORMFILE "ENDFIELD\n")
   	fprintf( FORMFILE "\n")


	fprintf( FORMFILE "FIELD exit\n")
	fprintf( FORMFILE "FLOC 25 7\n")
	fprintf( FORMFILE "MENUBUTTON \"EXIT\" 5 3\n")
        fprintf( FORMFILE "ENDFIELD\n")
       	fprintf( FORMFILE "\n")
                
        fprintf( FORMFILE "ENDTILE\n")
        fprintf( FORMFILE "\n")
        fprintf( FORMFILE "ENDFORM\n")
        close( FORMFILE)
        form = (axlFormCreate (gensym) "cale.form" `("E" "OUTER") `cale_Callback t)
        axlFormDisplay( form)
        axlUIWPrint(form date)
        axlFormSetDecimal(form "jieguo" 4)
        axlFormSetDecimal(form "mils" 3)
        axlFormSetDecimal(form "mm" 4)
        deleteFile( "cale.form")
        s = ""
        m1 = 0.0
        m2 = 0.0
        m3 = 0.0
        a = ""
)

(defun cale_Callback (form)
(prog ()
    case( form->curField
          ("value_show"
              t1=1
              i=1
              s = form->curValue
              while(t1==1
                    a=symbolToString(getchar(s i))
                    i++
                    case(a
                         ("+" 
                           t1=0
                           m1_c= car(parseString(s "+"))
                           m2_c= nthelem(2 parseString(s "+"))
                           sscanf(m1_c "%f" m1 )
                           sscanf(m2_c "%f" m2 )
                           m3=m1+m2
                          )
                         ("-" 
                           t1=0
                           m1_c= car(parseString(s "-"))
                           m2_c= nthelem(2 parseString(s "-"))
                           sscanf(m1_c "%f" m1 )
                           sscanf(m2_c "%f" m2 )
                           m3=m1-m2
                          )
                         ("*" 
                           t1=0
                           m1_c= car(parseString(s "*"))
                           m2_c= nthelem(2 parseString(s "*"))
                           sscanf(m1_c "%f" m1 )
                           sscanf(m2_c "%f" m2 )
                           m3=m1*m2
                          )
                         ("/" 
                           t1=0
                           m1_c= car(parseString(s "/"))
                           m2_c= nthelem(2 parseString(s "/"))
                           sscanf(m1_c "%f" m1 )
                           sscanf(m2_c "%f" m2 )
                           m3=m1/m2
                          )
                        )
                     axlFormSetField( form "jieguo" m3)
                   );end while
           t)
           
           ("mils"
              mils = form->curValue
              mm = axlMKSConvert( mils "MILS" "MM")
              axlFormSetField( form "mm" mm)
           t)
           
           ("mm"
              mm = form->curValue
              mils = axlMKSConvert( mm "MM" "MILS")
              axlFormSetField( form "mils" mils)
           t)
           
           ("clear"
             axlFormSetField( form "value_show" nil)
             axlFormSetField( form "jieguo" nil)
             axlFormSetField( form "mils" nil)
             axlFormSetField( form "mm" nil)
           t)
           ("exit"
             axlFormClose(form)
           t)

      )
 ))
    
axlCmdRegister( "cale" `_cale_Form)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -