1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Nix Voodoo, ehr Wolf im Schafspelz... =)

Dieses Thema im Forum "AppleScript" wurde erstellt von hubionmac, 25.02.07.

  1. hubionmac

    hubionmac Rheinischer Krummstiel

    Dabei seit:
    25.06.04
    Beiträge:
    379
    Ok, also die richtig intensiven Sachen mache ich mittlerweile nicht mehr in AppleScript, sondern weiche auf perl oder andere Terminal-Anwendungen aus.
    Ich sehe AppleScript da als Mittel zum Zweck, man kann schnell und recht einfach kleine Programme schreiben, die mit anderen kommunizieren können.
    Wie sollte ich sonst ohne großen Aufwand für ein Perl-Script den Namen des Songs herausbekommen, den iTunes gerade spielt?

    Hier mal ein Beispie, ich nenne es:
    Perl Code in AppleScript ausführen, eine AppleScript Datei und der ganze Zeitaufwendige Code ist in Perl geschrieben.
    Mit AppleScript Seriennummern zu generieren und dabei auch noch sicher zu gehen, dass keine doppelt ist, kann bei 10.000 schon etwas dauern.
    mit dem Perl-Einschub nur ein paar Sekunden.
    Code:
    make_serials(100)
    
    on make_serials(serialcount)
        set sc to "#!/usr/bin/perl
    
    ###########################################################
    #  sub generate_random_string written by Guy Malachi http://guymal.com
    # 18 August, 2002
    ###########################################################
    
    # This function generates random strings of a given length
    sub generate_random_string
    {
        my $length_of_randomstring=shift;# the length of 
                 # the random string to generate
    
        my @chars=('a'..'z','A'..'Z','0'..'9','_');
        my $random_string;
        foreach (1..$length_of_randomstring) 
        {
            # rand @chars will generate a random 
            # number between 0 and scalar @chars
            $random_string.=$chars[rand @chars];
        }
        return $random_string;
    }
    
    #Generate the random string
    $serialcount = " & serialcount & ";
    @myserials = ();
    $arraycount = 0;
    while ($serialcount > $arraycount) {
        my $random_string=&generate_random_string(30);
        $allreadyExists = 0;
    
        foreach $serial (@serials){
            if ($serial eq $random_string) {
                $allreadyExists = 1;
                last;
            }
        }
        if ($allreadyExists eq 0) {
            push(@myserials, $random_string);
        } else {
            $allreadyExists = 0;
        }
        $arraycount = 0;
        foreach $k (@myserials){
            $arraycount++;
        }
    }
    
    foreach $k (@myserials){
        print $k.\"#\";
    }
    " as text
        
        set the clipboard to sc
        set serials to do shell script "pbpaste | perl"
        set AppleScript's text item delimiters to "#"
        set seriallist to text items 1 through -2 of serials
        set AppleScript's text item delimiters to ""
        return seriallist
    end make_serials
    
     
  2. Skeeve

    Skeeve Pomme d'or

    Dabei seit:
    26.10.05
    Beiträge:
    3.121
    Da ich auch eher ein Perlator als ein AppleScripter bin, habe ich zu dem Thema auch schon was geschrieben. Eine Anwendung davon findest Du z.B. in meinem Passwort Generator AppleScript.

    Die allgemeinen Grundlagen kannst Du bei Interesse im AppleScript Forum bei Fischer-Bayern nachlesen.

    Damit kannst Du Dir nämlich das Zwischenspeichern im Clipboard sparen.

    AppleScript kann man übrigens von Perl aus auch gut mit Mac::Glue, das bei Mac OS X übrigens mitgeliefert wird, ansprechen. Natürlich habe ich auch dazu was verfügbar ;)
     

Diese Seite empfehlen