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

Mac OS X - Scripting in der "neuen Welt"
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
macgix
•--->
•--->


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

BeitragVerfasst am: 22.07.2001 - 17:51    Titel: Mac OS X - Scripting in der "neuen Welt" Antworten mit Zitat

Ich dachte mir, dass es an der Zeit ist, eine Rubrik für Mac OS X zu eröffnen. Also, legt los.

In der Macwelt wird dieses Jahr ein Artikel über Mac OS X Scripting erscheinen (wer den wohl geschrieben hat?). Dort sollte dann auch ein Link zu diesem Forum abgedruckt werden.

Ich freue mich auf rege Beteiligung und viele neue Erfahrungen.

Euer macgix Thomas
_________________
[macgix]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
TNBC
•->
•->


Anmeldedatum: 22.11.2000
Beiträge: 11
Wohnort: N¸rnberg

BeitragVerfasst am: 29.07.2001 - 11:51    Titel: Mac OS X Antworten mit Zitat

Falls der Mülleimer mal wieder zickt...

Code:

set temp to system "chflags -R nouchg,noschg ~/.Trash/*"
set temp to system "rm -rf ~/.Trash/*"


Nu hat sichs ausgezickt - wär ja noch schöner :)

Benötigt die System.osax http://www.osaxen.com/index.php?id=system&function=download
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
macgix
•--->
•--->


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

BeitragVerfasst am: 01.08.2001 - 18:13    Titel: Mac OS X Antworten mit Zitat

Hi

interessant. Es funktioniert wie angegben innerhalb des Skripteditors. Ich habe es danach als eigenständigen Handler in ein Skript eingebaut. Da funktionierte es nicht, sondern das Script überging den Handler irgendwie, obwohl korrekt referenziert.

Ich bleib' der Sache auf der Spur.

Thomas
_________________
[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: 02.08.2001 - 18:46    Titel: Mac OS X Antworten mit Zitat

Wow

wie ich eben mit positivem Erstaunen feststellen durfte, löscht mein Skript "Räum' mal richtig auf" aus der Macwelt-Kollektion 06/2001 auch die Rückstände einer Mac OS X Installation in Form symbolischer Links gründlich obwohl das eigentlich nicht geht...

Ich habe die ganze Kollektion unter diesem Downloadlink (11.9 MB MacBinary III) zur Verfügung gestellt, da sie ausser auf der CD der Macwelt-Ausgabe 06/2001 sonst nicht erhältlich ist.

Viel Vergnügen,

Thomas

Alle Rechte vorbehalten - All rights reserved! - Copyright (c) 2001 by macgix ThK im Auftrag des IDG Verlags für Macwelt Deutschland.
_________________
[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: 06.08.2001 - 20:24    Titel: Mac OS X Antworten mit Zitat

*gr$%rtru&$iuu%&^*

Ein unter Mac OS X kompiliertes Droplet, führt unter Mac OS 9 (nicht Classic, sonder real) auf demselben Rechner nach dem Start per Doppelklick zum sofortigen Einfrieren der gesamten Maschine unter Mac OS 9.1 und AppleScript 1.6 - Kann das jemand bestätigen?

Thomas
_________________
[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: 06.08.2001 - 20:28    Titel: Mac OS X Antworten mit Zitat

*grir4"%"ß$&"*

Es lässt sich nicht einmal mit dem Apple Scripteditor unter Mac OS 9.1 mehr öffnen -> FREEZE!

Hat man da noch Worte... Dabei sind da nich' ma' "Properties" drin...

Thomas
_________________
[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: 06.08.2001 - 21:03    Titel: Mac OS X Antworten mit Zitat

Rechtschreibprüfer-Skript

So, das ist es nun endlich. Wie die Erfahrung gelehrt hat, sollte man ein Skript, das unter Mac OS X geschrieben wurde, immer als Text speichern und unter Mac OS 9 neukompilieren wenn man es auch in der "alten Welt" verwenden möchte.

Dieses Skript läuft unter Mac OS 9 UND Mac OS X 10.0.4 mit der aktuellen Version von Excalibur, 4.0:

[font=geneva](* Correct Text with Excalibur 1.0

Dieses Skriptprogramm prüft eine Textdatei mit Excalibur 4 und legt eine neue Datei mit dem korrigierten und unformatierten Text auf dem Schreibtisch an. - Durch bestätigen mit "OK" ohne Auswahl eines Eintrags wird das angezeigte bisherige Wort übernommen - (P) 2001 by macgix Thomas Kühner - <macgix@macgix.com> - This is Open Source and works with Mac OS 9 and X - Feel free to modify.

*)

on run

set tFil to (choose file of type "TEXT" ) as text
return checkFile(alias tFil)

end run

on open FirstTextFile

if (count of FirstTextFile) > 1 then

activate
display dialog "Bitte nur eine Textdatei auf das Programmsymbol ziehen!" buttons {"OK"} ¨
default button 1 with icon stop giving up after 10

return false

else
set FirstTextFile to FirstTextFile as text
return checkFile(alias FirstTextFile)
end if


end open

on checkFile(tRef)

set tRef to open for access tRef

set tResTextAsList to {}

repeat

try
set tText to read tRef as text until return
on error errtext number errnum
log errnum
try
set tText to read tRef as text until eof
on error errtext number errnum
log errnum
exit repeat
end try
end try

set tWord to true

repeat with aWord in words of tText

tell application "Excalibur"
set tRes to guess word aWord guess count 8
end tell

set tWord to true

if tRes = {} then
set tResTextAsList to tResTextAsList & aWord & " " as list
else

if tRes != true then
try
set tWord to ¨
(choose from list tRes default items {1} cancel button name ¨
"Abbrechen" with prompt aWord with empty selection allowed)

if tWord is false then exit repeat

if tWord is {} then
set tResTextAsList to tResTextAsList & aWord & " " as list
else
set tResTextAsList to tResTextAsList & tWord & " " as list
end if

end try
else
set tResTextAsList to tResTextAsList & aWord & " " as list
end if

end if

end repeat

if tWord is false then exit repeat

set tResTextAsList to tResTextAsList & return & " " as list

end repeat

-- close access tRef

if tWord is false then

activate
display dialog "Die Korrektur wurde vom Anwender abgebrochen!" buttons {"OK"} ¨
default button 1 with icon caution giving up after 10

return false

else

set tPath to ((path to desktop) as text) & "Korrigierter Text"

tell application "Finder"
if exists alias tPath then delete alias tPath
repeat -- Mac OS X Hack!
try
get alias tPath
on error
exit repeat
end try
end repeat
end tell

if last item of tResTextAsList is {return} then set tResTextAsList to ¨
items 1 thru -2 of tResTextAsList

set tResText to tResTextAsList as text
set tResAsList to {} -- Speicher freigeben.

set tRef to open for access file tPath with write permission
write tResText to tRef
close access tRef

activate
display dialog "Der korrigierte Text wurde auf dem Schreibtisch abgespeichert!" buttons {"OK"} ¨
default button 1 with icon note giving up after 10


return true

end if

end checkFile
[/font]


Viel Vergnügen! ;)

Thomas
_________________
[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: 07.08.2001 - 01:06    Titel: Mac OS X Antworten mit Zitat

Und hier noch eine verbesserte Version, deren Resultat der Originaldatei nun genauer entspricht.- Diese verfolgt im übrigen einen anderen Ansatz, den Text zu verarbeiten:

[font=geneva](* Correct Text with Excalibur 1.1

Diese kleine Skriptprogramm prüft eine Textdatei mit Excalibur 4 und legt eine neue Datei mit dem korrigierten und unformatierten Text auf dem Schreibtisch an.
Durch bestätigen mit "OK" ohne Auswahl eines Eintrags wird das angezeigte bisherige Word übernommen - (P) 2001 by macgix Thomas Kühner - <macgix@macgix.com>
- This is Open Source and works with Mac OS 9 and X - Feel free to modify. - This script also demonstrates interesting techniques in handling AppleEvents correctly!

*)

property tSigns : {return, tab, ":", " ", ".", ",", "-", "#", "+", "¥", "`", "=", "( ", " )", "&", "%", "$", "ß", "\"", "!", ¨
"³", "°", "", "¢", "[", "]", "&#0124;", "{ ", " }", "!=", "ø", "'", "^", "ƒ", "Ñ", "¨", "²", "#", "£", "fi", "^", "\\", "ò", "…", "Ø", "?", "?", ¨
";", ":", "_", "?", "—", "ó", "‰", "?", "«", "?", "Ä", "É", "©", "", "/", "†", "?", "@", "µ", "~", "ÿ", "?", "´", "Æ", "Ç", "Ü", "®", ¨
"?", "<sum>", "?", "€", "?", "å", "", "ï", "", "å", "ƒ", "<", ">", "<=", ">=", "‰", "ã", "«", "ô", "â", "¦", "Ã", "²", "¤", "?", "à", "fl", ¨
"<breve>", "õ", "ÿ", "?", "ª", "½", "Õ", "¡", "?", "Ñ", "", "á", "<caron>" }

on run
return checkFile(true)
end run

on open FirstTextFile

if (count of FirstTextFile) > 1 then

activate
display dialog "Bitte nur eine Textdatei auf das Programmsymbol ziehen!" buttons { "OK" } ¨
default button 1 with icon stop giving up after 10

return false

else
set FirstTextFile to item 1 of FirstTextFile as text
return checkFile(FirstTextFile)
end if

end open

on checkFile(tRef)

try -- Da tRef verschiedenen Klassen angehören kann!
if tRef is true then set tRef to open for access (choose file of type "TEXT" )
on error
try
set tRef to open for access tRef
on error -- Anwemder hat Abbrechen geklickt.
return false
end try
end try

set tNewText to ""
set tWord to ""

repeat

try
set tText to read tRef as text until return
on error
try
set tText to read tRef as text until eof
on error
exit repeat
end try
end try

set tChars to characters of tText

repeat with a_char in tChars

if a_char is not in tSigns then
set tWord to (tWord & a_char) as text
else

set tRes to correctWord(tWord)
if tRes is false then return false

if tRes != {} then
set tNewText to tNewText & tRes & a_char as text
else
set tNewText to tNewText & tWord & a_char as text
end if

set tWord to ""

end if

try
if tRes is false then exit repeat
end try

end repeat

try
if tRes is false then exit repeat
end try

end repeat

close access tRef

if tWord is false then

activate
display dialog "Die Korrektur wurde vom Anwender abgebrochen!" buttons { "OK" } ¨
default button 1 with icon caution giving up after 10

return false

else

set tPath to ((path to desktop) as text) & "Korrigierter Text"

tell application "Finder"
if exists alias tPath then delete alias tPath
repeat -- Mac OS X Hack!
try
get alias tPath
on error
exit repeat
end try
end repeat
end tell

set tResAsList to {} -- Speicher freigeben.

if exists file tPath then deleteFile tPath

set tRef to open for access file tPath with write permission
write tNewText to tRef
close access tRef

return tNewText

end if

end checkFile

on correctWord(t_Word)

tell application "Excalibur"
set t_Res to guess word t_Word guess count 10
end tell

if t_Res = {} then

return t_Word

else if t_Res is false then

return false
else

activate

set t_List to (choose from list t_Res cancel button name ¨
"Abbrechen" OK button name "OK" with prompt t_Word with empty selection allowed)

if t_List is false then
return false
else if t_List is {} then
return t_Word
else
return t_List
end if

end if

end correctWord
[/font]


Noch nicht unter Mac OS X getestet, hole ich gleich nach. Njoy,

Thomas
_________________
[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: 07.08.2001 - 01:57    Titel: Mac OS X Antworten mit Zitat

Wie zu erwarten war, gibt es noch zwei Problemstellen, wenn das Skript auch unter Mac OS X laufen soll:

a) Es muss im Open-Handler [font=geneva]return checkFile([color=red]alias FirstTextFile)[/color][/font] anstatt [font=geneva]return checkFile(FirstTextFile)[/font] heissen.

b) Die Zeile [font=geneva]if exists file tPath then deleteFile tPath[/font] muss gelöscht werden!

c) Das Skript fällt bei Drag und Drop der Textdatei in eine Endlosschleife, bei Start per Doppelklick nicht. - Das hatte ich bei 1.0 schonmal, konnte es aber irgendwie fixen. - Ich halte es allerdings eher für einen Bug in Mac OS X AppleScript 1.6...

Hilft jemand, die Ursache dafür zu finden? Bei Drag und Drop führt der read-Befehl merkwürdigerweise nicht zu einer Fehlermeldung, wenn das Dateiende erreicht wurde. ... Hmmm... merkwürdig.

Thomas
_________________
[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: 07.08.2001 - 02:11    Titel: Mac OS X Antworten mit Zitat

Bitte auch noch ersetzten. Da waren noch zwei "i"s drin versteckt:

[font=geneva]
property tSigns : {return, tab, ":", " ", ".", ",", "-", "#", "+", "¥", "`", "=", "(", "[color=red]Nach links offene gebogene Klammer! Entsprechend zu ersetzen! Kann hier wegen Ikonboard Smilies nicht dargestellt werden.
", "&", "%", "$", "ß", "\"", "!", ¨
"³", "", "¢", "[", "]", "&#0124;", "{", "}", "!=", "ø", "'", "^", "ƒ", "Ñ", "¨", "²", "#", "£", "fi", "^", "\\", "ò", "…", "Ø", "?", "?", ¨
";", ":", "_", "?", "—", "ó", "‰", "?", "«", "?", "Ä", "É", "©", "", "/", "†", "?", "@", "µ", "~", "ÿ", "?", "´", "Æ", "Ç", "Ü", "®", ¨
"?", "<sum>", "?", "€", "?", "å", "", "ï", "", "å", "ƒ", "<", ">", "<=", ">=", "‰", "ã", "«", "ô", "â", "¦", "Ã", "²", "¤", "à", "fl", ¨
"<breve>", "õ", "ÿ", "?", "ª", "½", "Õ", "¡", "?", "Ñ", "", "á", "<caron>"}
[/color][/font]


Danke

Thomas
_________________
[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: 07.08.2001 - 02:23    Titel: Mac OS X Antworten mit Zitat

Bugs around the world:

[font=geneva] try -- Da tRef verschiedenen Klassen angehören kann!
if tRef is true then
set tRef to open for access (choose file of type "TEXT" )
else
try
set tRef to open for access tRef
on error -- Anwender hat Abbrechen geklickt.
return false
end try
end if
end try
[/font]


ist korrekt!

Ist wohl wieder mal zu spät geworden...

Thomas
_________________
[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: 07.08.2001 - 03:05    Titel: Mac OS X Antworten mit Zitat

Jetzt passt's. Einmal akzeptierte Schreibweisen werden nicht noceinmal angezeigt! (Nicht unter Mac OS X getestet, sollte aber per Doppelklick genau so funktionieren).

[font=geneva](* Correct Text with Excalibur 1.1

Diese kleine Skriptprogramm prüft eine Textdatei mit Excalibur 4 und legt eine neue Datei mit dem korrigierten und unformatierten Text auf dem Schreibtisch an.
Durch bestätigen mit "OK" ohne Auswahl eines Eintrags wird das angezeigte bisherige Word übernommen - (P) 2001 by macgix Thomas Kühner - <macgix@macgix.com>
- This is Open Source and works with Mac OS 9 and X - Feel free to modify. - This script also demonstrates interesting techniques in handling AppleEvents correctly!

*)

property tSigns : {return, tab, ":", " ", ".", ",", "-", "#", "+", "¥", "`", "=", "( ", " )", "&", "%", "$", "ß", "\"", "!", ¨
"³", "", "¢", "[", "]", "&#0124;", "{ ", " }", "!=", "ø", "'", "^", "ƒ", "Ñ", "¨", "²", "#", "£", "fi", "^", "\\", "ò", "…", "Ø", "?", "?", ¨
";", ":", "_", "?", "—", "ó", "‰", "?", "«", "?", "Ä", "É", "©", "", "/", "†", "?", "@", "µ", "~", "ÿ", "?", "´", "Æ", "Ç", "Ü", "®", ¨
"?", "<sum>", "?", "€", "?", "å", "", "ï", "", "å", "ƒ", "<", ">", "<=", ">=", "‰", "ã", "«", "ô", "â", "¦", "Ã", "²", "¤", "à", "fl", ¨
"<breve>", "õ", "ÿ", "?", "ª", "½", "Õ", "¡", "?", "Ñ", "", "á", "<caron>" }

property WordList : {}

on run
return checkFile(true)
end run

on open FirstTextFile

if (count of FirstTextFile) > 1 then

activate
display dialog "Bitte nur eine Textdatei auf das Programmsymbol ziehen!" buttons { "OK" } ¨
default button 1 with icon stop giving up after 10

return false

else
set FirstTextFile to FirstTextFile as text
return checkFile(alias FirstTextFile)
end if

end open

on checkFile(tRef)

try -- Da tRef verschiedenen Klassen angehören kann!
if tRef is true then
set tRef to open for access (choose file of type "TEXT" )
else
try
set tRef to open for access tRef
on error -- Anwender hat Abbrechen geklickt.
return false
end try
end if
end try

set tNewText to ""
set tWord to ""
set WordList to {}

repeat

try
set tText to read tRef as text until return
on error
try
set tText to read tRef as text until eof
on error
set tRes to false
exit repeat
end try
end try

set tChars to characters of tText

repeat with a_char in tChars

if a_char is not in tSigns then
set tWord to (tWord & a_char) as text
else

set tRes to correctWord(tWord)
if tRes is false then return false

if tRes != {} then
set tNewText to tNewText & tRes & a_char as text
set WordList to WordList & tRes as list
else
set tNewText to tNewText & tWord & a_char as text
end if

set tWord to ""

end if

try
if tRes is false then exit repeat
end try

end repeat

try
if tRes is false then exit repeat
end try

end repeat


try
close access tRef
end try

if tWord is false then

activate
display dialog "Die Korrektur wurde vom Anwender abgebrochen!" buttons { "OK" } ¨
default button 1 with icon caution giving up after 10

return false

else

set tPath to ((path to desktop) as text) & "Korrigierter Text"

tell application "Finder"
if exists alias tPath then delete alias tPath
repeat -- Mac OS X Hack!
try
get alias tPath
on error
exit repeat
end try
end repeat
end tell

set tResAsList to {} -- Speicher freigeben.

set tRef to open for access file tPath with write permission
write tNewText to tRef
close access tRef

activate
display dialog "Der korrigierte Text wurde auf dem Schreibtisch abgespeichert!" buttons { "OK" } ¨
default button 1 with icon note giving up after 10

return tNewText

end if

end checkFile

on correctWord(t_Word)

if t_Word is not in WordList then

tell application "Excalibur"
set t_Res to guess word t_Word guess count 20
end tell

if t_Res = {} or t_Word is in t_Res then

return t_Word

else if t_Res is false then

return false
else

activate

set t_List to (choose from list t_Res cancel button name ¨
"Abbrechen" OK button name "OK" with prompt t_Word with empty selection allowed)

if t_List is false then
return false
else if t_List is {} then
return t_Word
else
return t_List
end if

end if

else

return {}

end if

end correctWord
[/font]


Und dran denken, dass in "tSigns" Leerzeichen vor und hinter allen gebogenen und geschweiften Klammern stehen. Die müsst Ihr natürlich noch im Skripteditor entfernen.

Und jetzt, gute Nacht.

Thomas
_________________
[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: 07.08.2001 - 03:33    Titel: Mac OS X Antworten mit Zitat

NOW IT ROCKS!

Wird ja langsam mehr eine Studie über Skriptentwicklung. Nun, sicher auch nicht schlecht ;) :

[font=geneva](* Correct Text with Excalibur 1.3

Diese kleine Skriptprogramm prüft eine Textdatei mit Excalibur 4 und legt eine neue Datei mit dem korrigierten und unformatierten Text auf dem Schreibtisch an.
Durch bestätigen mit "OK" ohne Auswahl eines Eintrags wird das angezeigte bisherige Word übernommen - (P) 2001 by macgix Thomas Kühner - <macgix@macgix.com>
- This is Open Source and works with Mac OS 9 and X - Feel free to modify. - This script also demonstrates interesting techniques in handling AppleEvents correctly!

*)

property tSigns : {return, tab, ":", " ", ".", ",", "-", "#", "+", "¥", "`", "=", "(", ")", "&", "%", "$", "ß", "\"", "!", ¨
"³", "", "¢", "[", "]", "&#0124;", "{", "}", "!=", "ø", "'", "^", "ƒ", "Ñ", "¨", "²", "#", "£", "fi", "^", "\\", "ò", "…", "Ø", "?", "?", ¨
";", ":", "_", "?", "—", "ó", "‰", "?", "«", "?", "Ä", "É", "©", "", "/", "†", "?", "@", "µ", "~", "ÿ", "?", "´", "Æ", "Ç", "Ü", "®", ¨
"?", "<sum>", "?", "€", "?", "å", "", "ï", "", "å", "ƒ", "<", ">", "<=", ">=", "‰", "ã", "«", "ô", "â", "¦", "Ã", "²", "¤", "à", "fl", ¨
"<breve>", "õ", "ÿ", "?", "ª", "½", "Õ", "¡", "?", "Ñ", "", "á", "<caron>", "*", "/", "-" }

property WordList : {}
property tWellKnownWordList : {}
property tWellKnownTranslationWordList : {}

on run
return checkFile(true)
end run

on open FirstTextFile

if (count of FirstTextFile) > 1 then

activate
display dialog "Bitte nur eine Textdatei auf das Programmsymbol ziehen!" buttons { "OK" } ¨
default button 1 with icon stop giving up after 10

return false

else
set FirstTextFile to FirstTextFile as text
return checkFile(alias FirstTextFile)
end if

end open

on checkFile(tRef)

try -- Da tRef verschiedenen Klassen angehören kann!
if tRef is true then
set tRef to open for access (choose file of type "TEXT" )
else
try
set tRef to open for access tRef
on error -- Anwender hat Abbrechen geklickt.
return false
end try
end if
end try

set tNewText to ""
set tWord to ""
set WordList to {}
set tWellKnownWordList to {}
set tWellKnownTranslationWordList to {}

repeat

try
set tText to read tRef as text until return
on error
try
set tText to read tRef as text until eof
on error
set tRes to false
exit repeat
end try
end try

set tChars to characters of tText

repeat with a_char in tChars

if a_char is not in tSigns then
set tWord to (tWord & a_char) as text
else

set tRes to correctWord(tWord)
if tRes is false then return false

set WordList to WordList & tWord as list

if tRes != {} then
set tNewText to tNewText & tRes & a_char as text
else
set tNewText to tNewText & tWord & a_char as text
end if

set tWord to ""

end if

try
if tRes is false then exit repeat
end try

end repeat

try
if tRes is false then exit repeat
end try

end repeat


try
close access tRef
end try

if tWord is false then

activate
display dialog "Die Korrektur wurde vom Anwender abgebrochen!" buttons { "OK" } ¨
default button 1 with icon caution giving up after 10

return false

else

set tPath to ((path to desktop) as text) & "Korrigierter Text"

tell application "Finder"
if exists alias tPath then delete alias tPath
repeat -- Mac OS X Hack!
try
get alias tPath
on error
exit repeat
end try
end repeat
end tell

set tResAsList to {} -- Speicher freigeben.

set tRef to open for access file tPath with write permission
write tNewText to tRef
close access tRef

activate
display dialog "Der korrigierte Text wurde auf dem Schreibtisch abgespeichert!" buttons { "OK" } ¨
default button 1 with icon note giving up after 10

return tNewText

end if

end checkFile

on correctWord(t_Word)

tell application "Excalibur"
set t_Res to guess word t_Word guess count 20
end tell

if t_Res = {} or t_Word is in t_Res then

return t_Word

else if t_Res is false then

return false

else

if t_Word is not in WordList then

activate

set t_List to (choose from list t_Res cancel button name ¨
"Abbrechen" OK button name "OK" with prompt t_Word with empty selection allowed)

if t_List is false then
return false
else if t_List is {} then
return t_Word
else
set tWellKnownWordList to tWellKnownWordList & t_Word as list
set tWellKnownTranslationWordList to tWellKnownTranslationWordList & contents of t_List as list
return t_List
end if

else

set t to 0
repeat with a_WellKnownWord in tWellKnownWordList
set t to t + 1
if contents of a_WellKnownWord is t_Word then
return (item t of tWellKnownTranslationWordList) as text
end if
end repeat

return t_Res

end if

end if


end correctWord
[/font]


"Oh, Rocky!"

Frank N. Further ;)
_________________
[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: 07.08.2001 - 03:35    Titel: Mac OS X Antworten mit Zitat

P.S.: Diesmal sind keine Leerzeichen im Weg, da ich ohne aktivierte Emoticons gepostet habe. So einfach geht es also auch. ;)

...fadin' out
_________________
[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: 07.08.2001 - 03:57    Titel: Mac OS X Antworten mit Zitat

! ROCKS in X too !

Als Textdatei im Mac OS X Skripteditor öffnen, dort rekompilieren und als Mac OS X Applet sichern. So kann man es per Doppelklick oder per Drag und Drop (WORKS NOW IN X TOO!) benutzen.

Als kompiliertes Skript gespeichert, kann man es auch mit dem "Script Runner" verwenden.

TESTED!

Thomas
_________________
[macgix]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X 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