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

Dialog mit mehreren Antworten

 
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
Thomas
•->
•->


Anmeldedatum: 08.02.2002
Beiträge: 14

BeitragVerfasst am: 16.08.2002 - 12:50    Titel: Dialog mit mehreren Antworten Antworten mit Zitat

Hallo
Ich habe einen Dialog gebaut, aus dem mehrere Antwortmöglichkeiten hervorgehen.
Wenn ich in diesem Fall 4 Dialoge baue bekomme ich es hin, die Antworten auszuwerten und weiterzubearbeiten.
Ich hätte aber gerne alles in einem Dialog untergebracht, und jede Frage einzeln ausgewertet. Geht das?

Schon mal ein schönes und sonniges Wochenende
und vielen Dank für Hilfe im voraus.

Thomas

Hier mein Dialog:

set theDialog to {size:{360, 250}, style:standard window, closeable:true, name:"Auftrag anlegen", default item:1, contents:{¨
{class:push button, bounds:{249, 207, 323, 227}, name:"Erzeugen"}, ¨
{class:text field, bounds:{168, 18, 322, 34}, value:""}, ¨
{class:static text, bounds:{15, 18, 135, 34}, contents:"Auftrags-Nummer"}, ¨
{class:static text, bounds:{15, 62, 135, 78}, contents:"Job-Beschreibung"}, ¨
{class:text field, bounds:{168, 62, 322, 78}, value:""}, ¨
{class:radio button, bounds:{16, 106, 120, 122}, name:"Archiv", value:false}, ¨
{class:radio button, bounds:{132, 106, 236, 122}, name:"Tempo", value:true}, ¨
{class:static text, bounds:{16, 146, 126, 162}, contents:"OPI benutzen ?"}, ¨
{class:radio button, bounds:{132, 166, 236, 182}, name:"Ja", value:false}, ¨
{class:radio button, bounds:{18, 166, 122, 182}, name:"Nein", value:true}, ¨
{class:group box, bounds:{15, 94, 325, 95}}, ¨
{class:group box, bounds:{13, 134, 323, 135}}, ¨
{class:push button, bounds:{149, 207, 239, 227}, name:"Abbrechen"}, ¨
{class:push button, bounds:{15, 207, 105, 227}, name:"Bearbeiten"}}}

dd auto dialog theDialog with fonts {name:"Charcoal", size:12} with grayscale
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 16.08.2002 - 14:04    Titel: Dialog mit mehreren Antworten Antworten mit Zitat

Hallo Thomas,

mir ist nicht ganz klar welche 4 Dialoge du meinst.
Ich nehme mal an, dass es dich stört, dass deine Dialogbox beim Anklicken
eines Buttons geschlossen wird.
Es sollte ja wahrscheinlich so ablaufen, dass man zuerst auf "Erzeugen" klickt und dann auf "Bearbeiten".

Das ist aber mit einem "Auto-Dialog" nicht möglich. Dieser wird immer beendet, wenn ein Button angeklickt wird.

Du müsstest in dem Fall mit "dd install" arbeiten. Hier ein Beispiel:

property txt1 : {}
property txt2 :{}
property font1 : {name:"Geneva", size:10, style:bold, color:[7779, 734, 18349]}
property font2 : {name:"Geneva", size:9, style:plain}
property d : {}
property btnflag : true
property dlog : {default item:1, size:[320, 110], font:font1, contents:[¨
{class:push button, bounds:[230, 85, 310, 105], name:"Berechnen" }, ¨
{class:push button, bounds:[100, 85, 170, 105], name:"Fertig" }, ¨
{class:text field, bounds:[40, 30, 240, 30 + 12], value:"" }, ¨
{class:text field, bounds:[40, 55, 240, 55 + 12], value:"" }, ¨
{class:static text, bounds:[10, 10, 310, 20], contents:¨
"Bitte Euro- oder DM-Feld ausfüllen und auf \"Berechnen\" klicken.", font:font2}, ¨
{class:static text, bounds:[250, 30, 275, 30 + 12], contents:"DM", font:font1}, ¨
{class:static text, bounds:[250, 55, 285, 55 + 12], contents:"Euro", font:font1}, ¨
{class:static text, bounds:[185, 88, 225, 105], enabled:false, contents:¨
"\"Enter\"", font:font2, justification:right}, ¨
{class:static text, bounds:[55, 88, 95, 105], enabled:false, contents:¨
"\"Esc\"", font:font2, justification:right}, ¨
{class:static text, bounds:[10, 42, 38, 42 + 12], enabled:false, contents:¨
"\"Tab\"", font:font2, justification:right}]}


dd install with grayscale
set d to dd make dialog dlog
repeat
set i to dd interact with user
if i = 2 then
set btnflag to true
exit repeat
else if i = 1 then
set txt1 to dd get value of item 4 of d
set txt2 to dd get value of item 5 of d
if btnflag = true then
set btnflag to false
Berechnen()
dd set name of item 1 of d to "Neu"
else if btnflag = false then
set btnflag to true
Neu()
dd set name of item 1 of d to "Berechnen"
end if
end if
end repeat


dd uninstall

on Berechnen()
set txt1 to dd get value of item 3 of d
set txt2 to dd get value of item 4 of d
try
if txt1 is not "" then
dd set value of item 4 of d to ""
set txt1 to txt1 as real
set txt1 to txt1 / 1.95583
set txt2 to (Rundung(txt1))
dd set value of item 4 of d to txt2
else
dd set value of item 3 of d to ""
set txt2 to txt2 as real
set txt2 to txt2 * 1.95583
set txt1 to (Rundung(txt2))
dd set value of item 3 of d to txt1
end if
end try
end Berechnen

on Rundung(dieZahl)
set dieZahl to dieZahl + 0.005 -- hier wird die
-- dritte Nachkommastelle erhöht. Ist diese
-- >= 5 erhöht sich dadurch die zweite
-- Nachkommastelle = Aufrundung
set Teil1 to TextConvert(dieZahl div 1)
set Teil2 to (dieZahl mod 1) div 0.01 -- bringt zwei Nachkommastellen
if Teil2 < 10 then set Teil2 to ( "0" & Teil2 as text) as string
set Summe to (Teil1 & "," & Teil2 as string)
return Summe as text
end Rundung

on TextConvert(dieZahl)
set TextZahl to dieZahl as text
if TextZahl contains "E+" then
set x to offset of "," in TextZahl
set y to offset of "+" in TextZahl
set z to offset of "E" in TextZahl
set Dezimal to ¨
characters (y - (length of TextZahl)) ¨
thru -1 of TextZahl as string as number

if x is not 0 then
set Teil1 to characters 1 thru (x - 1) of TextZahl as string
else
set Teil1 to ""
end if

set Teil2 to characters (x + 1) thru (z - 1) of TextZahl as string
set convZahl to Teil1
repeat with i from 1 to Dezimal
try
set convZahl to convZahl & character i of the Teil2
on error
set convZahl to convZahl & "0"
end try
end repeat
return convZahl
else
return TextZahl
end if
end TextConvert

on Neu()
dd set value of item 3 of d to ""
dd set value of item 4 of d to ""
TypeText tab
TypeText tab
end Neu


HTH
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 16.08.2002 - 14:41    Titel: Dialog mit mehreren Antworten Antworten mit Zitat

So, hier kommt nochmal dein Dialog. Diesmal bleibt er aber offen, bis "Abbrechen" angeklickt wird.

set theDialog to { size:{ 360, 250 }, style:standard window, closeable:true, name:"Auftrag anlegen", default item:1, contents:{ ¨
{ class:push button, bounds:{ 249, 207, 323, 227 }, name:"Erzeugen" }, ¨
{ class:text field, bounds:{ 168, 18, 322, 34 }, value:"" }, ¨
{ class:static text, bounds:{ 15, 18, 135, 34 }, contents:"Auftrags-Nummer" }, ¨
{ class:static text, bounds:{ 15, 62, 135, 78 }, contents:"Job-Beschreibung" }, ¨
{ class:text field, bounds:{ 168, 62, 322, 78 }, value:"" }, ¨
{ class:radio button, bounds:{ 16, 106, 120, 122 }, name:"Archiv", value:false }, ¨
{ class:radio button, bounds:{ 132, 106, 236, 122 }, name:"Tempo", value:true }, ¨
{ class:static text, bounds:{ 16, 146, 126, 162 }, contents:"OPI benutzen ?" }, ¨
{ class:radio button, bounds:{ 132, 166, 236, 182 }, name:"Ja", value:false }, ¨
{ class:radio button, bounds:{ 18, 166, 122, 182 }, name:"Nein", value:true }, ¨
{ class:group box, bounds:{ 15, 94, 325, 95 } }, ¨
{ class:group box, bounds:{ 13, 134, 323, 135 } }, ¨
{ class:push button, bounds:{ 149, 207, 239, 227 }, name:"Abbrechen" }, ¨
{ class:push button, bounds:{ 15, 207, 105, 227 }, name:"Bearbeiten" } } }

dd install with grayscale
set d to dd make dialog theDialog

repeat
set i to dd interact with user
if i = 13 then
set btnflag to true
exit repeat
else if i = 1 then
display dialog "Der Button \"Erzeugen\" wurde angeklickt."
else if i = 14 then
display dialog "Der Button \"Bearbeiten\" wurde angeklickt."
end if
end repeat


dd uninstall

_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 22.02.2003 - 15:48, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Thomas
•->
•->


Anmeldedatum: 08.02.2002
Beiträge: 14

BeitragVerfasst am: 19.08.2002 - 09:29    Titel: Dialog mit mehreren Antworten Antworten mit Zitat

Danke Snow für die schnelle Antwort

Ich habe mich, glaube ich, blöd ausgedrückt.
Mit Auswerten meinte ich: Aus der Auftragsnummer und der Jobbeschreibung wird ein Name für einen Ordner erzeugt.
Archiv oder Tempo bedeutet auf welchem Volume der Ordner mit seinen Unterordnern angelegt wird.
OPI Ja/nein bedeutet, wenn ja bleibt der Name so, wenn nein wird %0 an den Ordnernamen angehängt.
Ich bekomme also mindestens 4 Ergebnisse aus diesem Dialog und möchte sie einzeln auswerten und entsprechend benutzen.
Geht das überhaupt? Oder muss ich dafür 4 verschiedene Dialoge machen?

(Hoffentlich nerve ich nicht)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1946
Wohnort: Deiningen

BeitragVerfasst am: 19.08.2002 - 10:02    Titel: Dialog mit mehreren Antworten Antworten mit Zitat

Hallo Thomas,

das Ergebnis eines Auto-Dialogs ist eine Liste, die alle Werte des Dialogs beinhaltet. Du brauchst nur diese Liste auszuwerten.

Dazu verfrachtest du diese Werte erst mal in eine Variable:

set dasErgebnis to dd auto dialog theDialog with fonts { name:"Charcoal", size:12 } with grayscale

Das Ergebnis sieht dann so aus:

{ true, "123456789", null, null, "die Beschreibung", false, true, null, false, true, null, null, false, false, { 332, 269, 692, 519 } }

Jetzt brauchst du nur die einzelnen Items zu überprüfen.

Die Reihenfolge der Listeneinträge richtet sich nach der Erstellungsreihenfolge der Dialogelemente.

Item 2 wäre also die Auftragsnummer, Item 5 die Beschreibung, 6 und 7 die Radiobuttons für die Volumes usw.

HTH
_________________
Peter
-
Fischer-Bayern.de|Shadetreemicro.com


Zuletzt bearbeitet von Snow am 22.02.2003 - 15:49, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Thomas
•->
•->


Anmeldedatum: 08.02.2002
Beiträge: 14

BeitragVerfasst am: 19.08.2002 - 10:21    Titel: Dialog mit mehreren Antworten Antworten mit Zitat

Vielen Dank Snow

Manchmal sieht man den Wald vor lauter Bäumen nicht.
Ich werde jetzt mal probieren ob ich es so hinbekomme.

Thomas
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail 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 -> 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