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

Just for the fun of it: StandardAdditions in perl nutzen

 
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 -> OS X-Snippets
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1067

BeitragVerfasst am: 03.02.2012 - 23:18    Titel: Just for the fun of it: StandardAdditions in perl nutzen Antworten mit Zitat

iScript fragte mich gestern im chat, wie man von perl aus einen "display dialog" aufrufen könne.

Mir kam dann die Idee, den AppleScript StandardAdditions eine Perl Schnittstelle zu verpassen. Sozusagen AppleScript in Perl programmieren Wink

Ich habe hier mal den Anfang gemacht:

Code:
package StandardAdditions;
use Exporter;
our @ISA   =qw( Exporter );
our @EXPORT=qw( display_dialog );

use Carp;

my $OSASCRIPT= '/usr/bin/osascript';

my %display_dialog=(
    default_answer => \&text,            # the default editable text
    hidden_answer  => \&boolean,         # Should editable text be displayed as bullets? (default is false)
    buttons        => \&list_of_text,    # a list of up to three button names
    default_button => \&text_or_integer, # the name or number of the default button
    cancel_button  => \&text_or_integer, # the name or number of the cancel button
    with_title     => \&text,            # the dialog window title
    with_icon      => \&with_icon,       # the resource name or ID of the icon to display…
                                         # stop/note/caution] : …or one of these system icons…
    giving_up_after => \&integer,         # number of seconds to wait before automatically dismissing the dialog
);

sub display_dialog {
    my ($text, $param)= @_;
    my $params='';
    while (my($p, $v)= each %$param) {
        my $fkt= $display_dialog{$p};
        croak "Unknown parameter: $p\n" unless $fkt;
        $p=~tr/_/ /;
        $params.= ' '.$p.' '.$fkt->($v);
    }
    my @commands= (
        'tell application "Finder"',
            'activate',
            'display dialog ' . double_quoted_form_of($text).$params,
         'end'
         );
    open my $osascript, '-|', $OSASCRIPT, map { ('-e', $_) } @commands;
    my @result= <$osascript>;
    close $osascript;
    return wantarray ? @result : join '', @result;
}

sub with_icon {
    return $_[0] if $_[0]=~ /^(?:\d+|stop|note|cution)$/;
    return text($_[0]);
}

sub text {
    return double_quoted_form_of($_[0]);
}

sub integer {
    return $_[0];
}

sub text_or_integer {
    return $_[0]=~ /^\d+$/ ? $_[0] : text($_[0]);
}

sub unquoted_text {
    return $_[0];
}

sub boolean {
    return $_[0] ? 'true' : 'false';
}

sub list_of_text {
    return '{' . join (', ', map { double_quoted_form_of($_) } @{$_[0]}).'}';
}

sub double_quoted_form_of {
   local($_)= shift;
   s/"/\\"/g;
   return "\x22$_\x22";
}

1;


Aufgerufen werden kann das z.B. so:


Code:
#!/usr/bin/perl
use strict;
use warnings;
use lib qw( . );
use StandardAdditions;

print display_dialog("BlaBla", {
        default_answer => 'BlaBlubb',
        buttons => ['Laber', 'Schwall'],
        default_button => 'Laber',
        with_title => 'Laber Rhababer',
        with_icon => 'stop',
        giving_up_after => 10,
});


_________________
"All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies")
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wolle-77
•--->
•--->


Anmeldedatum: 25.02.2003
Beiträge: 449
Wohnort: Geldern

BeitragVerfasst am: 12.02.2012 - 02:01    Titel: Antworten mit Zitat

Ketzerisch könnte ich jetzt bemerken, daß mich das ein wenig hieran erinnert:

Wink

http://www.fischer-bayern.de/phpBB2/viewtopic.php?p=9169

Aber sicherlich gibt es einen plausiblen Grund, sowas umzusetzen. In was für Chats bist Du und iScript denn manchmal so?
_________________
Martin Wolter
--
Apple rocks the planet!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Skeeve
•---->
•---->


Anmeldedatum: 20.04.2006
Beiträge: 1067

BeitragVerfasst am: 12.02.2012 - 23:27    Titel: Antworten mit Zitat

Wolle-77 hat Folgendes geschrieben:
Ketzerisch könnte ich jetzt bemerken, daß mich das ein wenig hieran erinnert:

Aber nur ganz entfernt. Zudem kannte ich das gar nicht.

Wolle-77 hat Folgendes geschrieben:
Aber sicherlich gibt es einen plausiblen Grund, sowas umzusetzen.

Klar: Damit können perl scripte, auch ohne pashua (oder wie das auch immer heißt) Dialogboxen nutzen. Nicht sehr performant, das gebe ich gerne zu, aber immerhin geht es.

Wolle-77 hat Folgendes geschrieben:
In was für Chats bist Du und iScript denn manchmal so?

Keine Ahnung. Ich nutze Adium und ich glaube, das war ICQ.
_________________
"All problems are solved in slightly less than half an hour" (Chumbawamba, "Hey Hey We're The Junkies")
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
sdenjuopl148
•---->
•---->


Anmeldedatum: 17.12.2022
Beiträge: 725
Wohnort: New York city

BeitragVerfasst am: 14.02.2023 - 00:52    Titel: Antworten mit Zitat

Off White
Nikes
Adidas Shoes Outlet
Adidas Ultra Boost
Nike Presto
Adidas Shoes
Yeezy
Adidas Outlet
Adidas Superstar Men
Nike Outlet Shoes
Nike Clearance Outlet Online Store
Adidas Ultra Boost
Pandora
Pandora Rings
Adidas Outlet
Pandora Charms
Yeezy
Nike Sneakers
Nike Outlet Canada
Adidas NMD
Adidas Outlet
Nike Running Shoes Men
Yeezy Shoes
Pandora Charms
Pandora Charm
Nike Clearance Outlet
Nike Shoes
Pandora UK
Yeezy Boost 350
Yeezy Boost 350
Adidas Shoes
Yeezy 500
Nike Outlet Store
Pandora Charms
Nike Canada
Adidas Yeezy
Adidas Trainers
Official Yeezy Website
Yeezy
Yeezy
Nike Outlet Store
Nike Air Force 1s
NMD
New Adidas
Nike
Nike Sneakers
Pandora Jewelry
Adidas Originals Superstar
Adidas For Men
Nike Outlet Online
Nike Store
Nike Factory Outlet
Nike Store
Adidas Store
Nike Air Force 1 Low
Adidas Originals Superstar
Adidas Trainers
Official Yeezy Website
Nike Outlet
Adidas Ultra Boost
Adidas
Yeezy 350
Nike Roshe
Pandora
_________________
sdenjuopl148
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
sdenjuopl148
•---->
•---->


Anmeldedatum: 17.12.2022
Beiträge: 725
Wohnort: New York city

BeitragVerfasst am: 14.02.2023 - 19:48    Titel: Antworten mit Zitat

Jordan 1 Low
Pandora Rings
Adidas
Pandora Jewelry
Adidas Running Shoes
Wholesale Jordan
Triple S Balenciaga
Cheap Nike Shoes
Pandora Official Site
Nike Canada
Pandora Jewelry Official Site
Nike Store
Jordan 1s
Michael Jordan Shoes
Nike Air Jordan 1
Pandora Jewelry
Cheap Adidas Shoes
Pandora Store
Pandora Canada
Pandora Jewelry
Nike Store
Moncler Jacket
Pandora Outlet
Pandora Jewellery
Adidas Sneakers
Pandora Jewelry
Adidas Shoes Men
Nike Shoes Women
Ferragamo
Wholesale Jordan Shoes
Adidas Trainers
Asics Gel Kayano
Wholesale Air Jordans
Asics Outlet Online
Adidas Women's Shoes
Asics Running Shoes
Asics
Nike Air Jordan 1 Retro
Air Jordan 1
Jordan 1 Retro
Air Jordan 1 Mid
Air Jordan One
Air Jordan 1 Low
Goyard Outlet
Jewelry Pandora
Pandora Bracelet
Cheap Moncler
Charms Pandora
Pandora Charms Bracelets
New Nike Shoes
Air Max 270 Men
Nike Outlet
Pandora Charms
Pandora Charms
Nike Shoes
Pandora Outlet
Adidas Outlet
Pandora Jewelry
Nike Men's Shoes
Adidas Official Website
Salvatore Ferragamo Belt
Balenciaga Shoes
Nike Air Max 97
Pandora Bracelets
Pandora Bracelets
Pandora Bracelets
Air Jordan 1 Dior
Jordans Sneakers
Pandora Jewelry Black Friday
Pandora Bracelets
Pandora Jewelry
Nike Canada
Moncler Jackets
Jordan 1 Retro
Pandora
Mens Basketball Shoes
Air Jordan
Salvatore Ferragamo Shoes
Nike Shoes
Pandora Jewelry Outlet
NMD
Balenciaga Sneakers
Pandora Outlet
Nike
Pandora Charms
Nike Shoes
Pandora Outlet
Air Jordan 1 High
Nike Outlet Store
Air Max
Pandora Charms
Pandora Jewelry Official Site
Pandora
Pandora Jewelry
Pandora Website
Goyard Handbag
Nike Shoes Men
Pandora Bracelet Charms
Pandora Outlet
Nike Sneakers Men
Nike Factory
Balenciaga
Balenciagas
Outlet Moncler
Balenciaga Sneakers
Moncler Coat Women
Cheap Moncler Coats
Pandora
Adidas Sale
Nike Air Max 270
Pandora Jewelry
Asics Sneakers
Air Jordan 1 Low
Pandora
Adidas Shoes
Puma Shoes
Nike Outlet
Pandora Ring
Pandora
Nike Air Jordan
Pandora Charms
Adidas Yeezy
Jordan 1 Retro
Ferragamo
Air Jordan 1 Retro
Pandora
Nike Air Jordans 1
Pandora Jewelry
Moncler Outlet
Pandora Charm Bracelet
Nike Canada
Moncler Outlet
Pandora Outlet Online
Pandora Outlet
Nike Sneakers Women
Moncler
Pandora Charms
Salvatore Ferragamo
Wholesale Jordan Shoes
Balenciaga
Moncler Jackets
Best Nike Running Shoes
Asics Outlet
Nike Women Shoes
Pandora Jewelry 70% Off Clearance
Pandora Jewelry Official Site
Pandoras
Yeezys
Moncler Coats
Moncler Outlet
Air Jordan 5
Pandora Jewelry Official Site
Pandora Jewelry Outlet
Pandora Jewelry
Asics Shoes
Pandora Charms
Pandora Jewelry
_________________
sdenjuopl148
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
sdenjuopl148
•---->
•---->


Anmeldedatum: 17.12.2022
Beiträge: 725
Wohnort: New York city

BeitragVerfasst am: 19.02.2023 - 12:31    Titel: Antworten mit Zitat

Nike
Nike Outlet Canada
Nike Outlet Online
Kids Jordans
Jordans 35
Jordan 11 Low
Air Jordan 33 shoes
Air Max Shoes
Air Jordan 30
Wholesale Jordans From China Factory
Jordan 31
Christian Louboutin
Huaraches
Air Force 1s
Custom Jerseys
NFL Shop
Nikes
Best Nike Running Shoes
Nike Zoom
Jordans 21
Cheap Adidas Shoes
Nike Outlet
Cheap Jordan Shoes
Nike Shoes
Nike Shoes
Air Jordan 12
Nike Factory Store
Air Max
Baby Jordans
NHL Shop Canada
Air Max 270
Nike Shoes Cyber Monday
Jordans 23
Nike Blazer
Nike Shoes For Men
Pandora Charms
Air Force 1s
Nike Huaraches
Nike Canada
Jordan Shoes
Air Force 1 Men
Jordans 22
Air Max
Pandora Bracelet Charms
Nike Air Max 95 Essential
AJ 1
Adidas Wholesale
Jordan 34
Pandora Jewelry
Jordan 14
Cheap Nikes
Cheap Wholesale Nike Shoes And Clothing
Air Max 720
Nike Huarache Women
Cheap Jordans
Jordans 20
Jordan Concord
Adidas Yeezy Boost 350 V2
Nike Air Jordan
Jordan 27
Jordan 17
New Jordan
Pandora Jewelry Outlet
Pandora Charms
Cheap NHL Jerseys
Nike Air Force 1 Mid
Pandora Jewelry Official Site
Pandora Necklace
Nike Shoes Canada
Nike Clearance
Nike Free rn
Jordan 1
Pandora Jewelry
Wholesale Adidas
Pandora Jewelry Official Site
Nike Off White
Louboutin Shoes
Rings Pandora
Pandora Outlet
Jordan 26
Jordans 13
Air Jordan 11 Retro
Jordan 12 Retro
Nike Free Run
Air Jordan Retro
Louboutin Shoes
Air Force Ones
Cheap Nike Shoes From China
Jordan 18
Nike Epic React
Pandora Charms
Air Jordan 33
MLB Shop
Air Jordan 13
Air Jordan 24
Nike Wholesale Distributors
Nike Air Max
Jordan 33
Nikes Wholesale
Raptors Jersey
Nike Cortez Women
Nike Sneakers
Nike Hyperdunk
Pandora Jewelry
Air Max
Dior Jordans
Air Jordan 4 Retro
Nike Lunarlon
Nike Outlet Online
Jordan 19
Jordan Retro
Jordan 15
Nike Sneakers
Jordans Wholesale
Nike Air Max 270 Flyknit
Nike Outlet Store
Nike Foamposite
Pandora Jewelry
Cheap Jordan 12
Cheap Jordans
Jordans 28
NMD R1
Jordan 25
Jordan 6s
Jordan 2
Adidas Factory Outlet
Nike Women's Shoes
Jordan 16
Nike Jordan 1 Low
Pandora Jewelry Official Site
Jordan 32
Jordans 29
What The Jordan 5s
Nike Factory Outlet Store Online
Nike Blazer Low
Yeezy
Pandora Ring
Nike Wholesale
Wholesale Adidas
Pandora Charms
Nike Shoes
Wholesale Nike Shoes
Wholesale Cheap Jordans
Nike Outlet
Nike Running Shoes For Women
Nike Store
Nike Zoom
Nike SB
Nike Outlet
Pandora Bracelets
Pandora Jewelry 70% off Clearance
Pandora Charms
Nike Outlet Online
Pandora Jewelry
Nike Air Max 97 Ultra
Jordan 12
Jordan 11
Nike Outlet
Lebron James Shoes
Cheap Jerseys From China
_________________
sdenjuopl148
Nach oben
Benutzer-Profile anzeigen Private Nachricht 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 -> OS X-Snippets 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