Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
sideshow •-->


Anmeldedatum: 07.05.2002 Beiträge: 130
|
Verfasst am: 18.06.2002 - 13:07 Titel: dd Dialog Director - interact with user??? |
|
|
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 |
|
 |
Jens Hoffmann •--->

Anmeldedatum: 07.05.2001 Beiträge: 175
|
Verfasst am: 18.06.2002 - 16:17 Titel: dd Dialog Director |
|
|
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 |
|
 |
sideshow •-->


Anmeldedatum: 07.05.2002 Beiträge: 130
|
Verfasst am: 18.06.2002 - 16:23 Titel: dd Dialog Director |
|
|
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 |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 18.06.2002 - 17:17 Titel: dd Dialog Director |
|
|
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 |
|
 |
|
|
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
|
|
|