トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

E71:appuifw.Formとe32dbmを使ってみた の変更点

Top / E71:appuifw.Formとe32dbmを使ってみた

*E71:appuifw.Formとe32dbmを使ってみた [#f969d9da]

appuifw.Formをつかってデータを入力し、入力されたデータをe32dbmで保存するような機能を作ってみました。

添付ファイルのソースをDLすれば、実行することができます。

なお、e32dbmのファイルを「e:\Documents\python」に保存するつくりとなってますんで、このディレクトリがない場合は、作成するかソースを修正してください。

***ポイント [#s261266b]
簡単ですが解説します。
:8行目|e32dbmで保存するファイル名を指定しています。
:15行目~|e32dbmにデータが入っていない場合、デフォルト値として空白を設定
:22行目~|e32dbmからデータを取得し、ユニコードに変換して値を設定
:28行目~|Formにセットする項目、型、データをリストとして設定
:36行目|Formクラスを生成
:37行目|Formクラスのsave_hookを設定~
フォーム画面表示中の左シフトキーの「Save」メニュー選択時に実行されるcallableオブジェクトを指定します。この場合、「ConnInfoMngr」クラスの「menu_save」メソッドを指定してます。&br;
このメソッドは呼び出し時に、formの現在値が格納されたリストが引き渡されます。
:39行目~|データの入力チェック。要素の長さが0である場合はチェック結果失敗としている。~
:65行目~|e32dbmでデータを保存します。
:73行目~|executeメソッドでフォーム画面を表示します。

■ソースコード

#refpre(formtest3.py,,1)


***イメージ [#qe2703d0]
動かすとこんな感じになります。

■起動時
左シフトキーを押すとメニューが出てきます。

&ref(Screenshot0101.jpg);
&br;
&br;&br;

最初は、何も値が入力されていない状態のフォームが表示されます。

&ref(Screenshot0102.jpg);
&br;
&br;&br;

左シフトキーを押すと、「edit」メニューが表示され、選択すると入力が脳になります。

&ref(Screenshot0103.jpg);
&br;
&br;&br;

入力可能画面

&ref(Screenshot0109.jpg);
&br;
&br;&br;

入力が完了したら、左シフトキーを押して「Save」を選択します。

&ref(Screenshot0104.jpg);
&br;
&br;&br;

データを保存し、値が編集できないモードになります。編集が完了したら右シフトキーの「Back」で戻ります。

&ref(Screenshot0105.jpg);
&br;
&br;&br;

最初の画面で、メニューから「print-info」を選択すると、e32dbmに保存されている値を表示できます。

&ref(Screenshot0106.jpg);
&br;
&br;&br;

&ref(Screenshot0107.jpg);
&br;