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

Anmeldedatum: 16.06.2007 Beiträge: 17 Wohnort: Felben-Wellhausen (CH)
|
Verfasst am: 03.05.2008 - 11:17 Titel: 3 Fragen |
|
|
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 |
|
 |
pouny •->

Anmeldedatum: 16.06.2007 Beiträge: 17 Wohnort: Felben-Wellhausen (CH)
|
Verfasst am: 22.05.2008 - 15:33 Titel: |
|
|
Wisst ihr keine Antworten, oder versteht ihr die Fragen nicht? |
|
Nach oben |
|
 |
Heiner •-->

Anmeldedatum: 03.12.2005 Beiträge: 62 Wohnort: Moers
|
Verfasst am: 25.05.2008 - 12:43 Titel: |
|
|
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 |
|
 |
|
|
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
|
|
|