2009

Apr

21

Av

Du kan sätta in bilder i ett container-fält i FileMaker på två sätt. Antingen sätter du in hela bilden så att bilden sparas i databasen eller så sparar du bara en länk till bilden.

Sparar du hela bilden i databasen blir själva databasfilen större, men du ser bilden oavsett om du använder Mac eller Windows (om det är ett bildformat som kan visas på båda datorsystemen). Du får också problem om du ska använda samma bild i andra sammanhang, t.ex. en trycksak i Indesign. FileMaker kan inte enkelt exportera bilderna till originalformatet (men det går, se Dokumentdatabas). Om du behöver bilderna i originalformat kan du istället länka in dem. 

Först måste du se till att placera bilderna på en filhanterare som kan nås av alla datorer som ska använda databasen. Filhanteraren måste vara tillgänglig (monterad) när man använder databasen.

Du gör ett container-fält (jag kallar det för LänkadBild) där du sätter in bilderna med kommandot Sätt in->Bild. Se till att “Spara endast länk” är ikryssad. Sätter du in bilden på en Windows-dator kan du se den på alla Windows-datorer i ditt nätverk, men inte på Mac-datorerna och vice versa. Den länkade bilden får en sökväg som är specifik för respektive datorsystem. På Windows inleds den med “imagewin:”, på Mac med “imagemac:”.

Du behöver ytterligare ett container-fält där du beräknar fram sökvägen till bilden beroende på vilken dator den ska visas på. Det gör du med följande formel (beräkningsfält med beräkningsresultat Container):

Bildsomvisas (Container-fält) = 
Let([
   imagename = GetValue(GetAsText(LänkadBild);3);
   imagepath = Substitute(imagename; [gWindowsPath; ""]; [gMacPath; ""])
];
If(IsEmpty(LänkadBild);"";
   If(Abs(Get(Systemplattform))=1; /* Mac */
      gMacPath & imagepath;
      gWindowsPath & imagepath)
   )
)

Först tar jag reda på sökvägen till den inlänkade bilden, i steget efter raderar jag prefixet för sökvägen, till sist sätter jag dit rätt prefix beroende på datorsystem. De båda fälten gMacPath och gWindowsPath är globala fält som innehåller prefixet för respektive datorsystem enligt:

gMacPath = "imagemac:/"
gWindowsPath = "imagewin://servernamn/"

Nu ser du de länkade bilderna i fältet “Bildomvisas” när du bläddrar mellan posterna. Fältet “LänkadBild” använder du bara när nya bilder ska länkas in.

2 kommentarer till ”Länkade bilder på Mac och Windows”

  1. Anders Persson

    Hej, Jag har använt den utmärkta funktionen GetValue ( GetAsText ( YourContainerField ); 2 ) och
    GetValue ( GetAsText ( YourContainerField ); 3 ) för att få fram filnamn och sökväg till bilder. Men det FM 14 verkar hantera detta annorlunda. Någon som stött på detta?

    Reply

Skriv en kommentar

  • (will not be published)
  • 6 + eight =

Läs också: