ここから本文です

この知恵ノートを「知恵コレクション」に追加しました。

追加した知恵ノートはMy知恵袋の「知恵コレクション」ページで確認できます。

知恵コレクション」に登録済みです。

再登録しました。

追加に失敗しました。

ノートに戻り、もう一度やり直してください。

すでに1,000件のノートが登録されています。

新しく追加したい場合は、My知恵袋の「知恵コレクション」ページで登録されているノートを削除してください。

追加できませんでした。

ノートは削除されました。

AndroidでBASICで遊ぶ方法 その7

ライターさん(最終更新日時:2015/1/8)投稿日:

  • ナイス!:

    0

  • 閲覧数:603

印刷用のページを表示する

0.この知恵ノートの概要

 

  Androidでプログラム言語BASICを利用してプログラムを
  作成できるアプリ「BASIC!」で実際に作成したプログラムを
  ご紹介し、説明します。
  今回は第7回目でグラフィックの3回目になります。


  グラフィックについては、「AndroidでBASICで遊ぶ方法
  その4、その6」でも説明していますが、今回はその4で
  説明したプログラムの部品を利用したシンプルな
  プログラムを説明します。

 

 

  ※今回の説明内容と直接関係はありませんが実際に
   BASICが動いている動画を見たい方は以下をご覧ください。

   AndroidでBASICで遊ぶ方法(動画編)
   http://note.chiebukuro.yahoo.co.jp/detail/n326969


 

1.前提

 

  この知恵ノートをお読みになる前に以下の知恵ノートを
  ご覧いただければよりわかりやすいと思います。

 

  AndroidでBASICで遊ぶ方法
  http://note.chiebukuro.yahoo.co.jp/detail/n190833

  AndroidでBASICで遊ぶ方法 その2
  http://note.chiebukuro.yahoo.co.jp/detail/n208888

  AndroidでBASICで遊ぶ方法 その3
  http://note.chiebukuro.yahoo.co.jp/detail/n210000

  AndroidでBASICで遊ぶ方法 その4
  http://note.chiebukuro.yahoo.co.jp/detail/n214126

  AndroidでBASICで遊ぶ方法 その5
  http://note.chiebukuro.yahoo.co.jp/detail/n216786

  AndroidでBASICで遊ぶ方法 その6
    http://note.chiebukuro.yahoo.co.jp/detail/n218610

 

2.ご紹介するプログラム

 

  プログラムの名前は「付与ツール」といいます。
  ブログやツイッターなどに書き込む時に先頭や最後に
  よく特定の固定の文言を付与したい場合があり、作成した
  ツールとなっています。

 

 付与ツール 画面

 

  クリップボードにコピーされた文章に事前に複数登録した
  固定文言を文章の先頭または最後に付与してまたクリップ
  ボードに書き込めるツールです。

 


 
3.「付与ツール」でできること

 

  付与ツールを動かしてできることはとてもシンプルです。

 

  (1)起動するとメニュー画面が表示されます。

 

  メニュー 


  (2)「固定文言を編集」ボタンを押すと一覧表示し編集
     画面を開いて固定文言の追加、変更ができます。
 

  固定文言編集画面

 

  (3)「固定文言を先頭に付与」「固定文言を最後に付与」
     ボタンを押すと一覧選択画面を表示して固定文言を
     選択してクリップボードの内容と結合して表示します。

 

  文言選択一覧画面 

 
 

  (4)「クリップボードにセット」ボタンを押すと結合した
     内容を表示してクリップボードにセットします。
 

  クリップボードセット内容表示

 

  (5)「終了」ボタンを押すと終了します。
 

 

   終了時の表示 
   
 
  (6)アンドロイド標準のバックボタンを押すとメニュー画面
     を再描画します。

     ※メニュー画面が表示されている状態で他のアプリ画面
      に移動するして戻ってくると画面が真っ白になって
      しまうための対応。
 

 4.「付与ツール」で利用している仕組み

 

  このツールのプログラムは、BASIC!で作られています。
  
  「AndroidでBASICで遊ぶ方法その4」でご説明したメニューの
  部品プログラムを部品として利用しています。

  基本的には、標準的なBASIC!の命令を使用してますが、あまり
  通常は利用しない他のプログラムを呼び出すrun命令を
  使用しています。

  


5.「付与ツール」のプログラム内容

 

  それではもう少し具体的にこのツールの内容を見ていきます。
  BASIC!のプログラムで実際にやっていることを順に記載すると
  以下の通りとなります。

 

  実際のブログラムのソースは以下をご覧ください。

  ブログラムのソース: https://www.dropbox.com/s/fm0lvy72976bkv2/a-kotei3.bas

  
  (1)画面の基本設定をする。

 

     REM Start of BASIC! Program
     
     ! Set up the screen:
     
     hajime:
     
     gr.open 255, 255, 255, 255    
      →グラフィックモード設定

     gr.orientation
      →ポートレイト(横長)画面 固定設定
     
     gr.color 255, 0, 0, 0, 1
      →画面背景を白に設定

     gr.text.size 30
     gr.text.draw txt1,10,35,"固定文言付与ツール"
      →画面上部に処理名を描画するように設定

     
     ! 1st tile (rct1):
     
     gr.color 255, 0, 255, 0, 1        % COLOR (transp, red, green, blue, fill)
     gr.rect rct1, 10, 70, 300, 120      % POSITION (left, top, right bottom)
     gr.color 255, 0, 0, 0, 1
     gr.text.size 20
     gr.text.draw txt1,20,100,"固定文言を編集"
      →第1ボタンを描画するように設定


     
     ! 2nd tile (rct2):
     
     gr.color 255, 0, 255, 0, 1        % (change color for every new box...)
     gr.rect rct2, 10, 150, 300, 200    % (change position for every new box...)
     gr.color 255, 0, 0, 0, 1
     gr.text.size 20
     gr.text.draw txt1,20,180,"固定文言を先頭に付与"
      →第2ボタンを描画するように設定
     
     ! 3rd tile (rct3):
     
     gr.color 255, 0, 255 , 0, 1       % color
     gr.rect rct3, 10, 230, 300, 280    % create and position
     gr.color 255, 0, 0, 0, 1
     gr.text.size 20
     gr.text.draw txt1,20,260,"固定文言を最後に付与"
      →第3ボタンを描画するように設定
     
     ! 4th tile:
     
     gr.color 255, 0, 255, 0, 1      % color
     gr.rect rct4, 10, 310, 300, 360    % position
     gr.color 255, 0, 0, 0, 1
     gr.text.size 20
     gr.text.draw txt1,20,340,"クリップボードにセット"
      →第4ボタンを描画するように設定
     
     ! 5th tile:
     
     gr.color 255, 0, 255, 200, 1      % color
     gr.rect rct4, 10, 370, 300, 420    % position
     gr.color 255, 0, 0, 0, 1
     gr.text.size 20
     gr.text.draw txt1,20,400,"終了"
      →第5ボタンを描画するように設定
     
     
     ! Show the screen
     
     gr.render
      →画面を描画
     
     ! Now start an endless loop to constantly get user input, and then do
     ! something with that input:
     
     
     getInput:
     
         ! Get a touch event:
     
         do
             gr.touch touched, x, y
         until touched
        →画面がタッチされるまで無限ループして待つ

 

  初期状態


 

  (2)メニュー画面タップ後の処理

 
         a$="pos(x,y)"+str$(ceil(x))+" : "+str$(ceil(y))
     
         popup a$,0,0,1
        →タッチされた位置をバブルメッセージで表示
         PAUSE 4000
     
         if x>10 then
            if x<300 then
               if y>70 then
                  if y <120 then
                     popup "固定文言編集画面を開きます。",0,0,1
                     pause 4000
                     gr.close
                     gosub toroku
              →第一ボタンを押された場合torokuサブルーチン
               を呼び出し

                     goto hajime
              →メニュー描画処理に戻る

                  else
                  endif
               else
               endif
               if y>150 then
                  if y <200 then
                     popup "固定文言選択画面を開きます。",0,0,1
                     pause 4000
                     gr.close
                     fl1=1
              →第2ボタンか第3ボタンかを判断するフラグ 

                     gosub sentak
              →第2ボタンを押された場合sentakサブルーチン
               を呼び出し

                     goto hajime
                  else
                  endif
               else
               endif
               if y>230 then
                  if y <280 then
                     popup "固定文言選択画面を開きます。",0,0,1
                     pause 4000
                     gr.close
              →グラフィック画面を閉じる
                     fl1=2
              →第2ボタンか第3ボタンかを判断するフラグ 

                     gosub sentak
              →第3ボタンを押された場合sentakサブルーチン
               を呼び出し

                     goto hajime
                  else
                  endif
               else
               endif
               if y>310 then
                  if y <360 then
                     clipboard.put kka$
                     popup "クリップボードにセットしました",0,0,1
                     pause 4000
                     popup kka$,0,0,1
                     pause 4000
              →第4ボタンを押された場合クリップボードに
               付与(編集)結果をセットしてバブルアップ
               メッセージを表示

 

  バブルアップメッセージ

 

                  else
                  endif
               else
               endif
               if y>370 then
                  if y <420 then
                     popup "画面をとじます。",0,0,1
                     pause 4000
                     exit
              →第5ボタンを押された場合exit(終了)する。

 

  終了時のバブルアップ表示


                  else
                  endif
               else
               endif
            else
            endif
         else
         endif
     
     !    pause 4000
         goto getInput 
        →入力待ち無限ループに戻る
     
     
     end

 

  (3)固定文言登録サブルーチン     
  
     toroku:
      →登録サブルーチンの開始

     all$=""
     file.exists flxx,"kotei.txt"
      →固定文言登録ファイルの存在チェック

     msg$="flxx "+str$(flxx)
     popup msg$,0,0,1
     pause 4000
     
     if flxx=0 then
      →固定文言登録ファイルが存在しない場合
       何もしない。

     else
       Text.open r, file_number, "kotei.txt"
       do
         Text.readln file_number, line$
         if line$="EOF" then
         else
           all$=all$+line$+"\n"
           popup all$,0,0,1
           pause 4000
         endif
       until line$="EOF"
       Text.close file_number
       →固定文言登録ファイルが存在する場合
        ファイルの内容を読込みバブルメッセージ
        で表示する。

 

  固定文言登録内容読込

 

     endif
     text.input zzz$,all$,"1行ずつが1つの固定文言です。"
      →固定文言登録ファイルの内容を初期値として
       テキストボックスに表示する。

  固定文言編集画面

     
     Text.open w, file_num2, "kotei.txt"
     msg$="ZZZ "+zzz$
     popup msg$,0,0,1
     pause 4000
     text.writeln file_num2,zzz$
     text.close file_num2
     return
      →テキストボックスの内容を固定文言登録
       ファイルに保存・表示し、サブルーチン終了。

 

  (4)文言選択サブルーチン
     
     sentak:
      →文言選択サブルーチンの開始


     file.exists flxx,"kotei.txt"
     
     if flxx=0 then
     else
       Text.open r, file_number, "kotei.txt"
       i=1
       array.delete bun$[]
       dim bun$[100]
       cls
       do
         Text.readln file_number, line$
         if line$="EOF" then
         else
           prx$=str$(i)+": "+line$
           print prx$
           bun$[i]=line$
           i=i+1
         endif
       until line$="EOF"
       Text.close file_number
       pause 5000

 

  固定文言選択画面
     
       input "番号を選択",bsx
       →固定文言登録ファイルの内容を番号付で表示し、
        選択用インプットボックスを表示する。

 

  固定文言番号選択入力ボックス

 

       fuyo$=bun$[bsx]
       →選択した文字列を付与用文字列にセット

       clipboard.get clp$
       →クリップボードから元の文章を取得

       if fl1=1 then
         aaa$=fuyo$+"\n"+clp$
       else
         aaa$=clp$+"\n"+fuyo$
       endif
       →文章の先頭または最後に付与文字列をセット

       aaa$=replace$(aaa$,"@@@","\n")
       →付与文字列の中の@@@がある場合、改行
        コードに置換
        
       text.input kka$,aaa$,"クリップボードからコピーして固定文言付与しました"
       →付与文字列+文書の内容を初期値として
        テキストボックスに表示

 

  クリップボードの内容+付与文字列

 

     endif
     
     return
      →テキストボックスの内容を結果用文字列に
       セットしてサブルーチン終了

 

  (5)アンドロイド標準のバックキーを押された場合の
     再描画処理
   
     onbackkey:
     gr.close
     run "a-kotei3.bas"
      →強制的に付与ツールのプログラムを実行     

     back.resume


 

6.BASIC!の情報サイト


 

  私自身もBASIC!関連の日本語の掲示板や情報サイトを探しましたが
  ほとんどないので、仕方なく自分で作成しました。

  私自身、そんなにプログラム能力はないのであまり大した内容は
  ありませんが紹介動画や自作サンプルプログラムを置いているので
  よろしければ覗いてみてください。

 

  BASIC!友の会

   http://basic.amsstudio.jp/


  また、BASIC!友の会関連の更新はツイッターで
  お知らせしています。


  BASIC!友の会のツイッターアカウント
  @basictomonokai

  https://twitter.com/basictomonokai


7.関連知恵ノート一覧

 

  この知恵ノートに関連する知恵ノートの一覧です。

 

    AndroidでBASICで遊ぶ方法
  http://note.chiebukuro.yahoo.co.jp/detail/n190833

  AndroidでBASICで遊ぶ方法 その2
  http://note.chiebukuro.yahoo.co.jp/detail/n208888

  AndroidでBASICで遊ぶ方法 その3
  http://note.chiebukuro.yahoo.co.jp/detail/n210000

  AndroidでBASICで遊ぶ方法 その4
  http://note.chiebukuro.yahoo.co.jp/detail/n214126

  AndroidでBASICで遊ぶ方法 その5
    http://note.chiebukuro.yahoo.co.jp/detail/n216786

  AndroidでBASICで遊ぶ方法 その6
    http://note.chiebukuro.yahoo.co.jp/detail/n218610

  AndroidでBASICで遊ぶ方法 その7

  http://note.chiebukuro.yahoo.co.jp/detail/n222440

    AndroidでBASICで遊ぶ方法 その8-1
    http://note.chiebukuro.yahoo.co.jp/detail/n224842

    AndroidでBASICで遊ぶ方法 その8-2
    http://note.chiebukuro.yahoo.co.jp/detail/n225769

    AndroidでBASICで遊ぶ方法 その8-3
    http://note.chiebukuro.yahoo.co.jp/detail/n225771

    AndroidでBASICで遊ぶ方法(超初心者編)
  http://note.chiebukuro.yahoo.co.jp/detail/n223881



 

このノートに関するQ&A

このノートに関するQ&Aは、まだありません。

このノートについて質問する

このノートについてライターの方に質問できます。

※ライターの方から必ず回答をいただけるとは限りません

※別ウィンドウで開きます

ピックアップ

【iPhone】修理交換の申込方法...
 ※追記※2015/1/30現在iPhone6及び6+が発売されたのを受け、情...
お尻や足の贅肉にさよなら、「...
本にできない「正しい」下半身ダイエットなぜ「本にできない...
耳鼻科の先生に聞いた、しゃっ...
  皆さん、しゃっくりってわずらわしいですよね  ある時急に...
本文はここまでです このページの先頭へ