basictomonokai

電子書籍用プログラム ◆RSS表示用外部関数(demo-sub2.bas)

Jun 3rd, 2015
321
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.69 KB | None | 0 0
  1. fn.def rsbox1$(titl1$,odai1$,rssall$)
  2.  
  3. msgdir$="フィード表示を準備中"
  4. console.title msgdir$
  5.  
  6. aname$=""
  7. zzdata$="<body bgcolor=\"azure\">"
  8.  
  9. xnextrsa:
  10.  
  11. ano=0
  12.  
  13.  
  14.  
  15. outhtml$=""
  16. outhtmlk$="\n"
  17. outhtml$=outhtml$+"?<html>"+outhtmlk$
  18. outhtml$=outhtml$+""+outhtmlk$
  19. outhtml$=outhtml$+"<head >"+outhtmlk$
  20. outhtml$=outhtml$+""+outhtmlk$
  21. outhtml$=outhtml$+" <meta http-equiv=\"content-type\" content=\"text/html;charset=UTF-8\"/>"+outhtmlk$
  22. outhtml$=outhtml$+""+outhtmlk$
  23. outhtml$=outhtml$+"<link href=\"http://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css\" rel=\"stylesheet\">"+outhtmlk$
  24. outhtml$=outhtml$+""+outhtmlk$
  25. outhtml$=outhtml$+"<style type=\"text/css\">"+outhtmlk$
  26. outhtml$=outhtml$+"<!--"+outhtmlk$
  27. outhtml$=outhtml$+"div#floating-menu {"+outhtmlk$
  28. outhtml$=outhtml$+" position: fixed;"+outhtmlk$
  29. outhtml$=outhtml$+" text-align: right;"+outhtmlk$
  30. outhtml$=outhtml$+" top: 0px;"+outhtmlk$
  31. outhtml$=outhtml$+" left: 70%;"+outhtmlk$
  32. outhtml$=outhtml$+" right: 0px;"+outhtmlk$
  33. outhtml$=outhtml$+" background-color: #FFFFFF;"+outhtmlk$
  34. outhtml$=outhtml$+" border: 1px solid #000000;"+outhtmlk$
  35. outhtml$=outhtml$+" z-index: 9999;"+outhtmlk$
  36. outhtml$=outhtml$+" opacity: 0.5;"+outhtmlk$
  37. outhtml$=outhtml$+"}"+outhtmlk$
  38. outhtml$=outhtml$+"-->"+outhtmlk$
  39. outhtml$=outhtml$+"</style>"+outhtmlk$
  40. outhtml$=outhtml$+""+outhtmlk$
  41. outhtml$=outhtml$+"<style type=\"text/css\">"+outhtmlk$
  42. outhtml$=outhtml$+"<!--"+outhtmlk$
  43. outhtml$=outhtml$+"input,textarea {font-size: 36;}"+outhtmlk$
  44. outhtml$=outhtml$+"-->"+outhtmlk$
  45. outhtml$=outhtml$+"</style>"+outhtmlk$
  46. outhtml$=outhtml$+""+outhtmlk$
  47. outhtml$=outhtml$+"<style type=\"text/css\">"+outhtmlk$
  48. outhtml$=outhtml$+"<!--"+outhtmlk$
  49. outhtml$=outhtml$+""+outhtmlk$
  50. outhtml$=outhtml$+"#buttonx {"+outhtmlk$
  51. outhtml$=outhtml$+" width:80%;"+outhtmlk$
  52. outhtml$=outhtml$+" color:#ffffff;"+outhtmlk$
  53. outhtml$=outhtml$+" background:#337fcc;"+outhtmlk$
  54. outhtml$=outhtml$+" font-family: fantasy,sans-serif;"+outhtmlk$
  55. outhtml$=outhtml$+" font-size:24px;"+outhtmlk$
  56. outhtml$=outhtml$+" font-weight:bold;"+outhtmlk$
  57. outhtml$=outhtml$+" text-shadow:0 1px 0px #143352,0 2px 0px #143352;"+outhtmlk$
  58. outhtml$=outhtml$+" text-align:left;"+outhtmlk$
  59. outhtml$=outhtml$+" display:block;"+outhtmlk$
  60. outhtml$=outhtml$+" text-decoration:none;"+outhtmlk$
  61. outhtml$=outhtml$+" border:1px solid #225588;"+outhtmlk$
  62. outhtml$=outhtml$+" padding:5px 0 4px 0;"+outhtmlk$
  63. outhtml$=outhtml$+" border-radius:5px;"+outhtmlk$
  64. outhtml$=outhtml$+" margin-bottom:15px;"+outhtmlk$
  65. outhtml$=outhtml$+"}"+outhtmlk$
  66. outhtml$=outhtml$+""+outhtmlk$
  67. outhtml$=outhtml$+"#buttony {"+outhtmlk$
  68. outhtml$=outhtml$+" width:30%;"+outhtmlk$
  69. outhtml$=outhtml$+" color:#ffffff;"+outhtmlk$
  70. outhtml$=outhtml$+" background:#337fcc;"+outhtmlk$
  71. outhtml$=outhtml$+" font-family: fantasy,sans-serif;"+outhtmlk$
  72. outhtml$=outhtml$+" font-size:24px;"+outhtmlk$
  73. outhtml$=outhtml$+" font-weight:bold;"+outhtmlk$
  74. outhtml$=outhtml$+" text-shadow:0 1px 0px #143352,0 2px 0px #143352;"+outhtmlk$
  75. outhtml$=outhtml$+" text-align:center;"+outhtmlk$
  76. outhtml$=outhtml$+" display:inline-block;"+outhtmlk$
  77. outhtml$=outhtml$+" text-decoration:none;"+outhtmlk$
  78. outhtml$=outhtml$+" border:1px solid #225588;"+outhtmlk$
  79. outhtml$=outhtml$+" padding:10px 0 8px 0;"+outhtmlk$
  80. outhtml$=outhtml$+" border-radius:5px;"+outhtmlk$
  81. outhtml$=outhtml$+" margin-bottom:20px;"+outhtmlk$
  82. outhtml$=outhtml$+"}"+outhtmlk$
  83. outhtml$=outhtml$+""+outhtmlk$
  84. outhtml$=outhtml$+"-->"+outhtmlk$
  85. outhtml$=outhtml$+""+outhtmlk$
  86. outhtml$=outhtml$+""+outhtmlk$
  87. outhtml$=outhtml$+""+outhtmlk$
  88. outhtml$=outhtml$+""+outhtmlk$
  89. outhtml$=outhtml$+"</style>"+outhtmlk$
  90. outhtml$=outhtml$+""+outhtmlk$
  91. outhtml$=outhtml$+""+outhtmlk$
  92. outhtml$=outhtml$+" <title>@@@1@@@</title>"+outhtmlk$
  93. outhtml$=outhtml$+""+outhtmlk$
  94. outhtml$=outhtml$+""+outhtmlk$
  95. outhtml$=outhtml$+"<script type=\"text/javascript\">"+outhtmlk$
  96. outhtml$=outhtml$+" var timerID;"+outhtmlk$
  97. outhtml$=outhtml$+" function ScrollStart(){"+outhtmlk$
  98. outhtml$=outhtml$+" timerID=setInterval(\"scroll()\",50);"+outhtmlk$
  99. outhtml$=outhtml$+" }"+outhtmlk$
  100. outhtml$=outhtml$+" function scroll(){"+outhtmlk$
  101. outhtml$=outhtml$+" window.scrollBy(0,2);"+outhtmlk$
  102. outhtml$=outhtml$+" }"+outhtmlk$
  103. outhtml$=outhtml$+" function ScrollStop(){"+outhtmlk$
  104. outhtml$=outhtml$+" clearInterval(timerID);"+outhtmlk$
  105. outhtml$=outhtml$+" }"+outhtmlk$
  106. outhtml$=outhtml$+"</script>"+outhtmlk$
  107. outhtml$=outhtml$+""+outhtmlk$
  108. outhtml$=outhtml$+""+outhtmlk$
  109. outhtml$=outhtml$+"</head>"+outhtmlk$
  110. outhtml$=outhtml$+""+outhtmlk$
  111. outhtml$=outhtml$+"<!-- "+outhtmlk$
  112. outhtml$=outhtml$+"This simple Javascript Function sends"+outhtmlk$
  113. outhtml$=outhtml$+"the string \"data\" to the the excuting BASIC!"+outhtmlk$
  114. outhtml$=outhtml$+"program."+outhtmlk$
  115. outhtml$=outhtml$+""+outhtmlk$
  116. outhtml$=outhtml$+"The BASIC command, \"html.getdatalink data$\", is "+outhtmlk$
  117. outhtml$=outhtml$+"used to read linked data. If data$ is empty (\"\") then"+outhtmlk$
  118. outhtml$=outhtml$+"not data has been sent. The BASIC! programmer"+outhtmlk$
  119. outhtml$=outhtml$+"can loop on this value until a non-empty string is"+outhtmlk$
  120. outhtml$=outhtml$+"returned."+outhtmlk$
  121. outhtml$=outhtml$+""+outhtmlk$
  122. outhtml$=outhtml$+"This function is the heart the HTML/BASIC! interactive"+outhtmlk$
  123. outhtml$=outhtml$+"interface."+outhtmlk$
  124. outhtml$=outhtml$+"-->"+outhtmlk$
  125. outhtml$=outhtml$+""+outhtmlk$
  126. outhtml$=outhtml$+"<script type=\"text/javascript\">"+outhtmlk$
  127. outhtml$=outhtml$+" function doDataLink(data) {"+outhtmlk$
  128. outhtml$=outhtml$+" Android.dataLink(data);"+outhtmlk$
  129. outhtml$=outhtml$+" }"+outhtmlk$
  130. outhtml$=outhtml$+"</script>"+outhtmlk$
  131. outhtml$=outhtml$+""+outhtmlk$
  132.  
  133. if aname$="" then
  134. outhtml$=outhtml$+"<body bgcolor=\"azure\">"+outhtmlk$
  135. else
  136. outhtml$=outhtml$+"<body bgcolor=\"azure\" onload=\"location.hash='"+aname$+"'\">"+outhtmlk$
  137. endif
  138.  
  139. outhtml$=outhtml$+""+outhtmlk$
  140. outhtml$=outhtml$+"<div id=\"floating-menu\">"+outhtmlk$
  141. outhtml$=outhtml$+"<p id=\"RealtimeClockArea\">時計表示エリア</p>"+outhtmlk$
  142. outhtml$=outhtml$+"</div>"+outhtmlk$
  143. outhtml$=outhtml$+" <script type=\"text/javascript\">"+outhtmlk$
  144. outhtml$=outhtml$+"function set2fig(num) {"+outhtmlk$
  145. outhtml$=outhtml$+" // 桁数が1桁だったら先頭に0を加えて2桁に調整する"+outhtmlk$
  146. outhtml$=outhtml$+" var ret;"+outhtmlk$
  147. outhtml$=outhtml$+" if( num < 10 ) { ret = \"0\" + num; }"+outhtmlk$
  148. outhtml$=outhtml$+" else { ret = num; }"+outhtmlk$
  149. outhtml$=outhtml$+" return ret;"+outhtmlk$
  150. outhtml$=outhtml$+" }"+outhtmlk$
  151. outhtml$=outhtml$+""+outhtmlk$
  152. outhtml$=outhtml$+" function showClock1() {"+outhtmlk$
  153. outhtml$=outhtml$+" var nowTime = new Date();"+outhtmlk$
  154. outhtml$=outhtml$+" var nowHour = set2fig( nowTime.getHours() );"+outhtmlk$
  155. outhtml$=outhtml$+" var nowMin = set2fig( nowTime.getMinutes() );"+outhtmlk$
  156. outhtml$=outhtml$+" var nowSec = set2fig( nowTime.getSeconds() );"+outhtmlk$
  157. outhtml$=outhtml$+" var nowYear = nowTime.getFullYear();"+outhtmlk$
  158. outhtml$=outhtml$+" var nowMonth = nowTime.getMonth() + 1;"+outhtmlk$
  159. outhtml$=outhtml$+" var nowDate = nowTime.getDate();"+outhtmlk$
  160. outhtml$=outhtml$+" var yobi = [\"日\",\"月\",\"火\",\"水\",\"木\",\"金\",\"土\"];"+outhtmlk$
  161. outhtml$=outhtml$+" var nowYobi = yobi[nowTime.getDay()];"+outhtmlk$
  162. outhtml$=outhtml$+" var msg = nowYear + \"/\" + nowMonth + \"/\" + nowDate"+outhtmlk$
  163. outhtml$=outhtml$+" var msg = msg + \"(\" + nowYobi + \") [\" + nowHour + \":\" + nowMin + \":\" + nowSec + \"]\";"+outhtmlk$
  164. outhtml$=outhtml$+" document.getElementById(\"RealtimeClockArea\").innerHTML = msg;"+outhtmlk$
  165. outhtml$=outhtml$+" }"+outhtmlk$
  166. outhtml$=outhtml$+" setInterval('showClock1()',1000);"+outhtmlk$
  167. outhtml$=outhtml$+" </script>"+outhtmlk$
  168. outhtml$=outhtml$+""+outhtmlk$
  169. outhtml$=outhtml$+" <div align=\"center\">"+outhtmlk$
  170. outhtml$=outhtml$+" <!--"+outhtmlk$
  171. outhtml$=outhtml$+"Display an image located on the internet"+outhtmlk$
  172. outhtml$=outhtml$+"-->"+outhtmlk$
  173. outhtml$=outhtml$+" <h1><b>@@@2@@@</b></h1>"+outhtmlk$
  174. outhtml$=outhtml$+""+outhtmlk$
  175. outhtml$=outhtml$+"<br>"+outhtmlk$
  176. outhtml$=outhtml$+""+outhtmlk$
  177. outhtml$=outhtml$+"<a id=\"buttony\" onmouseover=\"this.style.background='#43cd80'\" onmouseout=\"this.style.background='#337fcc'\" onclick=\"this.style.background='#43cd80';doDataLink('///y///')\" >キーワード登録</a>"+outhtmlk$
  178. outhtml$=outhtml$+"<a id=\"buttony\" onmouseover=\"this.style.background='#43cd80'\" onmouseout=\"this.style.background='#337fcc'\" onclick=\"this.style.background='#43cd80';doDataLink('///x///')\" >処理終了</a>"+outhtmlk$
  179. outhtml$=outhtml$+"<br>"+outhtmlk$
  180. outhtml$=outhtml$+"<a id=\"buttony\" onmouseover=\"this.style.background='#43cd80'\" onmouseout=\"this.style.background='#337fcc'\" onclick=\"this.style.background='#43cd80';ScrollStart()\">ロール開始</a>"+outhtmlk$
  181. outhtml$=outhtml$+"<a id=\"buttony\" onmouseover=\"this.style.background='#43cd80'\" onmouseout=\"this.style.background='#337fcc'\" onclick=\"this.style.background='#43cd80';ScrollStop()\">ロール停止</a>"+outhtmlk$
  182. outhtml$=outhtml$+"<br>"+outhtmlk$
  183.  
  184.  
  185. outhtml$=replace$(outhtml$,"@@@1@@@",titl1$)
  186. outhtml$=replace$(outhtml$,"@@@2@@@",odai1$)
  187.  
  188. msgdir$="フィードを解析中 "
  189. console.title msgdir$
  190.  
  191.  
  192. split rssa$[],rssall$,"@y@"
  193. array.length lrssa,rssa$[]
  194. for rssi=1 to lrssa
  195. split rssb$[],rssa$[rssi],"@x@"
  196. array.length lrssb,rssb$[]
  197.  
  198. ano=ano+1
  199.  
  200. outhtml$=outhtml$+"<a name=\"b"+replace$(str$(ano),".0","")+"\">"+outhtmlk$
  201. outhtml$=outhtml$+"<a id=\"buttonx\" onmouseover=\"this.style.background='#43cd80'\" onmouseout=\"this.style.background='#337fcc'\" onclick=\"this.style.background='#43cd80';doDataLink('"
  202. outhtml$=outhtml$+"b"+replace$(str$(ano),".0","")+"@@w@@"+rssb$[2]+"')\" >"
  203. outhtml$=outhtml$+rssb$[1]+"</a>"+outhtmlk$
  204.  
  205. outhtml$=outhtml$+"<a name=\"a"+replace$(str$(ano),".0","")+"\">"+outhtmlk$
  206. outhtml$=outhtml$+"<a id=\"buttony\" onmouseover=\"this.style.background='#43cd80'\" onmouseout=\"this.style.background='#337fcc'\" onclick=\"this.style.background='#43cd80';doDataLink('"
  207. outhtml$=outhtml$+"a"+replace$(str$(ano),".0","")+"@@w@@"+rssb$[2]+"')\" >"
  208. outhtml$=outhtml$+"<i class=\"fa fa-play-circle\"></i>"+" 外部リンク</a>"+outhtmlk$
  209.  
  210.  
  211. outhtml$=outhtml$+"<div align=left>"+outhtmlk$
  212. outhtml$=outhtml$+rssb$[3]+"("+rssb$[4]+")"+outhtmlk$
  213. outhtml$=outhtml$+"</div>"+outhtmlk$
  214. outhtml$=outhtml$+"<br>"+outhtmlk$
  215. outhtml$=outhtml$+"<br>"+outhtmlk$
  216.  
  217. if mod(rssi,5)=0 then
  218. if rssi>0 then
  219. outhtml$=outhtml$+"<a id=\"buttony\" onmouseover=\"this.style.background='#43cd80'\" onmouseout=\"this.style.background='#337fcc'\" onclick=\"this.style.background='#43cd80';doDataLink('///x///')\" >処理終了</a>"+outhtmlk$
  220. outhtml$=outhtml$+"<a id=\"buttony\" onmouseover=\"this.style.background='#43cd80'\" onmouseout=\"this.style.background='#337fcc'\" onclick=\"this.style.background='#43cd80';ScrollStart()\">ロール開始</a>"+outhtmlk$
  221. outhtml$=outhtml$+"<a id=\"buttony\" onmouseover=\"this.style.background='#43cd80'\" onmouseout=\"this.style.background='#337fcc'\" onclick=\"this.style.background='#43cd80';ScrollStop()\">ロール停止</a>"+outhtmlk$
  222. outhtml$=outhtml$+"<br>"+outhtmlk$
  223. endif
  224. endif
  225.  
  226. msgdir$="フィードを編集中 "
  227. msgdir$=msgdir$+"("+replace$(str$(rssi),".0","")+" / "+replace$(str$(lrssa),".0","")+")"
  228. console.title msgdir$
  229.  
  230. array.delete rssb$[]
  231. next rssi
  232. array.delete rssa$[]
  233.  
  234. outhtml$=outhtml$+"<br>"+outhtmlk$
  235. outhtml$=outhtml$+""+outhtmlk$
  236. outhtml$=outhtml$+"<a id=\"buttony\" onmouseover=\"this.style.background='#43cd80'\" onmouseout=\"this.style.background='#337fcc'\" onclick=\"this.style.background='#43cd80';doDataLink('///y///')\" >キーワード登録</a>"+outhtmlk$
  237. outhtml$=outhtml$+"<a id=\"buttony\" onmouseover=\"this.style.background='#43cd80'\" onmouseout=\"this.style.background='#337fcc'\" onclick=\"this.style.background='#43cd80';doDataLink('///x///')\" >処理終了</a>"+outhtmlk$
  238. outhtml$=outhtml$+"<br>"+outhtmlk$
  239.  
  240. outhtml$=outhtml$+""+outhtmlk$
  241. outhtml$=outhtml$+""+outhtmlk$
  242. outhtml$=outhtml$+" </div>"+outhtmlk$
  243. outhtml$=outhtml$+""+outhtmlk$
  244. outhtml$=outhtml$+"</body>"+outhtmlk$
  245. outhtml$=outhtml$+""+outhtmlk$
  246. outhtml$=outhtml$+"</html>"+outhtmlk$
  247.  
  248. xnextrsb:
  249.  
  250.  
  251. HTML.OPEN
  252.  
  253. HTML.LOAD.string outhtml$
  254.  
  255. xnexttt:
  256. ! loop until data$ is not ""
  257.  
  258. DO
  259. HTML.GET.DATALINK data$
  260. UNTIL data$ <> ""
  261.  
  262. type$ = LEFT$(data$, 4)
  263.  
  264. data$ = MID$(data$,5)
  265.  
  266. ! Act on the data type
  267. ! Shown are all the current data types
  268.  
  269. SW.BEGIN type$
  270.  
  271. ! Back Key hit.
  272. ! if we can go back then do it
  273. SW.CASE "BAK:"
  274. PRINT "BACK key: " + data$
  275. cls
  276. popup "検索結果画面に戻ります",0,0,0
  277. pause 2000
  278. html.close
  279. if aname$="" then
  280. goto xnextrsa
  281. else
  282. msgx$="z-> "+zaname$+" a-> "+aname$
  283. outhtml$=replace$(outhtml$,zzdata$,"<body bgcolor=\"azure\" onload=\"location.hash='"+aname$+"'\">")
  284. zzdata$="<body bgcolor=\"azure\" onload=\"location.hash='"+aname$+"'\">"
  285. goto xnextrsb
  286. endif
  287. SW.BREAK
  288.  
  289. ! A hyperlink was clicked on
  290. SW.CASE "LNK:"
  291. cls
  292. PRINT "Hyperlink selected: "+ data$
  293. popup "外部サイトを呼び出し",0,0,0
  294. html.load.url data$
  295. data$=""
  296. goto xnexttt
  297. SW.BREAK
  298.  
  299. ! An error occured
  300. SW.CASE "ERR:"
  301. PRINT "Error: " + data$
  302. popup "エラーが発生しました結果画面にもどります。",0,0,0
  303. pause 2000
  304. html.close
  305. goto xnextrsa
  306. SW.BREAK
  307.  
  308. ! User data returned
  309. SW.CASE "DAT:"
  310. ! PRINT "User data: " + data$
  311.  
  312. ! Check for Exit
  313. IF data$ = "Exit"
  314. PRINT "User ended demo."
  315. HTML.CLOSE
  316. popup "想定外のデータ受信 強制終了します",0,0,0
  317. pause 5000
  318. exit
  319. else
  320. msx$=data$+" が選択されました"
  321. popup msx$,0,0,0
  322. pause 2000
  323. if data$="///x///" then
  324. data$="x"
  325. html.close
  326. else
  327. if data$="///y///" then
  328. data$="y"
  329. html.close
  330. else
  331. split axa$[],data$,"@@w@@"
  332. zaname$=aname$
  333. aname$=axa$[1]
  334. if left$(aname$,1)="a" then
  335. html.load.url axa$[2]
  336. else
  337. browse axa$[2]
  338. endif
  339. data$=""
  340. array.delete axa$[]
  341. goto xnexttt
  342. endif
  343. endif
  344.  
  345.  
  346. ENDIF
  347. SW.BREAK
  348.  
  349. ! Form data returned.
  350. ! Note: Form data returning
  351. ! always exits the html.
  352.  
  353. SW.CASE "FOR:"
  354. PRINT "Form data: "+data$
  355. popup "想定外のデータ受信 強制終了します",0,0,0
  356. pause 2000
  357. HTML.CLOSE
  358. exit
  359. SW.BREAK
  360.  
  361.  
  362.  
  363. SW.DEFAULT
  364. PRINT "Unexpected data type:", type$ + data$
  365. popup "想定外のデータ受信 強制終了します",0,0,0
  366. pause 2000
  367. HTML.CLOSE
  368. exit
  369.  
  370. SW.END
  371.  
  372. msgdir$=data$+" が選択されました"
  373. console.title msgdir$
  374.  
  375.  
  376. fn.rtn data$
  377.  
  378. fn.end
Add Comment
Please, Sign In to add comment