2021年 11月 08日
[BASIC!] スマホのBASIC言語でツールを作る3(1) [GW_LIB利用サンプル] (11/8)
% This is a minimalist example of creating a GUI with the GW lib %
INCLUDE "GW.bas"
DIM mm$[2,20]
%DIM rc$[20]
c$=""
m$=""
s$=""
mkey$=""
c$="メモ"
m$="%"+mkey$+"%"
flg=0
gosub SQL
UNDIM rc$[]
DIM rc$[20] %null init
for i=1 to 20
if mm$[1,i]="" then i=i-1:F_N.break
rc$[i]=mm$[1,i]
next
print i
if i=0 then
flg=1
else
flg=0
ARRAY.copy rc$[1,i],record$[]
for j=1 to i
record$[j]="Edit|"+record$[j]+"|Delete"
print using$("","%.0f,%s",j,record$[j])
next
endif
DO
GW_DEFAULT_TRANSITIONS ("page=pop, panel=push, dialog=pop") % by default is: none/push/pop
page = GW_NEW_PAGE()
GW_ADD_TITLEBAR(page, "Welcome to GW")
GW_ADD_TEXT(page, "Here are some controls:")
GW_ADD_BUTTON(page, c$, "duy")
GW_ADD_INPUTLINE(page, "", "This is an input line, modify me!")
GW_ADD_CHECKBOX(page, ">Checkbox")
GW_ADD_FLIPSWITCH(page, "Flip switch:", "Off", "On")
ARRAY.LOAD files$[], "Edit|File #1|Delete", "Edit|File #2|Delete", "Folder #1|Delete", "View|Total Size"
% lv3 = GW_ADD_LISTVIEW (page, files$[])
if flg=1 then
else
lv3 = GW_ADD_LISTVIEW (page, record$[])
endif
GW_ADD_BUTTON (page, "Back", "BACK")
GW_RENDER(page)
r$ = GW_WAIT_ACTION$()
popup r$
if r$="duy" then
HTML.CLOSE
LIST.create S,Li_talk
STT.listen "🎤命令してください⇒" %音声入力
%HTML.OPEN
STT.results Li_talk %認識結果をリスト型変数へ格納
HTML.OPEN
LIST.get Li_talk,1,c$ %1パターン目を取り出す
%if r$="BACK" then GOTO ED_PRG
%goto LOOP
%LIST.clear Li_talk
endif
UNTIL r$ = "BACK"
end
%------------------------
% データベース
% GOSUB SQL
SQL:
%POPUP m$
SQL.open DP,"memo.db" %Database Pointer
%初回起動時有効化 SQL.new_table DP,"tmemo","memo","systime"
SW.begin c$
SW.case "メモ"
%検索キーが空なら
if mkey$="" then
SQL.query CP,DP,"tmemo","memo,systime" %Cursor Pointer,"table_name","search item1,item2"
else
SQL.query CP,DP,"tmemo","memo,systime","memo LIKE "+"'"+m$+"'" %select * from tmemo where memo LIKE '%m$%'
endif
SQL.next fe,CP,m1$,m2$ %flag of end record, memo string, systime string
for i=1 to 20
if (!fe) then
mm$[1,i]=m1$
mm$[2,i]=m2$
%print using$("","%.0f,%s,%13.0f",i,m1$,val(m2$)) %Standard BASIC! numbers are floating point.
SQL.next fe,CP,m1$,m2$
else
mm$[1,i]=""
mm$[2,i]=""
endif
next
SW.break
SW.case "追加"
SQL.insert DP,"tmemo","memo",m$,"systime",s$
SW.break
SW.case "削除"
SQL.delete DP,"tmemo","memo="+"'"+m$+"'" %where memo='m$'
SW.break
SW.case "クリア"
SQL.delete DP,"tmemo"
SW.break
SW.default
SW.end
SQL.close DP
return
%------------------------
![[BASIC!] スマホのBASIC言語でツールを作る3(1) [GW_LIB利用サンプル] (11/8)_a0034780_03304080.jpg](https://pds.exblog.jp/pds/1/202111/08/80/a0034780_03304080.jpg)

