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

Anmeldedatum: 19.01.2002 Beiträge: 20
|
Verfasst am: 15.05.2002 - 17:08 Titel: AS-S Newbie Fragen - - bevor ich jetzt noch 10 Threads auf m |
|
|
Ich werd hier einfach meine Fragen reinposten, wenn ich irgendwo nicht weiterkomme.
a) Was ist die effektivste Methode markierte CHeckboxen abzufragen, nachdem man einen Button geklickt hat?
b) Wie schliesse ich ein Fenster, und wie öffne ich ein neues?
c) Wie setze ich eine Statusleiste (Progress Indicator) in Gang, und wie füttere ich sie mit Informationen wie weit sie schon fortgeschritten sein soll?
d) Wenn ich im PB als Application "Carbon Application" wähle,
wie hoch ist die Chance dass das ganze auch auf OS9 läuft?
e) Wenn ich mehr als einen Button in einem Fenster hab,
wie lasse ich das Script unterscheiden, welcher Button geklickt wurde?
und
f) Wie platziere ich ein Bild in einem Fenster?
hehe, ganz schön viel, aber ich bin noch relativ neu zu Objektorientiertem Programmieren. |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 15.05.2002 - 19:06 Titel: AS-S Newbie Fragen |
|
|
Hallo Mojo,
ich fange mal mit dem leichtesten Teil an.
e) Unterscheidung der Buttons
In AS-S solltest du jedem Objekt einen Namen geben. Nach diesem Namen kannst du die Objekte auch wieder unterscheiden.
on clicked theObject
set ObjName to the name of theObject
if ObjName = "Button1" then
-- hier die Anweisungen für den ersten Button
else -- bei noch mehr verschiedenen Buttons - else if
-- hier die Anweisungen für den zweiten Button
end if
end clicked
Diese Unterscheidung kannst du für alle Objekte verwenden, die den selben Eventhandler benutzen. _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Zuletzt bearbeitet von Snow am 22.02.2003 - 17:37, insgesamt 2-mal bearbeitet |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 15.05.2002 - 19:43 Titel: AS-S Newbie Fragen |
|
|
Nun mal zu den Fenstern:
Wie es aussieht, wenn man mehrere Fenster in einem nib-File definiert, weiß ich nicht - das habe ich noch nicht ausprobiert.
Ich könnte mir aber vorstellen, dass alle Fenster beim Start geladen werden. Du müsstest dann in der Info-Palette des IB die Option "Visible at launch time" für die weiteren Fenster deaktivieren, sonst werden alle beim Start geöffnet.
Bei verschiedenen nib-Files für die jeweiligen Fenster geht's dann so:
Die verschiedenen Fenster sollten beim Programmstart schon geladen werden. Außer es sind zu viele, so dass der Start unnötig lange dauern würde. Dann musst du abwägen, welche Fenster wohl am schnellsten geladen werden können und diese dann erst bei einer entsprechenden Aktion laden lassen.
Aber angenommen, du hast jetzt nur mal 2 Fenster (jeweils mit eigenem nib-File). Dein "main"-Fenster und das "Fenster2".
Für das "Fenster2" deaktivierst ebenfalls die Option "Visible at launch time" - Dürfte sowieso nicht funktionieren, da das entsprechende Fenster noch gar nicht geladen ist. Es soll ja nur mal das "main"-Fenster geöffnet werden.
Im Handler "on launched" muss nun das zweite Fenster erst geladen werden:
load nib "Fenster2"
Wenn nun dieses 2te Fenster sichtbar werden soll, machst du es nur noch sichtbar (geladen ist es schon).
set the visible of window "Fenster2" to true
Zum Schließen der Fenster:
Steh' von deinem Stuhl auf und gehe zum Fenster. Führe die Hand zum Griff des Fensters und bewege es Richtung Fensterrahmen......
Ne, ernsthaft! Du könntest das Schließen eines Fensters z.B. vom Menüpunkt "Close" abhängig machen.
Dazu muss diesem Menüpunkt natürlich der Eventhandler "choose menu item" zugewiesen sein.
Dann fragst du in eben diesem Handler den Namen des vordersten Fensters ab und gibst die Anweisung zum Schließen.
Code: |
on choose menu item theObject
if the name of theObject is "Close" then
if the name of front window = "Fenster2" then
close window "Fenster2"
else
close window "main"
end if
end if
end choose menu item |
_________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Zuletzt bearbeitet von Snow am 22.02.2003 - 17:38, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Mojo •-->

Anmeldedatum: 19.01.2002 Beiträge: 20
|
Verfasst am: 16.05.2002 - 16:14 Titel: AS-S Newbie Fragen |
|
|
Aaaaah, super!!
Bin schonmal nen ganzen Ecken weiter gekommen...
Danke  |
|
Nach oben |
|
 |
Mojo •-->

Anmeldedatum: 19.01.2002 Beiträge: 20
|
Verfasst am: 17.05.2002 - 16:08 Titel: AS-S Newbie Fragen |
|
|
Gibts einen AS Befehl, oder ein OSAX um ein .txt im Web (zB. http://blabla.de/text.txt) in ein Script einzulesen,
ohne einen Browser offen zu haben?
Das wäre extreeeeeem cool ^_^ |
|
Nach oben |
|
 |
Snow Administrator


Anmeldedatum: 21.11.2000 Beiträge: 1946 Wohnort: Deiningen
|
Verfasst am: 17.05.2002 - 20:10 Titel: AS-S Newbie Fragen |
|
|
Hallo Mojo,
mir ist nichts derartiges bekannt. Allerdings ist es doch so, dass auch ein Browser die Daten zuerst anfordern muss und dann gewissermaßen am heimischen Rechner aufbereitet.
Du könntest also die Textdatei mittels URL Access Scripting herunterladen und dann einlesen.
Ich habe dir hier mal ein Beispiel geschrieben, das auf dem des Guide Book Moduls für URL Access Scripting basiert.
Du kannst es direkt ausprobieren - die angegebene Datei existiert.
set the item_name to "test.txt"
set the parent_directory to ¨
"http://fischer-bayern.de/"
set this_URL to (the parent_directory & the item_name)
set the local_filepath to ((path to desktop folder as text) & the item_name)
set the timeout_amount to 1800
try
with timeout of timeout_amount seconds
tell application "URL Access Scripting"
download this_URL to file local_filepath ¨
replacing yes with progress and unpacking
end tell
set myTextFile to the result -- von mir eingefügte Zeile
end timeout
on error error_message number error_number
if the error_number is not -128 then
tell application (path to frontmost application as text)
display dialog ( "Error number: " & (error_number as text) & ¨
return & return & ¨
error_message) buttons { "OK" } default button 1 giving up after 15
end tell
end if
end try
tell application "URL Access Scripting" to quit
open for access alias myTextFile
set RefNum to the result
copy (get eof RefNum) to theEnd
log theEnd -- nur für die Anzeige im Eventprotokoll
try
set derInhalt to (read RefNum for theEnd)
log derInhalt -- nur für die Anzeige im Eventprotokoll
close access RefNum
on error errMsg
display dialog errMsg
close access RefNum
end try
Ich habe es jetzt zwar nur unter OS 9 getestet, es müsste aber unter X genauso laufen (denke ich zumindest).
Gruß _________________ Peter
-
Fischer-Bayern.de|Shadetreemicro.com
Zuletzt bearbeitet von Snow am 22.02.2003 - 17:34, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Mojo •-->

Anmeldedatum: 19.01.2002 Beiträge: 20
|
Verfasst am: 18.05.2002 - 11:00 Titel: AS-S Newbie Fragen |
|
|
Snow = Genius :-D
THX! |
|
Nach oben |
|
 |
jiuer7845 •---->

Anmeldedatum: 06.04.2021 Beiträge: 521
|
|
Nach oben |
|
 |
|