CADsite forum

AutoCAD => Autolisp => Topic gestart door: Atwist op ma 23 05 2011, 10:47:34

Titel: Meervoudige keuze menu
Bericht door: Atwist op ma 23 05 2011, 10:47:34
Hallo forumleden,

Ik heb een meervoudige keuzemenu gemaakt, maar deze doet niet wat ik wil.
In de DCL staan "toggles" zodat ik deze kan aan vinken, als ik de lisp laat draaien dan kan ik maar 1 keuze maken en deze wordt gelijk uitgevoerd.
Maar ik wil graag dat ik meer kan aan vinken en dan op de knop uitvoer drukken en dan pas de keuzes uitvoeren.
Heeft iemand een ideen hoe dit moet??
Heb al op http://web2.airmail.net/terrycad/Tutorials/MyDialogs.htm (http://web2.airmail.net/terrycad/Tutorials/MyDialogs.htm) gekeken maar daar kom ik niet verder, altands ik zie het niet.


 (action_tile "puD" "(do_act $key)")
 (action_tile "puB" "(do_act $key)")
 (action_tile "puLA" "(do_act $key)")
 (action_tile "puLT" "(do_act $key)")
 (action_tile "puMA" "(do_act $key)")
 (action_tile "puSH" "(do_act $key)")
 (action_tile "puST" "(do_act $key)")
 (action_tile "puM" "(do_act $key)")
 (action_tile "puT" "(do_act $key)")
 (action_tile "puV" "(do_act $key)")
 (action_tile "puR" "(do_act $key)")
 (action_tile "puPL" "(do_act $key)")
 (action_tile "puall" "(do_act $key)")
 (action_tile "puUIT" "(do_act $key)")
 (action_tile "cancel" "(do_act $key)")
 
 (start_dialog)
 (cond
  ((= op "puD")
   (command "-purge" "D" "*" "N" ""))
  ((= op "puB")
   (command "-purge" "B" "*" "N" ""))
  ((= op "puLA")
   (command "-purge" "LA" "*" "N" ""))
  ((= op "puLT")
   (command "-purge" "LT" "*" "N" ""))
  ((= op "puMA")
   (command "-purge" "MA" "*" "N" ""))
  ((= op "puSH")
   (command "-purge" "SH" "*" "N" ""))
  ((= op "puST")
   (command "-purge" "ST" "*" "N" ""))
  ((= op "puM")
   (command "-purge" "M" "*" "N" ""))
  ((= op "puT")
   (command "-purge" "T" "*" "N" ""))
  ((= op "puV")
   (command "-purge" "V" "*" "N" ""))
  ((= op "puR")
   (command "-purge" "R" "*" "N" ""))
  ((= op "puPL")
   (command "-purge" "PL" "*" "N" ""))
  ((= op "puall")
   (command "-purge" "ALL" "*" "N" ""))
 )
)
(prin1)
Titel: Re:Meervoudige keuze menu
Bericht door: roy_043 op ma 23 05 2011, 11:40:04
Atwist: het is eigenlijk heel simpel:
Er is maar 1 variabele op.
Elke keer als je iets aanvinkt krijgt deze een nieuwe waarde en gaat de oude waarde verloren.
Je kunt geen commando's uitvoeren terwijl een DCL dialoog actief is.

Je zult het programma dus anders moeten opbouw. Het handigste is om van de op variabele een lijst te maken. M.b.v. (cons) kun je deze vullen en als de dialog afgesloten is kun je met (member) de lijst analyseren en de gewenste acties uitvoeren.
Titel: Re:Meervoudige keuze menu
Bericht door: PJ op ma 23 05 2011, 11:43:57
Je kan voor elke action key een variable maken die je aan/uit  'toggelt' vyia een functie. En je voegt een OK of RUN knop toe die dan je functie start aan de hand van je ingestelde variabelen.
Titel: Re:Meervoudige keuze menu
Bericht door: roy_043 op ma 23 05 2011, 14:47:02
Atwist je zult ook gebruik moeten maken van $value naast $key.
Titel: Re:Meervoudige keuze menu
Bericht door: Atwist op di 24 05 2011, 12:33:04
Roy & PJ,

Ik ben eens bezig geweest met onderstaande maar ik krijg het niet voor elkaar dat de lisp een opdracht uitvoerd,
Lisp en DCL werken wel goed
(defun c:tog (/   Dcl_Id%     Toggle1$   Toggle2$
      Toggle3$   Toggle4$    Toggle5$   Return#
     )
  (princ "\nAndre is aan het testen")
  (princ)
; Set Default Variables
  (if (not *MyToggles@) ;Unique global variable name to store dialog info
    (setq *MyToggles@ (list nil "0" "0" "0" "0" "0"))
  ) ;if
  (setq Toggle1$ (nth 1 *MyToggles@)
Toggle2$ (nth 2 *MyToggles@)
Toggle3$ (nth 3 *MyToggles@)
Toggle4$ (nth 4 *MyToggles@)
Toggle5$ (nth 5 *MyToggles@)
  ) ;setq
; Load Dialog
  (setq Dcl_Id% (load_dialog "Mytoggles.dcl"))
  (new_dialog "MyToggles" Dcl_Id%)
; Set Dialog Initial Settings
  (set_tile "Title" " My Toggles")
  (set_tile "Toggle1" Toggle1$)
  (set_tile "Toggle2" Toggle2$)
  (set_tile "Toggle3" Toggle3$)
  (set_tile "Toggle4" Toggle4$)
  (set_tile "Toggle5" Toggle5$)
; Dialog Actions
  (action_tile "Toggle1" "(setq Toggle1$ $value)")
  (action_tile "Toggle2" "(setq Toggle2$ $value)")
  (action_tile "Toggle3" "(setq Toggle3$ $value)")
  (action_tile "Toggle4" "(setq Toggle4$ $value)")
  (action_tile "Toggle5" "(setq Toggle5$ $value)")
  (setq Return# (start_dialog))
; Unload Dialog
  (unload_dialog Dcl_Id%)
  (cond
    ((= op "toggle1")
     (load "start")
     (c:tsm)
    )
    (setq
     *MyToggles@
     (list nil Toggle1$ Toggle2$ Toggle3$ Toggle4$ Toggle5$)
    )
    (princ)
  ) ;defun c:tog
)


Hebben jullie nog een tip
Titel: Re:Meervoudige keuze menu
Bericht door: roy_043 op di 24 05 2011, 13:23:56
Atwist je gooit dingen door elkaar. De variabele op wordt nu nergens ingesteld.

Probeer dit:

  (cond
    ((= op "toggle1")
     (load "start")
     (c:tsm)
    )
    (setq
     *MyToggles@
     (list nil Toggle1$ Toggle2$ Toggle3$ Toggle4$ Toggle5$)
    )
    (princ)
  )


Te vervangen door:

(if (= Toggle1$ "1")
  (progn
    (load "start")
    (c:tsm)
  )
)
(setq *MyToggles@ (list nil Toggle1$ Toggle2$ Toggle3$ Toggle4$ Toggle5$))
(princ)
Titel: Re:Meervoudige keuze menu
Bericht door: Atwist op di 24 05 2011, 14:04:53
Roy,

Dank je wel het werkt, nu ga dit in mijn eigen lisp inbouwen.
Dit moet volgens mijn nu wel lukken.

:vreegoe:
Titel: Re:Meervoudige keuze menu
Bericht door: Atwist op di 24 05 2011, 18:22:17
Ben nu druk bezig om de eerdere code in te bouwen maar het wil mij niet lukken.
Krijg steeds fout meldingen te veel haakjes dan weer te weinig  en dan weer te veel argumenten.
Ik ben het spoor kwijt.
(defun c:tsm (/ id op puD§ puB§ puLA§)
  (defun do_act (key_pr)
    (setq op key_pr)
    (setq dlg_pt (done_dialog))
  )
  (setq id (load_dialog "start"))
  (if (< id 0)
    (exit)
  )
  (if (not dlg_pt)
    (setq dlg_pt (list -1 -1)
    )
    (if (not *start@)
      (setq *start@
     (list nil "0" "0" "0")
  )
  (setq puD$ (nth 1 *start@)
puB$ (nth 2 *start@)
puLA$ (nth 3 *start@)
  )
  (set_tile "puD" puD$)
  (set_tile "puB" puB$)
  (set_tile "puLA" puLA$)
 

      (if (not (new_dialog "start" id "" dlg_pt))
(exit)
)
(action_tile "puD" "(setq puD$ $value)")
(action_tile "puB" "(setq puD$ $value)")
(action_tile "puLA" "(setq puD$ $value)")

)
(action_tile "retab" "(do_act $key)")
(action_tile "filedia" "(do_act $key)")
(action_tile "steal" "(do_act $key)")
(action_tile "tekst" "(do_act $key)")


Wie heeft er een tip voor mij
Titel: Re:Meervoudige keuze menu
Bericht door: PJ op di 24 05 2011, 20:16:49
Dit is even moeilijk te testen zonder de DCL, als je me je lsp en dcl even stuurt (of hier plaatst) kijk ik er wo naar.
De code in je post lijkt te zijn afgebroken.
Een goede tip : zoek notepad++ op internet, dat heeft een goede teksteditor die mooi je tekst tussen open en gesloten haakje toont en laat ook toe een enkele tekst in 2 verschillende vensters te editeren.

mail = pj@digitalplantservices.net
Titel: Re:Meervoudige keuze menu
Bericht door: Atwist op wo 25 05 2011, 06:12:12
PJ,

Hierbij de lisp en DCL
Titel: Re:Meervoudige keuze menu
Bericht door: EddyBeerke op wo 25 05 2011, 07:46:10
Voor het teveel aan haakjes:
Dit kun je in de lispeditor van acad (commando: vlide) makkelijk controleren.
Ga neer het begin van de code bij "(defun... " en zet de cursor voor het "(" gebruik dan de toetsencomb. "Ctrl+]" om te zoeken naar het sluitende ")", dus voor naar rechts.
Voor linksom te zoeken gebruik je "Ctrl+["
En dan heb je nog de "Check editor window"-knop, in de toolbar/menu "Tools",  om de code op dergelijke fouten te controleren.
Titel: Re:Meervoudige keuze menu
Bericht door: Atwist op wo 25 05 2011, 08:45:25
Eddy

Dankje voor de tip  :vreegoe: :vreegoe:
Ik heb het werkend :D

Met Notepad++ (tip van PJ) had ik al een paar fouten eruit gehaald, met check edit window kon ik de laatste 2 er uit halen.

Mijn dank
Titel: Re:Meervoudige keuze menu
Bericht door: Atwist op wo 25 05 2011, 09:08:12
Heb er nu nog een fout in zitten

De lisp houd de vorige instelling van de toggle vast hoe zou ik dit kunnen wijzigen??
Titel: Re:Meervoudige keuze menu
Bericht door: roy_043 op wo 25 05 2011, 13:30:58
Citaat van: Atwist op wo 25 05 2011, 09:08:12
Heb er nu nog een fout in zitten

De lisp houd de vorige instelling van de toggle vast hoe zou ik dit kunnen wijzigen??
Atwist, dit is een erg vreemde vraag. Een flink deel van jouw code is er juist op gericht om deze instellingen te onthouden!
Titel: Re:Meervoudige keuze menu
Bericht door: Atwist op wo 25 05 2011, 15:25:56
Roy,

Ik geloof je graag, maar mijn kennis van programmeren is nog zeer gering.
Het is de bedoeling dat de toggles weer "gereset" worden, nu gaat de lisp telkens purgen als ik afsluit.

Titel: Re:Meervoudige keuze menu
Bericht door: PJ op wo 25 05 2011, 23:14:32
Citaat van: Atwist op wo 25 05 2011, 15:25:56
Roy,

Ik geloof je graag, maar mijn kennis van programmeren is nog zeer gering.
Het is de bedoeling dat de toggles weer "gereset" worden, nu gaat de lisp telkens purgen als ik afsluit.


Dan kan je best die waardes op een gewenste default zetten vooraan in de routine.
Titel: Re:Meervoudige keuze menu
Bericht door: Atwist op do 26 05 2011, 13:59:44
PJ,

Volgens mij staat de waarde op 0 (dus uit)
   (list nil "0" "0" "0")

Of lees ik dit verkeerd, is dit weer wat anders :roll:
Titel: Re:Meervoudige keuze menu
Bericht door: roy_043 op do 26 05 2011, 16:13:39
Beste Atwist,

Het is eigenlijk hoog tijd dat je je serieuzer met lisp gaat bezighouden. Dus niet zomaar een beetje knippen en plakken, maar begrijpen wat je doet. Ik geef je nog een zetje:

Code uit bericht #4 en #5 (instellingen worden onthouden)

(defun c:tog (/ Dcl_Id%     Toggle1$    Toggle2$
                Toggle3$    Toggle4$    Toggle5$    Return#
             )
  (princ "\nAndre is aan het testen")
  (princ)
  (if (not *MyToggles@)
    (setq *MyToggles@ (list nil "0" "0" "0" "0" "0"))
  )
  (setq Toggle1$ (nth 1 *MyToggles@)
        Toggle2$ (nth 2 *MyToggles@)
        Toggle3$ (nth 3 *MyToggles@)
        Toggle4$ (nth 4 *MyToggles@)
        Toggle5$ (nth 5 *MyToggles@)
  )
  (setq Dcl_Id% (load_dialog "Mytoggles.dcl"))
  (new_dialog "MyToggles" Dcl_Id%)
  (set_tile "Title" " My Toggles")
  (set_tile "Toggle1" Toggle1$)
  (set_tile "Toggle2" Toggle2$)
  (set_tile "Toggle3" Toggle3$)
  (set_tile "Toggle4" Toggle4$)
  (set_tile "Toggle5" Toggle5$)
  (action_tile "Toggle1" "(setq Toggle1$ $value)")
  (action_tile "Toggle2" "(setq Toggle2$ $value)")
  (action_tile "Toggle3" "(setq Toggle3$ $value)")
  (action_tile "Toggle4" "(setq Toggle4$ $value)")
  (action_tile "Toggle5" "(setq Toggle5$ $value)")
  (setq Return# (start_dialog))
  (unload_dialog Dcl_Id%)
  (if (= Toggle1$ "1")
    (progn
      (load "start")
      (c:tsm)
    )
  )
  (setq *MyToggles@ (list nil Toggle1$ Toggle2$ Toggle3$ Toggle4$ Toggle5$))
  (princ)
)


Aangepaste versie van deze code. De instellingen worden nu niet onthouden:

(defun c:tog (/ Dcl_Id%     Toggle1$    Toggle2$
                Toggle3$    Toggle4$    Toggle5$    Return#
             )
  (princ "\nAndre is aan het testen")
  (princ)
  (setq Dcl_Id% (load_dialog "Mytoggles.dcl"))
  (new_dialog "MyToggles" Dcl_Id%)
  (set_tile "Title" " My Toggles")
  (action_tile "Toggle1" "(setq Toggle1$ $value)")
  (action_tile "Toggle2" "(setq Toggle2$ $value)")
  (action_tile "Toggle3" "(setq Toggle3$ $value)")
  (action_tile "Toggle4" "(setq Toggle4$ $value)")
  (action_tile "Toggle5" "(setq Toggle5$ $value)")
  (setq Return# (start_dialog)) ; Return# wordt nog (?) niet gebruikt
  (unload_dialog Dcl_Id%)
  (if (= Toggle1$ "1")
    (progn
      (load "start")
      (c:tsm)
    )
  )
  (princ)
)


Groet, Roy.

PS: In jouw laatste start.lsp gebruik je puD$ en puB§ door elkaar. Dat kan vanzelfsprekend nooit werken.
Titel: Re:Meervoudige keuze menu
Bericht door: Atwist op do 26 05 2011, 18:44:53
Roy,

Dank voor je voorzet
Ik ben niet met knip en plak werk bezig ik probeer de simpele programma's te ontcijferen en kijken of ik het kan gebruiken.
Er zullen altijd fragmenten van andere lisp's in zitten, zo ben jij en ook andere begonnen.
Ben dan wel x jaren tekenaar maar ik mijn nagenoeg nooit met programeren bezig gehouden en het dan nog op latere leeftijd nog zo uit de mouw schudden zo als jullie dat doen dan ben ik nog wel een tijdje bezig.
Volgens mij is dit forum om elkaar te helpen, wij stellen toch ook vragen op andere forum's omdat wij het niet weten.

Atwist
Titel: Re:Meervoudige keuze menu
Bericht door: roy_043 op do 26 05 2011, 19:46:45
Atwist, het ontbreekt jou wat lisp betreft toch echt aan basiskennis.
Als je hier iets aan wilt doen dan is dit een aanrader (Duitstalig, maar dat is voor jou geen probleem):
http://www.autolisp-tutorial.mapcar.net/
Titel: Re:Meervoudige keuze menu
Bericht door: HofCAD op do 04 08 2011, 20:01:53
Beste Atwist,

Sommige mensen hebben geluk bij het slechte weer! :mrgreen:
Ik vind persoonlijk dat bijv. het onderstaande programma Retab beter is:
(defun c:Retab (/ App Dir)
  (setq App (strcat "mditab" (substr (getvar "ACADVER") 1 2))
          Dir  "T:\\Instellingen\\twist engineering\\lisp map\\"
  )
  (arxunload app (princ (strcat "\n" App " is unloaded.")))
  (setq App (strcat Dir App))
  (if (findfile (strcat App ".arx"))
    (progn
      (arxload App)
      (princ "\nThe drawingtabs are reloaded.")
    )
    (progn
      (alert (strcat " Application error: \n"
     App
     ".arx"
     " does not exist!"
     )
      )
      (princ
(strcat "\nWarning: File "
(strcat App ".arx")
" does not exist!"
)
      )
    )
  )
  (princ)
)

a) Geen foutmelding als de applicatie mditab##.arx niet geladen is.
b) Automatische keuze tussen mditab17.arx en mditab18.arx.
c) Duidelijke foutmelding als mditab##.arx onvindbaar is.

In de attachment zit het programma Tsm.lsp, wat volgens mij van een
betere opzet is dan je Start.lsp (Attachment  in: Antwoord #9).
a) De dialoogbox (*.dcl) wordt naar een tijdelijk bestand geschreven.
b) Er zit meer structuur in door de subroutines, en hopelijk maar 1 globale
  variabele TsmValPuLst.(Dit moet ik nog controleren. :oops:)
c) Door de formating door VLIDE is het programma ook beter leesbaar.
d) Er zijn meer controles op fouten.
e) Als een Lisp bestand onder een button niet gevonden kan worden, volgt er
    een melding.
f) Onderdrukking van overbodig commentaar.
g) Purge settings worden onthouden.
h) Een programma SetTsm voor resetting Purge settings.
i) Een duidelijke load commentaar.

Ik heb het programma niet volledig gecheckt, en het is ook nog niet optimaal!
Probeer het eens uit! :pintje:

Met vriendelijke groet, HofCAD CSI.

PS1 Ik snap niet goed wat je wilt bereiken met de knop 'Uitvoeren'.

PS2 Als een button aanstaat, dan kan het zijn dat er niet gepurged wordt.
Dit is makkelijk te verhelpen door het 'purge gedeelte' boven het programma
gedeelte te zetten(Wat ook door mij gedaan is)

(@Purge)
(@RunExtSub KeyNo KeyLst)


PS3 In het programma Start.lsp staat:
((= op "tekst")
  (c:tins)
)

((= op "optelU")
  (c:optel-r)
)

Moet dit niet vervangen worden door bijv.:
((= op "tekst")
  (if (@FindLoad "tins.lsp")
    (c:tins)
  )
)

of door
((= op "tekst")
  (if (null c:tins)
    (princ
      "\nWarning: Command TINS is not possible. Load the necessary file."
    )
    (c:tins)
  )
)
Titel: Re:Meervoudige keuze menu
Bericht door: Atwist op vr 05 08 2011, 14:22:22
Ik waardeer dit heel erg dat jij hier tijd in hebt gestoken. :o

Heb de lisp geprobeer en getest tot nu is het gewoon helemaal top. :vreegoe:

Ik ben nu bezig (ook al heb ik het druk) om het een en ander uit te vissen en waarom jij dit zo hebt gedaan, om hiervan te leer natuurlijk.  :mrgreen:

Re.PS1    de uitvoer knop is bedoeld voor het purg gedeelte dus om een purg opdracht te geven zonder dat het "TSM"             scherm weg gaat en was ook bedoeld dat dan gelijk troggle's worden gereset.

Re. PS2   Heb nog geen probleem gehad met het niet purgen maar ik zal dit onthouden.

Re. PS3   Deze code hebt ik zo gemaakt omdat de "TINS" wordt opgestart bij de strat van AutoCad.
                De reden hiervoor is dat als ik het net als de andere doe dat geeft het vaak problemen met het strarten van "TINS".


Nogmaals erg veel dank hiervoor. :vreegoe:
Titel: Re:Meervoudige keuze menu
Bericht door: HofCAD op zo 07 08 2011, 01:36:25
Beste Atwist,

Je antwoord #21 is me niet helemaal duidelijk, maar ik hoop dat je via het
onderstaande beter kan aangeven wat je wilt.

1) Als de button 'Uitvoeren' wordt gekozen:
1a) De dialoogbox verdwijnt tijdelijk.
  (Of je dit opmerkt is afhankelijk van het werk, maar het kan niet anders!)
1b) Er wordt alleen gepurged volgens de gekozen purge instellingen.:?:(Ja/Nee)
1c) De dialoogbox komt weer op.
1d) Hierbij moeten de vorige gekozen purge instellingen nog aanstaan. :?:(Ja/Nee)
1e) De purge instellingen kan men dan eventueel wijzigen, en men kan ook
    eventueel een button aanklikken buiten de categorie 'Purge keuze'.
1f) Hier na heeft men de keuze voor 'Uitvoeren', 'OK', 'Cancel' en 'Help'.
2) Als de button 'OK' wordt gekozen:
2a) De dialoogbox verdwijnt.
2b) Er wordt eventueel gepurged volgens de gekozen purge instellingen. :?:(Ja/Nee)
2c) Als er buiten de categorie 'Purge keuze' nog een button aanstaat, dan
    wordt geprobeerd om een extern programma op te starten.
2d) De gekozen purge instellingen mogen dan ook bewaard blijven. :?:(Ja/Nee)
2e) Het programma wordt beëindigd.
3) Als de button 'Cancel' wordt gekozen:
3a) De dialoogbox verdwijnt.
3b) Er wordt niets gepurged en er wordt ook geen extern programma opgestart.
3c) De gekozen purge instellingen mogen dan ook bewaard blijven. :?:(Ja/Nee)
3d) Het programma wordt beëindigd.
4) Als de button 'Help' wordt gekozen:
4a1) Dan gebeurt er nu en in de toekomst niets. :?:(Ja/Nee)
4a2) De button 'Help' mag verdwijnen! :?:(Ja/Nee)
4a3) Het eventuele help bestand heeft als extensie :?: (*.Chm/*.Pdf/Anders)
       Een *.Chm is beter.
4a4) Wat wordt de eventuele naam van het help bestand?:?: (TsmHelp.Chm/TsmHelp.Pdf/Anders)


De consequentie 'dat de gekozen purge instellingen bij een 'OK' of bij een 'Cancel'
bewaard blijven' is, dat bij een herstart van het programma Tsm de dialoogbox weer
kan opkomen met de bewaarde purge instellingen.

Als men bij de purge instellingen gekozen heeft voor 'Purge alles', maar bijv. ook
ook voor 'Blocks' en 'Layers' dan moet alleen een PURGE All volgen? :?:(Ja/Nee)

Heb je de waarschuwingen die nu op de commandoregel verschijnen liever in
een scherm? :?:(Ja/Nee/Beiden)

Moet je tijdens het herhaald purgen met de button 'Uitvoeren' geen scherm zien
of er nog iets valt te purgen? :?:(Ja/Nee)

Met vriendelijke groet, HofCAD CSI.



PS1 Je kiest er voor om te purgen via het programma Tsm en het commando -PURGE,
maar is het commando PURGE niet gebruiksvriendelijker?
Je hebt o.a. binnen een optie geen controle op wat je purged!
PS2 Ook je DCL bestand is niet zoals het hoort.
Je moet eerst een Label aangeven en dan pas een Key en niet omgekeerd.
Dit heeft mij namelijk proplemen gegeven bij de repetitie van purgen met
de button 'Uitvoeren'.
PS3  Om een *.Doc om te zetten naar een *.Chm
Zie bijv. http://download.cnet.com/Batch-DOC-to-CHM-Generator/3000-2079_4-10909381.html
PS4  Je werkt in Duitsland, maar je bent volgens mij niet van Nederlandse noch
    van Duitse afkomst!
:pintje:

Titel: Re:Meervoudige keuze menu
Bericht door: Atwist op ma 08 08 2011, 07:49:00
Hallo HofCad,

Mijn excuus voor de late reactie, hebben de hele nacht door gewerkt op locatie.

Maar goed even overgaan tot de orden van de dag.

1b = ja
1d = nee
2b = nee
2d = nee
3c = nee

4 Er komt geen help bestand

PurgALL = ja

Waarschuwing het liefst in het scherm.

Purg herhaal scherm = ja

PS1: Heb ik mij zelf aangeleerd maar waarom weet ik niet.
PS2: Dit komt omdat ik bestaande lispen ombouw en dan neem je natuurlijk ook de fouten over.
PS3: Oke
PS4: Ben Nederlander maar woon/werk al 7 jaar in Duitsland en door dat ik steeds wissel van de Nederlands naar
de Duitse taal wijzig gebeurd het vaak dat ik spel fouten ik de tekst heb staan Ik denk dat je daar op doelt.
Titel: Re:Meervoudige keuze menu
Bericht door: HofCAD op ma 08 08 2011, 11:26:15
Beste Atwist,

In het bestand Tsm2a.lsp zit nog steeds de Help, en in bestand Tsm2b.lsp
is de Help verwijderd.
Als je Tsm2a.lsp op de Help klikt krijg je nu nog de Lisp Help, maar je kan ook
maken dat bijv. een andere CHM, een PDF of je website geopend wordt.
Probeer ze eens uit.

Met vriendelijke groet, HofCAD CSI.
Titel: Re:Meervoudige keuze menu
Bericht door: Atwist op di 09 08 2011, 15:24:08
Hallo HofCad.

Ik heb er flink mee gestoeid en het werkt allemaal geweldig, het enigste wat nu verveelend is is dat ik nu twee knoppen moet aan kliken (bij het orgineel "start") was dat een handeling.
Dus klik een je ging door zonder eerst op OK nog te drukken.

Maar voor de rest hellemaal top
Titel: Re:Meervoudige keuze menu
Bericht door: HofCAD op di 09 08 2011, 16:20:07
Citaat van: Atwist op di 09 08 2011, 15:24:08
Hallo HofCad.

Dus klik en je ging door zonder eerst op OK nog te drukken.

Beste Atwist,

Je hebt dat zo gemaakt, maar wat voor functie had dan de 'OK' button.
De 'OK' button is er voor dat de gebruiker nadenkt over zijn keuze!

Met vriendelijke groet, HofCAD CSI.

PS in het programma Tsm2c.lsp heeft de 'OK' een zelfde werking als de 'Cancel'.
Titel: Re:Meervoudige keuze menu
Bericht door: Atwist op di 09 08 2011, 16:38:31
Geen

"Dit komt omdat ik bestaande lispen ombouw en dan neem je natuurlijk ook de fouten over."
Titel: Re:Meervoudige keuze menu
Bericht door: HofCAD op di 09 08 2011, 17:03:26
Beste Atwist,

Wil je vorderingen maken, dan moet je toch denken aan:
Computers kunnen uitsluitend goed gedefinieerde problemen oplossen.
In antwoord #22 vraag ik je expliciet:
Citaat van: HofCAD op zo 07 08 2011, 01:36:25
Beste Atwist,

Je antwoord #21 is me niet helemaal duidelijk, maar ik hoop dat je via het
onderstaande beter kan aangeven wat je wilt.

2) Als de button 'OK' wordt gekozen:
2a) De dialoogbox verdwijnt.
2b) Er wordt eventueel gepurged volgens de gekozen purge instellingen. :?:(Ja/Nee)
2c) Als er buiten de categorie 'Purge keuze' nog een button aanstaat, dan
     wordt geprobeerd om een extern programma op te starten.
2d) De gekozen purge instellingen mogen dan ook bewaard blijven. :?:(Ja/Nee)
2e) Het programma wordt beëindigd.
Waarom toen niet gereageerd met: 'Ik wil helemaal geen OK button'.

Als je iets uit een andere Lisp overneemt, dan moet je toch goed nadenken
of dat het past bij je gedefinieerde probleem.
En je moet toch eventueel het gedefinieerde probleem tijdig bijsturen.

Heb je Tsm2c.lsp uitgeprobeerd?

PS Als ik in Tsm2c.lsp de 'OK' button verwijder, ben je dan helemaal gelukkig?
Titel: Re:Meervoudige keuze menu
Bericht door: Atwist op di 09 08 2011, 18:14:39
Beste HofCad,

Ik ben met TSM2c nu al erg blij waarvoor mijn dank.

Maar ik merk wat onvrede in je tekst.

Even voor de duidelijkheid
1. De door mij geplaatste "start" lisp was nog niet klaar ik wist dat daar fouten in zatten.
2. Ik weet dat mijn kennis van lisp programeren erg gering is, ik maak bestaande lisp zo dat ik ermee kan werken met ja storende fouten.
3. Ik heb al mijn waardeering uitgesproken, dat jij uit eigen beweging dit probleem wil oplossen komt voor jou rekening.
je moet dan ook begrip hebben voor mijn geringe kennis.
4. De forums zijn ervoor om elkaar te helpen, dat jij veel meer kennis hebt dan de meeste gebruikers van dit forum, daarvoor ook alle lof, maar toon dan ook begrip voor mensen met "domme" vragen en begin dan niet gelijk met de wijzende vinger te wijzen.

Dit is wat ik nu even kwijt wilde.
Titel: Re:Meervoudige keuze menu
Bericht door: HofCAD op di 09 08 2011, 20:03:26
Citaat van: Atwist op di 09 08 2011, 18:14:39
Beste HofCad,

Ik ben met TSM2c nu al erg blij waarvoor mijn dank.

Maar ik merk wat onvrede in je tekst.

Even voor de duidelijkheid
1. De door mij geplaatste "start" lisp was nog niet klaar ik wist dat daar fouten in zatten.
2. Ik weet dat mijn kennis van lisp programeren erg gering is, ik maak bestaande lisp zo dat ik ermee kan werken met ja storende fouten.
3. Ik heb al mijn waardeering uitgesproken, dat jij uit eigen beweging dit probleem wil oplossen komt voor jou rekening.
je moet dan ook begrip hebben voor mijn geringe kennis.
4. De forums zijn ervoor om elkaar te helpen, dat jij veel meer kennis hebt dan de meeste gebruikers van dit forum, daarvoor ook alle lof, maar toon dan ook begrip voor mensen met "domme" vragen en begin dan niet gelijk met de wijzende vinger te wijzen.

Dit is wat ik nu even kwijt wilde.
Beste Atwist,

Ook een helper mag gefrusteerd zijn:
Punt 1) Dat je Start,lsp niet af was, dat wist ik!
    Ik heb alleen maar gevraagd, wat je dan met 'OK' button wilde doen.

Punt 2) en 3) Heb nooit gezegd, dat je beperkte Lisp kennis mij stoort.
Maar ik vind wel dat iemand mag aangeven, hoe je iets beter kan aanpakken.
(zie bijv. mijn commentaar in antwoord #20 en mijn PS in antwoord #22)
Ik hoef geen expliciete waardering, maar alleen een duidelijke communcatie.

Punt 4) Mijn eventueel wijzend vingertje (ik kan alleen een tip vinden) gaat
niet over 'domme vragen', want als vragen dom zou vinden:
dan zou ik wel wat anders gaan doen!
Probeer maar eens zoiets als 'domme vragen' terug te vinden.
Het wijzend vingertje ging naar het definieren van het probleem.
Ik heb duidelijk in antwoord #22 geprobeerd om je probleem o.a. t.a.v. de
werking van de buttons ('Uitvoeren', "OK', 'Cancel' en 'Help') op tafel te krijgen.
Nergens in dit onderwerp heb ik zo'n definitie van je probleem terug gevonden,
en dit heeft niets met plakwerk of beperkte Lisp kennis te maken.
Als iemand er werk in steekt (antwoord #22) om je probleem te definieren,
en je doet dan met voorgestelde probleemdefinitie maar weinig.
Waarom heb je antwoord #23 niet gezegd: 'Ik wil geen 'OK' button.
Zo zijn er wel meer vragen die ik aan je gesteld heb, niet of slechts
in tweede instantie beantwoord.


Mijn onvrede is voornamelijk: "Waarom heb je antwoord #23 niet gezegd: 'Ik wil geen 'OK' button."

Met vriendelijke groet, HofCAD CSI.

PS1 Dit is wat ook ik nog even kwijt wilde!
PS2 In de attachment zit Tsm2d.lsp
Titel: Re:Meervoudige keuze menu
Bericht door: EddyBeerke op wo 10 08 2011, 07:33:10
Waarom is er voor gekozen dat als je de optie "purge alles" kiest dan dan niet alles wordt gepurged?
Ik bedoel met name de regapps.