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

Daten mit Droplet verschieben!
Gehe zu Seite 1, 2  Weiter
 
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
sideshow
•-->
•-->


Anmeldedatum: 07.05.2002
Beiträge: 130

BeitragVerfasst am: 23.09.2002 - 12:47    Titel: Daten mit Droplet verschieben! Antworten mit Zitat

Hallo Forum,

ich hab da ein kleines Droplet, das Dateien, die auf das Droplet gezogen werden in einen anderen Ordner verschiebt. Jetzt möchte ich aber nur Dateien verschieben lassen, die einen bestimmten Namen haben.
Wenn ich das mit IF mache, dann dauert das ja ewig, weil es ja mehrere verschiedene Dateinamen sind. Also:

if fileName = "name1.jpg" then...
if fileName = "name2.jpg" then...
-> bei sagen wir mal 40 verschiedenen Dateinamen ist das ganz schön viel...

Wie bekomm ich das besser hin? Vielen Danke im Voraus!
CU, sideshow
_________________
Meine Wenigkeit im Internet: http://www.sideshow-systems.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Pesse
•-->
•-->


Anmeldedatum: 10.09.2002
Beiträge: 84

BeitragVerfasst am: 23.09.2002 - 13:27    Titel: Daten mit Droplet verschieben! Antworten mit Zitat

HI

Um dir beantworten zu können, ob es eine bessere Möglichkeit gibt, müsste ich erst wissen, ob du bestimmte Namenskonventionen einhälst.
Also im Klartext: Sind deine Dateien namentlich irgendwie formatiert?
Dann könntest du nämlich mit contains arbeiten (z.B.)

if theName contains "2" then

Dann werden alle Dateien, die eine 2 enthalten verschoben etc.

Beschreib mal deine Dateien bisschen genauer.

Gruß Pesse
_________________
<>< Think logical! ><>
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
sideshow
•-->
•-->


Anmeldedatum: 07.05.2002
Beiträge: 130

BeitragVerfasst am: 24.09.2002 - 08:19    Titel: Daten mit Droplet verschieben! Antworten mit Zitat

Hi Pesse,

also die Dateien sehen so aus:

sind glaub ich insgesamt 27 und splitten sich immer in 3 auf (sieht dann so aus:)
"aubing1.jpg" / "aubing2.jpg" / "aubing3.jpg"
"laim1.jpg" / "laim2.jpg" / "laim3.jpg"

und so geht das dann weiter.
_________________
Meine Wenigkeit im Internet: http://www.sideshow-systems.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Pesse
•-->
•-->


Anmeldedatum: 10.09.2002
Beiträge: 84

BeitragVerfasst am: 24.09.2002 - 09:23    Titel: Daten mit Droplet verschieben! Antworten mit Zitat

Hm, in welche Ordnerstruktur müssen sie denn übernommen werden? Vielleicht kann man da was machen. Hab da schon so eine Idee, weiß aber nicht, ob das mit deiner Ordnerstruktur passt.

Erklär einfach mal noch bisschen genauer ;o)

Gruß Pesse
_________________
<>< Think logical! ><>
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
sideshow
•-->
•-->


Anmeldedatum: 07.05.2002
Beiträge: 130

BeitragVerfasst am: 24.09.2002 - 10:07    Titel: Daten mit Droplet verschieben! Antworten mit Zitat

So, jetz ganz genau!

Also es ist so:
Die Redakteure bei uns sollen jetz auch die Redaktion fürs Internet machen und die Bilder die halt in der HP sind, werden von einem Programm automatisch hochgeladen und dann mit PHP dann irgendwie automatisch nachgeladen usw. (ich hab da nich so den genauen peil, des macht unser Webmaster).

Auf alle Fälle geht es darum, das der Redakteur dem Bild das er braucht den richtigen Namen gibt und es dann auf das Droplet schiebt und das wiederum schiebt das Bild in den Ordner, aus dem nacher die Bilder automatisch auf den Server geladen werden. Bei einem falschen Dateinamen soll dann eben die Meldung kommen, das sie doch den Bildnamen richtig eingeben!

Noch mehr Klartext:

Bild "aubing1.jpg" -> Droplet -> Ordner "online_pics"
Bild "kasdfkfd.jpg" -> Droplet -> "FEHLERMELDUNG" - Redakteur soll Bild richtig benennen!


Die Bilder werden alle in den selben Ordner geworfen.
Hier nochmal meine jetzige Lösung:
--> nicht verwirren lassen. Bei der jetzigen Version wird das Bild noch in einen anderen Ordner verschoben <--

on run
set theFileList to {}
display dialog "Ziehen Sie eine oder mehrere Internet-Bilddaten auf das Icon!" with icon note buttons {"OK"} default button 1 giving up after 10
--set end of theFileList to choose file with prompt "Datei wählen: "
tell me to open theFileList
end run

--********************************

on open theFileList

tell application "Finder"
activate

set Warnhinweis to "Die Datei hat einen falschen Dateinamen!"
--*****************************

tell application "Finder"
activate

--die repeat-Schleife
repeat with theFile in theFileList

--Namen auslesen
set daFileName to name of theFile

if daFileName != "aubing1.jpg" then
display dialog Warnhinweis with icon stop buttons {"OK"} default button 1 giving up after 5
else
move theFile to folder "hochformat" of folder "internet_pics" of folder "Flo" of folder "Anwender" of disk "MacDaten"
end if

if daFileName != "aubing1.jpg" then
display dialog Warnhinweis with icon stop buttons {"OK"} default button 1 giving up after 5
else
move theFile to folder "hochformat" of folder "internet_pics" of folder "Flo" of folder "Anwender" of disk "MacDaten"
end if


end repeat

end tell

--****************************

end tell

end open  




Danke!
sideshow
_________________
Meine Wenigkeit im Internet: http://www.sideshow-systems.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Pesse
•-->
•-->


Anmeldedatum: 10.09.2002
Beiträge: 84

BeitragVerfasst am: 24.09.2002 - 10:22    Titel: Daten mit Droplet verschieben! Antworten mit Zitat

Du könntest versuchen, eine Routine für die Dateinamenüberprüfung zu schreiben. Ich stell mir das ungefähr so vor:

if thePic ends with 1.jpg or thePic ends with 2.jpg or thePic ends with 3.jpg then [...]
else
Fehlermeldung
end if

Irgendwie was in die Richtung. Du wirst selbst am Besten wissen, wie die Bilder formatiert sein müssen, und auf was man achten muss bzw. kann.

Die andere Möglichkeit wäre, die Namen in einer Liste zu hinterlegen.

property theNames : {"aubing", "blabla", "etc"}

set theType to false

repeat with i in theNames
if thePic starts with i then
set theType to true
exit repeat
end if
end repeat

if theType = true then
[... weitere Dateiüberprüfung, siehe Vorschlag oben ...]
else
Fehlermeldung
end if

Ich hoffe, ich konnte dir ein bisschen helfen, ansonsten - immer ruhig weiterposten!

Gruß Pesse
_________________
<>< Think logical! ><>
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
sideshow
•-->
•-->


Anmeldedatum: 07.05.2002
Beiträge: 130

BeitragVerfasst am: 24.09.2002 - 10:40    Titel: Daten mit Droplet verschieben! Antworten mit Zitat

YESSSSS!

Ja, mit der Liste funktionierts. Ich hatte die Idee auch schon, aber ich wusste nicht wie ichs umsetzen soll! Vielen Dank für Deine Hilfe!

Hier, falls du es dir mal anschauen willst wie es jetzt ist:

property theNames : {"aubing1.jpg", "aubing2.jpg", "aubing3.jpg"}

on run
set theFileList to {}
display dialog "Ziehen Sie eine oder mehrere Internet-Bilddaten auf das Icon!" with icon note buttons {"OK"} default button 1 giving up after 10
--set end of theFileList to choose file with prompt "Datei wählen: "
tell me to open theFileList
end run

--****************

on open theFileList

tell application "Finder"
activate

--**************

tell application "Finder"
activate

--die repeat-Schleife
repeat with theFile in theFileList
set daFileName to name of theFile
set theType to false

repeat with i in theNames
if daFileName starts with i then
set theType to true
exit repeat
end if
end repeat


if theType = true then
display dialog "Pic in Ordnung!!!  " & daFileName
else
display dialog "Pic NICHT in Ordnung!!!  " & daFileName
end if

--move theFile to folder "querformat" of folder "internet_pics" of folder "Flo" of folder "Anwender" of disk "MacDaten"

end repeat

end tell

--***************

end tell

end open
_________________
Meine Wenigkeit im Internet: http://www.sideshow-systems.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Pesse
•-->
•-->


Anmeldedatum: 10.09.2002
Beiträge: 84

BeitragVerfasst am: 24.09.2002 - 10:44    Titel: Daten mit Droplet verschieben! Antworten mit Zitat

Noch ein Tip:
Wenn du sowieso den gesamten Dateinamen in die Liste einträgst, dann kannst du bei deiner Schleifen-If folgendes setzen:

if daFileName = i then

Damit verhinderst du, dass deine Leutz z.B. "aubing1.jpgsss" oder sowas eingeben!

Schön, wenn ich dir helfen konnte!

Bei Fragen - Posten! ;o)

Gruß Pesse
_________________
<>< Think logical! ><>
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
sideshow
•-->
•-->


Anmeldedatum: 07.05.2002
Beiträge: 130

BeitragVerfasst am: 24.09.2002 - 11:01    Titel: Daten mit Droplet verschieben! Antworten mit Zitat

Oh, sehr gut!

Des hätt ich jetz überhaupts gar nich gesehen! Gut aufgepasst!

Danke nochmal!
_________________
Meine Wenigkeit im Internet: http://www.sideshow-systems.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Pesse
•-->
•-->


Anmeldedatum: 10.09.2002
Beiträge: 84

BeitragVerfasst am: 24.09.2002 - 11:10    Titel: Daten mit Droplet verschieben! Antworten mit Zitat

Nochmal ein Vorschlag:

Dann brauchst du nämlich (falls in Zukunft noch weitere Dateien dazukommen) nicht immer aubing1.jpg, aubing2.jpg etc. eingeben, sondern nur den Namen "aubing":


property theNames : {"aubing", "bubing", "cubing"}

on run
set theFileList to {}
display dialog "Ziehen Sie eine oder mehrere Internet-Bilddaten auf das Icon!" with icon note buttons {"OK"} default button 1 giving up after 10
--set end of theFileList to choose file with prompt "Datei wählen: "
tell me to open theFileList
end run

--****************

on open theFileList

tell application "Finder"
activate

--**************

tell application "Finder"
activate

--die repeat-Schleife
repeat with theFile in theFileList
set daFileName to name of theFile
set theType to false

repeat with i in theNames
if daFileName starts with i then
if daFileName = ((i as string) & "1.jpg") or daFileName = ((i as string) & "2.jpg")  or daFileName = ((i as string) & "3.jpg") then
set theType to true
exit repeat
end if
end if
end repeat


if theType = true then
display dialog "Pic in Ordnung!!!  " & daFileName
else
display dialog "Pic NICHT in Ordnung!!!  " & daFileName
end if

--move theFile to folder "querformat" of folder "internet_pics" of folder "Flo" of folder "Anwender" of disk "MacDaten"

end repeat

end tell

--***************

end tell

end open
_________________
<>< Think logical! ><>
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
sideshow
•-->
•-->


Anmeldedatum: 07.05.2002
Beiträge: 130

BeitragVerfasst am: 24.09.2002 - 11:46    Titel: Daten mit Droplet verschieben! Antworten mit Zitat

Das is keine schlechte Idee, fraglich nur ob es was nützt. Muss mich mal mit unserem Webmaster kurzschließen!

Danke für die Idee!!!
_________________
Meine Wenigkeit im Internet: http://www.sideshow-systems.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Pesse
•-->
•-->


Anmeldedatum: 10.09.2002
Beiträge: 84

BeitragVerfasst am: 24.09.2002 - 11:48    Titel: Daten mit Droplet verschieben! Antworten mit Zitat

Kein Problem - weißt ja : Jeder hilft jedem ;o)

Viel Erfolg!

Pesse
_________________
<>< Think logical! ><>
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 24.09.2002 - 14:35    Titel: Daten mit Droplet verschieben! Antworten mit Zitat

Hallo ihr zwei,

ich mische mich jetzt auch mal ein. Da ich eine Begabung habe, die blödesten Fehler zu machen, hätte ich z.B. sofort einem Bild den Namen "aubingBild1.jpg" gegeben.

Der Name beginnt also mit "aubing" und endet mit "1.jpg" das würde also zu einem richtigen Ergebnis führen, was es aber definitiv nicht ist.

Ich halte in diesem Fall den Einsatz einer OSAX für sinnvoll, die 'regular expressions' ermöglicht.

Da gäbe es für OS 9 "Regex Commands". Wie die Sache damit funktioniert könnt ihr im MacScripers Magazine 4 erfahren (auf meiner Magazin-Seite zu haben).

Für OS X und OS 9 gibt's aus Japan die OSAX "mgrep.osax". Den Link dazu findet ihr an der Pinnwand.

Hier nun ein Beispiel zum Einsatz mit mgrep.osax:

display dialog ¨
"Geben Sie den Text ein, der geprüft werden soll." default answer ¨
"" buttons { "OK" } default button 1
set PruefText to text returned of the result

set Suchmuster to "aubing\\d+\\.jpg"

set Ergebnis to mgrep PruefText regex Suchmuster --with ignoreCase

if matchLen of Ergebnis = -1 then
display dialog "Warnung! Falscher Name!"
else
display dialog "Der Name ist in Ordnung."
end if


Kurze Erklärung:

Das wichtigste ist wohl das Suchmuster. Hier wird nach "aubing" gesucht. Dann folgt eine Zahl (\\d). Damit der Zahlenwert auch über 9 hinausgehen kann wird ein + dahinter gesetzt. Das bedeutet, dass der Wert davor 1 oder mehrere Male auftritt. Der letzte Teil des Suchmusters ist nun die Dateiendung. Der Punkt muss dazu durch einen Backslash maskiert werden, damit er als Punkt interpretiert wird. Ansonsten hätte er eine eigene Bedeutung in der regular expression. Der Backslash muss ebenfalls durch einen Backslash maskiert werden, da er in Applescript eine spezielle Bedeutung hat. Confused Wink

Die Suche ist case-sensitiv. Wird das nicht erwünscht, dann einfach die Kommentierung vor "with ignoreCase" entfernen.

Das Ergebnis wird am besten nach "matchLen" getestet. Dieser Wert gibt die länge des passenden Textes an. Falls der Text nicht passt, wird der Wert -1 ausgegeben.

Beispiel:

aubingBild123.jpg -- matchLen: -1
aubing123.jpg -- matchLen: 13

HTH
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 31.10.2004 - 13:17, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
sideshow
•-->
•-->


Anmeldedatum: 07.05.2002
Beiträge: 130

BeitragVerfasst am: 24.09.2002 - 15:22    Titel: Daten mit Droplet verschieben! Antworten mit Zitat

Mh...

aber ich hab doch schon in der repeat-schleife das

if thePic starts with i then...
if thePic = i then...

geändert. Das funktioniert doch eigentlich nur mit dem korrekten Dateinamen weil ich oben in den propertys in der Liste den korrekten Dateinamen angegeben habe! Also selbst wenn ein redakteur wirklich so blöd sein sollte (und davon gehe ich nicht aus) und wirklich "aubingBild1.jpg" eingeben würde; dann gibt er doch auch die Fehlermeldung aus! Oder nicht?
_________________
Meine Wenigkeit im Internet: http://www.sideshow-systems.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Pesse
•-->
•-->


Anmeldedatum: 10.09.2002
Beiträge: 84

BeitragVerfasst am: 24.09.2002 - 15:40    Titel: Daten mit Droplet verschieben! Antworten mit Zitat

Doch, stimmt schon, er gibt eine Fehlermeldung aus! Ich hatte das vorher bei meinem Vorschlag ja auch übersehen, habe es aber dann gleich danach mit thePic = ((item i as string) & "1.jpg") etc. ausgebessert.
Das verhindert selbst einen so doofen Fehler ;o)

Deine Idee, Snow, hat auch was, aber ich finde halt, wenn's einfach geht (also ohne osax), dann kann man's auch einfach umsetzen. Aber das läuft im Endeffekt auf ProgrammierDesign raus und nicht auf Funktionalität oder so. Ich denke du weißt, was ich meine....

Gruß Pesse
_________________
<>< Think logical! ><>
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
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
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
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