当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

テクてく Lotus 技術者 Slack に参加しよう!

2011年4月12日火曜日

androidアプリケーションを作成しました!

4月ももう半ばだというのに、なかなか暖かくなりませんね。
風邪など引かないように、気をつけてお過ごしください。

これから暖かくなりますように・・・と祈りながら、ボタンをクリックしてください。
きっと暖かい日が来ます。
にほんブログ村 IT技術ブログへ


さて、今日は告知です。
Lotus Notes/DominoのAndroidアプリケーションを作成しました!

と言っても、大したものではありません。ノーツDBのブックマークソフトです。

Web対応してあるノーツDBをアプリケーション上にあらかじめ登録しておくことで、次回からはダイレクトにアクセスできるというものです。

下図はスクリーンショットです。

(図1 メイン画面)
メイン画面では、登録したノーツDBがアイコン、タイトル、ファイル名という形で表示されます。
アイコンを表示することで、社内でノーツクライアントを利用しているのと同じ感覚になります。


(図2 ノーツDB追加画面)
ノーツDBを追加するためには、ノーツDBのファイル名が必須です。タイトルは任意でつけられます。
入力しない場合、ノーツDBから引用してきます(DBによっては引用できないものもあります)。

(図3 ノーツDBの読み込み)
図1の中からアクセスしたいノーツDBをタップすると、DBの読込が始まります。
読込が完了するとプログレスバーが消えます。

(図4 ノーツDBの表示画面)
これは筆者がサンプルとして作成したノーツDBです(xPagesで作成してあります)。
正しく表示されているのが分かりますでしょうか?


本アプリケーションは、IS01ユーザでも利用できるようにと、Android 1.6にも対応しています!(え!?筆者が持っているからだろって?・・・そうです!)
また、アプリケーション終了時に、履歴やクッキーも削除するようにしてあります。

Webブラウザにブックマークしておくのも良いですが、多すぎて普通のブックマークと混同してしまい、わからん!!というお客様にはもってこいだと思います。

本件に関するお問い合わせは、筆者もしくは株式会社エフまでお願いします。
なお、Android Marketへは未登録ですので、探しても見つかりません。悪しからず・・・
2011/04/20 Android Marketへ登録しました。「Bookmark for Notes」というタイトルです。
Android Market



【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
単純なDBのカスタマイズから他アプリケーションとの連携までご要望にお応えします
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

2011年4月7日木曜日

設計情報の抽出

気がついたら4月です。
3月は、社会的にも個人的にも色々とありまして記事を書くことが出来ませんでした。
中には「あぁ。このブログももう終わりかぁ」なんて思った方もいらっしゃるかと思いますが、そんなことはありません!頑張って書いていきます!

ちなみに、当ブログもすでに4年目に突入しています!まだまだLotus Notes/Dominoで押していきますのでよろしくお願いします。

筆者を応援するためのボタンはこちら!
にほんブログ村 IT技術ブログへ



さて、今日は設計情報の抽出にチャレンジしてみましょう。

ノーツDBにはフォームやらビューやらエージェントやら、色々な設計情報があります。
LotusScriptのNotesNoteCollectionクラスを使うことにより、どんな設計情報があるのかを調べることが可能になります。

今回のサンプルは、ノーツDBの中に、何個のフォームがあり、それの名称および別名を取得して画面に表示するというものです。
Sub Click(Source As Button)
    Dim session As New NotesSession
    Dim db      As     NotesDatabase
    Dim ndocs   As     NotesNoteCollection
    Dim ndoc    As     NotesDocument
    Dim nid     As     String
    Dim i       As     Integer
    Dim ret     As     String
    Dim tmpData As     String
    
    Set db = session.CurrentDatabase
    ' フォームだけのコレクションとする
    Set ndocs = db.CreateNoteCollection( False )
    ndocs.SelectForms = True
    Call ndocs.BuildCollection()
    
    i = 1
    nid = ndocs.GetFirstNoteId()
    Do While nid <> ""
        Set ndoc = db.GetDocumentByID( nid )
        
        tmpData = ""
        ' フォーム名は$TITLEに格納されている
        ForAll x In ndoc.GetItemValue( "$TITLE" )
            If tmpData = "" Then
                tmpData = x
            Else
                tmpData = tmpData & "| " & x
            End If
        End ForAll
        
        ret = ret & CStr(i) & ". " & tmpData & Chr$(10)
        
        nid = ndocs.GetNextNoteId( nid )
        i = i + 1
    Loop
    MsgBox ret, 0, "全フォーム数: " & CStr(ndocs.Count)
End Sub



下図は、筆者のテスト用のノーツDBでの実行結果です。
別名が複数あっても取得できていることが分かりますでしょうか。


どうでしょう?割と簡単に行えることが分かっていただけたでしょうか?
色々と応用することが出来ますので、試してみてください。


【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
単純なDBのカスタマイズから他アプリケーションとの連携までご要望にお応えします
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ