Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
spirigwi •----->


Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
|
Verfasst am: 17.12.2004 - 01:45 Titel: Eine variable (! ) PROPERTY : das unmögliche möglich machen |
|
|
da ich ständig alle AS für mein „Intranet“ scripten muss ..
....
....
(hier stand einmal viel Unsinn, sorry _________________ Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Zuletzt bearbeitet von spirigwi am 23.12.2004 - 01:00, insgesamt 2-mal bearbeitet |
|
Nach oben |
|
 |
spirigwi •----->


Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
|
Verfasst am: 17.12.2004 - 02:33 Titel: nach meinen Möglichkeiten die kürzeste Fassung gehts kürzer? |
|
|
"KURZFORM:
Bitte höflichst um folgenden Test:
Wenn der Tester zuerst ein screenshot?=Bildschirmfoto
(mit CODE_GROSS_4, nicht 3 da sonst verwirrt)
auf OSX machen könnte und einen Testlauf ?¿¿
funktionierts oder nicht ? "
" CODE"
property STARTNAME : {}
-- ==================================================
my PropertysSetzer()
on PropertysSetzer()
set STARTNAME to (first item of (list disks)) as string
end PropertysSetzer
--SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
tell application "Finder"
set PFAD to STARTNAME & ":" & "Bild 1"
open file PFAD
end tell _________________ Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Zuletzt bearbeitet von spirigwi am 23.12.2004 - 01:10, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Folker •---->


Anmeldedatum: 11.12.2000 Beiträge: 649 Wohnort: Holsteinische Schweiz
|
Verfasst am: 20.12.2004 - 10:34 Titel: |
|
|
Hallo Willy,
ja, kompilierbar ist das auch unter OS X. Allerdings gebe ich zu bedenken: Unter OS X spielt die oberste Ebene der HD für den Benutzer eine weitaus kleinere Rolle als unter OS 9 - nicht das diese Ebene nicht wichtig wäre, sie ist unter OS X zu wichtig! Der Benutzer unter OS X wirkt zumeist im Verzeichnis Users/MeinHeimOrdner - selbst der "Schreibtisch" ist innerhalb des Home-Verzeichnisses eingeordnet.
Die Frage, die sich mir stellt - wozu der Aufwand? Hilft nicht ein einfaches "path to startup disk" ? Es muss dann natürlich festgestellt werden, ob es sich um eine (beschreibbare!) HD handelt, oder ob der User via CD/DVD gestartet hat ...
Zum Property: Natürlich geht das so - nur bei jedem Scriptstart den Property neu zu belegen führt für meinen Geschmack einen Property ad absurdum - da ist vielleicht eine globale Variable geeigneter? _________________ Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign |
|
Nach oben |
|
 |
spirigwi •----->


Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
|
Verfasst am: 20.12.2004 - 16:07 Titel: Programme sinnvoll auf Startdisk? |
|
|
Zunächst ganz herzlichen Dank für die sehr detaillierte Antwort :
Folker hat Folgendes geschrieben: | selbst der "Schreibtisch" ist innerhalb des Home-Verzeichnisses eingeordnet. |
1. Kernfrage: Es geht hier um AS-Funktions files die auf Netzte verteilt sein müssen:
wie hält ihr es denn mit den Programmen die für Zentralfunktionen benutzt werden (ZB FM-client-Databasen oder client - Kalendern welche Hoste beschreiben beschreiben und deren Programmen)? sind die auch unter usern abgelegt?
Pro Gerät im Netz ist es doch sinnvoll alle Programme auf Startdisk im Ordner Programme zu legen, da ja nicht 2 Personen auf dem gleichen Gerät gleichzeitig arbeiten können, OSX hin oder her, seh ich das falsch?
und gleichzeitig wären dann auch noch OS9-Restprogramme dort(Startdisk= oberste Ebene ) unter Applications abgelegt und damit vom AS mit demselben Satz erkennbar wie für OSX-Programme nämlich:
...of folder [Programme]......da ich gesehen habe (stimmt das?) automatisch auf [Applications] übersetzt wird
2. Kernfrage
Man braucht oft lokale files im Netzt deren Inhalt vom user umgeschrieben werden aber keinen public wert haben, ZB eine Variable einer client-fileMaker database welche zur Erkennung der entspr. Hostdatensätze lediglich eine Variable ändern muss(ich führe dazu EIN-Datensatz-Dateien die ein Beziehungsfeld haben) ZB die Variable mit der Patientennummer.
Wo speichert ihr diese files? doch am besten in Ordner der höchsten Ebene, dann sind sie doch am einfachsten vom Administrator auszuwechseln sogar täglich wäre möglich um dem user neue Versionen gerade dieser files bereit zu halten und allen usern natürlich ein dieselben Versionen.
Folker hat Folgendes geschrieben: |
-- wozu der Aufwand?
|
ein blöder Fehler ist mir unterlaufen-(zu viel gedacht):
es genügt natürlich ohne(!) Repetition (im StartNamer()):
-- ==========================
property STARTNAME : {}
----------------------------
--##############--zur besseren Durchschaubarkeit hier hin verlegt
on StartNamer()
set STARTNAME to (first item of (list disks)) as string
--dieser Pfadtteil kann natürlich auch User-Ordner beinhalten aber er muss "relativ"
--formuliert sein da ich als Netz Administratorja nur weiss in welchem Ordner
-- der Hierarchie der user pflichtmässig(!)seine Programme oder files ablegen musste
end StartNamer
-----------SCRIPT----------------
my MeinHandlerDerVonAussenGestartetWird() --nur zum testen nötig
on MeinHandlerDerVonAussenGestartetWird() --hier startet der externe Starter
my StartNamer() --der handler liegt über uns, rein didaktisch gemeint
STARTNAME
-- StartNamer() macht die Variable STARTNAME für Programme und alle FM client Databasen
-- und nicht zuletzt sämtliche AS-files(mit handlern inside) verwendbar
-- vor allem aber: für sämtliche handler die auf dieser Seite folgen gilt STARTNAME
-- ohne dass man STARTNAME in die handler Klammern schreiben muss ZB:
my FM()
end MeinHandlerDerVonAussenGestartetWird
--######################
on FM() --hier ZB wird die property sinnvoll angewendet da sie automatisch an handler übergeht
tell application "Finder"
set PFAD to STARTNAME & ":" & ¬
"Programme:FileMaker Pro 5.5:FileMaker Pro" --kein Problem gibt ja auch OSX Versionen
--ZB:if STARTNAME contains "Folker": FileMaker Pro 7?:FileMaker Pro
open file PFAD
end tell
end FM
Folker hat Folgendes geschrieben: |
--"path to startup disk"
|
du meinst etwa so? Nachteil: man muss sich bei mir nur das Wort STARTNAME merken und
jdesmal neu definieren. geht das auch auf OS9?= absolut unabdingbar "
tell application "Finder"
set PFAD to path to startup disk & ¬
"Programme:FileMaker Pro 5.5:FileMaker Pro" --geht schon nicht mehr, was ist falsch?
open file PFAD
end tell
Folker hat Folgendes geschrieben: |
-- globale Variable geeigneter?
|
was müsste man machen damit diese bei jedem handleraufruf neu definiert wird, also beim user herumläge?
könntest du mir das ausformulieren dann probier ichs mal auf diese Weise bevor ich in die Massenproduktion gehe.
Vielen Dank Folker im voraus, ich selbst kann das noch nicht _________________ Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius
Zuletzt bearbeitet von spirigwi am 25.12.2004 - 20:26, insgesamt 3-mal bearbeitet |
|
Nach oben |
|
 |
Folker •---->


Anmeldedatum: 11.12.2000 Beiträge: 649 Wohnort: Holsteinische Schweiz
|
Verfasst am: 20.12.2004 - 17:02 Titel: |
|
|
Hallo Willy,
sooo viele Fragen auf einmal
Jo, da ich ohne "Classic" installiert habe, mache ich mir wenig Gedanken zu OS 9 Proggis u.ä.. Unter OS X ist es tatsächlich so, dass es sehr sinnvoll ist Dateien, welche von Benutzern erstellt bzw. bearbeitet werden in das entspr. Benutzer-Verzeichnis zu sichern. Da mag es aber in spez. Situationen sicherlich sinnvoll sein, andere Ansätze zu finden.
Mehrere Benutzer können zwar i.d.R. nicht gleichzeitig am selben Rechner "arbeiten" (das ginge sogar via Terminal) aber durchaus angemeldet sein (da gibt es dann den sog. Fast User-Switch).
Für den FileMaker macht es i.d.R. eh Sinn einen Rechner dafür abzustellen. Dieser hostet die Dateien und alle User greifen über das Netz darauf zu.
Programme, klar in den Applications Ordner. Der heißt tatsächlich so, Programme ist nur die Sprachvariante - ob AS das selbsttätig umbenennt habe ich noch nie gefragt - da ich mir alle Suffixe anzeigen lasse (Finder Einstellungen) sind meine Bezeichnungen eh' auf Englisch.
Programme haben i.d.R. ein anderes Handling unter OS X - diese sind ja sog. Packete, d.h. mit tell app "Finder" to open "Pfad:Programmname" wird das meist nicht funktionieren (was unter 9 ja vorzüglich klappt!) - tell app "Programmname" to launch/activate ist da der Freund.
on Handleraufruf
global theGvar
und in jedem Handler, wo diese globale Variable genutzt wird, muss die g. V. so "bekannt" gemacht werden. _________________ Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign |
|
Nach oben |
|
 |
spirigwi •----->


Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
|
Verfasst am: 22.12.2004 - 23:31 Titel: |
|
|
Folker hat Folgendes geschrieben: | sooo viele Fragen auf einmal |
dann halt nur 3 Fragen zu :
Folker hat Folgendes geschrieben: | Für den FileMaker macht es i.d.R. eh Sinn einen Rechner dafür abzustellen. Dieser hostet die Dateien und alle User greifen über das Netz darauf zu. . |
Frage 1 :
und wo legt der User sein Client-FileMaker Programm hin?
Etwa in den Ordner Programme der höchsten Ebene?
Frage 2 : (siehe Frage 1 )
Frage 3: Folker weisst du eigentlich dass ich dir um jeden kleinsten Tipp in dieser Sache noch so dankbar bin?  _________________ Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius |
|
Nach oben |
|
 |
Folker •---->


Anmeldedatum: 11.12.2000 Beiträge: 649 Wohnort: Holsteinische Schweiz
|
Verfasst am: 23.12.2004 - 13:03 Titel: |
|
|
Hallo Willy,
wenn alle Benutzer ein Programm nutzen sollen, ist es natürlich im Programme-Ordner des Systems, also auf der obersten Ebene, am besten aufgehoben! Aber das OS X bietet die Möglichkeit einen Ordner Programme auf im Home-Ordner des jew. Users anzulegen. Diese Programme sind nur für diesen Benutzer ausführbar. Dies ist aber nicht so wichtig, denn Programme im Programme-Ordner des Systems können in "Systemeinstellungen -> Benutzer" für Benutzer, welche nicht Admin sind, gesperrt werden. Der einzige Vorteil eines Programme-Ordners im Home-Verzeichnis ist, dass andere Benutzer nicht sehen können, welche Programme noch installiert sind.
Diese Vorgehensweise von Apples OS X spielt seine Stärken eher im Bereich des Library-Ordners aus. Das funktioniert ähnlich wie diese russischen Puppen, das System hat z.B. Fonts-, Scripts-, Scripting-Additions Ordner, aber auch der Benutzer kann sich diese einrichten. So nutzt jeder User seine eigenen Fonts, Scripts, Scripting-Additions usw.
So, zu Weihnachten noch ein Tipp für Dich
Wenn Du einen Server für FMP im Netz hast und dieser die Dateien hostet gab (gibt?) es eine AppleScript-mäßige Lösung diese Dateien auf den Clients zu öffnen! Das habe ich damals mit FMP 3 und 4 getestet, ging aber auch mit FMP 5 und ich sehe keinen Grund, warum das heute nicht mehr gehen sollte! Vorraussetzung im Netzwerk: Feste ip-Adressen, da gibt es ja Nummernkreise, welche für interne (Intranet) Zwecke vorbehalten sind, z.B. 192.168.x.y
tell application "FileMaker Pro"
activate
-- FMP3 oder FMP5://Passwort, gefolgt von @ IP-Adresse/Dateiname
getURL "FMP3://Passwort@192.168.200.1/Testdatei.fp3" -- 1 Datei
-- mehrere Dateien
getURL {"FMP3://Passwort1@192.168.200.1/Testdatei1.fp3", ¬
"FMP3://Passwort2@192.168.200.1/Testdatei2.fp3"}
end tell
Im obigen Beispiel werden die Dateien auf dem Rechner mit der IP 192.168.200.1 gehostet (sind natürlich dort geöffnet - aber auf einem "Nur-FMP-Rechner" lässt sich das natürlich wunderbar automatisieren. Das Script kann dann von irgendeinem Rechner im Netz ausgeführt werden und öffnet die Datei(en) für den Clienten. NACHTEIL: Das Passwort steht natürlich im Klartext im Script - da muss jeder selbst entscheiden, wie hoch die Sicherheit sein muss... _________________ Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign |
|
Nach oben |
|
 |
spirigwi •----->


Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
|
Verfasst am: 23.12.2004 - 16:30 Titel: Jetzt gabs für alle ein Weihnachtsgeschenk Folker, dank |
|
|
SNOW!!!!!!!sofort! Ein Smilie das sagt SCHMATZ!!!!
Das war vielleicht eine Antwort von diesem Folker!
Super, geht direkt unter den Weihnachtsbaum: diese Methode
hab ich seit Jahren gesucht, mich aber nie getraut=gewagt zu fragen danach.
Und da Folker sowieso meine Fragen rationiert hat:
nur noch 1 winzekleines Doppel -Frägelchen (ist erlaubt?)
Folker hat Folgendes geschrieben: | tell app "Programmname" to launch/activate ist da der Freund. |
und weiter unten:
Folker hat Folgendes geschrieben: | tell application "FileMaker Pro"
activate
-- FMP3 oder FMP5://Passwort, gefolgt von @ IP-Adresse/Dateiname |
Liegt denn sinnvollerweise nach dem gesagten dieses :
tell application "FileMaker Pro" -Programm(= "FileMaker Pro") also auf der höchsten Ebene des OSX client-Komputers im Ordner Programme
da es ja der user durch die AS-Lösung vor URL zuerst aufrufen muss mit Befehl: tell......?
Wenn Frage 1 = JA
die kleine Sub- Frage 2:
CODE:
set FM_PFAD to (first item of (list disks) as string) & ":" & ¬
"Programme:FileMaker Pro 5.5:FileMaker Pro"
tell application FM_PFAD to activate
--erzeugt auf OSX folgende Fehlermeldung:
"AppleScript Fehler "
"Die Datei "
"McStudents:Programme:FileMaker Pro 5.5:FileMaker Pro"
"wurde nicht gefunden"
--ABER:
tell application "Finder" to open file FM_PFAD
--öffnet auf OSX das FileMaker-Programm
--(mit all seinen dummen Anfangsfragen)
--=unbrauchbar aber funktioniert, süss nicht wahr
"1 EINZIGE FRAGE eigentlich, FOLKER:
warum ist das so auf OSX und auf OS9 laufen beide
Programmaufruf-Methoden? " _________________ Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius |
|
Nach oben |
|
 |
Folker •---->


Anmeldedatum: 11.12.2000 Beiträge: 649 Wohnort: Holsteinische Schweiz
|
Verfasst am: 23.12.2004 - 19:39 Titel: |
|
|
Hallo Willy,
ganz kurz bevor die allgemeine Weihnachtsruhe auch bei mir einkehrt. Ob im Programme-Ordner der obersten Ebene oder im Programme-Ordner eines Benutzers ist nahezu schon eine "Geschmacksfrage" - es sei denn, es sind viele Benutzer an 1 Rechner eingerichtet und alle sollen auf das Programm zugreifen können, dann gilt: Immer auf die oberste Ebene.
Mac OS X führt anscheinend sehr genau Buch darüber, was sich wo auf der HD befindet - sofern der Programmname richtig angegeben wurde, habe ich noch niemals die Abfrage "Wo befindet sich ..." unter OS X gesehen - und dann das Konzept der "russischen Puppen", wenn oben nix ist wird halt weiter nachgeschlagen (im Programme-Ordner des jew. Benutzer vorhanden?). Allerdings werde ich die Netzwerk-Geschichten auch erst jetzt richtig nachvollziehen können - habe gestern die ersten 2 Produktionrechner in unserer kleinen Agentur auf X umgestellt - das neue Jahr kann kommen.
Der Unterschied im OS X besteht darin, dass ein Programm keine Datei darstellt wie unter OS 9. Die X Programme sind sog. Packete, eigentlich nur ein Ordner der viele Ordner und Dateien enthält (Resources etc.) - für FMP 5.5 sieht das bei mir so aus: FileMaker Pro/contents/MacOS/FileMaker Pro
Der Finder "gaukelt" uns also nur ein in sich geschlossenes Programm vor, in Wirklichkeit ist in unserem Beispiel das Programm (mit dem icon) im Programme-Ordner nix weiter als ein Ordner, der wiederum usw.
Das der Finder da evtl. mittlerweile intelligent genug ist, diesen Umstand zu würdigen, mag sein. Ich habe aber immer möglichst den Finder "geschnitten" - als ich mit AS anfing, war der Finder noch gar nicht scriptbar - der konnte nix mit AS anfangen. Später gab es dann irgendwelche Finder-Libs, womit dann rudimentäre Scriptfähigkeit dem Finder verliehen wurde. Später habe ich dann mit dem scriptbaren Finder die ein oder andere Überraschung erleben müssen (simpelste Anfragen wurden mit einem "timeout" quittiert) und last but not least, als ich mit OS X (10.1.4) anfing, bestand das Finder AS-Verzeichnis aus lauter Einträgen, welche erst in Folgeversionen zum funktionieren gebracht wurden. Soweit meine Erfahrungen, die ich eigentlich in dem Satz "So wenig Programme wie möglich mittels AppleScript benutzen" zusammenfassen kann - ehe ich den Finder nach einem Ordnerinhalt frage nutze ich lieber 'list folder' - das mag aber jeder für sich selbst entscheiden. _________________ Gruß,
Folker Brandt
=============================
Systemberatung · Datenbanken · Webdesign |
|
Nach oben |
|
 |
|
|
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
|
|
|