<
Det är många som använder plugins, t.ex. Troi File plugin, för att läsa, skriva, flytta och radera filer och mappar m.m. Det är förmodligen en av de plugins som använts mest under åren. Nu har Troi fått konkurrens av självaste FileMaker, som byggt in flera funktioner för hantering av filer som manussteg. Med FileMaker kan du nu skapa och läsa filer, skapa mappar, radera osv med hjälp av manussteg.
Följande manussteg finns:
- Byt namn på fil
- Hämta datafilsposition (detta för tankarna till forna tiders Basic-programmering, men det kanske bara är jag?)
- Hämta filstorlek
- Läs från datafil (här kan du ange antal byte som ska läsas, kan läsas direkt till variabel)
- Ny fil
- Radera fil
- Skapa datafil
- Skriv till datafil (även direkt från en variabel)
- Ställ in datafilsposition
- Stäng datafil
- Öppna datafil
Funktion för While-loop
Beräkningar som behöver någon form av loop har i tidigare versioner gjorts antingen som en rekursiv egen funktion, eller med en loop i ett manus. Nu finns ett alternativ till, beräkningsfunktionen While. Med While behöver du inte lära dig hur rekursion fungerar, det är lite enklare att klura ut hur en While-loop-fungerar.
Nedan finns ett exempel på en beräkning med While. Formeln hämtar innehållet i fältet Benämning för de 10 första hittade posterna i tabellen.
While (
[ i = 0; data = "" ];
i < 10;
[ i = i + 1; data = List(data; GetNthRecord ( Benämning; i)) ];
data)
I det första argumentet måste alla variabler som används i funktionen deklareras. Jämför med funktionen Let där det finns motsvarande typ av variabler. I det här fallet behöver jag en räknare (i) och ett fält som sätter ihop resultatet (data). Variabeln i är lika med 0 till en början och data är tomt. Flera beräkningar kan alltså göras i det första argumentet, därför omsluts det med []-tecken.
I det andra argumentet anger du villkor för hur länge loopen ska fortsätta. I det här fallet ska loopen fortsätta så länge variabeln i är mindre än 10, dvs. loopen ska köras 10 gånger.
Det tredje argumentet är själva loopen, dvs. de beräkningar som ska göras i varje loop. Först räknar jag upp variabeln i så att den får värdet i + 1. Sedan hämtar jag innehållet i fältet Benämning för post nr i (dvs. post nr 1, 2, 3 osv upp till 10), resultatet sätts ihop med funktionen List. För varje loop blir det en extra rad i variabeln data. Flera beräkningar kan alltså göras i det tredje argumentet därför omsluts det med []-tecken.
Som sista argument anges resultatet. I exemplet är det variabeln data som nu alltså innehåller 10 rader, varje rad är fältet Benämning i en post. Detta blir beräkningens resultat.
SetRecursion
En annan ny beräkningsfunktion är SetRecursion. Vad ska den användas till? Som ni kanske inte(?) känner till finns det en begränsning i antal anrop som går att göra till en rekursiv funktion, beroende på hur funktionen görs är det antingen 10000 eller 50000 anrop. Blir det fler anrop blir resultatet ett frågetecken. Även de nya While-funktionen har ett tak på 50000 loopar.
Vill du kunna göra fler och inte är orolig för att det kan ta lång tid eller minnet kan ta slut använder du den nya funktionen SetRecursion. Med funktionen anger du hur många anrop som ska vara maximalt antal, och det kan vara mindre än 10000 också. Är inte loopen slut efter max antal så får du ett frågetecken. Funktionen används så här:
SetRecursion (formeln med While eller rekursion; X)
där X är lika med det antal loopar/rekursionsanrop du önskar att funktionen ska utföra. Använder du inte SetRecursion används de förvalda värdena för max antal anrop.
Layoutläget
Tryck Skift-pil för att flytta ett objekt i steg om 10 px.
Loggning
Vid programmering är det vanligt att man vill veta värdet på fält eller variabler vid ett visst tillfälle. Det kan vara för att kontrollera att manuset verkligen körs, att if-satser evalueras korrekt, att variabelnamn är rättstavade och innehåller rätt värde m.m. Det finns i FileMaker Pro Advanced en debugger (slå på kryssrutan Använd avancerade verktyg i dialogrutan Inställningar om du saknar det i version 17/18) för att stega sig fram ett manussteg i taget samtidigt som relevanta värden visas.
Nu finns även ett manussteg för att slå på loggning, varje gång ett fel uppstår i ett manus sparas information om felet i en textfil på din dator.
Du slår på loggningen med manussteget Ställ in felloggning. När loggning är påslaget sparas alla felmeddelande i en textfil i din dokumentmapp. I manussteget Ställ in felloggning kan du också ange en beräkning som utförs när det blir något fel och resultatet skrivs även det i loggfilen. Du kan t.ex. visa aktuellt postnummer, innehållet i ett fält eller dylikt som gör det enkelt för dig att förstå var felet finns.
Loggningen fungerar dock inte på manus som körs på servern, varken schemalagda manus, manus som startas från Custom Web Publishing eller de som körs med manussteget Utför script på server. I de fall kan du göra ett eget manus som sparar valfri information i en FileMaker-tabell eller skickar information till dig med t.ex. Slack.
Ett manus för att spara i en logg-tabell kan se ut så här (ett manus som fungerar även i tidigare FileMaker-versioner):
<
Alla objekt, fält, tabeller, layouter, värdelistor mm som behövs för att du ska kunna arbeta med din information kan nu exporteras till en XML-fil. Det finns dels ett menykommando som sparar hela din databas som XML (dock inte din information!) och dels ett manussteg som gör detsamma. Du kan alltså schemalägga exporten.
Tyvärr går det inte att importera XML-filen för att återskapa en databas, men förhoppningsvis kommer det i nästa version 🙂
iOS: Fler streckkoder
En användbar funktion är att scanna streckkoder med FileMaker Go på din iPhone/iPad. I version 18 finns stöd för 4 nya streckkodstyper: PDF417, ITF-14, Aztec och Data Matrix.
iOS: Lägga till i ett PDF-dokument
Med FileMaker Pro på din dator går det sedan flera år att lägga till PDF-dokument till ett befintligt PDF-dokument. Det kan nu också göras med FileMaker Go.
Server: Ingen svensk version för första gången
För första gången sedan första versionen av FileMaker Server, version 2 från 1992, finns det inte en svensk version av admin-konsollen. Det är väl egentligen inte hela världen, det är inte ofta admin-konsollen för FileMaker Server behöver användas (tack och lov!). Svenska finns kvar som språk i både FileMaker Pro på dator, FileMaker Go och WebDirect.
Server: Justeringar i gränssnittet
Flera små förändringar är gjorda i admin-konsollens gränssnitt. Även det API som kan användas för att utföra funktioner i admin-konsollen från annan enhet är förbättrat.
Flera mindre ändringar
Det finns fler mindre nyheter och justeringar, när du har installerat den nya versionen finns alla förändringar listade i FileMaker Hjälp under Nyheter.
Product Roadmap
FileMaker Inc. publicerar sedan några år en Product Roadmap, FileMaker 18 är benämnd som ”Next” i den uppställningen. Där kan du läsa mer om vad som händer i kommande versioner.
När får jag uppdateringen till 18?
Om du har licenser som du hyr årsvis eller med underhållsavtal kommer du att få FileMaker 18 inom det närmaste dygnet med epost. I vissa fall kan det dröja några dagar. Kontrollera din epost! Epostmeddelandet skickas från filemaker_announcements@filemaker.com och har meddelanderad av typen: ”FileMaker 18-plattformen – meddelande för dig med giltigt underhållsavtal”. Det har hänt att uppdateringen har hamnat i skräpposten.
En ändring är att nedladdningslänken till installationsprogrammen numera alltid är tillgänglig, tidigare behövde man förnya länken efter 90 dagar.
För dig som har enstaka licenser måste du beställa en uppgradering. Har du köpt en enstaka licens av FileMaker Pro 17 Advanced den 22 april eller senare så får du version 18. Har du köpt via FileMaker Store får du uppdateringen med automatik (med epost).
Om du har frågor om licenser eller vad som helst om FileMaker, kontakta oss på tel 046-235250 så hjälper vi dig!