mehrere Variablen in einem Dialog setzen

Dieses Thema im Forum "Scripting und Automatisierung" wurde erstellt von maceis, 20.07.2005.

  1. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    Hallo zusammen,

    neuerdings versuche ich mich etwas mit AppleScript und bin auf folgendes Problem gestoßen.
    Ich möchte gerne in einem Dialo mehrer Variablen setzen.
    Bisher habe ich das so gelöst:
    PHP:
    set datei to text returned of (display dialog "Datei mit Pfad eingeben:" 
      
    default answer "/Users/maceis/as/text" buttons {"OK""Abrechen"
      default 
    button 1)
    set Suchtext to text returned of (display dialog "Suchtext eingeben:" 
      
    default answer "" buttons {"OK""Abrechen"
      default 
    button 1)
    set Ersatztext to text returned of (display dialog "Ersatztext eingeben:" 
      
    default answer "" buttons {"OK""Abrechen"
      default 
    button 1)
    Damit werden aber hintereinander drei Dialogfenster geöffnet.
    Gibt es eine Möglichkeit alle drei Variablen in einem Dialog setzen zu lassen?
     
  2. Snow

    Snow MacUser Mitglied

    Beiträge:
    262
    Zustimmungen:
    2
    MacUser seit:
    24.03.2003
    Nein, außer du arbeitest mit AppleScript-Studio. Dann kannst du dir das Dialogfenster entsprechend erstellen und auch auswerten.
     
  3. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    Danke für die Antwort.

    Bin grade dabei mir das anzusehen.
    Sieht gut aus :D.
     
  4. dylan

    dylan MacUser Mitglied

    Beiträge:
    6.175
    Zustimmungen:
    1
    MacUser seit:
    18.12.2002
    Hi maceis,

    wie ich sehe, lässt dir die Suchen & Ersetzen Geschichte noch keine Ruhe... ;)

    Auch wenn ich dir nicht wirklich helfen kann, so habe ich doch zwei kleine Anmerkungen – rein interessehalber:

    1. Seit wann bist du so fleißig? :D Den String buttons {"OK", "Abrechen"} default button 1) könntest du dir doch jeweils sparen oder spricht etwas dagegen, die Standardausgabe von Dialogen bei AS zu erhalten?

    2. Ließe sich so etwas – neben AS Studio – nicht auch mit XCode bewerkstelligen? Das Ergebnis deines Ansatzes habe ich so mal eben schnell rein optisch und ohne Funktionalität mit dem InterfaceBuilder nachgebaut – siehe Anhang. Oder täusche ich mich?

    Viel Spaß noch beim Weiterbasteln – ich bin schon auf das Ergebnis gespannt.

    Schönen Gruß,

    :)

    Dylan
     

    Anhänge:

    Zuletzt bearbeitet: 20.07.2005
  5. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    hallo dylan,

    die "Suchen & Ersetzen Geschichte" ist eigentlich nur ein Vorwand, um mich mit AS zu befassen

    zu 1.: Tatsache; wie gesagt, in Sachen AS bin ich ein echter Noob (obwohl ich schon immer was dagegen tun wollte :D); das Zeug kann natürlich raus.
    zu 2.: Im Interface Builder bin ich grade drin. Ich dachte AppleScript-Studie ist in XCode integriert. Oder ist das doch was eigenes?

    Der eigentlich Code zum ersetzen sieht übrigens zurzeit so aus:
    PHP:
    do shell script "perl -pi -e \"s/\\b" Suchtext "\\b/" Ersatztext "/g\" " datei
    Damit kann man allerdings bisher nur einzelne ganze Wörter suchen und ersetzen lassen.
    Kann man sicher ausbauen, aber darum gehts mir im Augenblick nicht.

    Gruß in die Berge ;)
     
  6. dylan

    dylan MacUser Mitglied

    Beiträge:
    6.175
    Zustimmungen:
    1
    MacUser seit:
    18.12.2002
    Hey – ich noch viel mehr, deshalb habe ich es wohl selbst nicht geblickt, dass...

    ist. :D Habe für ein paar vereinzelte Projekte nur eben XCode direkt geöffnet und dort im InterfaceBuilder Menüs zusammengeschustert und mit einzelnen AScripten zusammengefrickelt. Leider komme ich viel zu selten dazu, mich wirklich damit zu beschäftigen... :(

    Gruß zurück – darüber (über "die Berge") müssen wir uns eh noch einmal gesondert unterhalten, wenn ich mir deine Domain so ansehe... ;)

    Dylan
     
  7. maceis

    maceis Thread Starter MacUser Mitglied

    Beiträge:
    16.645
    Zustimmungen:
    596
    MacUser seit:
    24.09.2003
    Das habe ich inzwischen hinbekommen, allerdings ist zwischenzeitlich folgendes neues Problem aufgetaucht.

    Erstmal der Code:
    PHP:
    on clicked theButton
        
    if the name of the theButton is "OKButton" then
            
    -- tu was
        
    else if name of the theButton is "Abbrechen" then
            set Abbrechen to 
    "Programm beenden?"
            
    display dialog Abbrechen with icon caution giving up after 5 
               buttons 
    {"Nicht beenden""Beenden"attached to window "MainWindow"
            
    set DlogResult to result
            
    if button returned of result is "Beenden" then
                quit
            
    else if button returned of result is "Nicht beenden" then
                beep 2
            end 
    if
        
    end if
    end clicked
    In XCode kann ich das kompilieren und es läuft erwartungsgemäß.
    Beim Klick auf "Beenden" wird das Programm beendet, beim Klick auf "Nicht beenden" ertönen zwei Warntöne.

    Wenn ich aber die kompilierte Anwendung außerhalb XCode starte erhalte ich beim Klick auf "Abbrechen im "MainWindow" sofort den AppleScript Error "The variable result is not defined. (-2753)".
    Das "angehängte" Fenster geht trotzdem auf, reagiert aber nicht richtig.

    Kann mir jemand sagen, wo das Problem liegt und warum es in XCode läuft und außerhalb nicht?
     
    Zuletzt bearbeitet: 22.07.2005

Diese Seite empfehlen