home *** CD-ROM | disk | FTP | other *** search
- -- stack: in
- -- format: 10 (HyperCard 2)
- -- flags: 0x1000 (none)
- -- protect password hash: 0
- -- maximum user level: 5 (scripting)
- -- window: Rect(x1=64, y1=69, x2=576, y2=411)
- -- screen: Rect(x1=0, y1=0, x2=640, y2=480)
- -- card dimensions: w=512 h=342
- -- scroll: x=0 y=0
- -- background count: 3
- -- first background id: 2783
- -- card count: 5
- -- first card id: 3829
- -- list block id: 5319
- -- print block id: 0
- -- font table block id: 3363
- -- style table block id: 3218
- -- free block count: 0
- -- free size: 0 bytes
- -- total size: 34624 bytes
- -- stack block size: 4608 bytes
- -- created by hypercard version: 0x02018000
- -- compacted by hypercard version: 0x02018000
- -- modified by hypercard version: 0x02018000
- -- opened by hypercard version: 0x02018000
- -- patterns[0]: 0x0000000000000000
- -- patterns[1]: 0x8000000008000000
- -- patterns[2]: 0x8800220088002200
- -- patterns[3]: 0x8888222288882222
- -- patterns[4]: 0x88AA22AA88AA22AA
- -- patterns[5]: 0xCCAA33AACCAA33AA
- -- patterns[6]: 0xEEAABBAAEEAABBAA
- -- patterns[7]: 0xEEBBBBEEEEBBBBEE
- -- patterns[8]: 0xFFBBFFEEFFBBFFEE
- -- patterns[9]: 0xFFBBFFFFFFBBFFFF
- -- patterns[10]: 0x8010022001084004
- -- patterns[11]: 0xFFFFFFFFFFFFFFFF
- -- patterns[12]: 0x8822882288228822
- -- patterns[13]: 0x1122448811224488
- -- patterns[14]: 0xC4800C6843023026
- -- patterns[15]: 0xB130031BD8C00C8D
- -- patterns[16]: 0xAA00AA00AA00AA00
- -- patterns[17]: 0x8822552288225522
- -- patterns[18]: 0x8855225588552255
- -- patterns[19]: 0x77DD77DD77DD77DD
- -- patterns[20]: 0x8000000000000000
- -- patterns[21]: 0xAA55AA55AA55AA55
- -- patterns[22]: 0x038448300C020101
- -- patterns[23]: 0x8244394482010101
- -- patterns[24]: 0x8814224188412214
- -- patterns[25]: 0x8080413E080814E3
- -- patterns[26]: 0x22048C7422179810
- -- patterns[27]: 0xBE808808EB088880
- -- patterns[28]: 0x25C8328964244C92
- -- patterns[29]: 0xA29C41BE2AC914EB
- -- patterns[30]: 0x40A00000040A0000
- -- patterns[31]: 0x8040200002040800
- -- patterns[32]: 0xAA00800088008000
- -- patterns[33]: 0xFF80808080808080
- -- patterns[34]: 0x081C22C180010204
- -- patterns[35]: 0xFF808080FF080808
- -- patterns[36]: 0xF87422478F172271
- -- patterns[37]: 0xBF00BFBFB0B0B0B0
- -- patterns[38]: 0xFF7FBE5DA2418000
- -- patterns[39]: 0xFAF5FAF5A050A050
- -- checksum: 0xDE2E634E
- ----- HyperTalk script -----
- on calculate
- set cursor to 4
- repeat with x = 1 to 6
- if card field x is empty then put "0" into card field x
- end repeat
- lock screen
- put the value of cd field "LatDeg" into dlat
- put the value of cd field "LatMin" into mlat
- put the value of cd field "LatSec" into slat
- put the value of cd field "LonDeg" into dlon
- put the value of cd field "LonMin" into mlon
- put the value of cd field "LonSec" into slon
- put (dlat + mlat/60 + slat/3600) into lat -- Calculate latitude
- put (lat*pi/180) into lat
- put (dlon + mlon/60 + slon/3600) into lon -- Calculate longitude
- put (lon*pi/180) into lon
- put (sin(lat)) into sinlat
-
- if hilite of card button 6 is true then
- repeat with x = 2 to 5 -- Determine time zone chosen
- if the hilite of button x is true then put (x-1) into tzone
- end repeat
- put (60 + tzone*15) into zonelon -- Determine local time zone longitude
- put (zonelon*pi/180) into zonelon
- put (zonelon - lon) into deltalon -- Difference in longitudes
- else put 0 into deltalon
- put empty into card field 7
- doMenu "New Card"
- hide menuBar
- set lineSize to 2
- set textFont to "Geneva"
- set textSize to 18
- set textStyle to plain
- choose rectangle tool
- drag from 56,32 to 356,332
- put (atan(0.5)) into thmax
-
- repeat with x = -5 to 5
- choose line tool
- put (deltalon + 15*x*pi/180) into timeang -- Time angle of line
- put (atan(tan(timeang)*sinlat)) into hourang -- Hour angle
- put (hourang*180/pi) & return after card field 7 of card "Calculate"
- if (abs(hourang) <= thmax) then
- put 1 into flag
- put round(206 + 300*tan(hourang)) into newx
- put 32 into newy
- drag from 206,332 to newx,newy -- Draw hour angle
- else
- put 0 into flag
- put round(206 + 150*abs(hourang)/hourang) into newx
- put round(332 - 150/abs(tan(hourang))) into newy
- drag from 206,332 to newx,newy -- Draw hour angle
- end if
- choose text tool
- if flag = 1 then set textAlign to center
- else set textAlign to right
- if flag = 1 then click at newx,(newy - 14)
- else click at (newx + abs(hourang)/hourang*23),newy
- if x = -5 then type "VII"
- else if x = -4 then type "VIII"
- else if x = -3 then type "IX"
- else if x = -2 then type "X"
- else if x = -1 then type "XI"
- else if x = 0 then type "XII"
- else if x = 1 then type "I"
- else if x = 2 then type "II"
- else if x = 3 then type "III"
- else if x = 4 then type "IV"
- else if x = 5 then
- click at (newx + abs(hourang)/hourang*10),newy
- set textAlign to left
- type "V"
- end if
- end repeat
- click at 410,50
- type "Latitude" & return
- type dlat && mlat && slat & return & return
- type "Longitude" & return
- type dlon && mlon && slon & return
- if hilite of card button 6 of card "Calculate" is true then type "Mean"
- else type "Apparent"
- choose browse tool
- show bg button 3
- end calculate
-
- on openStack
- hide message box
- go to card "Instructions"
- end openStack
-