home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Garbo
/
Garbo.cdr
/
mac
/
hypercrd
/
hc2_x
/
sundial.sit
/
Sundial
/
stack.txt
< prev
next >
Wrap
Text File
|
1991-04-15
|
5KB
|
157 lines
-- 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