• 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 replacing:

      foreach(listlp3 list1
       fprintf(backform "FIELD Checkdt\n")

    With the following:

      foreach(listlp3 list1
       fprintf(backform "FIELD %s\n",listlp3)d

    And then replace:

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

    With the following:

    foreach(listlp3 list1

        axlFormSetField backform listlp3 nil)

    )

    procedure(back_Action(backform)

        foreach(listlp3 list1

            when( (axlFormGetField backfrom listlp3) print(listlp3))

            print(" ")

        )

        println(" ")

    )

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

    Hi David,

    Thanks for the reply I tried to replace your code but it shows me ERROR - E- *Error* eval: unbound variable - backfrom.

    I will attach edited code below can you please recorrect it.

    Code -

    (defun chk ()
     createbackform()
     backform()
    )
    (defun backform ()
     backform=axlFormCreate( (gensym) backform_file nil 'back_Action t)
     axlFormDisplay(backform)
    )
    (defun createbackform ()
     drain()
      backform_file = "back.form"
      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")
      
      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 %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 Checkdt\n")
      ;fprintf(backform "FLOC 10 20 \n")
      ;fprintf(backform "CHECKLIST \"Check\" \n")
      ;fprintf(backform "ENDFIELD\n")
      
      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")
     close(backform)
    )
    (defun back_Action (backform)
     (case backform->curField
      ("TOCHECK"
        foreach(listlp3 list1
         (axlFormSetField backform listlp3 nil)
        )
           foreach(listlp3 list1
         when((axlFormGetField backfrom listlp3) print(listlp3))
         print(" ")
        )
         println(" ")
      )
     )
     axlFormDisplay(backform)
    )
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • vimaldevlpr
    vimaldevlpr over 4 years ago in reply to DavidJHutchins

    Hi David,

    Thanks for the reply I tried to replace your code but it shows me ERROR - E- *Error* eval: unbound variable - backfrom.

    I will attach edited code below can you please recorrect it.

    Code -

    (defun chk ()
     createbackform()
     backform()
    )
    (defun backform ()
     backform=axlFormCreate( (gensym) backform_file nil 'back_Action t)
     axlFormDisplay(backform)
    )
    (defun createbackform ()
     drain()
      backform_file = "back.form"
      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")
      
      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 %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 Checkdt\n")
      ;fprintf(backform "FLOC 10 20 \n")
      ;fprintf(backform "CHECKLIST \"Check\" \n")
      ;fprintf(backform "ENDFIELD\n")
      
      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")
     close(backform)
    )
    (defun back_Action (backform)
     (case backform->curField
      ("TOCHECK"
        foreach(listlp3 list1
         (axlFormSetField backform listlp3 nil)
        )
           foreach(listlp3 list1
         when((axlFormGetField backfrom listlp3) print(listlp3))
         print(" ")
        )
         println(" ")
      )
     )
     axlFormDisplay(backform)
    )
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
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