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

Einmal gehts, einmal nicht! - kann nicht aus resource lesen!

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


Anmeldedatum: 07.05.2002
Beiträge: 130

BeitragVerfasst am: 20.06.2002 - 11:49    Titel: Einmal gehts, einmal nicht! - kann nicht aus resource lesen! Antworten mit Zitat

Ich hab schon wieder ein problem (ich hab eigentlich ständig probleme und leider komm ich nicht von selbst drauf!)

Also, Problem ist folgendes:

wenn ich einen teil von meinem script gesondert laufen lasse gehts:
--------

--Spiel-Ressource
try
set rf to res open file "Festplatte:Flo Privat: ï Apple Script:Fertige Projekte:x - games:Tic Tac Toe:game_res.rsrc" with keep in chain
on error
set rf to res open (choose file with prompt "Wo ist ³game_res.rsrc²?" of type "rsrc")
end try

set daX to res get rf type "ICON" id 128
set daO to res get rf type "ICON" id 129


set Spielerwahl to {size:[400, 300], contents:[¨
{class:push button, bounds:[300, 265, 380, 285], name:"Weiter"}, ¨
{class:push button, bounds:[205, 265, 285, 285], name:"Abbruch"}, ¨
{class:group box, bounds:[20, 255, 380, 257], style:secondary group}, ¨
{class:group box, bounds:[20, 30, 380, 33], style:secondary group}, ¨
{class:group box, bounds:[20, 40, 380, 235], style:secondary group, name:"Spielerwahl"}, ¨
{class:radio button, bounds:[30, 65, 120, 85], name:"1 Spieler"}, ¨
{class:text field, bounds:[120, 95, 250, 110], name bounds:[30, 95, 120, 110], name:"Spielername"}, ¨
{class:icon, bounds:[270, 80, 310, 120], contents:daX}, ¨
{class:radio button, bounds:[30, 125, 120, 145], name:"2 Spieler", enabled:[dAnd, 6]}, ¨
{class:text field, bounds:[120, 155, 250, 170], name bounds:[30, 155, 120, 170], name:"Spielername", enabled:[dAnd, 6]}, ¨
{class:icon, bounds:[270, 140, 310, 180], contents:daO}, ¨
{class:static text, bounds:[20, 10, 380, 30], justification:center, contents:"Tic Tac Toe"} ¨
], name:"Tic Tac Toe | © sideshow 2002", style:movable dialog, default item:1, timeout after:60}

set show_Spielerwahl to dd auto dialog Spielerwahl with grayscale

--------

Wenn ich es aber in dem gesamten Script laufen lassen will, bringt er die fehlermeldung: Finder got an error - can¥t get icon (aus dem zweiten menü, der Spielerwahl.

------

(*program_description: Ein kleines, nettes Spiel. Kennt wohl jeder!*)

--die Regeln für welcome_player1
property daRules : "Die Regeln dieses Spiels sind denkbar einfach (und wahrscheinlich sind sie auch jedem bekannt)!
Ziel ist es, 3 Felder mit seinem Symbol zu markieren. Das geht waagrecht, senkrecht oder auch diagonal."


--**************************************************************************************************

tell application "Finder"
activate


--**************************************************************************************************

--das erste Einleitungsfenster
set intro1 to {size:[400, 300], contents:[¨
{class:push button, bounds:[300, 265, 380, 285], name:"OK"}, ¨
{class:push button, bounds:[205, 265, 285, 285], name:"Abbruch"}, ¨
{class:group box, bounds:[20, 255, 380, 257], style:secondary group}, ¨
{class:push button, bounds:[20, 265, 100, 285], name:"Hilfe"}, ¨
{class:static text, bounds:[20, 10, 380, 30], justification:center, contents:"Tic Tac Toe"} ¨
], name:"Tic Tac Toe | © sideshow 2002", style:movable dialog, default item:1, timeout after:60}

set show_intro1 to dd auto dialog intro1

--wenn Cancel-Button gedrückt wird, dann ende
if item 2 of show_intro1 is true then
return
end if

--wenn Hilfe-Button gedrückt wird, dann -> Hilfe.txt wird geöffnet
if item 4 of show_intro1 is true then
display dialog "Im Quelltext das: open Help.txt einfügen!"
return
end if

--**************************************************************************************************

--Daten aus Spiel-Ressource laden
try
set rf to res open file "Festplatte:Flo Privat: ï Apple Script:Fertige Projekte:x - games:Tic Tac Toe:game_res.rsrc" with keep in chain
on error
set rf to res open (choose file with prompt "Wo ist ³game_res.rsrc²?" of type "rsrc")
end try

set daX to res get rf type "ICON" id 128
set daO to res get rf type "ICON" id 129


set Spielerwahl to {size:[400, 300], contents:[¨
{class:push button, bounds:[300, 265, 380, 285], name:"Weiter"}, ¨
{class:push button, bounds:[205, 265, 285, 285], name:"Abbruch"}, ¨
{class:group box, bounds:[20, 255, 380, 257], style:secondary group}, ¨
{class:group box, bounds:[20, 30, 380, 33], style:secondary group}, ¨
{class:group box, bounds:[20, 40, 380, 235], style:secondary group, name:"Spielerwahl"}, ¨
{class:radio button, bounds:[30, 65, 120, 85], name:"1 Spieler"}, ¨
{class:text field, bounds:[120, 95, 250, 110], name bounds:[30, 95, 120, 110], name:"Spielername"}, ¨
{class:icon, bounds:[270, 80, 310, 120], contents:daX}, ¨
{class:radio button, bounds:[30, 125, 120, 145], name:"2 Spieler", enabled:[dAnd, 6]}, ¨
{class:text field, bounds:[120, 155, 250, 170], name bounds:[30, 155, 120, 170], name:"Spielername", enabled:[dAnd, 6]}, ¨
{class:icon, bounds:[270, 140, 310, 180], contents:daO}, ¨
{class:static text, bounds:[20, 10, 380, 30], justification:center, contents:"Tic Tac Toe"} ¨
], name:"Tic Tac Toe | © sideshow 2002", style:movable dialog, default item:1, timeout after:60}

set show_Spielerwahl to dd auto dialog Spielerwahl with grayscale

end tell

------

Ich versteh nicht woran das liegt. Hoffentlich könnt ihr mir weiterhelfen!
_________________
Meine Wenigkeit im Internet: http://www.sideshow-systems.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jens Hoffmann
•--->
•--->


Anmeldedatum: 07.05.2001
Beiträge: 175

BeitragVerfasst am: 20.06.2002 - 12:48    Titel: Einmal gehts, einmal nicht! Antworten mit Zitat

Hi Flo

Möglicherweise musst die Icon-Variablen als globals definieren:

global: daX, daO

Ich persönlich lege die Icons immer direkt im Script ab. So spare ich mir den Aufwand mit dem Resourcen-File (und deswegen habe ich mich damit noch nicht so beschäftigt). Das geht so:

- Öffne Dein Script mit Res Edit.

- Hast Du schon die Icon-Resourcen, kannst Du sie einfach rüberkopieren (File öffnen, Icon-Res. markieren, copy, zum Script wechseln, paste).

Oder Du legst eine neue Resource an: Resource/Create New Resource. Dann wählst Du irgendeine Icon-Res., z.B. "icl8". Es öffnet sich der Icon-Editor. Hier kopierst Du Deine Icons rein oder erstellst sie händisch. Jede Größe und die Masken. Res Edit erstellt dann automatisch die Res.: "icl4", "icl8", "ics4", "ics8", "ICN#" und "ics#"

- In den Icon-Res.-Fenster markierst Du ein Icon und mit Apfel + I (Resource/Get Resource Info) öffnet sich das Info-Fenster. Nun vergibst Du die IDs, z.B. 300, 301 usw. Das musst Du mit jeder Icon-Res. machen. Als ID nicht 128 verwenden, ich glaube das hat mit dem Desktop-Icon zu tun. Leider weis ich nicht genau, welche ID besondere Bedeutung haben. Mit 300+ (oder 3000+) habe ich bis jetzt keine Probleme gehabt.

Auf http://www.iconfactory.com/ gibt es einen Workshop über das Estellen von Icons mit Res Edit, leider halt mal wieder in Engl.

- Das Script zumachen und speichern bestätigen

- Jetzt kansst Du bequem auf die Icons zugreifen:
{ class: icon, bounds:[...], contents:301 }

- Wichtig bei Icons und Pics: Speicher des Skripteditors erhöhen! Und später auch den des Scripts (als Applet speichern). Und wenn Du mit "icon push button"s arbeitest, lies den Abschnitt im DD-Manual gut durch.

- Das ganze nur machen, wenn Du vorher eine Sicherheitskopie gemacht hast.


Jens

(Geändert von Jens Hoffmann um 12:50 Uhr am 20 Juni 2002)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jens Hoffmann
•--->
•--->


Anmeldedatum: 07.05.2001
Beiträge: 175

BeitragVerfasst am: 20.06.2002 - 13:20    Titel: Einmal gehts, einmal nicht! Antworten mit Zitat

Hab jetzt doch nochmal näher nachgeschaut. Offensichtlich langt es die Res. zu öffnen, um auf die Icons zuzugreifen. Ich frage mich allerdings, was passiert, wenn das Script selbst auch ein Icon mit der gleichen ID hat...

So haut's bei mir hin:

-----

--die Regeln für welcome_player1
property daRules : "Die Regeln dieses Spiels sind denkbar einfach (und wahrscheinlich sind sie auch jedem bekannt)!
Ziel ist es, 3 Felder mit seinem Symbol zu markieren. Das geht waagrecht, senkrecht oder auch diagonal."


--das erste Einleitungsfenster
set intro1 to {size:[400, 300], contents:[¨
{class:push button, bounds:[300, 265, 380, 285], name:"OK"}, ¨
{class:push button, bounds:[205, 265, 285, 285], name:"Abbruch"}, ¨
{class:group box, bounds:[20, 255, 380, 257], style:secondary group}, ¨
{class:push button, bounds:[20, 265, 100, 285], name:"Hilfe"}, ¨
{class:static text, bounds:[20, 10, 380, 30], justification:center, contents:"Tic Tac Toe"} ¨
], name:"Tic Tac Toe | © sideshow 2002", style:movable dialog, default item:1, timeout after:60}

set show_intro1 to dd auto dialog intro1

--wenn Cancel-Button gedrückt wird, dann ende
if item 2 of show_intro1 is true then
return
end if

--wenn Hilfe-Button gedrückt wird, dann -> Hilfe.txt wird geöffnet
if item 4 of show_intro1 is true then


--Daten aus Spiel-Ressource laden
try
set rf to res open file "Festplatte:Flo Privat: ï Apple Script:Fertige Projekte:x - games:Tic Tac Toe:game_res.rsrc" with keep in chain
on error
set rf to res open (choose file with prompt "Wo ist ³game_res.rsrc²?" of type "rsrc")
end try


set Spielerwahl to {size:[400, 300], contents:[¨
{class:push button, bounds:[300, 265, 380, 285], name:"Weiter"}, ¨
{class:push button, bounds:[205, 265, 285, 285], name:"Abbruch"}, ¨
{class:group box, bounds:[20, 255, 380, 257], style:secondary group}, ¨
{class:group box, bounds:[20, 30, 380, 33], style:secondary group}, ¨
{class:group box, bounds:[20, 40, 380, 235], style:secondary group, name:"Spielerwahl"}, ¨
{class:radio button, bounds:[30, 65, 120, 85], name:"1 Spieler"}, ¨
{class:text field, bounds:[120, 95, 250, 110], name bounds:[30, 95, 120, 110], name:"Spielername"}, ¨
{class:icon, bounds:[270, 80, 310, 120], contents:128}, ¨
{class:radio button, bounds:[30, 125, 120, 145], name:"2 Spieler", enabled:[dAnd, 6]}, ¨
{class:text field, bounds:[120, 155, 250, 170], name bounds:[30, 155, 120, 170], name:"Spielername", enabled:[dAnd, 6]}, ¨
{class:icon, bounds:[270, 140, 310, 180], contents:129}, ¨
{class:static text, bounds:[20, 10, 380, 30], justification:center, contents:"Tic Tac Toe"} ¨
], name:"Tic Tac Toe | © sideshow 2002", style:movable dialog, default item:1, timeout after:60}

set show_Spielerwahl to dd auto dialog Spielerwahl with grayscale
end if
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
sideshow
•-->
•-->


Anmeldedatum: 07.05.2002
Beiträge: 130

BeitragVerfasst am: 20.06.2002 - 14:27    Titel: Einmal gehts, einmal nicht! Antworten mit Zitat

Hi Jens,

danke für die Hilfe! geht leider immer noch nicht so richtig. irgendwas spinnt da gewaltig! ich werd mir mal des mit den icons im script definieren ein bissl genauer anschauen, klingt interessant!!!!!
_________________
Meine Wenigkeit im Internet: http://www.sideshow-systems.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jens Hoffmann
•--->
•--->


Anmeldedatum: 07.05.2001
Beiträge: 175

BeitragVerfasst am: 20.06.2002 - 14:55    Titel: Einmal gehts, einmal nicht! Antworten mit Zitat

Vielleicht stimmt ja auch was mit Deinem Resource-File nicht. Nimm einfach mal "Icons & Picts.rsrc" aus den DD-Beispielen als Resource; habe ich nämlich beim Testen gemacht.

Übrigens ist der Icon-Workshop von Iconfactory nicht mehr online verfügbar, aber offline...

Jens

(Geändert von Jens Hoffmann um 15:02 Uhr am 20 Juni 2002)


(Geändert von Jens Hoffmann um 15:09 Uhr am 20 Juni 2002)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
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-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