Skocz do zawartości

Witaj!

Zaloguj lub Zarejestruj się aby uzyskać pełny dostęp do forum.

Zdjęcie
- - - - -

APPLESCRIPT


  • Zaloguj się, aby dodać odpowiedź
17 odpowiedzi w tym temacie

#1 sffinks

sffinks
  • 215 postów
  • Skądokolice Wrocławia

Napisano 21 listopada 2005 - 11:34

Witajcie :) Czy może mi ktoś łopatologicznie wyjaśnić do czego służy " applescript ", bądź też może macie jakiś odnośnik ( do polskiej strony ;) ) gdzie jest to dość przejrzyście opisane. W poprzednim poście ( o sterowaniu głosem ) HEIDI napisał mi że można wrzucić do " Speakable Items Folder " polecenia zawarte właśnie w " applescript "... więc, co można z tym zrobić ? Dzięki za każdą odpowiedź :) Pozdrawiam :)[/code]

#2 Heidi

Heidi
  • 830 postów
  • SkądWarszawa

Napisano 21 listopada 2005 - 12:59

AppleScript to język skryptowy Mac OS, którego cechą charakterystyczną jest stosowanie składni zbliżonej do języka mówionego. A więcej oczywiście znajdziesz na stronach developerskich Apple.

#3 sffinks

sffinks
  • 215 postów
  • Skądokolice Wrocławia

Napisano 21 listopada 2005 - 13:25

hmm...tylko co można dzięki temu zrobić ? Tzn. do czego się przydaje w normalnym użytkowaniu komputera ? Czy za pomocą tych skryptów można zastosować jakieś ułatwienia ? Heidi, link który podałeś nie przyda mi się za bardzo gdyż mój angielski nie jest najlepszy ;)
Czy skrypty te można w jakiś sposób modyfikować ? I jeśli tak to w jaki ? Rozumiem że używanie " automator'a " wiąże się również z używaniem applescipt...

#4 imrik

imrik
  • 3 471 postów
  • SkądWrocław, Poland

Napisano 21 listopada 2005 - 15:30

dużo ciekawych rzeczy można zrobić. Można napisać na przykład skrypt do adium, który będzie wklejał informacje o utworze jaki tera leci w iTunes do okna rozmowy i wysyłał, albo w photoshopie przykładowo skrypt wykonujący sekwencję różnych przekształceń czy nakładanie filtrów. Po pierwsze musisz się zastanowić co jest takiego co byś chciał zmienić lub dodać do funkcji jakiegoś programu, który korzysta z applescripta i później coś takiego napisać. Ogólnie chodzi o skracanie sobie kilkania myszą ;) ale dużo fajnego można zrobić albo nawet znaleźć mnóstwo gotowych i bardzo fajnych skryptów na stronie developerskiej apple

#5 sffinks

sffinks
  • 215 postów
  • Skądokolice Wrocławia

Napisano 21 listopada 2005 - 16:32

Ok ;) to już zarys mam ;) tylko po pierwsze : skąd mam wiedzieć czy dany program korzysta z applescript ? a po drugie : czy są jakieś polskie instrukcje ? Bo np. strona podana przez Heidi'ego jest napisana w języku angielskim, a jak już pisałem, są pewne u mnie z tym kłopoty ;) A może ktoś podałby jak napisać prosty, ale użyteczny skrypt dla przykładu ? :) i oczywiście, jak go użyć ? :) Wiem że zadaję na tym forum duuużo pytań, ale o macintosh'ach po polsku jak na lekarstwo ;) A chciałbym jak najwięcej się dowiedzieć o tym co posiadam ;) Pozdrawiam :)

#6 Heidi

Heidi
  • 830 postów
  • SkądWarszawa

Napisano 21 listopada 2005 - 18:35

No to może taki prosty przykład:
tell application "Finder"
say "Goodnight"
sleep
end tell
Skrypt powoduje uśpienie komputera, który najpierw powie Ci grzecznie "goodnight", czyli "dobranoc" - przydatne właśnie wraz ze sterowaniem głosowym, kiedy leżąc w łóżku możemy uśpić komputer bez wstawania z łóżka.
A jak to wykonać? Otwierasz program /Applications/AppleScript/Script Editor.app i w jego oknie wpisujesz powyższe polecenia. Następnie zapisujesz go jako skrypt lub program w teczce Speakable Items pod wybraną nazwą i gotowe.

#7 sffinks

sffinks
  • 215 postów
  • Skądokolice Wrocławia

Napisano 21 listopada 2005 - 19:09

Hehe ;) Dzięki Heidi, :) Sprawdziłem i działa :) I powiem że takie " podkręcanie " komputera jest całkiem przydatne :) Zamiast klikania ( jak wspominał imrik, ) można sobie ułatwić pracę używając właśnie skryptów :) Tylko tak to jest jak człowiek ma narzędzie pod ręką a nie wie do czego służy ani jak go użyć ;) Jeśli możecie to napiszcie jeszcze na jakich stronach, oprócz developerskiej apple można znaleźć takie skrypty ? :)

Pozdrawiam :)

#8 reeye

reeye

  • 1 506 postów
  • Płeć:
  • SkądWarszawa

Napisano 21 listopada 2005 - 19:11

Lista komend i składnia

#9 Heidi

Heidi
  • 830 postów
  • SkądWarszawa

Napisano 21 listopada 2005 - 19:25

Skryptów jest pełno, nawet w samym systemie (patrz /Library/Scripts), ale muszę Cię zmartwić: nie obejdzie się bez znajomości języka obcego. A że jest to przydatne również z kilku innych względów, więc chyba nie ma się co zastanawiać ;-)

#10 sffinks

sffinks
  • 215 postów
  • Skądokolice Wrocławia

Napisano 21 listopada 2005 - 20:26

heh...masz rację Heidi, chyba trzeba będzie się wziąść za język na poważnie ;) To co pokazałeś mi Ty i teraz reeye wymaga tego ode mnie ;) przydałaby się jednak strona o macintosh'ach napisana po polsku z łopatologicznym wyjaśnieniem niektórych nieznanych ( jak w tym przypadku dla mnie) a przydatnych informacji :)

Dzięki za pomoc :) Pozdrawiam :)

[ Dodano: 2005-11-21, 20:42 ]
hehe. kompletnie nie wiem jak to się je ;) nawet od czego zacząć ;) naprawdę nie ma nic gdzie napisane jest ( nawet po angielsku ) że taki a taki skrypt odpowiada za to, a taki a taki za tamto ? ;) heh, coś czuje że przede mną dłuuuga droga :)

#11 Movi-e0a09f2c28

Movi-e0a09f2c28
  • 51 postów

Napisano 23 listopada 2005 - 04:00

Heidi, mam do ciebie troszkę bardziej zaawansowane pytanie. Czy da się Applescriptem stworzyć okno, wrzucić je na fullscreen po czym je zabić? Mam to napisane w C w taki oto sposób :

/*
	File:		main.c

	Contains:	Sample code to demonstrate how to run an app in full screen mode on MacOS X

	Copyright:	Public Domain

			This code is descended from Apple sample source code, but we've made changes.

	Change History (most recent first):
                        2005-10-28 	Created
*/
#include <Quicktime/Quicktime.h>

int main(int argc, char* argv[])
{
    Ptr			oldState;
    BeginFullScreen(&oldState,nil,0,0,0,0,fullScreenAllowEvents);
    EndFullScreen(oldState,nil);

    return 0;
}

Problem w tym że jeśli do tak zbudowanej binarki odwołam się z AppleScript zawołaniem typu

tell Application "FRQ"
     run Application "FRQ"
end tell

to z dziwnego powodu cały skrypt zwisa przy run Application, jakby czekał na jakąś afirmację że FRQ skończyło. Wdg standardów C, FRQ ogłasza że skończył mówiąc Return 0, ale najwyraźniej dla niego to za mało.

Jakiś pomysł? ;)[/code]

#12 luksta

luksta
  • 154 postów
  • SkądLuboń/Poznań

Napisano 10 października 2008 - 11:47

Witaj Hidi, szukając zautomatyzowania pewnej czynności edytorskiej wyszukałem tą stronę i ciebie, który mam nadzieję naprowadzisz mnie na właściwy trop. Do tej pory radziłem sobie UNIX-ową komendą SED, jednak ma ona pewne ograniczenia, nie można jej swobodnie stosować w składni HTML ze względu na znaki specjalne. Pomyślałem o tym czy nie zaprząc apple script do tej roboty. Zadanie niby jest proste ponieważ trzeba dodać srypt java w jednym miejscu pliku. Do pozycjonowania chciałbym użyć tagu i za nim wrzucić skrypt. Komenda SED używa / jako przełącznika więc nic z tego. Czy możesz mi pomóc ponieważ obawiam się, że nie zdążę zaznajomić się w tak krótkim czasie z AppleScript. Pozdrawiam

#13 ftpd

ftpd

    Nie.


  • 24 354 postów
  • Płeć:
  • SkądPoznań

Napisano 22 października 2008 - 04:15

Helou, przecież wystarczy napisać \/, czyli poprzedzić '/' za pomocą '\' i cała 'specjalność' znaku '/' jest pomijana. Patrz: prozac ~ % echo 'a/b' | sed 's/\//X/' aXb Tak jest zresztą z dowolnym znakiem specjalnym ;-)

#14 luksta

luksta
  • 154 postów
  • SkądLuboń/Poznań

Napisano 22 października 2008 - 12:52

Hm, a jak sobie poradzić przy długich stringach?
np:

dodajemy na początku linii i na końcu '?>

przed zamianą
 

po zamianie
'?>


albo jak dodać cały skrypt JAVA do wybranych plików?

np zamiast wyrazu stat4u ma się pojawić coś takiego, gdzie "robaków" co niemiara :???: :
        
http://stat.4u.pl/?






#15 ftpd

ftpd

    Nie.


  • 24 354 postów
  • Płeć:
  • SkądPoznań

Napisano 23 października 2008 - 03:06

Hm, a jak sobie poradzić przy długich stringach?
np:

dodajemy na początku linii i na końcu '?>

przed zamianą

 

po zamianie
'?>


A banalnie, regexpem:

prozac ~ % echo '<?xml version="1.0" encoding="UTF-8"?>' | sed "s/\(.*\)/<?='\1'?>/"   
<?='<?xml version="1.0" encoding="UTF-8"?>'?>

albo jak dodać cały skrypt JAVA do wybranych plików?


Zdecydowanie nie czystym sedem, to masochizm ;-) Użyj awk albo - jeszcze prościej - byle kawałka skryptu powłoki, który po "danej linii" (identyfikowanej po jej numerze, który wyciągniesz np. za pomocą grep -n) będzie dostawiał nową zawartość ;-)

Mogę Ci coś takiego napisać, jeśli chcesz, ale to raczej zgłoś się na PM, bo od trzech postów i tak jesteśmy nieźle OT ;-)

#16 luksta

luksta
  • 154 postów
  • SkądLuboń/Poznań

Napisano 23 października 2008 - 12:59

A banalnie, regexpem:

prozac ~ % echo '<?xml version="1.0" encoding="UTF-8"?>' | sed "s/\(.*\)/<?='\1'?>/"   
<?='<?xml version="1.0" encoding="UTF-8"?>'?>


dla ciebie banalne, a ja nie wiele z tego rozumiem, chociaż pogooglałem o wyrażeniach regularnych. Możesz mi "przetłumaczyć" ten przykład?
Nie jestem programistą ale chętnie się czegoś nauczę bo lubię automatyzację, no i do czegoś te komputery w końcu są, nie tylko do wyświetlania zdjęć i rysowania :wink:

Mogę Ci coś takiego napisać, jeśli chcesz, ale to raczej zgłoś się na PM, bo od trzech postów i tak jesteśmy nieźle OT ;-)


A to poproszę, o ile to możliwe z jakimś komentarzem.
Odbiegnięcie od wątku zgłosiłem.

#17 BilboBaggins

BilboBaggins
  • 398 postów
  • SkądWrocław

Napisano 24 października 2008 - 12:49

Jest skrybt ktory w kadu bedzie pokazywal co sie odtwarza na iTunes?

Kadu niestety nie jest skryptowalne przez AppleScript. Zeby osiagnac taki efekt trzebaby najpierw zmusic jakos Kadu do uruchamiania np. polecen shell'a po wydaniu jakiejs komendy (moze jest do tego jakis plugin...). Pozniej trzebaby klepnac skrypt AppleScript (albo lepiej prosty programik w ObjC), ktory zwrocilby do powloki dane o aktualnie odtwarzanym utworze. Kadu by przechwycilo wyjscie takowego skryptu i wyslalo odpowiednia wiadomosc... Wszystko zalezy od plugin'u do Kadu - jego dostepnosci i mozliwosci :).

#18 BilboBaggins

BilboBaggins
  • 398 postów
  • SkądWrocław

Napisano 24 października 2008 - 13:16

Brogramuje w QuickBasic i iPhone SDK (nie wychodzi mi najlepiej) nie rozumiem co do mnie piszesz... :(

AppleScript nie dziala w Kadu.

Zeby osiagnac cos takiego to trzebaby zrobic co nastepuje:
1. Znalezc/napisac plugin do Kadu, ktory pozwolilby na zastepowanie jakichs lancuchow tekstowych wpisywanych do pola wiadomosci (np. %_iTunes) wynikiem dzialania jakiegos programu,
2. Napisac program w Objective-C albo AppleScript, ktory wspoldzialalby z w/w plugin'em,
3. Podpiac odpowiednia akcje do Kadu i cieszyc sie z funkcjonalnosci :).

Oczywiscie jest to jak najbardziej wykonalne, tylko wszystko lezy po stronie Kadu w tej chwili.




Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych