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