• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Allegro X Scripting - Skill
  3. Getting values by form CHECKLIST

Stats

  • Replies 6
  • Subscribers 18
  • Views 10448
  • Members are here 0
More Content

Getting values by form CHECKLIST

vimaldevlpr
vimaldevlpr over 4 years ago

hi,

Any body help me out this kind of loop CHECKLIST case.

In input selected corresponding part value want to print any one please help me out from this.

Input -                                                                                               Output - 

                                                                                                                     aaa ccc

Code:

  list1 = '("aaa" "bbb" "ccc" "ddd")
  
  datainp = 5
  foreach(listlp list1
   adata = sprintf(nil, "TEXT \"%s\"\n", listlp)
   fprintf(backform adata)
   adt = sprintf(nil, "TLOC 5 %d\n", datainp)
   fprintf(backform adt)
   
   datainp = datainp + 5
   fprintf(backform "ENDTEXT\n")
  )
  
  datainp2 = 5
  foreach(listlp3 list1
   fprintf(backform "FIELD Checkdt\n")
   adt2 = sprintf(nil, "FLOC 25 %d\n", datainp2)
   fprintf(backform adt2)
   fprintf(backform "CHECKLIST \"Check\" \n")
   fprintf(backform "ENDFIELD\n")
   fprintf(backform "\n")
   datainp2 = datainp2 + 5
  )

fprintf(backform "FIELD TOCHECK\n")
  fprintf(backform "FLOC 13 1\n")
  fprintf(backform "MENUBUTTON \"Checking\" 10 4\n")
  fprintf(backform "ENDFIELD\n")
  fprintf(backform "\n")

(defun back_Action (backform)
 (case backform->curField
  ("TOCHECK"
   ("Checkdt"
    if(backform->curValue then
           

         ;Help me to get the corresponding value


    )
   )
  )
 )
 axlFormDisplay(backform)
)

  • Cancel
  • Sign in to reply
Parents
  • DavidJHutchins
    DavidJHutchins over 4 years ago

    try the modified code shown  below:

    (setq list1 list("aaa" "bbb" "ccc" "ddd"))
    (setq backform_file "back.form")
    procedure(chk()
    createbackform()
    backform_run()
    )
    procedure(backform_run()
    let((backform)
    (backform = axlFormCreate(gensym() backform_file nil 'back_Action t))
    axlFormDisplay(backform)
    )
    )
    procedure(createbackform()
    let((backform datainp adata adt datainp2 adt2)
    (backform = outfile(backform_file "w"))
    fprintf(backform "FILE_TYPE=FORM_DEFN VERSION=2\n")
    fprintf(backform "FORM\n")
    fprintf(backform "FIXED\n")
    fprintf(backform "PORT 42 10\n")
    fprintf(backform "HEADER \"UI CHECK\"\n")
    fprintf(backform "\n")
    fprintf(backform "TILE\n")
    (datainp = 5)
    foreach(listlp list1
    (adata = sprintf(nil "TEXT \"%s\"\n" listlp))
    fprintf(backform adata)
    (adt = sprintf(nil "TLOC 5 %d\n" datainp))
    fprintf(backform adt)
    (datainp = (datainp + 5))
    fprintf(backform "ENDTEXT\n")
    )
    (datainp2 = 5)
    foreach(listlp3 list1
    fprintf(backform "FIELD %s\n" listlp3)
    (adt2 = sprintf(nil "FLOC 25 %d\n" datainp2))
    fprintf(backform adt2)
    fprintf(backform "CHECKLIST \"Check\" \n")
    fprintf(backform "ENDFIELD\n")
    fprintf(backform "\n")
    (datainp2 = (datainp2 + 5))
    )
    fprintf(backform "FIELD TOCHECK\n")
    fprintf(backform "FLOC 13 1\n")
    fprintf(backform "MENUBUTTON \"Checking\" 10 4\n")
    fprintf(backform "ENDFIELD\n")
    fprintf(backform "\n")
    fprintf(backform "\n")
    fprintf(backform "ENDTILE\n")
    fprintf(backform "\n")
    fprintf(backform "ENDFORM\n")
    drain()
    close(backform)
    )
    )
    procedure(back_Action(backform)
    case((backform->curField)
    ("TOCHECK"
    foreach(listlp3 list1
    when(axlFormGetField(backform listlp3)
    print(listlp3)
    )
    print(" ")
    )
    println(" ")
    )
    )
    axlFormDisplay(backform)
    )

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • DavidJHutchins
    DavidJHutchins over 4 years ago

    try the modified code shown  below:

    (setq list1 list("aaa" "bbb" "ccc" "ddd"))
    (setq backform_file "back.form")
    procedure(chk()
    createbackform()
    backform_run()
    )
    procedure(backform_run()
    let((backform)
    (backform = axlFormCreate(gensym() backform_file nil 'back_Action t))
    axlFormDisplay(backform)
    )
    )
    procedure(createbackform()
    let((backform datainp adata adt datainp2 adt2)
    (backform = outfile(backform_file "w"))
    fprintf(backform "FILE_TYPE=FORM_DEFN VERSION=2\n")
    fprintf(backform "FORM\n")
    fprintf(backform "FIXED\n")
    fprintf(backform "PORT 42 10\n")
    fprintf(backform "HEADER \"UI CHECK\"\n")
    fprintf(backform "\n")
    fprintf(backform "TILE\n")
    (datainp = 5)
    foreach(listlp list1
    (adata = sprintf(nil "TEXT \"%s\"\n" listlp))
    fprintf(backform adata)
    (adt = sprintf(nil "TLOC 5 %d\n" datainp))
    fprintf(backform adt)
    (datainp = (datainp + 5))
    fprintf(backform "ENDTEXT\n")
    )
    (datainp2 = 5)
    foreach(listlp3 list1
    fprintf(backform "FIELD %s\n" listlp3)
    (adt2 = sprintf(nil "FLOC 25 %d\n" datainp2))
    fprintf(backform adt2)
    fprintf(backform "CHECKLIST \"Check\" \n")
    fprintf(backform "ENDFIELD\n")
    fprintf(backform "\n")
    (datainp2 = (datainp2 + 5))
    )
    fprintf(backform "FIELD TOCHECK\n")
    fprintf(backform "FLOC 13 1\n")
    fprintf(backform "MENUBUTTON \"Checking\" 10 4\n")
    fprintf(backform "ENDFIELD\n")
    fprintf(backform "\n")
    fprintf(backform "\n")
    fprintf(backform "ENDTILE\n")
    fprintf(backform "\n")
    fprintf(backform "ENDFORM\n")
    drain()
    close(backform)
    )
    )
    procedure(back_Action(backform)
    case((backform->curField)
    ("TOCHECK"
    foreach(listlp3 list1
    when(axlFormGetField(backform listlp3)
    print(listlp3)
    )
    print(" ")
    )
    println(" ")
    )
    )
    axlFormDisplay(backform)
    )

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • vimaldevlpr
    vimaldevlpr over 4 years ago in reply to DavidJHutchins

    Hi david thanks for the reply one last help please.

    I would like to get like this output shown below. for me it shows nil I will attach my code below can you please recorrect my code. please

    Input -                                                                                                                             Output -

                                                                                                                                                       aaa, 30.00

                                                                                                                                                       ccc, 40.00

    code -

    (setq list1 list("aaa" "bbb" "ccc" "ddd"))
    (setq viamod_lyrform_file "viamod_lyr.form")
    procedure(chk_lyr()
    createviamod_lyrform()
    viamod_lyrform_run()
    )
    procedure(viamod_lyrform_run()
    let((viamod_lyrform)
    (viamod_lyrform = axlFormCreate(gensym() viamod_lyrform_file nil 'viamod_lyr_Action t))
    axlFormDisplay(viamod_lyrform)
    )
    )
    procedure(createviamod_lyrform()
    let((viamod_lyrform datainp adata adt datainp2 adt2)
    (viamod_lyrform = outfile(viamod_lyrform_file "w"))
    fprintf(viamod_lyrform "FILE_TYPE=FORM_DEFN VERSION=2\n")
    fprintf(viamod_lyrform "FORM\n")
    fprintf(viamod_lyrform "FIXED\n")
    fprintf(viamod_lyrform "PORT 42 10\n")
    fprintf(viamod_lyrform "HEADER \"UI CHECK\"\n")
    fprintf(viamod_lyrform "\n")
    fprintf(viamod_lyrform "TILE\n")
    (datainp = 5)
    foreach(listlp list1
    (adata = sprintf(nil "TEXT \"%s\"\n" listlp))
    fprintf(viamod_lyrform adata)
    (adt = sprintf(nil "TLOC 5 %d\n" datainp))
    fprintf(viamod_lyrform adt)
    (datainp = (datainp + 2))
    fprintf(viamod_lyrform "ENDTEXT\n")
    )
    (datainp2 = 5)
    foreach(listlp3 list1
    fprintf(viamod_lyrform "FIELD %s\n" listlp3)
    (adt2 = sprintf(nil "FLOC 25 %d\n" datainp2))
    fprintf(viamod_lyrform adt2)
    ;fprintf(viamod_lyrform "CHECKLIST \n")
    fprintf(viamod_lyrform "REALFILLIN 5 5\n")
    fprintf(viamod_lyrform "REALMIN 1.0\n")
    fprintf(viamod_lyrform "REALMAX 1000.000000\n")
    fprintf(viamod_lyrform "ENDFIELD\n")
    fprintf(viamod_lyrform "\n")
    (datainp2 = (datainp2 + 2))
    )
    fprintf(viamod_lyrform "FIELD TOCHECK\n")
    fprintf(viamod_lyrform "FLOC 13 1\n")
    fprintf(viamod_lyrform "MENUBUTTON \"Checking\" 10 4\n")
    fprintf(viamod_lyrform "ENDFIELD\n")
    fprintf(viamod_lyrform "\n")
    fprintf(viamod_lyrform "\n")
    fprintf(viamod_lyrform "ENDTILE\n")
    fprintf(viamod_lyrform "\n")
    fprintf(viamod_lyrform "ENDFORM\n")
    drain()
    close(viamod_lyrform)
    )
    )
    procedure(viamod_lyr_Action(viamod_lyrform)
    sym_data = nil
    case((viamod_lyrform->curField)
    ("TOCHECK"
    foreach(listlp3 list1
    when(axlFormGetField(viamod_lyrform listlp3)
     StubVal = viamod_lyrform->curValue
     finalrep = sprintf(nil, "%s,%L", listlp3, StubVal)
     print(finalrep)
     when(finalrep push(finalrep sym_data))
    )
    ;print(" ")
    )
    ;println(" ")
    )
    )
    axlFormDisplay(viamod_lyrform)
    sym_wrkng()
    )
    procedure(sym_wrkng()
    print(sym_data)
    )
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Cadence Guidelines

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information