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

Anmeldedatum: 19.12.2000 Beiträge: 85
|
Verfasst am: 20.08.2004 - 16:46 Titel: dateiauswahlliste öffnen & dort ausgewählte datei kopier |
|
|
entweder fester ort oder mit weiterer auswahlliste definierbar - ist das überhaupt möglich?
falls ja, wäre ich über tipps glücklich |
|
Nach oben |
|
 |
spirigwi •----->


Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
|
Verfasst am: 22.08.2004 - 11:07 Titel: Aus Datei - Liste etwas kopieren |
|
|
Hallo dogsch
Die Fragestellung find ich gut aber da du nicht gerade grosszügig mit konkreten Angaben bist kann ich dir hier wenigstens einen Tipp geben wie wir die Profis auf den Plan bringt, sie werden uns sicher weiterhelfen:
bei meinem unten formulierten Skirpt fehlen mir nämlich Kenntnisse
1) wie man nach Auswahl eines files dessen Namen erfährt
( und da du ja auch nicht genau umschreibst was du unter "kopieren" verstehst )
2) die Frage: wie man den Inhalt nun als text aus dem file kopieren kann vorausgesetzt dass im Ordner natürlich nur Textfiles liegen
Wäre dies auch deine Frage?
-----------------------
--Skriptvorschlag zum weitern Ausbau:
------------------------
--mach zuerst einen Ordner "untitled" auf Schreibtisch
--fülle diesen mit Files
set TEXListe1 to ¬
"Klicke den gewünschten FileName an: je bereiter dieser Text desto"
set TEXListe2 to ¬
"mehr Information über FileName"
tell application "Finder"
set PFAD to name of startup disk & ":" & ¬
"Desktop Folder:untitled:"
activate (open folder PFAD)
set ContFoldListe to the name of contents of folder PFAD
choose from list ContFoldListe with prompt ¬
TEXListe1 & TEXListe2 with empty selection allowed
--da das Ding von Snow im Forum stammt weiss
--ich die Bedeutung vom allowed-Nachsatz nicht
--verlass dich drauf: eine wichtige Bedeutung hat er die wir
--sicher erfahren werden
activate
end tell
_____________________________
Gruss Willy |
|
Nach oben |
|
 |
dogsch •-->

Anmeldedatum: 19.12.2000 Beiträge: 85
|
Verfasst am: 22.08.2004 - 11:52 Titel: die ganze sache hat folgenden hintergrund: |
|
|
habe eine FileMaker Datenbank mit ca. 1000 Artikeln, welches jedes einzelne ein Bild hat.
Jetzt habe ich eine neue Datenbank mit zum teil identischen Artikeln.
Was ich jetzt machen erreichen will ist, dass ich einen Button in der Datensatzmaske der neuen Datenbank habe womit ich das Bild importieren kann (erledigt FM) und gleichzeitig das Bild der alten Datenbank in das Verzeichnis der neuen kopiert wird.
ich hoffe es ist so ein wenig verständlicher |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 22.08.2004 - 13:47 Titel: |
|
|
Hi Dogsch,
mir fehlt es gerade an einer Datenbank mit Bildern. Die alte Datenbank hat einen Ordner, in dem sich die entsprechenden Bilder befinden? Und die sollen dann in einen Ordner kopiert werden, der zur neuen Datenbank gehört?
Mit 'choose file' kannst du eine Datei (Bilddatei) auswählen. Mit 'choose folder' lässt sich ein Ordner auswählen, den du als Zielordner verwenden kannst.
set Quelle to choose file
set Ziel to choose folder
tell application "Finder"
duplicate Quelle to folder Ziel
end tell
Hast du in der alten Datenbank irgendwo den Pfad zum jeweiligen Bild gespeichert? Dann könnte man diese Pfadangabe per Skript auslesen und würde 'choose file' ersparen. Den Pfad zum Zielordner könnte man dann auch noch fest eingeben - dann wären alle Auswahldialoge wieder beseitigt. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
dogsch •-->

Anmeldedatum: 19.12.2000 Beiträge: 85
|
Verfasst am: 22.08.2004 - 19:39 Titel: |
|
|
ja, die erste/alte datenbank hat einen ordner mit bildern von denen einige in einen ordner der zweiten/neuen datenbank kopiert werden sollen
wie würde denn so ein script zum auslesen des pfades aussehen (sorry, bin absoluter novize) |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 22.08.2004 - 20:19 Titel: |
|
|
Ich habe mir mal eben eine Datenbank gebastelt. Sie enthält nur zwei Felder:
1. Pfad: hier habe ich die Pfadangabe zu einem Bild gespeichert
2. Bild: Medienfeld
Auf dem Schreibtisch habe ich einen Ordner "Tbase" angelegt. In diesen sollen die Bilder kopiert werden.
Hier das Beispiel-Skript:
tell application "FileMaker Pro"
if not (exists database "Testbase") then
open (choose file with prompt "Wo ist die Datei \"Testbase\"?")
end if
tell database "Testbase"
tell current record
set BildPfad to cell "Pfad"
end tell
end tell
end tell
tell application "Finder"
-- fester Ordnerpfad
set Ziel to (path to desktop as string) & "Tbase:"
try
duplicate file BildPfad to folder Ziel
end try
end tell
Wenn du also in der Datenbank irgendwo ein Feld hast, wo der jeweilige Pfad zum Originalbild in etwa dieser Form gespeichert ist,
"Macintosh HD:Bilder:speed exterior1.psd"
- dann bist du jetzt klar im Vorteil.  _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 22.08.2004 - 20:44 Titel: |
|
|
Übrigens Dogsch, wenn der genaue Bildname irgendwo im Datensatz gespeichert ist, würde das auch genügen, da der Ordner, in dem sich die Originalbilder befinden, ja bekannt ist. So könnte man den Bildnamen (vorausgesetzt er entspricht auch wirklich dem Dateinamen der Bilddatei) einfach an den Pfad zum Ordner anhängen und hätte damit wieder die Möglichkeit, ohne Dateiauswahldialog zu arbeiten.
Beispiel:
tell application "Finder"
set BildName to "speed exterior1.psd"
-- der Bildname sollte natürlich wie im vorigen Beispiel
-- aus FileMaker kommen
set Quelle to (path to desktop as string) & "Quelle:"
set BildPfad to Quelle & BildName
set Ziel to (path to desktop as string) & "Tbase:"
try
duplicate file BildPfad to folder Ziel
end try
end tell _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
dogsch •-->

Anmeldedatum: 19.12.2000 Beiträge: 85
|
Verfasst am: 22.08.2004 - 22:16 Titel: ok, hat jetzt geklappt - nur... |
|
|
...wie fange ich die fehlermeldung ab, falls eine datei bereits im neuen ordner existiert (z.b. mit meldung "existiert schon - überschreiben?)
das applescript wird übrigens direkt aus filemaker aufgerufen:
set BildPfad to cell "vQuellPfad" of current record
set Ziel to cell "vZielPfad" of current record
tell application "Finder"
activate
copy document file (BildPfad as alias) to folder Ziel
end tell |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 23.08.2004 - 00:57 Titel: |
|
|
Hallo Dogsch,
funktioniert das mit 'copy' bei dir?
Ich verwende ausschließlich 'duplicate' denn hier kann ich noch den Parameter 'with replacing' angeben. Das wird genau in dem Fall gebraucht, wo die zu kopierende Datei am Ziel bereits existiert.
Hier nochmal das Skript. Der Fehler wird hierbei abgefangen und per Dialog kann entschieden werden, was im Fehlerfall geschehen soll:
tell application "Finder"
set BildName to "speed exterior1.psd"
-- der Bildname sollte natürlich wie im vorigen Beispiel
-- aus FileMaker kommen
set Quelle to (path to desktop as string) & "Quelle:"
set BildPfad to Quelle & BildName
set Ziel to (path to desktop as string) & "Tbase:"
try
duplicate file BildPfad to folder Ziel
on error errMsg number errNr
if errNr = -15267 then
activate
set Antwort to button returned of ¬
(display dialog "Die Datei existiert bereits." & return & ¬
"Was soll nun geschehen?" buttons {"Abbrechen", "Überschreiben"} ¬
default button 2 with icon stop)
if Antwort = "Überschreiben" then
duplicate file BildPfad to folder Ziel with replacing
else
return
end if
end if
end try
end tell
Wenn im Dialog "Überschreiben" ausgewählt wird, kommt also noch einmal der 'duplicate'-Befehl und zwar mit der Ergänzung "with replacing". Will man hier unbedingt mit 'copy' arbeiten, müsste man zuerst die existierende Datei in den Papierkorb verschieben und danach den 'copy'-Befehl ausführen. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
dogsch •-->

Anmeldedatum: 19.12.2000 Beiträge: 85
|
Verfasst am: 23.08.2004 - 09:14 Titel: oh du meister - hab' er vielen dank |
|
|
hat jetzt alles super geklappt - duplicate scheint da der bessere weg gewesen zu sein.
toll, jetzt importiere ich per knopfdruck eine bildvorschau nach filemaker und gleichzeitig wird das originalbild in den datenbankordner kopiert - genauso habe ich es mir vorgestellt!!!
vielen dank an alle beteiligten!!! |
|
Nach oben |
|
 |
spirigwi •----->


Anmeldedatum: 10.07.2003 Beiträge: 1517 Wohnort: Olten-CH
|
Verfasst am: 23.08.2004 - 20:32 Titel: Files mit choose aus Ordner öffnen |
|
|
"ebenfalls vielen Dank Snow
Dank deiner virtuosen Fahrt mit dogsch hab ich`s geschnallt wie man aus einem Ordner
bei dem der Pfad mal festgelgt wurde dann files mit choose öffnen kann"
--set Quelle to choose file --lautet also das Geheimrezept
"hier siehst du dass dem Beginner ganz triviale
Dinge nicht mal in den Sinn kommen(in diesem Falle ein:
set Variable vor den choose - Befehl.
Um nach Auswahl das file zu öffnen sähs dann etwa so aus?"
tell application "Finder"
set QuelleOrdner to ¬
"Desktop Folder:untitled:"
set QuelleOrdnerPFAD to name of startup disk & ":" & ¬
QuelleOrdner
set ContFoldListe to the name of contents of folder QuelleOrdnerPFAD
--------------------
set QuelleFile to Opener(ContFoldListe) of me
-------------------
activate
set QuelleFilePfad to name of startup disk & ":" & ¬
QuelleOrdner & QuelleFile
open file QuelleFilePfad
end tell
--#########################
on Opener(ContFoldListe)
set TEXListe1 to ¬
"Klicke den gewünschten FileName an: je bereiter dieser
Text desto"
set TEXListe2 to ¬
"mehr Information über FileName"
set QuelleFile to choose from list ContFoldListe with prompt ¬
TEXListe1 & TEXListe2 with empty selection allowed
end Opener
"Tschüss zusammen, war sehr lehrreich
Willy" |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 23.08.2004 - 20:44 Titel: |
|
|
Hi Willy,
kleiner Tipp: Den Pfad zu einem Ordner auf dem Schreibtisch brauchst du nicht so umständlich zusammensetzen.
So geht's einfacher:
set QuelleOrdner to (path to desktop as string) & "untitled:"
Das hat auch gleich den Vorteil, dass es auch unter OS X funktioniert, wo der Weg vom Startup-Volume zum Desktop wesentlich länger ist als unter OS 9. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com |
|
Nach oben |
|
 |
dogsch •-->

Anmeldedatum: 19.12.2000 Beiträge: 85
|
Verfasst am: 20.07.2009 - 14:34 Titel: |
|
|
Hallo,
habe 'mal wider nach langer Zeit dieses Script hervorgekramt - kann es sein, das es unter AS 2.0.1 nicht lauffähig ist?
Es läuft zwar durch, jedoch passiert nichts (es wird keine Datei dubliziert).
Hatte zum testen dieses im Script Editor:
set BildPfad to "file://macbook/Users/meinbenutzer/Desktop/FM Test ƒ/Bilder/Bild1_gr.jpg"
display dialog BildPfad
tell application "Finder"
set Ziel to (path to desktop as string) & "Tbase:"
display dialog Ziel
try
copy file BildPfad to folder Ziel
end try
end tell |
|
Nach oben |
|
 |
|