Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

FMPro 5 und AS - aus FM ein Script starten...

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Knutsen
•->
•->


Anmeldedatum: 12.06.2001
Beiträge: 3
Wohnort: An der Elbe

BeitragVerfasst am: 12.06.2001 - 16:18    Titel: FMPro 5 und AS - aus FM ein Script starten... Antworten mit Zitat

Hallo ihr Scripter da draussen!

Meine Aufgabenstellung:
Es gibt eine FMPro Produktdatenbank "produkte.fp5" (mit ca. 1000 Datensätzen). Zu ziemlich vielen Produkten gibts ein jpg in einem Ordner ('Produktbilder') auf der Platte, benannt nach der entsprechenden ArtikelNummer aus der ProduktDB
(ArtikelNr 'ABC-12345', BildFile 'ABC-12345.jpg').

Nun möchte ich im FM ein Script anschmeissen können, das wiederum ein AS aufruft, das den jpg-Folder nach dem zum Datensatz passenden Bild durchsucht (weil die manuelle Suche da ja ewig dauert!).
Nach abgeschlossener Suche wiederum soll im FM in ein anderes Feld des aktuellen Datensatzes (Feldname: dasBild) das Ergebnis eingesetzt werden(also: Bild_JA bzw. Bild_NEIN) !

Wie gehe ich da vor, vom ganzen Scripten schwirrt mir schon der Kopf!!!
Ach ja, man berücksichtige, bin blutiger AS Anfänger (FMPro klappt da schon besser!);)

sonnige grüsse ausm kühlen norden, knutsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 12.06.2001 - 18:01    Titel: FMPro 5 und AS Antworten mit Zitat

Hallo Knutsen,

zuerst - wo im kühlen wenn auch sonnigen Norden? Ich sitze hier in Eutin und es wird wärmer!

Zu Deiner Frage: So ein Script kann auch direkt in FMP abgespeichert werden ('AppleScript ausführen'). Das ist i.d.R. erheblich performanter.

Da ich jetzt keine Zeit habe eine Beispieldatei zu bauen - hier die externe Version. Ehrlich gesagt habe ich das Thema verfehlt, dieses Script arbeitet einen ganzen Ordner auf einmal durch. Aber die Lösung für alle Fälle steckt da natürlich drin. (Müsste auch ohne Änderung so aus dem FMP heraus laufen). Vorher natürlich die entsprechenden Namen der FMP-Datei und Felder genau! anpassen.

Viele Grüße,
Folker

--Scriptanfang externe Version

set the_Fold to (choose folder with prompt "Ordner auswählen:")
set the_FolderList to list folder the_Fold without invisibles

repeat with i in the_FolderList
beep
if file type of (info for ((the_Fold as string) & contents of i)) is "JPEG" then
set the_ArtNum to get_Name(contents of i)
tell application "FileMaker Pro 4"
-- database bezeichnet alle Datensätze, auch die ausgeschlossenen (im Ggs. document)
tell database "Test"
-- falls kein Datensatz gefunden wird: try
try
-- das war so ungefähr die Frage Smile
tell layout 0 to set cell "Bild vorhanden" of (first record where cell "Artnum" = the_ArtNum) to "Ja"
on error errmsg number errnum
set err_dialog to button returned of (display dialog errmsg buttons {"Abbrechen", "OK"} default button 1 with icon 0)
--wenn ein Fehler auftritt kannst Du hier raus
if err_dialog = "Abbrechen" then exit repeat
end try
end tell
end tell
end if
end repeat

-- den Namen von der .jpg Extension befreien
on get_Name(DerString)
set {oldDelims, AppleScript's text item delimiters} to {AppleScript's text item delimiters, {""} }
if (count text items of DerString) > 4 then
if (text items -1 thru -4 of DerString) as string = ".jpg" then set DerString to (text items 1 thru -5 of DerString) as string
end if
set AppleScript's text item delimiters to oldDelims
return DerString
end get_Name

--Scriptende
_________________
Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jens Hoffmann
•--->
•--->


Anmeldedatum: 07.05.2001
Beiträge: 175

BeitragVerfasst am: 12.06.2001 - 18:10    Titel: FMPro 5 und AS Antworten mit Zitat

Hi Knutsen
Ich habe das Script nur in FM4 getestet, also keine Garantie, das es läuft. Ich gehe davon aus, dass der Ordner "ABC-12345" auch existiert, ansonsten gibt's einen Error. Kann man aber einbauen.

Zuerst musst Du im ScriptMaker ein neues Script anlegen. Befehl: "AppleScript ausführen" (Verschiedenes). Dann wählst Du 2Option angeben2 und kopierst unten stehendes Script in das Textfeld. Dann musst Du noch "Pfadnamen" im AS durch Deinen Pfad zum Ordner "Produktbilder" ersetzen und Deine FM-Version beim "tell app..."-Block einsetzten. Ich weiss nicht, ob das Script bei 1000 Ordnern gut läuft und ob man das schneller machen kann. Falls zu langsam, musst Du Dich hier nochmal melden.
Grüße, Jens

--------------
tell application "FileMaker Pro 4.0Dv2"
set ordner to cellValue of cell "ArtikelNr" of current record
set pfad to "Pfadnamen:Produktbilder:" & ordner & ":" as alias
set inhalt to list folder pfad
set bild to ordner & ".jpg"
if inhalt contains bild then
set cellValue of cell "dasBild" of current record to "Bild_JA"
else
set cellValue of cell "dasBild" of current record to "Bild_NEIN"
end if
end tell
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Knutsen
•->
•->


Anmeldedatum: 12.06.2001
Beiträge: 3
Wohnort: An der Elbe

BeitragVerfasst am: 15.06.2001 - 10:53    Titel: FMPro 5 und AS Antworten mit Zitat

Hallo aus HH (heute mit klasse Sonne, muss aber leider arbeiten und kann nicht im Park entspannen, naja egal)

Vielen Dank für die Vorschläge, hab ich getestet, aber...
läuft nicht so, wie ich es erhoffte!

Zu Folker:
if file type of (info for ((the_Fold as string) & contents of i)) is "JPEG" then
genau bei der Zeile springt mir das Script mit folgender Laufzeit-Fehlermeldung ins Gesicht: "Can't make hier steht dann der stringinto an item"

Warum, weiss ich aufgrund meines AnfängerStadiums leider nicht, und konnte ich trotz Extrem-Kopf-Sport auch nicht ergründen... Vielleicht ist es heute auch zu sonnig zum Denken! ;)

nun ja, erstmal schöne Grüsse an Folker und Jens
wünscht Knutsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 15.06.2001 - 11:51    Titel: FMPro 5 und AS Antworten mit Zitat

Hallo Knutsen,

ersetze diese problematische Zeile durch folgende 3 Zeilen

set the_file to ((the_Fold as string) & (contents of i))
set the_Finfo to (info for file the_file)
if alias of the_Finfo is false and folder of the_Finfo is false and file type of the_Finfo is "JPEG" then

--getestet mit Mac OS 8.6 - 9.1

Sorry, bei mir unter AS 1.6 hats funktioniert und nur in Ordnern ohne Unterordner - so müßte das jetzt aber klappen. So werden jetzt auch noch Alias-Dateien gefiltert (also nicht berücksichtigt).

Gruß, Folker
_________________
Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Knutsen
•->
•->


Anmeldedatum: 12.06.2001
Beiträge: 3
Wohnort: An der Elbe

BeitragVerfasst am: 19.06.2001 - 15:46    Titel: FMPro 5 und AS Antworten mit Zitat

jajajajaja!

moin Folker,
danke vielmals für den güldenen support,
klappt nun wunderbar das script, und
das ganze hat noch einen netten nebeneffekt,
so langsam komm ich hinter struktur und befehle von
AppleScript...

Mal sehen, vielleicht kann ich das script ja dann
meinen speziellen wünschen anpassen.

so weit erstmal schöne grüsse
knutsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Folker
•---->
•---->


Anmeldedatum: 11.12.2000
Beiträge: 649
Wohnort: Holsteinische Schweiz

BeitragVerfasst am: 19.06.2001 - 17:57    Titel: FMPro 5 und AS Antworten mit Zitat

Moin Knutsen,

>netten nebeneffekt, so langsam komm ich hinter struktur und befehle von AppleScript...

So soll das ja auch sein! :)

> vielleicht kann ich das script ja dann meinen speziellen wünschen anpassen

Wenn es denn doch klemmt - hier im Forum Ö ;)

Gruß,
Folker
_________________
Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
macgix
•--->
•--->


Anmeldedatum: 13.12.2000
Beiträge: 206
Wohnort: K–ln

BeitragVerfasst am: 29.06.2001 - 00:58    Titel: FMPro 5 und AS Antworten mit Zitat

TIPP:

Wenn man möchte, dass Skripte in FileMaker Pro ablaufen, diese aber extern im Skripteditor editiert, empfiehlt sich unter Mac OS 9 folgende Vorgehensweise:


property theApp: "FileMaker Pro" -- später durch "me" ersetzen!

using terms from application "FileMaker Pro"
tell theApp

-- FileMaker ansprechen hier!

end tell
end using terms from


Im Skripteditor belässt man es so. Kopiert man das Skript in FileMaker ersetzt man anschließend nur das "FileMaker Pro" im property durch "me"!

Verwendet man die read/write commands, so muss man in FileMaker Pro ein tell application "Finder" vor die Befehle schreiben, damit es nicht zu einer Fehlermeldung seitens FileMaker Pros kommt!

Thomas
_________________
[macgix]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter