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

3 Fragen

 
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-Studio Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
pouny
•->
•->


Anmeldedatum: 16.06.2007
Beiträge: 17
Wohnort: Felben-Wellhausen (CH)

BeitragVerfasst am: 03.05.2008 - 11:17    Titel: 3 Fragen Antworten mit Zitat

Hallo

Damit ihr folgende Fragen nachvollziehen könnt, ist es sinnvoll, erst einmal das XCode-Projekt Downloaden.

1.Frage: Programm während repeat noch reagrieren?
Ich habe folgende Situation:
Durch klicken des Start-Buttons wird eine Endlosschleife mit folgendem Code gestartet: (Abgekürzt)

Code:
repeat
   tell progress indicator "bar" of window "Main" to animate
   set contents of text field "mfeld" of window "Main" to (contents of text field "mfeld" of window "Main") + 1
   delay 0.075
end repeat


Es wird also eine Stoppuhr gestartet.

Nun gibt es 6 Bahnen,, die alle zusammen starten sollen aber unterschiedlich aufhören. Hier hätte sich die Möglichkeit geboten, 6 einzelne Stoppuhren zu erstellen. Ich habe aber eine andere gewählt:
Wenn man nun auf einen der 6 Stop-Buttons klickt, dann fragt dieser den aktuellen Wert des Textfeldes ab und stellt diesen bei seinem eigenen dar. (Folgender Code: )

Code:
else if (theObjectName is "1stop") then
   set contents of text field "1feld" of window "Main" to contents of text field "mfeld" of window "Main"

Dies funktioniert auch, aber nur mit einem Haken:
Das klicken auf den Stop-Button (oder einen anderen) wird nicht erkannt, wenn die Endlosschleife läuft. Man muss also erst die Endlosschleife durch Befehl-Punkt abbrechen, damit andere Buttons gedrückt und erkannt werden können. Was kann man dagegen tun?




2. Frage: Datenbank wie? Sogar mit Table/Scroll View
Hierfür empfehle ich euch (wie auch vorher) zuerst ein Mal das XCode-Projekt downzuloaden.
Im Main-Window hat es ein paar Text-Felder, Pop-Up's und Check-Boxen. Wie kann ich nun dessen Zustand speichern und beim nächsten Programmstart anzeigen?
Währe es sogar möglich, dass man bei dem Table/Scroll View, dass sich auf der linken Seite des Main-Window befindet, beliebig viele Einträge machen könnte, und jeder dieser Einträge die oben genannten Daten für sich speichert? (Text-Felder, Pop-Up's und Check-Boxen).



3. Frage: Genau gehender Timer
Vielleicht habt ihr schon gemerkt, dass bei der Endlosschleife oben delay 0.075 steht. Obwohl dies eigentlich 0.1 betragen sollte, denn der Abstand zwischen 0.1 sec und 0.2 sec beträgt ja eigentlich 0.1 sec. Das Problem ist aber, dass mein iMac für diese Addition auch etwas Zeit benötigt, deshalb also das Delay nur 0.075 ist. Doch: Hab ich mehrere Programme offen, benötigt er länger, der Timer ist also zu langsam. Habe ich allerdings nur dieses Programm offen, ist der Timer plötzlich zu schnell. Ausserdem sollte ja ein MacPro diese Aufgabe schneller ausführen können als ein Mac Mini. Ich habe diese Problem jetzt einfach so gelöst, dass auf der GUI ein Text-Field Namens Pause vorhanden ist, in dem man diesen Wert beliebig anpassen kann. Diese Lösung gefällt mit persönlich aber nicht wirklich. Was gibt es hier für Alternativen?


Ich hoffe, ihr könnt mir möglichst rasch Antworten auf diese 3 Fragen geben.

LG Pouny
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
pouny
•->
•->


Anmeldedatum: 16.06.2007
Beiträge: 17
Wohnort: Felben-Wellhausen (CH)

BeitragVerfasst am: 22.05.2008 - 15:33    Titel: Antworten mit Zitat

Wisst ihr keine Antworten, oder versteht ihr die Fragen nicht?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Heiner
•-->
•-->


Anmeldedatum: 03.12.2005
Beiträge: 62
Wohnort: Moers

BeitragVerfasst am: 25.05.2008 - 12:43    Titel: Antworten mit Zitat

Nun, da sich sonst niemand meldet, versuche ich es mal mit meinen bescheidenen Mitteln.

Zu den Fragen 1 und 3:
Warum benutzt du denn nicht die "eingebaute" Uhr unseres Rechners?
Sieh doch mal in dem AS Beispiel 'Countdown Timer' nach. Es lässt sich doch bestimmt zu deinen Zwecken umschreiben.
(Übrigens: Bei deinem Code würde ich den Befehl 'tell progress indicator "bar" of window "Main" to animate ' aus dem repeat-Block herausnehmen und davor setzen; so wird jedesmal erneut dem progress indicator ein Befehl gegeben.)

Zur Frage 2:
Hier bietet sich die Möglichhkeit der 'user defaults' an. Hier hat Snow bereits eine Kurzanleitung gegeben. Suche mal im Forum unter dem Stichwort 'Preferences' nach.

Ich hoffe, dir etwas geholfen zu haben.

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