Delphiアーカイブ - DocuWorksでペーパーレスと業務効率化 DelphiでDocuWorks連携プログラム作成

Delphiアーカイブ

DocuWorksでペーパーレスと業務効率化 DelphiでDocuWorks連携プログラム作成

Delphiの最近のブログ記事

JvPlugInはDLL側からホストアプリケーションのコンポーネントを参照し、キャストする。

PKGタイプにするとDelphiのシステムディレクトリにBPLができてしまう。

ようやっとDelphi2009の頼りになりそうな本が発売されます。

DELPHI2009HANDBOOK―Delphi最新プログラミングエッセンス

監修はもちろんエンバカデロ・テクノロジーズ。
著者のMarco Cantuさんはインプレスから発売されていたDelphi 6 プログラミングバイブル の作者で有名です。
(この本にもお世話になりました)


さて、DELPHI2009 HANDBOOKはやはり文字コードの話題が豊富。

標準文字列がUniCode化されたことで各地で喜びとともに混乱が起きていますが、私のソフトでもけっこうな修正作業をしています。

特に外部DLLやWindowsAPIを使う部分で動かない、動きがおかしい、エラーが起こるなどの現象が起きます。


いままで以上に文字コードを意識しなければなりませんね。

時代の流れだと思いましょう。

いずれはUniCodeで統一されて、文字コードというものを意識せずにアクセスできるようになると幸せですね。





もくじは以下のとおり。

第I部 Unicode

第1章 Unicodeとは?
    従来からの文字コード:ASCIIからISOエンコーディング
    Unicode:世界中の文字に対応
    Win32でのUnicode

第2章 UnicodeString型
    AnsiCharからWideCharへ
    新しいCharacterユニット
    StringとUnicodeStringについて
    さまざまな文字列型
    文字列変換
    文字列および文字リテラル
    ストリームとエンコーディング
    UnicodeとVCL

第3章 Unicodeへのポーティング
    失敗するChar操作
    失敗する文字列操作、パフォーマンス低下する文字列操作
    Unicode文字列とWin32
    PCharとポインタ演算

第II部 Delphi 2009とそのコンパイラ
第4章 IDEの新機能
    インストールと実行
    Delphiプロジェクトの管理
    プロジェクトマネージャ
    IDEでのリソース管理
    Delphiクラスエクスプローラ
    エディタの新機能
    デバッガ

第5章 ジェネリクス
    ジェネリックKey-Valueペア
    Delphiにおけるジェネリクス
    ジェネリック制約
    既定のジェネリックコンテナ
    ジェネリックインターフェイス
    Delphiのスマートポインタ

第6章 無名メソッド
    無名メソッドの構文と意味
    ローカル変数の使用
    無名メソッドの詳細
    無名メソッドの実際の利用

第7章 その他の言語およびRTLの変更
    その他の言語新機能
    TObjectの新しいメソッド
    スレッドサポートにおける変更
    文字列の構築
    ReaderおよびWriterの使用
    例外の強化
    新しいユニットと新しいRTLクラスのまとめ

第III部 VCLとデータベース
第8章 VCLの改善
    VCLコアの改善
    標準コンポーネントの強化
    コモンコントロールのアップデート
    ネイティブVCLコンポーネント
    Vistaサポートの拡張

第9章 Delphi 2009におけるCOMサポート
    IDL、タイプライブラリ、RIDL
    RIDL形式(COMサーバー)
    新しい「登録済みのタイプライブラリ」ペイン
    COMとUnicode
    復活した機能:アクティブフォーム

第10章 リボンコントロール
    Fluent User Interfaceの紹介
    アクションとリボン
    Ribbonコンポーネント
    データベースアプリケーションでのリボン
    画面のヒント(ScreenTips)を使う

第11章 データセットとdbExpress
    UnicodeのClientDataSet
    データセットにおけるUnicode—テイク2
    データセットのその他の強化
    データセットの内部構造
    Delphi 2009におけるdbExpress
    データ対応コントロール

第12章 DataSnap 2009
    最初のDataSnap 2009デモの作成
    非データベースDataSnapサーバーのセッションとスレッド
    古いDataSnapデモのポーティング
    DataSnapの管理インターフェイス
まとめ

前回まででアプリケーションメニューの作り方がわかりました。

今回は「オプションアイテム」というアプリケーションメニューの下につく「終了」などのボタンを作ってみます。

オプションアイテムを作る

Ribbon1を選択します。

今回はオブジェクトインスペクタで作業します。

ApplicationMenuの項目を開きますWS000004

その下にある「Menu」を展開します。

 

WS000023 

さらにその中。
「OptionItems」を探します。

ありましたか?

そうしたら、横の「...」ボタンを押します。 

 

WS000025

こんなウィンドウが開きます。

WS000026 

左の新規追加をクリックすると、TOptionItemが追加されます。

 

TOptionItemにアクションを割り当てます

「0-TOptionItem」を選択し、オブジェクトインスペクタに戻ります。

その中にActionという項目があるのを確認します。

 

WS000027 

右の下三角「▼」を押します。

WS000040

今回はFileExit1を選択します。

 

WS000029

割り当てられました。

 

では、もう一度アプリケーションメニューを開いてみます。

WS000030

右下に終了ボタンが追加されました。
これがオプションメニューです。

 

 

次はクイックツールバーを作成してみましょう。

前回まででリボンメニューの基本的なベース、項目を設置するところまで説明できました。

次はちょっとクセのあるアプリケーションメニューです。

 

アプリケーションメニューを作る

アプリケーションメニューはコンポーネントパレットにはありません。どこから作るのでしょうか?

それはTRibbonの中で作ります。

まずTRibbonを右クリックします。
ここで間違えてはいけないのは、リボンのグループなどの上で右クリックしないことです。

Ribbon1というキャプションの部分で右クリックするとよいでしょう。

WS000016
このようなメニューが現れます。

アプリケーションメニューの追加をクリックします。

リボンメニューの左側に丸いアイコンが現れました。

WS000017

これがアプリケーションメニューです。


WS000018 

アイコンを押すとこんなメニューも開きます。

 

アプリケーションメニューに項目を追加する

次にこの中にも終了ボタンを入れてみましょう。

再びアクションマネージャを開きます。

WS000012
ActionManager1をダブルクリックでしたね。

 

開くアクションをドラッグします

 

開くアクションをドラッグして、左の丸いアイコンに重ねると・・・

 WS000019

メニューが降りてきました。

 

 WS000020

そして左のフレームにずらしていくと、このような黒い線が現れます。これでドロップします。

WS000021

見事に追加されました。

 

 

テストしてみましょう

アプリケーションメニューを試してみましょう。
F9を押して実行します。

WS000022

おお!さっきの味気ないガラスのようなアイコンにアプリケーションのアイコンが入り込んでいます!

なんかそれらしくなってきました。

 

終了ボタンで終了させます。

 

次は「オプションメニュー」の追加です。

ボタン配置の前に必要なことがあります

リボンへメニューやボタンを配置するには通常のTButtonではできません。操作するオブジェクトはすべてTActionからの派生になります。
といっても難しいコーディングは不要です。(このあたりさすがDelphi)

 

まずはアクションを統合的に管理するコンポーネントTActionManagerをフォームに作ります。

WS000007
Additionalグループに入っています。
Delphi2009からはコンポーネントを名前で探せるのでいいですね。

 

WS000008


ドロップするとこのようになります。

 

アクションを作ります

フォームにあるActionManager1をダブルクリックします。
すると、アクションの設定フォームが現れます。

WS000009

左にはカテゴリ(主メニュー)
右にアクション項目が入っていきます。

 

 

テストのアクションを作ります

アクションのワクで右クリックします。
出てくるメニューの「標準アクションの新規作成」をクリックします。
WS000010
これはよく使う「ファイルを開く」や「終了」などのメニュー項目をぱっと作ってくれる非常にありがたい機能です。

 

出てきたウィンドウから

 WS000011 
TFileOpenとTFileExitを選びましょう。
TFileOpenを選択し、Ctrlを押しながらTFileExitをクリックすれば同時に2つ作れます。

 

開くアクションと終了アクションができました

WS000012

項目の名前だけを作ってくれると思ったら大間違い。
じつはこの2つ、もう基本的な機能を備えているのです。

つまり、終了を設置すれば、ノンコーディングでアプリケーションの終了を実現できるのです!!

すげ~~~~

 

終了ボタンを設置してみます

アクションマネージャはまだ開いていますか?
もし閉じてしまった場合は開いてください。

先ほど作った終了アクションをドラッグし、リボンのグループパネルへドロップします。

WS000013ドロップ!

WS000014こんな感じになるはずです。

 

 

テストしてみます

じつはここまでの操作ですでに終了ボタンは動くのです。
さっそくためしましょう。

F9を押し、実行します。

WS000015

おおっ!

動きますね~
もちろんクリックすればアプリケーションは終了します。

 

 

次はアプリケーションメニューを作ってみます。

DocuWorks 7.0

DocuWorksテキスト抽出ツール

DocuWorks文書から拡張子が「.xdw」のファイル、「.xdb」のDocuWorksバインダーファイルからテキストのみを抽出することができます。アノテーションの文字も抽出できます。
DocuWorksテキスト抽出ツールのダウンロードはこちらから

DocuWorks文書 閲覧用ソフト

DocuWorksを持っていない方がDocWorksファイルをもらった時に使う、閲覧のみができるソフトです。
Xeroxさんのページから無料で入手できます。
こちら

ちなみにDocuWorksのファイルは拡張子が「.xdw」となっています。

サイト内検索

Delphi2009

情報整理・ビジネス良書

はたらき方の革命

はたらき方の革命


ライフスタイルプロデューサー、浜野 安宏さんの著書です。迷いの多いこの時代、どうやって自分を表現し、幸せにはたらくか、生きるか。それを実践する多くの人のインタビューで構成されています。強くお勧め!

「読む・書く・話す」を一瞬でモノにする技術「読む・書く・話す」を一瞬でモノにする技術

声に出して読みたい日本語などで有名な齋藤 孝氏の本。忙しい生活の中で、どれだけ本を読み、それを記憶し活用するかは、私たちのビジネス人生において非常に重要です。その具体的な方法を気づかせてくれます。私もEvernoteからメモをノートにしようかと思います。さっそく3色ボールペンも買いました(笑)

大金持ちをランチに誘え! 世界的グルが教える「大量行動の原則」

大金持ちをランチに誘え! 世界的グルが教える「大量行動の原則」 ダン・ケネディ


ビジネスというよりも人生的に役に立つ私のバイブル。金持ちになるとはどういうことか、幸せになるとはどういうことか。多様な経験と深い洞察による人生をよりよく生きるための根本的なヒント集。私は現在実践中。道は遠く。

最少の時間と労力で最大の成果を出す「仕組み」仕事術
最少の時間と労力で最大の成果を出す「仕組み」仕事術 泉 正人


まずはリスト化!自分の行動を整頓し、仕組み化することであらゆる仕事が明確に、早く、確実になる!なんだか忙しいだけで仕事が終わらない・・・という人にオススメ。

ヤクーバとライオン〈1〉勇気 (講談社の翻訳絵本)

ヤクーバとライオン 1 勇気


あなたは最近絵本を読んでいますか?私は絵本が大好きです。その中で最近感動した1冊。ライオンをしとめることで「勇者」となる儀式。若者ヤクーバはあるライオンと出会います。その先はお楽しみ。真の勇気とは何か。正しさとは何か。自分の得たいものとはなんなのか。迫力のあるモノクロの絵が、短い文とともに心に疑問を投げかけます。

Delphiのお気に入りの本

Delphiというよりはプログラムで役に立ったな~と思う本です。

Delphiオブジェクト指向プログラミング (ソフトウェアテクノロジー)
Delphiでプログラムを楽しむなら必ず一度は眼を通しておいたほうがよい本です。
私もこの本をよんでオブジェクト指向とポインタの真髄を知ることができました。
ほとんど絵のない本で、しかもわかりづらいポインタや多態性などの概論と実践です。
しかし、Delphiの基礎の基礎をすべて得ることができます。
この本を読みながらVCLソースを眺めればまさに発見の嵐!!
あらゆるプログラムに応用できるまさに基礎のための本です。
Delphiコンポーネント設計&開発完全解説
MLの巨人(笑) 中村さんの著書のひとつです。
コンポーネントの設計、開発に関するあらゆることがわかりやすく収められています。
コンポーネントを開発することはDelphiの設計、Delphi言語の設計、オブジェクト指向などあらゆる技を習得できます。
中村さんの深い理解による解説でつまづきやすい部分もなんなくクリアすることができます。
Delphiを少しでも使いこなしたい方にはお勧めの一冊。
Delphi Graphic Secrets―Know‐how & Libraries
またしても中村さんの著書のひとつです。
というかここまで内部に精通し、わかりやすく説明(重要!)できる人はほとんど知りません。
この本はWindowsのグラフィック操作に関する全般が解説されています。
Windows95時代の悪しきパレットの習慣から、いまだに存在するプリント時に空白が発生したりするバグの回避方法、
さらに踏み込みメタファイル、フォントの正しい表示と位置の割り出しかたなどなど。
私の持っているこの本はすでに付箋とペンで見る影もありません(笑)
すばらしい本です。