Jump to content
  • 0

Variabele gebruiken in een script


Henk R

Question

Kijk ik er overheen of kan dit niet

 

Ik wil graag de keuze uit een dialoogvenster vastleggen in een waarde, zodat ik deze later in het script kan gebruiken ongeacht alle andere dialoogvensters die tussendoor verschijnen. Ik moet namelijk een "routine/controle vooraf" doorlopen die geldt voor de beide keuzes waarbij opnieuw een dialoog kan verschijnen en dan ben ik de uiteindelijke keuze kwijt van de gebruiker.

Mijn gedachte was hier een variabele voor te gebruiken maar hoe lees ik deze weer uit binnen hetzelfde script.

 

Groeten

 

Henk

5a758dcbc4872_Afbeelding2.jpg.0cbafbe37c72b5b78195446fe2c4868f.jpg

Link to comment

5 answers to this question

Recommended Posts

  • 0

Variables binnen hetzelfde script beginnen met een $variablenaam (lokaal in script) of $$variablenaam (globaal in app) en kan je op dezelfde manieren gebruiken als velden uit een tabel, alleen roep je ze aan met $variablenaam of $$variablenaam.

 

Maar ik denk dat jij bedoeld dat je een variable in een dialoog venster kan gebruiken? Dat kan niet, in dialoog vensters kan je alleen input hebben in een database veld. Dan moet je een tijdelijk (global) veld maken die je direct na het dialoog uitleest na je input zoals tackenco al aangeeft.

Link to comment
  • 0

Misschien was ik niet helemaal duidelijk.

 

Ik geef de gebruiker dus een "standaard" dialoogvenster met 3 knoppen en een invoerveld waarbij standaard de datum van vandaag wordt ingevuld.

De gebruiker kan deze datum aanpassen en kiest dan knop 1 (alles), 2 (gedeelte) of 3 (annuleer)

 

Dan moet ik iets met die datum gaan doen maar deze moet wel aan een bepaalde voorwaarde voldoen. Deze voorwaarde is voor keuze 1 en 2 gelijk. Als bij de controle blijkt dat de gebruiker een fout heeft gemaakt, toon ik een nieuw dialoogvenster met de mededeling wat er fout is. Als de gebruiker nu de knop "OK" kiest, weet ik niet meer of zijn eerste keuze was knop 1 (alles) of 2 (gedeelte).

Die zou ik dan graag eerst vastleggen, zoals bijvoorbeeld in de afbeelding getoond wordt.

 

Alleen hoe lees ik dan in hetzelfde script deze waarde weer terug.

 

Maar dat werkt dus prima zoals tackenco schrijft door (in mijn geval) zoiets als :

if ($afleverkeuze = "alles")

te gebruiken

 

Bedankt

 

Gr. Henk

Link to comment
  • 0

Je kunt ook als variabele vastleggen welke knop gebruikt is door direct in de variabele de waarde uit get last message choice te gebruiken. Je kunt dan bijvoorbeeld in de variabelen $ResultDialog1, $ResultDialog2, $ResultDialog3 etc. de keuzes vastlegen. Die zijn in het zelfde script overal weer aan te roepen en dan kun je daar weer acties aan koppelen (verschillende vensters voor verschillende resultaten). Als je de keuzes langer wilt bewaren kan je ook twee $-en gebruiken bv $$ResultDialog1 etc. dan kun je de resultaten ook in een later stadium (bij opnieuw oproepen van het zelfde script bijvoorbeeld) nog weer gebruiken.

 

Het voordeel van een cijfer of boolean in je variable t.o.v. een volle zin of woord is buiten minder geheugen in gebruik ook dat je bepaalde handelingen voor jezelf vast kunt coderen zodat scripts meer generaal in te zetten zijn. Met woorden als "alles" en "gedeelte" beperk je jezelf tot goed onthouden welke woorden je ook alweer hebt gebruikt, die woorden slaan ook alleen op de functie waarvoor je het bedacht hebt. Bij andere functies heb je dan weer andere woorden, erg verwarrend allemaal, zeker bij complexe applicaties. :D

Link to comment
  • 0

Daar heb je gelijk in. Maar ik vond het al knap van mijzelf (ahum) dat ik de voor de weg van variabele had gekozen en daardoor

- alles dus binnen één script te kunnen houden

- "dingen" niet 2 keer te hoeven doen

- niet weer een globaal veld te gebruiken wat al helemaal niets met het script te maken heeft.

Terwijl ik de uitleg over de variabelen in de help-files van Filemaker niet altijd even duidelijk vindt

 

Dus de tips zijn zeer welkom.

Ik moet toegeven dat ik al veel dingen heb geleerd/toegepast (aangepast naar ons bedrijf) door de aanzet die hier in het forum wordt gegeven in de vele items. En dus niet alleen naar aanleiding van mijn eigen vragen.

 

Gr. Henk

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...