ラベル 法律 の投稿を表示しています。 すべての投稿を表示
ラベル 法律 の投稿を表示しています。 すべての投稿を表示

2016年12月7日水曜日

LibreBasicにいま持ってる知識で立ち向かってみる  法律勉強プログラムを作ってみるの巻 第9回

 ALPHA版というべきもの

キタ━━━━(゚∀゚)━━━━!!

<<第1回  <第8回                                                            第10回>

alpha2016-12

概要:
e-govから取得した法律データを利用して、法律の暗記を支援するマクロです。
虫食い条文を自分で作成できるので、手軽に条文問題集を作ることが出来ると思います。
条文から判例を検索できる機能を近々追加予定!!

ご興味がある方はこちらからLibreCalcファイルをダウンロードしてください。
ウィルス的なところは、某国会議員並みに「僕を信じてください」w
今のところ無料配布。 マクロの保護が掛けれないため、コードも晒します。

※完全に、e-govの書式依存です(;・∀・)
※当システムは学習支援するものなので、資格試験等の合格を保証するものではありません(;・∀・)
※他、大人の判断で常識範囲内での利用をお願います(;・∀・)
※例外処理は無いに等しいです(;・∀・)
※実用には耐えると思いますが、処理が重いです。改善に努めます。(;・∀・)

※具体的な改善点等、いただけたら幸いです。抽象的な誹謗中傷は要りません

 

2016年12月2日金曜日

LibreBasicにいま持ってる知識で立ち向かってみる  法律勉強プログラムを作ってみるの巻 第6回

  条文を虫食いにする

<<第1回  <第5回                                                            第7回>

↑今回の成果ヽ(`▽´)/


必要なもの:

・「無いものは作る」意思
・自己責任を許容できる寛容な心
・プログラムをトライ&エラーできる程度の時間と勇気
・LibreOffice5
・BASICのプログラム経験
・オブジェクト指向言語を触った経験があれば尚良
・OpenOffice/LibreOffice マクロ

 

したいこと:

・ 条文を登録単語で虫食い状にしたい
・ 単語を自由に登録したい
・ 登録した単語を次回に持ち越したい

したこと:

虫食い単語用のテキストフィールドと、それを保存するためのボタン「反映」を用意。

 

 「反映」が押された時の処理
  • 法律シートの該当条文IDXの10列目に、当テキストフィールドの内容が書き込む
  • 法律シートの該当条文IDXの10列目を参照して、条文テキストフィールドの情報を書き直す
    • 虫食い単語があれば、虫食い状態で表示する
  • 虫食いの単語は半角カンマで区切る

 

 〜能書き〜

法律の暗記用の穴埋め問題集的な感じになってきたのではないでしょうかw
より一層問題集に近づけるため、次回からは次のようなことを実装していきたいと思っています。

今後実装したいこと一覧
  • 虫食いの適用/非適用をボタンでスイッチする
  • 複数の法律を同時に指定
  • 問題として表示する条文数を指定
  • ランダムに条文をピックアップ
  • 並べ替え(条文順、 閲覧日付順)
  • メモを書き込めるようにする
  • Libreからブラウザを起動して、判例を検索できるようにする

 以下、現在のプログラム全部
コピペで動かせます。多分。

2016年12月1日木曜日

LibreBasicにいま持ってる知識で立ち向かってみる  法律勉強プログラムを作ってみるの巻 第5回

 取得した条文を整形して、

読みやすく加工する

<<第1回  <第4回                                                            第6回>

↑今回の成果ヽ(`▽´)/

必要なもの:

・自己責任を許容できる寛容な心
・プログラムをトライ&エラーできる程度の時間と勇気
・vlookupがどのように働くのか、理解できる程度の表計算経験
(今回はvlookup使わないですが、似たような概念は使ってます)
・BASICのプログラム経験

 

簡単な解説:

条文は条文シートから1行づつ取ってきているので、そのタイミングで整形することにした。
整形専用のサブルーチン
  • 条、項、号、イロハは行を変え、インデントをつけて表示する
  • 行に含まれる漢数字は”全て”アラビア数字に変換(変換パターン2つに対応w)
    • 百十条 → 110条
    • 百十条 → 一一〇条 ←後で使う事になるのさ
    • 逆変換はできません(;・∀・)

↑おおかたこんな感じの表示になります

↑無慈悲な変換w



LibreOffice(≒OpenOffice)には無いらしい…ので、あえなく自作せざるを得ない。
・文字列置換関数
・漢数字をアラビア数字に変化する関数


以下、今回追加した関数

2016年11月30日水曜日

LibreBasicにいま持ってる知識で立ち向かってみる  法律勉強プログラムを作ってみるの巻 第4回

リストボックスで選択した法律の条文を

一条づつテキストボックスに表示する

<<第1回  <第3回                                                            第5回>


↑今回の成果ヽ(`▽´)/

今のところ法律条文ビューアーですね…。
一条づつ表示したら何が嬉しいのか…
これから先、このご利益が明らかになっていく!!
好ご期待!!

必要なもの:

・自己責任を許容できる寛容な心
・プログラムをトライ&エラーできる程度の時間と勇気
・vlookupがどのように働くのか、理解できる程度の表計算経験
(今回はvlookup使わないですが、似たような概念は使ってます)
・BASICのプログラム経験


簡単な解説:

・ListBoxで「法律名」が選択されたら、そのイベントをトリガーにして、テキストフィールドの値を変える処理に入る
・テキストフィールドの値は「法律名」「固有インデックス」によって決まる
・ダイアログの次へ/戻るボタンは、「固有インデックス」をひとつだけ進め/戻す
・以上の情報を使ってgetJOUBUNbyIDN()が、テキストフィールドへ書き込むべき一つの条文データを取得しているが、同時にテキストフィールドへの書き込みも担当している。


・他、境界処理、条文の塊把握、バグフィックスなど…

参考資料:

https://wiki.openoffice.org/wiki/JA/Documentation/BASIC_Guide/Events



-次回予告-
・テキストフィールドの書式を整える
・条文番号をアラビア数字に変換する
・BASICからブラウザを起動する


〜能書き〜
変数宣言を強制的にさせるオプションってなかったっけ?
変数名間違えてても走っちゃう言語ってやっぱり苦手かも…。



以下、追加したプログラム