Ga naar inhoud
  • 0

Variabelen opslaan in een bestand


Sebas

Vraag

Beste leden,

 

Mijn naam is Sebas en ik ben al jaren Foxpro ontwikkelaar; schiet me nu niet gelijk af maar lees even verder a.u.b. ; ik ben serieus aan het overwegen over te stappen op Filemaker, heb momenteel FM Pro 10 Dev. maar volgende week (hopelijk) FM 11.

 

Als leek op FM gebied had ik een vraag aan u:

 

In Foxpro is het makkelijk om variabelen in een bestand op te slaan en later weer te gebruiken; dat gaat bijvoorbeeld zo:

 

M_vartest1 = 100

M_vartest2 = 200

M_vartest3 = 300

Etc...

 

Op deze variabelen op te slaan in een bestand:

Save all like M_vartest* to Test.dat (of test.mem)

 

Om deze variabelen te gebruiken:

restore from test.dat (of test.mem) additive.

 

Hoe gaat dat in FileMaker in zijn werk?

 

Met dank alvast voor uw hulp en met vriendelijke groet,

 

Sebas.

Link naar reactie

11 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Welkom op dit forum!

 

Globale variabelen blijven enkel binnen de file en binnen de sessie leven, als de file dus wordt afgesloten ben je ze kwijt.

 

Er zijn echter eigen functies in FileMaker die toelaten om variabelen te gaan loggen, en zo kan je net voor het afsluiten deze wegschrijven, en bij het opstarten terug declareren.

 

Een voorbeeld van zo een eigen functie vind je hier:

 

VariablesLog ( _key; _repetition; _value ) om je variabelen te declareren en te loggen:

http://www.fmcustomfunctions.com/fid/105

 

VariablesLoadFromLog ( _varlog ) om ze weer op te laden

http://www.fmcustomfunctions.com/fid/104

 

Als je deze twee functies gebruikt, moet je al de variablen die je wil loggen via de eerste eigen functie declareren. Ze worden dan opgeslagen in de globale variabelen $$_VariablesLog. Bij het afsluiten moet je dus deze variabele wegschrijven in een veld. Bij het opstarten roep je dan de tweede functie aan, waarbij je de waarde van het veld als parameter mee stuurt.

Link naar reactie
  • 0

Beste heren,

 

Allereerst bedankt voor uw snelle reactie op mijn vraag.

 

Het bevreemd mij echter dat van de 65 leden die mijn vraag hebben gelezen er slecht twee hebben gereageerd; of de vraag is voor velen te simpel om op te reageren dan wel te ingewikkeld. Maar goed. :)

 

@Andries

Ik schrok enigszins van uw antwoord….het zijn nogal wat programmeerregels in FM om een aantal variabelen in een bestand te plaatsen en op te halen! Het lijkt in FP toch wat simpeler te gaan namelijk slechts 2 regels.

 

@Tackenco

Uw antwoord lijkt eenvoudiger echter u geeft helaas geen voorbeeld. Is dat wellicht alsnog mogelijk?

 

mvgr, Sebas.

Link naar reactie
  • 0

zoals ik zei: het kan niet in FileMaker, maar er zijn ontwikkelaars die eigen functies hebben ontwikkeld om dit wel te kunnen.

 

Dit kost inderdaad wat lijnen code :-)

 

Voordeel is dat je ze zelf niet meer moet schrijven en dat je ze gewoon kan implementeren in je FileMaker solutie, en dan wel door gewoon deze functies aan te roepen in 1 lijn code je variabelen te declareren en op te slaan.

Link naar reactie
  • 0

Wanneer ik gebruik moet maken van veel variabelen in een toepassing, maak ik een aparte var_table aan.

 

Dit geeft het voordeel dat variabelen kunnen gedeclareerd worden op voorhand.

 

Pas als ik ze nodig heb initialiseer ik ze via een script lijntje, of toch voor die variabelen die niet bij aanmaak geinitialiseerd zijn.

 

Ik heb enkel een relatie nodig van de var_table naar iedere andere table, maar dat kan eenvoudig door een constant value.

Link naar reactie
  • 0
Wanneer ik gebruik moet maken van veel variabelen in een toepassing, maak ik een aparte var_table aan.

 

Dit geeft het voordeel dat variabelen kunnen gedeclareerd worden op voorhand.

 

Pas als ik ze nodig heb initialiseer ik ze via een script lijntje, of toch voor die variabelen die niet bij aanmaak geinitialiseerd zijn.

 

Ik heb enkel een relatie nodig van de var_table naar iedere andere table, maar dat kan eenvoudig door een constant value.

 

Hoe ziet zo'n var_table en een constant value er in FM uit? Is daar een vb van? 8)

Link naar reactie
  • 0

Ziet eruit zoals iedere andere table: labels, velden, records etc.

 

De records hebben een status veld, declared/initialized/not declared/not initialized (d/i/nd/ni).

 

Door met de status te spelen kan de variabele zowel lokaal als globaal gebruikt worden. In calculaties binnen een script bv.

Het komt erop neer het geheel duidelijk te documenteren zodat je o.a. kunt bijhouden of/hoeveel keer de variabele al gedeclareerd/initialized werd.

 

De constant relatie is gewoon een auto enter at creation result 1 calculatie.

Link naar reactie
  • 0
Dit kost inderdaad wat lijnen code :-)

 

Wát lijnen code? Als je meer dan 400 variabelen hebt? :D

 

Ik zal het eens goed gaan bekijken......elk programma heeft wel iets wat je niet aanstaat. 8)

 

 

Ik denk dat je het mis hebt begrepen. Als je in FileMaker een variabele wil declareren zal je dit sowieso 1 lijn code kosten: set variable... in plaats van deze lijn code te gebruiken, roep je gewoon die functie aan. Deze functie zal dan de variabele declareren en ze wegschrijven in een log (dit allemaal met 1 lijn code) :-). Dit is het gebruik van eigen functies, je maakt ze 1 keer aan en nadien roep je telkens die functies weer aan.

 

Om ze dan weg te schrijven heb je weer 1 lijn code nodig: Set Field [settingsTable::Myvariables ; $$_VariablesLog ]

 

Bijgevoegd een voorbeeldje:

 

declareert twee globale variabelen: var1 = "toto" en var2 = "tata", dit doe je door het script "DeclareVariables" aan te roepen. De rest gebeurt vanzelf :-) Als je wil gaan spelen met lokale variabelen ( wat me raar zou lijken omdat die enkel binnen een scriptstack leven ), dan moet je de eigen functie wat aanpassen.

 

 

edit: ik wil niet beweren dat deze manier beter of slechter is dan de manier van JeanWM: het opslaan van de variabelen en hun waarde gebeurt gewoon op een andere plaats.

SaveVariables.fp7

Link naar reactie
  • 0

Wij gebruiken die methode enkel wanneer we 'veel' variabelen nodig hebben.

 

We connecteren vrij dikwijls onze FileMaker toepassing aan een Sentences toepassing.

 

Om gemakkelijk te werken gebruiken we, of plaatsen we, alle variabelen gedeclareerd in Sentences ook in FileMaker.

 

Dat belet gewoon dat we 'on the fly' variabelen moeten gaan declareren en/of initializeren of (hopen van niet) variabelen vergeten.

Link naar reactie
  • 0

Beste mensen,

 

Allemaal hartelijk bedankt voor de reacties / hulp.

 

Ik ga een en ander verder uitzoeken en testen en kom er zéker op terug;

opdat mogelijk meer (nieuwe) leden er wellicht nut van hebben. 8)

 

Hebben jullie ook zo'n dorst? Pfff...wat een warmte. :o

 

Mvgr, Sebas.

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...