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

AS-S Newbie Fragen - - bevor ich jetzt noch 10 Threads auf m

 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Studio Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Mojo
•-->
•-->


Anmeldedatum: 19.01.2002
Beiträge: 20

BeitragVerfasst am: 15.05.2002 - 17:08    Titel: AS-S Newbie Fragen - - bevor ich jetzt noch 10 Threads auf m Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 15.05.2002 - 19:06    Titel: AS-S Newbie Fragen Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 15.05.2002 - 19:43    Titel: AS-S Newbie Fragen Antworten mit Zitat

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...... Very Happy

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Mojo
•-->
•-->


Anmeldedatum: 19.01.2002
Beiträge: 20

BeitragVerfasst am: 16.05.2002 - 16:14    Titel: AS-S Newbie Fragen Antworten mit Zitat

Aaaaah, super!!
Bin schonmal nen ganzen Ecken weiter gekommen...
Danke Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Mojo
•-->
•-->


Anmeldedatum: 19.01.2002
Beiträge: 20

BeitragVerfasst am: 17.05.2002 - 16:08    Titel: AS-S Newbie Fragen Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Snow
Administrator
Administrator


Anmeldedatum: 21.11.2000
Beiträge: 1955
Wohnort: Deiningen

BeitragVerfasst am: 17.05.2002 - 20:10    Titel: AS-S Newbie Fragen Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Mojo
•-->
•-->


Anmeldedatum: 19.01.2002
Beiträge: 20

BeitragVerfasst am: 18.05.2002 - 11:00    Titel: AS-S Newbie Fragen Antworten mit Zitat

Snow = Genius :-D

THX!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Studio 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