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

dd Dialog Director - interact with user???

 
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 -> AppleScript-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
sideshow
•-->
•-->


Anmeldedatum: 07.05.2002
Beiträge: 130

BeitragVerfasst am: 18.06.2002 - 13:07    Titel: dd Dialog Director - interact with user??? Antworten mit Zitat

Hallo zusammen!

Kann mir  jemand erklären, wie beim Dialog Director des "interact with user" funktioniert? Ich hab mir zwar schon einige Beispielscripts angeschaut aber ich kapiers einfach nicht! Kann mir des jemand anhand eines guten Beispieles erklären oder weiss jemand eine gute Beschreibung darüber auf Deutsch???

Vielen Dank im Voraus!
_________________
Meine Wenigkeit im Internet: http://www.sideshow-systems.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jens Hoffmann
•--->
•--->


Anmeldedatum: 07.05.2001
Beiträge: 175

BeitragVerfasst am: 18.06.2002 - 16:17    Titel: dd Dialog Director Antworten mit Zitat

Hallo sideshow

"dd interact with user" ist der Befehl, der auf Eingaben des Users wartet und den Index des angeklickten Elements zurückgibt (der Index ergibt sich aus der Reihenfolge, in der Du die Elemente angibst). Er ist vergleichbar mit "button returned of EinDialog" eines "display dialog"-Befehls. Damit mehrere Klicks oder Eingaben hintereinander möglich sind, wird er in einer Schleife verwendet:

---
repeat
set x to dd interact with user -- warten auf Eingabe
if x = -1 then -- "-1" ist ein Klick in die "Close-Box": das Fenster wurde geschlossen
exit repeat -- also verlasse die Schleife
else if x i= 1 then -- Das erste Element des Fenster wurde angeklickt.
-- mach was
else if x = 2 then -- Das zweite Element des Fenster wurde angeklickt.
usw.
end if
end repeat
---

In den DD-Beispiel-Scripts wird statt x "dd" verwendet, was vielleicht etwas verwirrend ist, da die wichtigsten Funktionen mit "dd" anfangen:
dd interact with user
dd set value (oder contents) of item y of dlog to z -- setzt einen Wert eines Elementes des Fensters mit dem Namen "dlog"
dd get value (oder contents) of item y of dlog -- holt einen Wert eines Elementes des Fensters mit dem Namen "dlog"

Ob value oder content verwendet wird, hängt vom Element ab. Beispiel: ein Popup-Menü:
dd get value -- holt den Index des ausgewählten Eintrags.
dd get contents -- holt den Inhalt des Popups, also alle Einträge (Liste)

Auf jeden Fall brauchst Du das DD-Manual, das Snow in eine komfortable HTML-Version umgebaut hat und welches Du hier runterladen kannst:
http://www.Fischer-Bayern.de/dd/DD_Anleitung.sit
Hier kannst Du die Parameter der Fenster-Elemente nachschauen und bekommst weitere Hinweise sowie Beispiele.

Dann solltest Du die Beispiel-Scripts als Vorlage für Deine Eigenen nehmen und versuchen, sie anzupassen. Auch wenn Du so nicht unbedingt verstehst, warum und wieso, wirst Du die Systematik lernen.

Ich habe auch einen deutschen Workshop, der für mich allerdings eher verwirrend denn Klärend war. Aber wenn Du's mal versuchen willst, schick' ich ihn Dir.

Und manchmal hilft auch ein Blick ins Verzeichnis der DD-Scripting-Addition.

Ich habe mir ein Template gebaut (s.u.), dass ich einfach nur anpasse. Dieses DD-Fenster merkt sich die Position beim Schliessen, so dass es beim nächsten Start an der selben Stelle aufgeht. Schau's Dir an, vielleicht kannst Du Deine Fenster darauf aufbauen. Wenn Du weitere Fragen hast, nur her mit!

Grüße Jens

------

property posn : {100, 100, 260, 250} -- die Fensterposition

dd install with fonts {null, null, null, null, {name:"Geneva", size:9}, {name:"Geneva", size:9, style:bold}} with grayscale -- initialisiert ein neues DD-Fenster

-- Jetzt wird das eigentliche Fenster definiert
set fenster to dd make dialog {bounds:posn, style:standard palette, closeable:true, name:"New Palette", contents:{¨
{class:push button, bounds:[100, 100, 140, 120], name:"OK", font:6}, ¨
{class:push button, bounds:[50, 100, 90, 120], name:"Cancel", font:5}, ¨
{class:group box, bounds:[10, 10, 150, 140], name:"New Group", style:primary group, font:6}, ¨
{class:static text, bounds:[15, 30, 140, 56], contents:"New Static Text", font:5} ¨
} }

-- Nun die "interact"-Schleife
repeat
set dd to dd interact with user -- Eingabe?
if dd = -1 then -- in die Close-Box geklickt?
exit repeat -- dann verlasse Schleife
else if dd = 1 then -- 1. Element, in diesem Fall der "OK"-Button
-- mach was
else if dd = 2 then -- 2. Element: "Cancel"
exit repeat -- Schleife verlassen

-- usw. In diesem Fall gibt es kein weiteres anklickbares Element

end if
end repeat

set posn to dd get bounds of fenster -- Schreib die aktuelle Fensterposition in die Variable posn

dd delete fenster -- Lösche das Fenster mit dem Namen "fenster"
dd uninstall -- Gib die Resourcen frei

-----

Die beiden letzten Befehle sind wichtig, sonst gibt's Abstürze!

(Geändert von Jens Hoffmann um 16:20 Uhr am 18 Juni 2002)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
sideshow
•-->
•-->


Anmeldedatum: 07.05.2002
Beiträge: 130

BeitragVerfasst am: 18.06.2002 - 16:23    Titel: dd Dialog Director Antworten mit Zitat

Hallo Jens,

vielen, vielen Dank!!!!!!
Genau sowas hab ich gebraucht! Nochmal vielen Dank für die ganze Mühe!!!!!!!
_________________
Meine Wenigkeit im Internet: http://www.sideshow-systems.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 18.06.2002 - 17:17    Titel: dd Dialog Director Antworten mit Zitat

Falls du Dialog Director öfter benutzen möchtest, würde ich dir noch die Dialog Director-anleitung für die Apple-Hilfe empfehlen. Da die Original-Anleitung ein Worddokument ist, lässt sich darin schwer navigieren. Ich habe sie so aufbereitet, dass sie über die Apple-Hilfe aufgerufen werden kann (ich habe sie jedoch nicht übersetzt).

Allerdings ist das ganze nicht mit den Help-Guidelines von Apple konform, denn mir war der praktische Nutzen wichtiger als die Guidelines. Die Hilfe ist also als Frameset konstruiert, so dass die Objekte und Befehle links im Navigationsframe erscheinen und du somit auf jeden Punkt schnell Zugriff hast.

Du findest die Hilfe auf meiner Download-Seite.
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
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 -> AppleScript-Forum 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