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

Busymans DownloadSorter 1.0BETA!!! - Die letzten Bugs wollen

 
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
Busyman
•-->
•-->


Anmeldedatum: 16.09.2001
Beiträge: 64
Wohnort: Ostwestfalen

BeitragVerfasst am: 02.10.2001 - 23:52    Titel: Busymans DownloadSorter 1.0BETA!!! - Die letzten Bugs wollen Antworten mit Zitat

Hallo Forum,

langsam entwickelt sich mein kleines Script zu einer seitenlangen Übung in logischem Denken Smile Macht aber viel Spaß *g*

Wie Snow vorgeschlagen hat, wird jetzt im Script ständig überprüft ob anzulegende Ordner schon vorhanden sind, trotzdem benutzt werden sollen, etc. Und meine eigenen Beta-Tests sind bisher auch ganz gut verlaufen. Aber an einer Stelle hakt das Script noch gewaltig: Denn ich weiß nicht, wie man Scripte abbrechen lassen kann Sad An der markierten Stelle im Script (siehe Kommentarzeile recht weit oben) soll das Script trotz Abbruch nicht an die repeat-Stelle springen, das gibt immer eine Fehlermeldung. Es soll ganz aufhören! *g* Aber wie erledigt man das?

Helft Ihr mir noch einmal?

Ganz lieben Gruß ans beste deutschsprachige AppleScript-Forum,

Busyman



-- Busymans DownloadSorter 1.0b

tell application "Finder"
activate
with timeout of 600 seconds

set SIT_Dateiliste to every file whose ¨
name ends with ".sit" or ¨
file type is "SIT5" and ¨
creator type is "SIT!"

display dialog "Wie soll der Ordner heißen, in den Ihre Downloads" & return & ¨
"einsortiert werden?" buttons { "Download Archiv", "Eigener Name", "Abbrechen" } default button 2 with icon note
set Dialog_Ergebnis_1 to result
if button returned of result = "Download Archiv" then
if folder "Download Archiv" exists then
display dialog "Fehler: Ein Ordner names" & return & return & "Download Archiv" & return & return & ¨
"existiert bereits." & return & return & ¨
"Wollen Sie" & return & ¨
"a) den Ordner dennoch verwenden oder" & return & ¨
"b) das Script abbrechen?" buttons { "Ordner verwenden", "Abbrechen" } default button 2 with icon caution
set Dialog_Ergebnis_2 to result
if button returned of result = "Ordner verwenden" then
set Sortier_Ordner to folder "Download Archiv"
else if button returned of result = "Abbrechen" then
beep 1 -- HIER SOLL DAS SCRIPT ABBRECHEN!!!!!!! Smile
end if
else if not (exists folder "Download Archiv" ) then
make new folder
set the name of the result to "Download Archiv"
set Sortier_Ordner to the folder "Download Archiv"
end if
else if button returned of result = "Eigener Name" then
display dialog "Geben Sie bitte den Namen für den Ordner an:" default answer ""
set Dialog_Ergebnis_3 to the text returned of the result as string
try
make new folder
set the name of the result to Dialog_Ergebnis_3
set Sortier_Ordner to the folder Dialog_Ergebnis_3
on error Der_Fehler_1
display dialog "Fehler: Ein Ordner namens " & Dialog_Ergebnis_3 & " existiert bereits." & return & ¨
"Wollen Sie" & return & ¨
"a) den Ordner dennoch verwenden oder" & return & ¨
"b) das Script abbrechen?" buttons { "Ordner verwenden", "Abbrechen" } default button 1 with icon stop
set Dialog_Ergebnis_4 to result
if button returned of result = "Ordner verwenden" then
set Sortier_Ordner to folder Dialog_Ergebnis_3
else if button returned of result = "Abbrechen" then
beep 1
end if
end try
end if

repeat with SIT_Datei in SIT_Dateiliste
set file type of SIT_Datei to "SIT5"
set creator type of SIT_Datei to "SIT!"
set Ordnername_NEU to the name of SIT_Datei
make new folder in Sortier_Ordner
set Moratoriums_Ordner to the result
if Ordnername_NEU ends with ".sit" then
set Ordnername_NEU to (characters 1 thru -5 of Ordnername_NEU) as string
end if
if folder Ordnername_NEU in Sortier_Ordner exists then
display dialog "Fehler: Ein Ordner namens" & return & return & Ordnername_NEU & return & return & ¨
"existiert bereits." & return & return & ¨
"Wollen Sie" & return & ¨
"a) den Ordner dennoch verwenden oder" & return & ¨
"b) das Script abbrechen?" buttons { "Ordner verwenden", "Abbrechen" } default button 1 with icon caution
set Dialog_Ergebnis_5 to result
if button returned of result = "Ordner verwenden" then
try
move SIT_Datei to folder Ordnername_NEU in Sortier_Ordner
on error Der_Fehler_2
display dialog "Eine Datei namens" & return & return & SIT_Datei & return & return & ¨
"existiert bereits im Ordner" & return & return & Ordnername_NEU & return & return & ¨
"Die Datei kann daher nicht verschoben werden." buttons { "Na gut..." } default button 1 with icon stop
end try
else if button returned of result = "Abbrechen" then
beep 1
end if
else if not (exists folder Ordnername_NEU in Sortier_Ordner) then
set name of Moratoriums_Ordner to Ordnername_NEU
move SIT_Datei to folder Ordnername_NEU in Sortier_Ordner
end if
end repeat

set Neue_Ordner to every folder in Sortier_Ordner whose name contains "Neuer Ordner"
repeat with Neuer_Ordner in Neue_Ordner
delete Neuer_Ordner
end repeat

end timeout
end tell
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 03.10.2001 - 00:29    Titel: Busymans DownloadSorter 1.0BETA!!! Antworten mit Zitat

Hi Busyman,

die Lösung ist in diesem Fall ganz einfach:

else if button returned of result = "Abbrechen" then
return -- HIER SOLL DAS SCRIPT ABBRECHEN!!!!!!! Smile
end if

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


Zuletzt bearbeitet von Snow am 01.03.2003 - 14:18, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Busyman
•-->
•-->


Anmeldedatum: 16.09.2001
Beiträge: 64
Wohnort: Ostwestfalen

BeitragVerfasst am: 03.10.2001 - 00:42    Titel: Busymans DownloadSorter 1.0BETA!!! Antworten mit Zitat

Lieber Snow,

Du bist der Beste! Um diese Uhrzeit hätte ich keine Antwort mehr erwartet Smile Ist ja scheinbar wirklich eine einfache Lösung, danke Dir von ganzem Herzen für Deine Hilfe!

Aber gerade an diesen einfachen Dingen scheitere ich zur Zeit immer wieder, es fehlt mir noch an grundlegendem Befehlswissen. Hoffentlich werde ich das durch das Lesen dieses Forums und noch weitere naive Fragen schnell ändern können Wink Denn irgendwie ist es ein tolles Gefühl, wenn man so ein Script fertiggestellt hat und es genauso funktioniert, wie man es sich wünscht *ggg*

Wie macht Ihr eigentlich diese farbigen Hervorhebungen in den "Online-Scripten"? Ich lasse meine Scripte durch das Script "Format Scriptcode for Forum" laufen, die Farben läßt es aber scheinbar links liegen...

Gute Nacht und nochmals Danke!

Busyman *überglücklich*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 03.10.2001 - 01:07    Titel: Busymans DownloadSorter 1.0BETA!!! Antworten mit Zitat

Zitat:
Wie macht Ihr eigentlich diese farbigen Hervorhebungen in den "Online-Scripten"?
Ich lasse meine Scripte durch das Script "Format Scriptcode for Forum" laufen, die Farben läßt es aber scheinbar links liegen...


Das ist ein Versuch von mir. Ich habe das "Format Scriptcode for Ikonboard" so umgebaut, dass es die Farbeinstellungen aus den AppleScript Preferences holt und diese dann von RGB-Werten zu Hexadezimal-Werten umrechnet. Das wird dann zur Formatierung der Skripts verwendet. Allerdings hat die Sache einen gewaltigen Nachteil. Durch den vielen Ikonboard-Code zur Formatierung wird ein Beitrag ziemlich umfangreich.

Dein Skript von oben hätte so 5908 Zeichen.

Mit dem Internet Explorer ergibt sich dann das Problem, dass man den Text nicht mehr einsetzen kann. Es gehen da nur 32000 Zeichen. Und diese Zeichenanzahl ist leider schnell erreicht.

Vielleicht sollte ich noch eine abgespeckte Version machen, in der eben nicht alle möglichen Werte farblich umgesetzt werden. - Mal sehen.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 03.10.2001 - 20:11    Titel: Busymans DownloadSorter 1.0BETA!!! Antworten mit Zitat

Hallo Busyman,

ich habe noch was gefunden, was du verbessern solltest.

Beim Testen von Skripten benehme ich mich immer wie ein DAU :wink:

Folgendes Szenario:

Ich entscheide mich, einen eigenen Namen für den Download-Ordner zu benutzen. Jetzt soll ich einen Namen eingeben und mir fällt nichts ein. Was macht ein DAU? - gibt 'Download Archiv' ein! Der Ordner existiert bereits und ich werde gefragt, ob ich ihn benutzen will usw.

Wenn ich dann auf meinen Desktop blicke, liegt jetzt aber ein neuer Ordner 'Neuer Ordner'. - Klar, der wurde angelegt, als ich gewählt hatte, einen Ordner mit eigenem Namen zu verwenden.

Also: In dem Fall solltest du dafür sorgen, dass dieser (unbenutzte) neue Ordner wieder gelöscht wird.

Weitere Verbesserungsmöglichkeit:
Das Skript ist jetzt schon ziemlich unübersichtlich geworden. Du solltest die Funktion zur Existenzprüfung des Ordners in einen Handler verlagern und dann an den entsprechenden Stellen im Skript diesen Handler aufrufen, wobei du nur den jeweiligen Ordnernamen an den Handler übergeben musst.

So das war die Hausaufgabe! Wink
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Busyman
•-->
•-->


Anmeldedatum: 16.09.2001
Beiträge: 64
Wohnort: Ostwestfalen

BeitragVerfasst am: 04.10.2001 - 01:20    Titel: Busymans DownloadSorter 1.0BETA!!! Antworten mit Zitat

Hallo Snow,

man könnte glatt den Eindruck gewinnen, Du seiest Lehrer, denn genau Deine Art der Motivation (Steigerung der Schwierigkeitsgrade in angemessener Form, herausfordernd, aber lösbar) lerne ich an der Uni *ggg* Das ist überhaupt keine Kritik, im Gegenteil, ich finde das super von Dir!

Deine Kritikpunkte sind absolut berechtigt, mir ist das auch schon aufgefallen (mit den neuen Ordnern) und durch meinen kleinen macnews.de-Betatest *g* habe ich ebenfalls 3x dieses Feedback bekommen. In dem Ordner, in den die Dateien einsortiert werden, versuche ich ja durch die letzte Zeile des Scipts diesem Problem Herr zu werden, indem ich alle Ordner lösche, die den Namen "Neuer Ordner" beinhalten, sicher und sauber ist diese Methode allerdings nicht. Und auf dem Desktop schon gar nicht, denn da könnte ja ein Ordner liegen, der den Namen trägt, aber wichtige Daten des Benutzers beherbergt. Da muß ich also wirklich noch einmal ran. *grübel*

Zur Unübersichtlichkeit: So wahr wurde noch nie gesprochen! *g* Ich brauche bald einen 21"-Monitor, um meine Scripte zu entwickeln Smile Ich kann mir vorstellen, was Du mit Handlern meinst, aber praktisch muß ich da erst Erfahrungen sammeln, mal schauen, wie schnell ich das begreife ;-)

Eine andere Sache, die ich unbedingt noch einbauen will: Das Script soll anfangs überprüfen, ob überhaupt SIT-Dateien auf dem Desktop exisitieren und falls nicht, soll selbstverständlich nicht der Dialog angezeigt werden, welcher den Benutzer dazu auffordert, einen Namen für den Download-Ordner zu wählen.

Aber AppleScript ist wirklich eine Gefahr: Hat man einmal gespürt, wie mächtig es ist, und ist dazu an logischen Rätseln und Automatisierungen interessiert, dann hat einen das AppleScript-Fieber Smile Ich denke jetzt schon ständig vor dem Einschlafen daran, was man noch so mit Scripten anstellen könnte *ggg*

Danke nochmals für Deine Rückmeldung und: Die Atmosphäre hier ist wirklich toll! Fühle mich hier als AS-Anfänger gut aufgehoben!

Gruß,

Busyman
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 04.10.2001 - 01:34    Titel: Busymans DownloadSorter 1.0BETA!!! Antworten mit Zitat

Zitat:
Zitat: von Busyman am 1:20 Uhr am 4 Okt. 2001
Zur Unübersichtlichkeit: So wahr wurde noch nie gesprochen! *g* Ich brauche bald einen 21"-Monitor, um meine Scripte zu entwickeln Smile Ich kann mir vorstellen, was Du mit Handlern meinst, aber praktisch muß ich da erst Erfahrungen sammeln, mal schauen, wie schnell ich das begreife Wink


Zur Einführung empfehle ich da mal das Kapitel 2 "Routinen" im MacScripter's Magazine 3. Ich denke dort ist alles Wichtige erklärt. Danach geht's dann ans Ausprobieren.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
macgix
•--->
•--->


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

BeitragVerfasst am: 05.10.2001 - 00:46    Titel: Busymans DownloadSorter 1.0BETA!!! Antworten mit Zitat

Ein Tip, was Übersichtlichkeit und Struktur von Skripten betrifft. Es sollte immer versucht werden, Teile des Skriptes als Funktionen aufzufassen und diese in eigenen Handlern zu definieren. Durch eine sinnvolle Benennung der Handler kann man leicht durchs Sktript scrollen und findet die relevanten Stellen leichter.

Sinnvoll ist es dann auch noch, einen Fehlerhandler (on error) einzubauen, der auch übermittelt bekommt, in welcher Funktion der Fehler aufgetreten ist:

on meineFunktion()
try
-- irgendwas dummes
on error errtext number errnum
my FehlerMelden(errtext, errnum, "meineFunktion()" )
end try
end meineFunktion

on FehlerMelden(a, b, c)
activate
display dialog "Fehler: " & a & " / Nummer: " & b & " / Funktion: " & c
end FehlerMelden


Dann kommt man auch auf einem 17er zurecht, Monitor, nicht Schlüssel Wink. Super ist es, wenn der Editor auch noch erlaubt die Handler über ein Popupmenü direkt anzuspringen wie z.B. in ScriptDebugger, FaceSpan und Smile (?).

Beachte: Nur "properties" gelten im selben Skript, global definierte Variablen nur innerhalb eines Handlers!
_________________
[macgix]
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: 05.10.2001 - 01:01    Titel: Busymans DownloadSorter 1.0BETA!!! Antworten mit Zitat

Zitat:
Eine andere Sache, die ich unbedingt noch einbauen will: Das Script soll anfangs überprüfen, ob überhaupt SIT-Dateien auf dem Desktop exisitieren und falls nicht, soll selbstverständlich nicht der Dialog angezeigt werden, welcher den Benutzer dazu auffordert, einen Namen für den Download-Ordner zu wählen.
Insofern die SIT-Archive auf dem Desktop liegen, müsste der Finder sie kennen. Also wäre zu formulieren:

tell application "Finder"

-- Per Dateinamensendung
set DieSits to items whose name ends with ".sit"

-- Per Datei- und Erzeugertyp
-- Vorsicht! Es gibt auch ältere Versionen als StuffIt 5
set DieSitties to items whose creator type is "SIT!" and file type is "SIT5"

end tell

if (count of DieSits) is not (count of DieSitties) then
return "Nicht alle Stuffit Archive auf dem Schreibtisch enden mit .sit"
else
return {DieSits, DieSitties}
end if


Liegen Sie woanders, hilft items of ((ordnerpfad_als_text) as alias) anstatt nur items .

Um zu verhindern, dass ein "Neuer Ordner" entsteht, überprüft man zuerst mit get (ordnerpfad_als_text) in einem try-block, ob der Ordner schon exisitiert. Tritt ein Fehler auf, kann man die Fehlernummer auslesen und den Ordner dementsprechend anlegen und mit dem Skript fortfahren.
_________________
[macgix]
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: 05.10.2001 - 01:07    Titel: Busymans DownloadSorter 1.0BETA!!! Antworten mit Zitat

Sorry, i was a bit buffy Wink

Statt get (ordnerpfad_als_text) muss es natürlich get (ordnerpfad_als_text) as alias heissen.

Den Finder braucht man bei (ordnerpfad_als_text) as alias übrigens nicht zu bemühen Cool
_________________
[macgix]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Busyman
•-->
•-->


Anmeldedatum: 16.09.2001
Beiträge: 64
Wohnort: Ostwestfalen

BeitragVerfasst am: 05.10.2001 - 11:27    Titel: Busymans DownloadSorter 1.0BETA!!! Antworten mit Zitat

Hi macgix,

also Du und Snow könnt sagen, was Ihr wollt, aber der Support und die Hilfsbereitschaft in diesem Forum ist unvergleichbar Smile Selbst die AppleScript-Users-Mailinglist oder das Forum von macscripte.net bietet nicht so ausführliche und nachsichtige Hilfe.

Die Funktion der Handler ist wirklich sehr interessant, nach dem Studieren des MacScripter Magazines und Deinen Ausführungen wird mir die Vorgehensweise immer deutlicher und klarer, nun muß ich es nur noch auf mein Script übertragen. Das sollte aber nicht allzu lange dauern *g* Irgendwie erinnert mich das immer an die ersten Programme im Informatikunterricht, die Schleifen-Funktionen hatten wie

if error (23) then goto (44)...on (44) list...end on...

Was ich noch nicht verstehe: Wann benutzt man "item", und wann "file"? Was ist da der Unterschied?

Vielen Dank noch einmal für Deine Ausführungen und: Du hast eine interessante Homepage, sehr fein!

Gruß,

Busyman
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: 05.10.2001 - 13:42    Titel: Busymans DownloadSorter 1.0BETA!!! Antworten mit Zitat

Hi Busyman

Danke für das dicke Lob. Du hast es genau getroffen. Eben weil der englischsprachige Support für deutsche Scripter etwas hinkt, entstand dieses Forum einst und SciptMyMac.de danach.

Apropos Informatikunterricht. Dreimal darfst Du raten, wie es bei mir einst begann mit der Computerei... ;)

Gut, ich sag's Dir. 1984 stand ich vor einem Commodore 64 bei Quelle und stellte fest, dass die Sch...maschine schneller zählen konnte als ich...

100 x = x + 1
110 print x
120 goto 100

Da war mit klar, dass ich so ein Ding haben musste, ohne noch zu wissen, was man damit alles anstellen kann.

Kaum ein Jahr später hatte ich dann Basic und 6510 Assembler drauf (dank 64er und DATA BECKER) und hackte fleissig rum.

In der Schule kam dann ab der 10ten Klasse ein dreijähriger Informatikkurs an Apple IIe (wir lernten daran in Pascal) dazu *gähn*, ein Besuch im Rechenzentrum der Uni-Mainz während der Projekttage und schwups, war ich infiziert... der Rest ist Geschichte.

Nun zu "file" und "item". "item" ist ein übergeordneter Begriff (also eine höhere Klasse als), der verschiedene Objektklassen als Unterklassen kennt, nämlich "folder" und "file". Wobei nur der Finder "folder" kennt! - Damit lassen sich beide Arten mit einer Formulierung erfassen. Möchte man differenzierter auf Objekte zugreifen, bzw. deren Typ prüfen, verwendet man eine der Unterklassen.

Der Trick mit dem (ordnerpfad_als_text) as alias ist der, dass das ausschließliche Verwenden von Dateipfaden sicherer ist als das gemischte Vorgehen (mal als Pfad, mal als file "xxx" of folder "yyy" of application "Finder"), da viele Scripting Addition-Befehle z.B. die Angabe einer "file reference" in Form einer Pfadangabe oder eines "alias" verlangen.

Mit dem Trick, as alias an den Pfad anzufügen, klappt die Referenz eigentlich immer. Aussderdem kann mit Pfaden besser "rumspielen", da es sich ja um Textstrings handelt.

Unter Mac OS X ist dies sogar der einzig sinvolle, gangbare Weg!

Wer als (ordnerpfad_als_text) as alias verwendet, kann recht sicher sein, dass seine Skripte auch ruck zuck unter Mac OS X laufen, ohne dass zuviel debuggt werden muss.

Leeve Jruß uss Kölle,

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