E71:appuifw.Formとe32dbmを使ってみた の変更点
Top / E71:appuifw.Formとe32dbmを使ってみた
- 追加された行はこの色です。
- 削除された行はこの色です。
- E71:appuifw.Formとe32dbmを使ってみた へ行く。
- 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;