コントロールリファレンス

PostKit3を使用してのアプリケーションの開発は、ポストコントロールをデザイン時にフォームに配置（もしくはオブジェクトを動的に作成）し、そのコントロールのプロパティの設定やメソッドの実行により各機能を実現します。64ビット版については32ビットの開発環境ではデザイン時にフォームに配置することができませんので、オブジェクトを動的に作成してください。

ポストコントロール

【表記上の注意】

●カスタムプロパティ、カスタムメソッドの【書式】中のコントロール名の表記は以下の通りです。

表記 | 意味
postcontrolname | ポストコントロール名を示します。

●ActiveXをDelphi,C++Builderで利用する場合

デザイン時に設定したプロパティ値が実行時に有効にならない場合がありますので、実行時にプロパティ値を設定するようにしてください。

●ActiveXをVisual Basicで利用する場合

コントロールのプロパティやメソッドの戻り値でBoolean型と表記されているものについては、FalseかFalseでないかにより判定してください。（VBではTrueは-1を表しますが、PostKit3では0以外を表すため）

●ActiveXをVisual C++で利用する場合

コントロールのプロパティやメソッドで使用可能な定数をヘッダファイルにて用意してあります。

PostKit3Ax.hを組み込んで使用してください。

●旧バージョンからの移行について

1)PostKitからの移行

PostKitに用意されていたメソッドは名称が変更され、先頭のPostKitが削除されています（PostKitAddresssのみSplitAddressに変更）。変更点については【PostKitとの違い】という見出しで始まる簡単な説明がありますので、ご覧ください。

2)PostKit2からの移行

変更点については【PostKit2との違い】という見出しで始まる簡単な説明がありますので、ご覧ください。

文章中にPK,PK3という表現がありますが、それぞれPostKit・PostKit3の省略形を意味します。

●プロパティ一覧（アルファベット順）

カスタムプロパティ | 内容
Address | 住所文字列
BackColor | カスタマーバーコード画像の背景色
BarPoint | カスタマーバーコードのポイント数
Cancel | 郵便番号辞書の更新処理の中止の設定
CityKana | 市区町村名のカナ名称
CityKanji | 市区町村名の漢字名称
DataType | データの区分
DialogPosition | ダイアログボックスの表示位置
DicDate | 郵便番号辞書がいつのデータに対応しているかを表す
DpiX | X（横）方向の解像度
DpiY | Y（縦）方向の解像度
ErrorStatus | エラーの種類
ExactMatch | 文字列の検索方法
FindCount | 検索条件に該当する件数
FindMode | 検索するデータの種類
ForeColor | カスタマーバーコード画像のバーの色
Hyphen | 郵便番号のハイフン設定
JisCode | 全国地方公共団体コード
KanaType | 取得するカナの種類
No | 町域名以降の番地
OrgName | 大口事業所名
PostCode5 | 5桁郵便番号
PostCode7 | 7桁郵便番号
PrefKana | 都道府県名のカナ名称
PrefKanji | 都道府県名の漢字名称
RotateType | カスタマーバーコード画像の回転方向
Text | ダイアログボックスのキャプション
TownKana | 町域名のカナ名称
TownKanji | 町域名の漢字名称

●メソッド一覧（アルファベット順）

カスタムメソッド | 内容
ClearString | 文字列型プロパティの初期化
CloseDic | 郵便番号辞書のクローズ
DownLoadDic | 郵便番号辞書の更新
DrawBarcodeImage | カスタマーバーコード画像の描画
Find | 郵便番号辞書の検索実行
FreeBarcodeImage | カスタマーバーコード画像の解放
GetBarcodeImage | カスタマーバーコード画像の取得
GetBarcodeString | カスタマーバーコード文字列の取得
GetDpiFromHdc | デバイスコンテキストから解像度を取得
OpenDic | 郵便番号辞書のオープン
Read | 検索結果の読み取り
ReadDialog | 検索結果の読み取り（ダイアログから）
SaveBarcodeImage | カスタマーバーコード画像の保存
SaveToXml | 検索結果をXMLに保存
SplitAddress | 住所文字列の分割

●イベント一覧（アルファベット順）

カスタムイベント | 内容
Progress | DownLoadDicメソッドにおけるイベント


DLLコマンドリファレンス

PostKit3には、ActiveXとほぼ同様な機能をDLL形式のコマンドとしても用意してあります。

●PostKit3のコマンドを使用する前に

PostKit3のコマンドを使用する場合、呼び出し側のプログラムでDLLコマンド（プロシージャ）の宣言の記述が必要になります。

開発環境に対応するヘッダファイルを参照してください。

コンテナ | ヘッダファイル名
C++Builder､Visual C++ | PostKit3.h
Delphi | PostKit3.pas
VisualBasic | PostKit3.bas

●DLL関数コマンド一覧（アルファベット順）

関数名 | 内容
PostKitClose | 郵便番号辞書のクローズ
PostKitDownLoadDic | 郵便番号辞書の更新
PostKitDrawBarcodeImage | カスタマーバーコード画像の描画
PostKitFind | 郵便番号辞書の検索実行
PostKitFindEx | 郵便番号辞書の検索実行（文字列の検索オプションあり）
PostKitFreeBarcodeImage | カスタマーバーコード画像の解放
PostKitGetBarcodeImage | カスタマーバーコード画像の取得
PostKitGetBarcodeString | カスタマーバーコード文字列の取得
PostKitGetDpiFromHdc | デバイスコンテキストから解像度を取得
PostKitOpen | 郵便番号辞書のオープン
PostKitRead | 検索結果の読み取り
PostKitReadDialog | 検索結果の読み取り（ダイアログから）
PostKitSaveBarcodeImage | カスタマーバーコード画像の保存
PostKitSaveToXml | 検索結果をXMLに保存
PostKitSplitAddress | 住所文字列の分割

●DLL関数で取得されるエラーステータスについて

値 | 内容
0 | 成功
1 | パスが存在しない
2 | 辞書ファイルがない or 辞書ファイルの日付が一部異なる
3 | 辞書ファイルがオープンされていない
4 | 検索していない or 検索結果が0
5 | PostKitRead関数のIndexが範囲外
6 | 検索条件が未入力
7 | 5桁と7桁の郵便番号が両方設定されている
8 | 郵便番号の桁が多い、または数値とハイフン以外が含まれている
9 | 都道府県名が間違えている
10 | 市町村名が間違えている
11 | 住所文字列が設定されていない
12 | PostKitSplitAddress関数のModeが範囲外
13 | 住所文字列の中に市区町村名がない or 市区町村名や町域名が正しくない
14 | 7桁郵便番号が設定されていない
15 | 住所文字列が郵便番号辞書に存在しない
16 | カスタマーバーコードは不要
17 | ファイルオープン済み
18 | カスタマーバーコード文字列が不正
19 | PostKitReadDialog関数でキャンセルボタンが押された
20 | 解像度（DPI）が不正
21 | バーポイントが不正
22 | パスもしくはファイル名が不正
23 | イメージが不正
24 | 保存エラー
25 | 検索モードが一般なのに大口事業所名が設定されている
26 | 辞書ファイルをオープン中
30 | メモリエラー
31 | 描画エラー
32 | デバイスコンテキストが不正
40 | User ID が異なる
41 | 最新の郵便番号辞書が存在
42 | 郵便番号辞書の自動更新処理をキャンセル
43 | パラメータエラー
44 | 通信エラー
45 | 有効期限が過ぎた
46 | その他のエラー

●旧バージョンからの移行について

1)PostKitからの移行

PostKitに用意されていた関数は名称が同じもの、変更されたもの両方ありますが、名称は同じでも引数が新たに追加されているものもあります。変更点については【PostKitとの違い】という見出しで始まる簡単な説明がありますので、ご覧ください。

2)PostKit2からの移行

変更点については【PostKit2との違い】という見出しで始まる簡単な説明がありますので、ご覧ください。

文章中にPK,PK3という表現がありますが、それぞれPostKit・PostKit3の省略形を意味します。

●構造体（ユーザ定義型）の定義及び解説

POSTKIT_DATA:          検索時及び読み込み時に使用します。

(1)C++Builder/Visual C++

typedef struct {

char        PostCode5[13];

char        PostCode7[17];

char        JisCode[12];

short       DataType;

char        PrefKana[17];

char        PrefKanji[9];

char        CityKana[61];

char        CityKanji[31];

char        TownKana[161];

char        TownKanji[81];

char        No[81];

char        OrgName[81];

} POSTKIT_DATA;

typedef POSTKIT_DATA * PTR_POSTKIT_DATA;

(2)Delphi

type

POSTKIT_DATA = Record

PostCode5:array [0..12] of AnsiChar;

PostCode7:array [0..16] of AnsiChar;

JisCode:  array [0..11] of AnsiChar;

DataType: Smallint;

PrefKana: array [0..16] of AnsiChar;

PrefKanji:array [0..8] of AnsiChar;

CityKana: array [0..60] of AnsiChar;

CityKanji:array [0..30] of AnsiChar;

TownKana: array [0..160] of AnsiChar;

TownKanji:array [0..80] of AnsiChar;

No:       array [0..80] of AnsiChar;

OrgName:  array [0..80] of AnsiChar;

end;

(3)Visual Basic

Type POSTKIT_DATA

PostCode5   As String * 13

PostCode7   As String * 17

JisCode     As String * 12

DataType    As Integer

PrefKana    As String * 17

PrefKanji   As String * 9

CityKana    As String * 61

CityKanji   As String * 31

TownKana    As String * 161

TownKanji   As String * 81

No          As String * 81

OrgName     As String * 81

End Type

PostCode5:     5桁郵便番号を表します。

PostCode7:     7桁郵便番号を表します。

JisCode:       全国地方公共団体コードを表します。

DataType:      データの区分を表します。（0：一般、1：大口）

PrefKana:      都道府県名のカナ名称を表します。

PrefKanji:     都道府県名の漢字名称を表します。

CityKana:      市区町村名のカナ名称を表します。

CityKanji:     市区町村名の漢字名称を表します。

TownKana:      町域名のカナ名称を表します。

TownKanji:     町域名の漢字名称を表します。

No:            町域名以降の番地を表します。

OrgName:       大口事業所名を表します。

使用する文字列のサイズについて

5桁郵便番号            ハイフンも含めて最大6文字（半角なら6バイト、全角なら12バイト）

7桁郵便番号            ハイフンも含めて最大8文字（半角なら8バイト、全角なら16バイト）

全国地方公共団体コード 5文字（半角なら5バイト、全角なら10バイト）

都道府県名             カナは最大16、漢字は最大8バイト

市区町村名             カナは最大60、漢字は最大30バイト

町域名                 カナは最大160、漢字は最大80バイト

町域名以降の番地       最大80バイト

大口事業所名           最大80バイト

PrefKana,CityKana,TownKanaに設定するカナは半角カナ、全角カナ、ひらがな、いずれもOKです。

メンバ変数に値を設定する場合は文字列の最後にヌルを付加してください。

Visual Basicの場合はChr$(0)を付加してください。

POSTKIT_DICINFO:      辞書情報を格納します。

(1)C++Builder/Visual C++

typedef struct {

char        DicDate[9];

HANDLE      RltMem;

long        Reserved;

} POSTKIT_DICINFO;

typedef POSTKIT_DICINFO * PTR_POSTKIT_DICINFO;

(2)Delphi

type

POSTKIT_DICINFO = Record

DicDate:  array [0..8] of AnsiChar;

RltMem:   THandle;

Reserved: Longint;

end;

(3)Visual Basic

Type POSTKIT_DICINFO

DicDate     As String * 9

RltMem      As Long

Reserved    As Long

End Type

DicDate:        郵便番号辞書がいつのデータに対応しているかを表します。（例："20030610"）

RltMem:         PostKit3内部で使用する変数です。

Reserved:       PostKit3内部で使用する変数です。

POSTKIT_DICINFOはPostKitOpen関数を実行することにより値が設定され、その他の関数で参照されますので、変更しないでください。


PostKit.datファイルについて

市区町村名及び町域名について、"の"と"乃"や"ヶ"と"ケ"を同一視する様な、細かな変換情報を設定できます。

変換情報を設定することにより、通常の検索と比べ検索精度を高めることができますが、変換情報数に応じて検索処理時間は若干長くかかります。

PostKit.datファイルを参照するのは、市区町村名及び町域名を設定した検索及び住所分割処理の場合です。

記述方法に関しては、こちらで用意したPostKit.datファイルを参照してください。なお、こちらで用意したファイルは自由に変更（行の追加・削除）して構いません。

PostKit.datの構造はPostKitと同じですので、そのままお使いいただけます。

※使用できる桁及び行数の制限

桁数：最大80桁

行数：最大2000行

※使用上のご注意

PostKit.datファイルは、郵便番号辞書と同じパスに置いてください。


以前のPostKitとの互換性

PostKit

・「ActiveXとして使用していた場合」

(1)プロパティ名の変更（PostKit --> PostKit3）

CityName --> CityKanji

DlgPosition --> DialogPosition

DlgTitle --> Text

PrefName --> PrefKanji

TownName --> TownKanji

(2)プロパティの削除（PostKit --> PostKit3）

DatabasePath --> OpenDicメソッドの引数に

PostCode --> ReadDialogメソッドの引数に

SubCode --> Findメソッドの引数に

(3)メソッド名の変更（PostKit --> PostKit3）

PostKitAddress --> SplitAddress

PostKit**** --> **** （先頭のPostKitを削除）

(4)その他

メソッドの引数及び戻り値を変更。詳しくはリファレンスの【PostKitとの違い】を参照してください。

・「DLL形式のAPIとして使用していた場合」

(1)関数名の変更（PostKit --> PostKit3）

PostKitAddress --> PostKitSplitAddress

(2)その他

関数の引数を変更。詳しくはリファレンスの【PostKitとの違い】を参照してください。

・郵便番号辞書ファイルについて

PostKit.dat以外のファイルには互換性がありませんので、PostKit3専用の辞書ファイルをご利用ください。

対象ファイル： PostKit2.dic, PostKit2.idx, PostKit2.ix1

PostKit2

・「ActiveXとして使用していた場合」

プロパティ名やメソッド名の変更はありませんが、SaveToXmlメソッドで出力されるXMLファイルの要素の名前が違います。詳しくはリファレンスの【PostKit2との違い】を参照してください。

・「DLL形式のAPIとして使用していた場合」

構造体や関数名の変更はありませんが、PostKitSaveToXml関数で出力されるXMLファイルの要素の名前が違います。詳しくはリファレンスの【PostKit2との違い】を参照してください。

・郵便番号辞書ファイルについて

ファイルの構造はPostKit2と同じですので、そのままご利用いただけます。


Address（カスタムプロパティ）

【機能】

住所文字列を設定します。

【書式】

(1)C++Builder

postcontrolname->Address [ = BSTR ]

(2)Delphi

postcontrolname.Address [ = WideString ]

(3)Visual Basic

postcontrolname.Address [ = String ]

(4)Visual C++

postcontrolname.SetAddress(LPCTSTR Val)

【設定値】

住所文字列。

【解説】

GetBarcodeStringメソッドでカスタマバーコード文字列を取得する場合やSplitAddressメソッドで住所を切り出す場合に使用します。（設定する文字列に、都道府県名が含まれていなくても構いません。）

GetBarcodeStringメソッドの場合は漢字を、SplitAddressメソッドの場合は引数に応じてカナもしくは漢字を設定します。

【値の設定】　デザイン時、実行時

【値の参照】　不可


BackColor,ForeColor（カスタムプロパティ）

【機能】

カスタマーバーコードのバーの色や背景色を設定します。

【書式】

※BackColorにて説明（ForeColorも同様な使い方）

(1)C++Builder

postcontrolname->BackColor [ = OLE_COLOR ]

(2)Delphi

postcontrolname.BackColor [ = OLE_COLOR ]

(3)Visual Basic

postcontrolname.BackColor [ = Long ]

(4)Visual C++

postcontrolname.SetBackColor(unsigned long Val)

【設定値】

BackColorはカスタマーバーコード画像の背景色（デフォルトは白）

ForeColorはカスタマーバーコード画像のバーの色（デフォルトは黒）

【解説】

値を設定する場合は、RGB(Red, Green, Blue)の戻り値を与えます。

GetBarcodeImageメソッドを実行する前に設定し、バーコード画像を取得します。

【値の設定】　実行時

【値の参照】　不可


BaｒPoint（カスタムプロパティ）

【機能】

カスタマーバーコードのポイント数を設定します。

【書式】

(1)C++Builder

postcontrolname->BarPoint [ = double ]

(2)Delphi

postcontrolname.BarPoint [ = Double ]

(3)Visual Basic

postcontrolname.BarPoint [ = Double ]

(4)Visual C++

postcontrolname.SetBarPoint(double Val)

【設定値】

バーコードのポイント数（8～20）

【解説】

推奨値は8.5から11ポイントで、デフォルトは10ポイントです。設定値により、バーの幅と高さ、バースペースが変わります。

GetBarcodeImageメソッドを実行する前に設定し、バーコード画像を取得します。

【値の設定】　実行時

【値の参照】　不可


Cancel（カスタムプロパティ）

【機能】

郵便番号辞書の更新処理を中止するかどうかを設定します。

【書式】

(1)C++Builder

postcontrolname->Cancel [ = TOLEBOOL ]

(2)Delphi

postcontrolname.Cancel [ = WordBool ]

(3)Visual Basic

postcontrolname.Cancel [ = Boolean ]

(4)Visual C++

postcontrolname.SetCancel(BOOL Val)

【設定値】

値 | 説明
True | 処理を中止する
False | 処理を中止しない

【解説】

CanceｌプロパティにTrueを設定すると、郵便番号辞書の更新処理を中止できます。

【値の設定】　実行時

【値の参照】　不可


CityKana,CityKanji（カスタムプロパティ）

【機能】

市区町村名を設定・参照します。

【書式】

※CityKanaにて説明（CityKanjiも同様な使い方）

(1)C++Builder

postcontrolname->CityKana [ = BSTR ]

(2)Delphi

postcontrolname.CityKana [ = WideString ]

(3)Visual Basic

postcontrolname.CityKana [ = String ]

(4)Visual C++

[CString = ]postcontrolname.GetCityKana()

postcontrolname.SetCityKana(LPCTSTR Val)

【設定値】

CityKanaは市区町村名のカナ（最大60バイト）

CityKanjiは市区町村名の漢字（最大30バイト）

【解説】

SplitAddressメソッドを実行することにより、市区町村名が切り出されて設定されます。ReadメソッドやReadDialogメソッドでも該当する値が設定されます。また、市区町村名による検索を行う場合は、CityKanaもしくはCityKanjiプロパティに値を代入して（必要に応じてPrefKanaやPrefKanjiプロパティも設定する）Findメソッドを実行します。CityKanaプロパティに設定するカナは半角カナ、全角カナ、ひらがな、いずれもOKです。

例：SplitAddressメソッドを使用した住所の切り出し

PostKit1.KanaType = pkKatakanaHalf

PostKit1.Address = "新潟県長岡市寿１－６－４３"

PostKit1.SplitAddress pkKanji

' CityKanaプロパティには"ﾅｶﾞｵｶｼ"が設定されます

' CityKanjiプロパティには"長岡市"が設定されます

【値の設定】　デザイン時、実行時

【値の参照】　実行時

【PostKitとの違い】

CityKanjiプロパティの名称がCityNameから変更されました。


ClearString（カスタムメソッド）

【機能】

文字列型プロパティを初期化します。

【書式】

(1)C++Builder

postcontrolname->ClearString()

(2)Delphi

postcontrolname.ClearString()

(3)Visual Basic

postcontrolname.ClearString()

(4)Visual C++

postcontrolname.ClearString()

【引数】

ありません。

【戻り値】

ありません。

【解説】

PostCode5, PostCode7, PrefKana, PrefKanji, CityKana, CityKanji, TownKana, TownKanji, OrgName, No, JisCode, Addressプロパティを初期化します。（空文字列）


CloseDic（カスタムメソッド）

【機能】

郵便番号辞書をクローズします。

【書式】

(1)C++Builder

[ TOLEBOOL = ]postcontrolname->CloseDic()

(2)Delphi

[ WordBool = ]postcontrolname.CloseDic()

(3)Visual Basic

[ Boolean = ]postcontrolname.CloseDic()

(4)Visual C++

[ BOOL = ]postcontrolname.CloseDic()

【引数】

ありません。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

OpenDicメソッドと対で使用してください。

戻り値がFalse(0)の場合、ErrorStatusプロパティを参照してください。

コード例：

(1)C++Builder

if (PostKit1->OpenDic("C:\\Dic") == false) return;

// 様々な処理

PostKit1->CloseDic();

(2)Delphi

if PostKit1.OpenDic('C:\Dic') = False then Exit;

// 様々な処理

PostKit1.CloseDic();

(3)Visual Basic

If PostKit1.OpenDic("C:\Dic") = False Then Exit Sub

' 様々な処理

PostKit1.CloseDic

(4)Visual C++

if (m_PostKit1.OpenDic("C:\\Dic") == FALSE) return;

// 様々な処理

m_PostKit1.CloseDic();

【PostKitとの違い】

メソッドの名称がPostKitCloseから変更されました。


DataType（カスタムプロパティ）

【機能】

読み取ったデータの区分を表します。

【書式】

(1)C++Builder

postcontrolname->DataType [ = short ]

(2)Delphi

postcontrolname.DataType [ = Smallint ]

(3)Visual Basic

postcontrolname.DataType [ = Integer ]

(4)Visual C++

[ short = ]postcontrolname.GetDataType()

【参照値】

値 | 説明
0 | 一般データ
1 | 大口事業所データ

【解説】

ReadメソッドやReadDialogメソッドを実行すると該当する値が設定されます。

【値の設定】　不可

【値の参照】　実行時


DialogPosition（カスタムプロパティ）

【機能】

ダイアログボックスの表示位置を設定します。

【書式】

(1)C++Builder

postcontrolname->DialogPosition [ = ContentAlignment ]

(2)Delphi

postcontrolname.DialogPosition [ = ContentAlignment ]

(3)Visual Basic

postcontrolname.DialogPosition [ = ContentAlignment ]

(4)Visual C++

postcontrolname.SetDialogPosition(long Val)

【設定値】

値 | 説明
0 | 左上
1 | 上
2 | 右上
3 | 左
4 | 中央
5 | 右
6 | 左下
7 | 下
8 | 右下

C++Builder, Delphi, Visual Basicでは定数(pkTopLeft = 0, pkTopCenter = 1, pkTopRight = 2, pkMiddleLeft = 3, pkMiddleCenter = 4, pkMiddleRight = 5, pkBottomLeft = 6, pkBottomCenter = 7, pkBottomRight = 8)を使用することも可能です。

【解説】

ReadDialogメソッドを実行して表示されるダイアログボックスの表示位置です。

【値の設定】　実行時

【値の参照】　不可

【PostKitとの違い】

プロパティの名称がDlgPositionから変更されました。


DicDate（カスタムプロパティ）

【機能】

郵便番号辞書がいつのデータに対応しているかを表します。

【書式】

(1)C++Builder

postcontrolname->DicDate [ = BSTR ]

(2)Delphi

postcontrolname.DicDate [ = WideString ]

(3)Visual Basic

postcontrolname.DicDate [ = String ]

(4)Visual C++

[CString = ]postcontrolname.GetDicDate()

【参照値】

日付を表す文字列（例："20030610"）

【解説】

OpenDicメソッドを実行することにより、日付が設定されます。

【値の設定】　不可

【値の参照】　実行時


DownLoadDic（カスタムメソッド）

【機能】

ニュートンのサーバにアクセスし、郵便番号辞書の更新を行います。

【書式】

(1)C++Builder

[ TOLEBOOL = ]postcontrolname->DownLoadDic(BSTR UsrID, BSTR DicPath)

(2)Delphi

[ WordBool = ]postcontrolname.DownLoadDic(UsrID: WideString; DicPath: WideString)

(3)Visual Basic

[ Boolean = ]postcontrolname.DownLoadDic(UsrID As String, DicPath As String)

(4)Visual C++

[ BOOL = ]postcontrolname.DownLoadDic(LPCTSTR UsrID, LPCTSTR DicPath)

【引数】

名称 | 内容
UsrID | ユーザID
DicPath | 郵便番号辞書ファイルが存在するパス

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

郵便番号辞書をOpenDicメソッドでオープンしている場合は、CloseDicメソッドを実行して郵便番号辞書をクローズした後に実行してください。

UsrIDには郵便番号辞書を自動更新するためにニュートンより発行されるIDを与えます。（UsrIDを取得するには別途辞書自動更新ライセンスが必要です。）

処理途中でキャンセルする場合は、ProgressイベントでCancelプロパティにTrue（0以外）を設定してください。

戻り値がFalse(0)の場合、ErrorStatusプロパティを参照してください。


DpiX,DpiY（カスタムプロパティ）

【機能】

解像度を設定・参照します。

【書式】

※DpiXにて説明（DpiYも同様な使い方）

(1)C++Builder

postcontrolname->DpiX [ = long ]

(2)Delphi

postcontrolname.DpiX [ = Integer ]

(3)Visual Basic

postcontrolname.DpiX [ = Long ]

(4)Visual C++

[ long = ]postcontrolname.GetDpiX()

postcontrolname.SetDpiX(long Val)

【設定値】

DpiXはX（横）方向の解像度（1インチあたりのピクセル数）

DpiYはY（縦）方向の解像度（1インチあたりのピクセル数）

【解説】

デバイスコンテキストから解像度を取得したり、カスタマーバーコード用の画像を取得する際に使用します。

GetDpiFromHdcメソッドを実行することにより値が設定され、GetBarcodeImageメソッドでカスタマーバーコード画像を取得する際に使用されます。

【値の設定】　デザイン時、実行時

【値の参照】　実行時


DrawBarcodeImage（カスタムメソッド）

【機能】

カスタマーバーコード画像をデバイスコンテキストに描画します。

【書式】

(1)C++Builder

[ TOLEBOOL = ]postcontrolname->DrawBarcodeImage(long hDC, long Handle, long x, long y, long width, long height, short Unit, TOLEBOOL Aspect)

(2)Delphi

[ WordBool = ]postcontrolname.DrawBarcodeImage(hDC: Integer; Handle: Integer; x: Integer; y: Integer; width: Integer; height: Integer; Unit: Smallint; Aspect: WordBool)

(3)Visual Basic

[ Boolean = ]postcontrolname.DrawBarcodeImage(ｈDC As Long, Handle As Long, x As Long, y As Long, width As Long, height As Long, Unit As Integer, Aspect As Boolean)

(4)Visual C++

[ BOOL = ]postcontrolname.DrawBarcodeImage(long hDC, long Handle, long x, long y, long width, long height, short Unit, BOOL Aspect)

【引数】

名称 | 内容
ｈDC | デバイスコンテキスト
Handle | GetBarcodeImageメソッドで取得したメモリハンドル
x,y | 描画開始位置
width | 描画する幅
height | 描画する高さ
Unit | 座標の単位系（0：ピクセル単位、1：0.1ｍｍ単位）
Aspect | 縦横比の設定 [True(0以外):する、False(0):しない]

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

x,y,width,heightに与える値はUnitによって異なります。width,heightを共に0以下にすると、Handle画像の大きさで描画します。

width,heightで指定された範囲内に画像が収まりきらない場合は、画像をスケーリングします。

指定した範囲に画像をそのまま描画する場合はAspectにFalse(0)を、画像の縦横比と描画領域の縦横比を考慮する場合はAspectにTrue(0以外)を設定してください。

予めGetBarcodeImageメソッドを実行しておく必要があります。

戻り値がFalse(0)の場合、ErrorStatusプロパティを参照してください。

コード例：

(1)C++Builder

String Barcode;

long DibHandle;

//バーコード文字列取得

PostKit1->PostCode7 = "940-0015";

PostKit1->Address = "新潟県長岡市寿1-6-43";

Barcode = PostKit1->GetBarcodeString();

//解像度取得

if (PostKit1->GetDpiFromHdc(PaintBox1->Canvas->Handle) == false) return;

//バーコードイメージ取得

PostKit1->ForeColor = RGB(0, 0, 0);

PostKit1->BackColor = RGB(255, 255, 255);

PostKit1->RotateType = pkRotate0;

PostKit1->BarPoint = 10;

DibHandle = PostKit1->GetBarcodeImage(Barcode);

//バーコードイメージ描画

PostKit1->DrawBarcodeImage(PaintBox1->Canvas->Handle, DibHandle, 0, 0, 0, 0, 0, false);

(2)Delphi

Barcode: String;

DibHandle: Integer;

//バーコード文字列取得

PostKit1.PostCode7 := '940-0015';

PostKit1.Address := '新潟県長岡市寿1-6-43';

Barcode := PostKit1.GetBarcodeString();

//解像度取得

if PostKit1.GetDpiFromHdc(PaintBox1.Canvas.Handle) = False then Exit;

//バーコードイメージ取得

PostKit1.ForeColor := RGB(0, 0, 0);

PostKit1.BackColor := RGB(255, 255, 255);

PostKit1.RotateType := pkRotate0;

PostKit1.BarPoint := 10;

DibHandle := PostKit1.GetBarcodeImage(Barcode);

//バーコードイメージ描画

PostKit1.DrawBarcodeImage(PaintBox1.Canvas.Handle, DibHandle, 0, 0, 0, 0, 0, False);

(3)Visual Basic

Dim Barcode As String

Dim DibHandle As Long

'バーコード文字列取得

PostKit1.PostCode7 = "940-0015"

PostKit1.Address = "新潟県長岡市寿1-6-43"

Barcode = PostKit1.GetBarcodeString

'解像度取得

If PostKit1.GetDpiFromHdc(Picture1.hDC) = False Then Exit Sub

'バーコードイメージ取得

PostKit1.ForeColor = RGB(0, 0, 0)

PostKit1.BackColor = RGB(255, 255, 255)

PostKit1.RotateType = pkRotate0

PostKit1.BarPoint = 10

DibHandle = PostKit1.GetBarcodeImage(Barcode)

'バーコードイメージ描画

PostKit1.DrawBarcodeImage Picture1.hDC, DibHandle, 0, 0, 0, 0, 0, False

(4)Visual C++

CString Barcode;

long DibHandle;

//バーコード文字列取得

m_PostKit1.SetPostCode7("940-0015");

m_PostKit1.SetAddress("新潟県長岡市寿1-6-43");

Barcode = m_PostKit1.GetBarcodeString();

//解像度取得

if (m_PostKit1.GetDpiFromHdc(m_hDC) == FALSE) return;

//バーコードイメージ取得

m_PostKit1.SetForeColor(RGB(0, 0, 0));

m_PostKit1.SetBackColor(RGB(255, 255, 255));

m_PostKit1.SetRotateType(0);

m_PostKit1.SetBarPoint(10);

DibHandle = m_PostKit1.GetBarcodeImage(Barcode)

//バーコードイメージ描画

m_PostKit1.DrawBarcodeImage(m_hDC, DibHandle, 0, 0, 0, 0, 0, FALSE);


ErrorStatus（カスタムプロパティ）

【機能】

エラーの種類を示します。

【書式】

(1)C++Builder

postcontrolname->ErrorStatus [ = short ]

(2)Delphi

postcontrolname.ErrorStatus [ = Smallint ]

(3)Visual Basic

postcontrolname.ErrorStatus [ = Integer ]

(4)Visual C++

[ short = ]postcontrolname.GetErrorStatus()

【参照値】

値 | 説明
0 | 成功
1 | パスが存在しない
2 | 辞書ファイルがない or 辞書ファイルの日付が一部異なる
3 | 辞書ファイルがオープンされていない
4 | 検索していない or 検索結果が0
5 | ReadメソッドのIndexが範囲外
6 | 検索条件が未入力
7 | 5桁と7桁の郵便番号が両方設定されている
8 | 郵便番号の桁が多い、または数値とハイフン以外が含まれている
9 | 都道府県名が間違えている
10 | 市町村名が間違えている
11 | 住所文字列が設定されていない
12 | SplitAddressメソッドのModeが範囲外
13 | 住所文字列の中に市区町村名がない or 市区町村名や町域名が正しくない
14 | 7桁郵便番号が設定されていない
15 | 住所文字列が郵便番号辞書に存在しない
16 | カスタマーバーコードは不要
17 | ファイルオープン済み
18 | カスタマーバーコード文字列が不正
19 | ReadDialogメソッドでキャンセルボタンが押された
20 | 解像度（DpiX or DpiYプロパティ）が不正
21 | バーポイント（BarPointプロパティ）が不正
22 | パスもしくはファイル名が不正
23 | イメージが不正
24 | 保存エラー
25 | 検索モードが一般なのに大口事業所名が設定されている
26 | 辞書ファイルをオープン中
30 | メモリエラー
31 | 描画エラー
32 | デバイスコンテキストが不正
40 | User ID が異なる
41 | 最新の郵便番号辞書が存在
42 | 郵便番号辞書の自動更新処理をキャンセル
43 | パラメータエラー
44 | 通信エラー
45 | 有効期限が過ぎた
46 | その他のエラー

【解説】

メソッドを実行することにより、該当する値が設定されます。

【値の設定】　不可

【値の参照】　実行時


ExactMatch（カスタムプロパティ）

【機能】

文字列の検索方法を設定します。

【書式】

(1)C++Builder

postcontrolname->ExactMatch [ = short ]

(2)Delphi

postcontrolname.ExactMatch [ = Smallint ]

(3)Visual Basic

postcontrolname.ExactMatch [ = Integer ]

(4)Visual C++

postcontrolname.SetExactMatch(short Val)

【設定値】

値 | 説明
0 | 部分一致
1 | 大口事業所名の完全一致
2 | 町域名（カナ）の完全一致
4 | 町域名（漢字）の完全一致
8 | 市区町村名（カナ）の完全一致
16 | 市区町村名（漢字）の完全一致

【解説】

デフォルトは0です。複数設定する場合は、|, or, Orを使用して組み合わせます。

部分一致で複数の検索結果が得られる場合は、町域名などを完全一致にして検索するとよいでしょう。

Findメソッドを実行する前に設定します。

例えば、TownKanjiプロパティが"板橋"で郵便番号辞書の町域名が"中板橋"の場合、下記のようになります。

ExactMatch = 4:  不一致, 検索結果に反映されない

ExactMatch = 0:  一致, 検索結果に反映される

郵便番号辞書の町域名に括弧が含まれるものがありますが、完全一致の場合でも検索は括弧の前までの文字列が対象となります。

【値の設定】　実行時

【値の参照】　不可


FindCount（カスタムプロパティ）

【機能】

検索条件に該当する件数を表します。

【書式】

(1)C++Builder

postcontrolname->FindCount [ = long ]

(2)Delphi

postcontrolname.FindCount [ = Integer ]

(3)Visual Basic

postcontrolname.FindCount [ = Long ]

(4)Visual C++

[ long = ]postcontrolname.GetFindCount ()

【参照値】

検索条件に該当する件数

【解説】

Findメソッドを実行することにより値が設定されます。

【値の設定】　不可

【値の参照】　実行時


FindMode（カスタムプロパティ）

【機能】

検索するデータの種類を設定します。

【書式】

(1)C++Builder

postcontrolname->FindMode [ = FindMode ]

(2)Delphi

postcontrolname.FindMode [ = FindMode ]

(3)Visual Basic

postcontrolname.FindMode [ = FindMode ]

(4)Visual C++

postcontrolname.SetFindMode(long Val)

【設定値】

値 | 説明
0 | 一般
1 | 大口事業所
2 | 全て（一般と大口事業所）

C++Builder, Delphi, Visual Basicでは定数(pkTypical = 0, pkSpecial = 1, pkAll = 2)を使用することも可能です。

【解説】

Findメソッドを実行する前に設定します。

【値の設定】　実行時

【値の参照】　不可


Find（カスタムメソッド）

【機能】

指定した項目で、郵便番号辞書を検索します。

【書式】

(1)C++Builder

[ TOLEBOOL = ]postcontrolname->Find(TOLEBOOL subCode)

(2)Delphi

[ WordBool = ]postcontrolname.Find(subCode: WordBool)

(3)Visual Basic

[ Boolean = ]postcontrolname.Find(subCode As Boolean)

(4)Visual C++

[ BOOL = ]postcontrolname.Find(BOOL subCode)

【引数】

名称 | 内容
subCode | 郵便番号検索時の枝番の有無 [True(0以外):含める、False(0):含めない]

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

FindModeプロパティが0(pkTypical)の場合は一般データのみ、1(pkSpecial)の場合は大口データのみ、2(pkAll)の場合は一般と大口データ両方が検索対象となります。

subCodeは郵便番号で検索する際に使用され、住所文字列だけによる検索時は無視されます。

ExactMatchプロパティは住所文字列の検索時に有効となります。

予めOpenDicメソッドを実行しておく必要があります。

戻り値がFalse(0)の場合、ErrorStatusプロパティを参照してください。

検索条件を複数設定した場合は、AND条件での検索となります。ただし、5桁郵便番号（PostCode5プロパティ）と7桁郵便番号（PostCode7プロパティ）を両方設定するとエラーとなります。大口事業所名（OrgNameプロパティ）を設定する場合は、FindModeプロパティを1(pkSpecial)か2(pkAll)にする必要があります。

検索可能な項目：

PostCode5,PostCode7,JisCode,PrefKana,PrefKanji,CityKana,CityKanji,TownKana,TownKanji,OrgNameプロパティ

DataType及びNoプロパティによる検索はできません。

コード例：

(1)C++Builder

// 郵便番号による検索

PostKit1->ClearString();

PostKit1->FindMode = pkTypical;

PostKit1->PostCode7 = "940-0015"; //ハイフンはなくてもOK

PostKit1->ExactMatch = 0;

PostKit1->Find(false);

// 住所文字列による検索

PostKit1->ClearString();

PostKit1->FindMode = pkAll;

PostKit1->PrefKanji = "新潟県";

PostKit1->CityKanji = "長岡市";

PostKit1->TownKana = "ｺﾄﾌﾞｷ";

PostKit1->ExactMatch = 2 | 16;

PostKit1->Find(false);

(2)Delphi

// 郵便番号による検索

PostKit1.ClearString();

PostKit1.FindMode := pkTypical;

PostKit1.PostCode7 := '940-0015'; //ハイフンはなくてもOK

PostKit1.ExactMatch := 0;

PostKit1.Find(False);

// 住所文字列による検索

PostKit1.ClearString();

PostKit1.FindMode := pkAll;

PostKit1.PrefKanji := '新潟県';

PostKit1.CityKanji := '長岡市';

PostKit1.TownKana := 'ｺﾄﾌﾞｷ';

PostKit1.ExactMatch := 2 or 16;

PostKit1.Find(False);

(3)Visual Basic

' 郵便番号による検索

PostKit1.ClearString

PostKit1.FindMode = pkTypical

PostKit1.PostCode7 = "940-0015" 'ハイフンはなくてもOK

PostKit1.ExactMatch = 0

PostKit1.Find(False)

' 住所文字列による検索

PostKit1.ClearString

PostKit1.FindMode = pkAll

PostKit1.PrefKanji = "新潟県"

PostKit1.CityKanji = "長岡市"

PostKit1.TownKana = "ｺﾄﾌﾞｷ"

PostKit1.ExactMatch = 2 Or 16

PostKit1.Find(False)

(4) Visual C++

// 郵便番号による検索

m_PostKit1.ClearString();

m_PostKit1.SetFindMode(0);

m_PostKit1.SetPostCode7("940-0015"); //ハイフンはなくてもOK

m_PostKit1.SetExactMatch(0);

m_PostKit1.Find(False);

// 住所文字列による検索

m_PostKit1.ClearString();

m_PostKit1.SetFindMode(2);

m_PostKit1.SetPrefKanji("新潟県");

m_PostKit1.SetCityKanji("長岡市");

m_PostKit1.SetTownKana("ｺﾄﾌﾞｷ");

m_PostKit1.SetExactMatch(2 | 16);

m_PostKit1.Find(False)

【PostKitとの違い】

・メソッドの名称がPostKitFindから変更されました。

・引数が追加されました。引数はPKのSubCodeプロパティと同じ意味です。（型は異なります）

・戻り値が検索条件に該当する件数から成功/失敗を表すように変更されました。PK3では件数はFindCountプロパティに設定されます。


FreeBarcodeImage（カスタムメソッド）

【機能】

カスタマーバーコード画像を解放します。

【書式】

(1)C++Builder

[ TOLEBOOL = ]postcontrolname->FreeBarcodeImage(long Handle)

(2)Delphi

[ WordBool = ]postcontrolname.FreeBarcodeImage(Handle: Integer)

(3)Visual Basic

[ Boolean = ]postcontrolname.FreeBarcodeImage(Handle As Long)

(4)Visual C++

[ BOOL = ]postcontrolname.FreeBarcodeImage(long Handle)

【引数】

名称 | 内容
Handle | GetBarcodeImageメソッドで取得したメモリハンドル

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

使用可能なメモリサイズには限りがありますので、適宜不要になった画像のメモリを解放してください。

また、メモリの2重解放を防ぐため、メソッド実行後引数のHandleに0を設定するようにしてください。

Visual Basicの例：

If PostKit1.FreeBarcodeImage(Handle) <> False Then

Handle = 0

End If


GetBarcodeImage（カスタムメソッド）

【機能】

カスタマーバーコード画像を取得します。

【書式】

(1)C++Builder

[ long = ]postcontrolname->GetBarcodeImage(BSTR barcode)

(2)Delphi

[ Integer = ]postcontrolname.GetBarcodeImage(barcode: WideString)

(3)Visual Basic

[ Long = ]postcontrolname.GetBarcodeImage(barcode As String)

(4)Visual C++

[ long = ]postcontrolname.GetBarcodeImage(LPCTSTR barcode)

【引数】

名称 | 内容
barcode | GetBarcodeStringメソッドで取得した文字列、もしくは独自に作成した文字列

【戻り値】

カスタマーバーコード画像のメモリハンドル（実行に失敗した場合は、0が返されます）

【解説】

大口事業所や私書箱の個別番号が設定されている事業所などの場合は7桁郵便番号からハイフンを除いた文字列をbarcodeに与え、それ以外はGetBarcodeStringメソッドにて取得した文字列を与えてください。

独自に作成した文字列を与える場合：

1.大口事業所、私書箱の個別番号の場合

例：個別番号が100-8798の場合はbarcode="1008798"となる

2.私書箱郵便物の包括番号の場合

例：私書箱包括番号が980-8691で私書箱番号が215の場合はbarcode="9808691215"となる

3.料金受取人払いの個別番号などの場合

ForeColor,BackColorプロパティにはRGB（Red,Green,Blue）の戻り値を与えます。

RotateTypeプロパティは作成したバーコード画像の回転方向を表します。回転は反時計周りを基準にします。

DpiX,DpiYプロパティには出力するスクリーンもしくはプリンタの解像度を与えてください。解像度はGetDpiFromHdcメソッドを使用して描画対象となるデバイスコンテキストから取得可能です。

BarPointプロパティは8.5から11ポイント相当が推奨値で、デフォルトは10ポイントです。設定値により、バーの幅と高さ、バースペースが変わります。

戻り値がFalse(0)の場合、ErrorStatusプロパティを参照してください。

コード例：

(1)C++Builder

String Barcode;

long DibHandle;

//バーコード文字列取得

PostKit1->PostCode7 = "940-0015";

PostKit1->Address = "新潟県長岡市寿1-6-43";

Barcode = PostKit1->GetBarcodeString();

//解像度取得

if (PostKit1->GetDpiFromHdc(PaintBox1->Canvas->Handle) == false) return;

//バーコードイメージ取得

PostKit1->ForeColor = RGB(0, 0, 0);

PostKit1->BackColor = RGB(255, 255, 255);

PostKit1->RotateType = pkRotate0;

PostKit1->BarPoint = 10;

DibHandle = PostKit1->GetBarcodeImage(Barcode);

//バーコードイメージ描画

PostKit1->DrawBarcodeImage(PaintBox1->Canvas->Handle, DibHandle, 0, 0, 0, 0, 0, false);

(2)Delphi

Barcode: String;

DibHandle: Integer;

//バーコード文字列取得

PostKit1.PostCode7 := '940-0015';

PostKit1.Address := '新潟県長岡市寿1-6-43';

Barcode := PostKit1.GetBarcodeString();

//解像度取得

if PostKit1.GetDpiFromHdc(PaintBox1.Canvas.Handle) = False then Exit;

//バーコードイメージ取得

PostKit1.ForeColor := RGB(0, 0, 0);

PostKit1.BackColor := RGB(255, 255, 255);

PostKit1.RotateType := pkRotate0;

PostKit1.BarPoint := 10;

DibHandle := PostKit1.GetBarcodeImage(Barcode);

//バーコードイメージ描画

PostKit1.DrawBarcodeImage(PaintBox1.Canvas.Handle, DibHandle, 0, 0, 0, 0, 0, False);

(3)Visual Basic

Dim Barcode As String

Dim DibHandle As Long

'バーコード文字列取得

PostKit1.PostCode7 = "940-0015"

PostKit1.Address = "新潟県長岡市寿1-6-43"

Barcode = PostKit1.GetBarcodeString

'解像度取得

If PostKit1.GetDpiFromHdc(Picture1.hDC) = False Then Exit Sub

'バーコードイメージ取得

PostKit1.ForeColor = RGB(0, 0, 0)

PostKit1.BackColor = RGB(255, 255, 255)

PostKit1.RotateType = pkRotate0

PostKit1.BarPoint = 10

DibHandle = PostKit1.GetBarcodeImage(Barcode)

'バーコードイメージ描画

PostKit1.DrawBarcodeImage Picture1.hDC, DibHandle, 0, 0, 0, 0, 0, False

(4)Visual C++

CString Barcode;

long DibHandle;

//バーコード文字列取得

m_PostKit1.SetPostCode7("940-0015");

m_PostKit1.SetAddress("新潟県長岡市寿1-6-43");

Barcode = m_PostKit1.GetBarcodeString();

//解像度取得

if (m_PostKit1.GetDpiFromHdc(m_hDC) == FALSE) return;

//バーコードイメージ取得

m_PostKit1.SetForeColor(RGB(0, 0, 0));

m_PostKit1.SetBackColor(RGB(255, 255, 255));

m_PostKit1.SetRotateType(0);

m_PostKit1.SetBarPoint(10);

DibHandle = m_PostKit1.GetBarcodeImage(Barcode)

//バーコードイメージ描画

m_PostKit1.DrawBarcodeImage(m_hDC, DibHandle, 0, 0, 0, 0, 0, FALSE);


GetBarcodeString（カスタムメソッド）

【機能】

カスタマーバーコード文字列を取得します。

【書式】

(1)C++Builder

[ BSTR = ]postcontrolname->GetBarcodeString()

(2)Delphi

[ WideStriung = ]postcontrolname.GetBarcodeString()

(3)Visual Basic

[ String = ]postcontrolname.GetBarcodeString()

(4)Visual C++

[ CString = ]postcontrolname.GetBarcodeString()

【引数】

ありません。

【戻り値】

カスタマーバーコード文字列（実行に失敗した場合は、空文字列が返されます）

【解説】

PostCode7プロパティに空文字列を与えると、正しいバーコード文字列が取得できない場合がありますので、必ず7桁郵便番号を与えてください。郵便番号間のハイフンはあってもなくてもどちらでも構いません。

Addressプロパティに通称を与えると正しいバーコード文字列が取得できませんので、正式名称を与えてください。

Addressプロパティに設定された住所に含まれる町域名と郵便番号辞書の町域名が異なる場合は、ErrorStatusプロパティに13が設定されますが、PostCode7プロパティに7桁郵便番号が設定されている場合はカスタマーバーコード文字列が生成されます。

予めOpenDicメソッドを実行しておく必要があります。

戻り値が空文字列の場合、ErrorStatusプロパティを参照してください。

注意：

住所文字列内の漢数字の取り扱いについては、"丁目"・"丁"・"番地"・"番"・"号"・"地割"・"線"・"の"・"ノ"の前にある場合が抜き出し対象となります。対応する漢数字は、"〇","一","二","三","四","五","六","七","八","九","十","百","千"です。ただし、算用数字と漢数字が混ざっている場合は正しく抜き出すことができません。

大口事業所や私書箱の個別番号が設定されている事業所などの場合は、カスタマーバーコード画像を作成する際に決められた文字列を設定するため、当メソッドを使用する必要はありません。また、7桁郵便番号の6桁目と7桁目が0の場合はカスタマーバーコードを付番しないため、空文字列が返されます。詳しくはカスタマーバーコードに関する資料などをご覧ください。

コード例：

(1)C++Builder

String Barcode;

long DibHandle;

//バーコード文字列取得

PostKit1->PostCode7 = "940-0015";

PostKit1->Address = "新潟県長岡市寿1-6-43";

Barcode = PostKit1->GetBarcodeString();

//解像度取得

if (PostKit1->GetDpiFromHdc(PaintBox1->Canvas->Handle) == false) return;

//バーコードイメージ取得

PostKit1->ForeColor = RGB(0, 0, 0);

PostKit1->BackColor = RGB(255, 255, 255);

PostKit1->RotateType = pkRotate0;

PostKit1->BarPoint = 10;

DibHandle = PostKit1->GetBarcodeImage(Barcode);

//バーコードイメージ描画

PostKit1->DrawBarcodeImage(PaintBox1->Canvas->Handle, DibHandle, 0, 0, 0, 0, 0, false);

(2)Delphi

Barcode: String;

DibHandle: Integer;

//バーコード文字列取得

PostKit1.PostCode7 := '940-0015';

PostKit1.Address := '新潟県長岡市寿1-6-43';

Barcode := PostKit1.GetBarcodeString();

//解像度取得

if PostKit1.GetDpiFromHdc(PaintBox1.Canvas.Handle) = False then Exit;

//バーコードイメージ取得

PostKit1.ForeColor := RGB(0, 0, 0);

PostKit1.BackColor := RGB(255, 255, 255);

PostKit1.RotateType := pkRotate0;

PostKit1.BarPoint := 10;

DibHandle := PostKit1.GetBarcodeImage(Barcode);

//バーコードイメージ描画

PostKit1.DrawBarcodeImage(PaintBox1.Canvas.Handle, DibHandle, 0, 0, 0, 0, 0, False);

(3)Visual Basic

Dim Barcode As String

Dim DibHandle As Long

'バーコード文字列取得

PostKit1.PostCode7 = "940-0015"

PostKit1.Address = "新潟県長岡市寿1-6-43"

Barcode = PostKit1.GetBarcodeString

'解像度取得

If PostKit1.GetDpiFromHdc(Picture1.hDC) = False Then Exit Sub

'バーコードイメージ取得

PostKit1.ForeColor = RGB(0, 0, 0)

PostKit1.BackColor = RGB(255, 255, 255)

PostKit1.RotateType = pkRotate0

PostKit1.BarPoint = 10

DibHandle = PostKit1.GetBarcodeImage(Barcode)

'バーコードイメージ描画

PostKit1.DrawBarcodeImage Picture1.hDC, DibHandle, 0, 0, 0, 0, 0, False

(4)Visual C++

CString Barcode;

long DibHandle;

//バーコード文字列取得

m_PostKit1.SetPostCode7("940-0015");

m_PostKit1.SetAddress("新潟県長岡市寿1-6-43");

Barcode = m_PostKit1.GetBarcodeString();

//解像度取得

if (m_PostKit1.GetDpiFromHdc(m_hDC) == FALSE) return;

//バーコードイメージ取得

m_PostKit1.SetForeColor(RGB(0, 0, 0));

m_PostKit1.SetBackColor(RGB(255, 255, 255));

m_PostKit1.SetRotateType(0);

m_PostKit1.SetBarPoint(10);

DibHandle = m_PostKit1.GetBarcodeImage(Barcode)

//バーコードイメージ描画

m_PostKit1.DrawBarcodeImage(m_hDC, DibHandle, 0, 0, 0, 0, 0, FALSE);


GetDpiFromHdc（カスタムメソッド）

【機能】

デバイスコンテキストから解像度を取得します。

【書式】

(1)C++Builder

[ TOLEBOOL = ]postcontrolname->GetDpiFromHdc(long hDC)

(2)Delphi

[ WordBool = ]postcontrolname.GetDpiFromHdc (hDC: Integer)

(3)Visual Basic

[ Boolean = ]postcontrolname.GetDpiFromHdc(ｈDC As Long)

(4)Visual C++

[ BOOL = ]postcontrolname.GetDpiFromHdc(long hDC)

【引数】

名称 | 内容
ｈDC | デバイスコンテキスト

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

成功するとDpiX,DpiYプロパティに解像度が設定されます。

戻り値がFalse(0)の場合、ErrorStatusプロパティを参照してください。

コード例：

(1)C++Builder

String Barcode;

long DibHandle;

//バーコード文字列取得

PostKit1->PostCode7 = "940-0015";

PostKit1->Address = "新潟県長岡市寿1-6-43";

Barcode = PostKit1->GetBarcodeString();

//解像度取得

if (PostKit1->GetDpiFromHdc(PaintBox1->Canvas->Handle) == false) return;

//バーコードイメージ取得

PostKit1->ForeColor = RGB(0, 0, 0);

PostKit1->BackColor = RGB(255, 255, 255);

PostKit1->RotateType = pkRotate0;

PostKit1->BarPoint = 10;

DibHandle = PostKit1->GetBarcodeImage(Barcode);

//バーコードイメージ描画

PostKit1->DrawBarcodeImage(PaintBox1->Canvas->Handle, DibHandle, 0, 0, 0, 0, 0, false);

(2)Delphi

Barcode: String;

DibHandle: Integer;

//バーコード文字列取得

PostKit1.PostCode7 := '940-0015';

PostKit1.Address := '新潟県長岡市寿1-6-43';

Barcode := PostKit1.GetBarcodeString();

//解像度取得

if PostKit1.GetDpiFromHdc(PaintBox1.Canvas.Handle) = False then Exit;

//バーコードイメージ取得

PostKit1.ForeColor := RGB(0, 0, 0);

PostKit1.BackColor := RGB(255, 255, 255);

PostKit1.RotateType := pkRotate0;

PostKit1.BarPoint := 10;

DibHandle := PostKit1.GetBarcodeImage(Barcode);

//バーコードイメージ描画

PostKit1.DrawBarcodeImage(PaintBox1.Canvas.Handle, DibHandle, 0, 0, 0, 0, 0, False);

(3)Visual Basic

Dim Barcode As String

Dim DibHandle As Long

'バーコード文字列取得

PostKit1.PostCode7 = "940-0015"

PostKit1.Address = "新潟県長岡市寿1-6-43"

Barcode = PostKit1.GetBarcodeString

'解像度取得

If PostKit1.GetDpiFromHdc(Picture1.hDC) = False Then Exit Sub

'バーコードイメージ取得

PostKit1.ForeColor = RGB(0, 0, 0)

PostKit1.BackColor = RGB(255, 255, 255)

PostKit1.RotateType = pkRotate0

PostKit1.BarPoint = 10

DibHandle = PostKit1.GetBarcodeImage(Barcode)

'バーコードイメージ描画

PostKit1.DrawBarcodeImage Picture1.hDC, DibHandle, 0, 0, 0, 0, 0, False

(4)Visual C++

CString Barcode;

long DibHandle;

//バーコード文字列取得

m_PostKit1.SetPostCode7("940-0015");

m_PostKit1.SetAddress("新潟県長岡市寿1-6-43");

Barcode = m_PostKit1.GetBarcodeString();

//解像度取得

if (m_PostKit1.GetDpiFromHdc(m_hDC) == FALSE) return;

//バーコードイメージ取得

m_PostKit1.SetForeColor(RGB(0, 0, 0));

m_PostKit1.SetBackColor(RGB(255, 255, 255));

m_PostKit1.SetRotateType(0);

m_PostKit1.SetBarPoint(10);

DibHandle = m_PostKit1.GetBarcodeImage(Barcode)

//バーコードイメージ描画

m_PostKit1.DrawBarcodeImage(m_hDC, DibHandle, 0, 0, 0, 0, 0, FALSE);


Hyphen（カスタムプロパティ）

【機能】

郵便番号にハイフンを含めるかどうかを設定します。

【書式】

(1)C++Builder

postcontrolname->Hyphen [ = TOLEBOOL ]

(2)Delphi

postcontrolname.Hyphen [ = WordBool ]

(3)Visual Basic

postcontrolname.Hyphen [ = Boolean ]

(4)Visual C++

postcontrolname.SetHyphen(BOOL Val)

【設定値】

値                      説明

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

値 | 説明
True | 取得する郵便番号にハイフンを含める
False | 取得する郵便番号にハイフンを含めない

【解説】

ReadメソッドやReadDialogメソッドを実行する前に設定します。

例えば、取得される7桁郵便番号が"940-0015"の場合

Hyphen = True:  PostCode7 = "940-0015"

Hyphen = False:  PostCode7 = "9400015"

となります。

【値の設定】　実行時

【値の参照】　不可


JisCode（カスタムプロパティ）

【機能】

全国地方公共団体コードを表します。

【書式】

(1)C++Builder

postcontrolname->JisCode [ = BSTR ]

(2)Delphi

postcontrolname.JisCode [ = WideString ]

(3)Visual Basic

postcontrolname.JisCode [ = String ]

(4)Visual C++

[CString = ]postcontrolname.GetJisCode()

postcontrolname.SetJisCode(LPCTSTR Val)

【設定値】

全国地方公共団体コード（5桁番号）

【解説】

ReadメソッドやReadDialogメソッド及びSplitAddressメソッドを実行すると該当する値が設定されます。また、全国地方公共団体コードによる検索を行う場合は、プロパティに値を代入してFindメソッドを実行します。

【値の設定】　デザイン時、実行時

【値の参照】　実行時


KanaType（カスタムプロパティ）

【機能】

取得するカナの種類を表します。

【書式】

(1)C++Builder

postcontrolname->KanaType [ = KanaType ]

(2)Delphi

postcontrolname.KanaType [ = KanaType ]

(3)Visual Basic

postcontrolname.KanaType [ = KanaType ]

(4)Visual C++

postcontrolname.SetKanaType(long Val)

【設定値】

値 | 説明
0 | 半角カナ
1 | 全角カナ
2 | ひらがな

C++Builder,Delphi,Visual Basicでは定数(pkKatakanaHalf = 0, pkKatakana = 1, pkHiragana = 2)を使用することも可能です。

【解説】

ReadメソッドやReadDialogメソッド及びSplitAddressメソッドを実行する前に設定します。KanaTypeプロパティの値により、PrefKana,CityKana,TownKanaプロパティに設定される値が決まります。

【値の設定】　実行時

【値の参照】　不可


No（カスタムプロパティ）

【機能】

町域名以降の番地を表します。

【書式】

(1)C++Builder

postcontrolname->No [ = BSTR ]

(2)Delphi

postcontrolname.No [ = WideString ]

(3)Visual Basic

postcontrolname.No [ = String ]

(4)Visual C++

[CString = ]postcontrolname.GetNo()

【参照値】

町域名以降の番地

【解説】

SplitAddressメソッドを実行することにより、町域名以降の番地が切り出されて設定されます。

ReadメソッドやReadDialogメソッドを実行すると該当する値が設定されます。（DataTypeプロパティが0の場合は空文字列）

例：SplitAddressメソッドを使用した住所の切り出し

PostKit1.KanaType = pkKatakanaHalf

PostKit1.Address = "新潟県長岡市寿１－６－４３"

PostKit1.SplitAddress pkKanji

' Noプロパティには"１－６－４３"が設定されます

【値の設定】　不可

【値の参照】　実行時


OpenDic（カスタムメソッド）

【機能】

郵便番号辞書をオープンします。

【書式】

(1)C++Builder

[ TOLEBOOL = ]postcontrolname->OpenDic(BSTR DicPath)

(2)Delphi

[ WordBool = ]postcontrolname.OpenDic(DicPath: WideString)

(3)Visual Basic

[ Boolean = ]postcontrolname.OpenDic(DicPath As String)

(4)Visual C++

[ BOOL = ]postcontrolname.OpenDic(LPCTSTR DicPath)

【引数】

名称 | 内容
DicPath | 郵便番号辞書ファイルが存在するパス

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

CloseDicメソッドと対で使用してください。

戻り値がFalse(0)の場合、ErrorStatusプロパティを参照してください。

【PostKitとの違い】

・メソッドの名称がPostKitOpenから変更されました。

・引数が追加されました。引数はPKのDatabasePathプロパティと同じです。


OrgName（カスタムプロパティ）

【機能】

大口事業所名を設定・参照します。

【書式】

(1)C++Builder

postcontrolname->OrgName [ = BSTR ]

(2)Delphi

postcontrolname.OrgName [ = WideString ]

(3)Visual Basic

postcontrolname.OrgName [ = String ]

(4)Visual C++

[CString = ]postcontrolname.GetOrgName()

postcontrolname.SetOrgName(LPCTSTR Val)

【設定値】

大口事業所名（最大80バイト）

【解説】

ReadメソッドやReadDialogメソッドを実行すると該当する値が設定されます。（DataTypeプロパティが0の場合は空文字列）

大口事業所名から郵便番号を検索する時はFindModeプロパティを1（pkSpecial）、OrgNameプロパティに名称を設定して、Findメソッドを実行してください。

【値の設定】　デザイン時、実行時

【値の参照】　実行時

【PostKitとの違い】

TownNameプロパティで機能を代用していましたが、新しいプロパティとなりました。


PostCode5,PostCode7（カスタムプロパティ）

【機能】

郵便番号を設定・参照します。

【書式】

※PostCode5にて説明（PostCode7も同様な使い方）

(1)C++Builder

postcontrolname->PostCode5 [ = BSTR ]

(2)Delphi

postcontrolname.PostCode5 [ = WideString ]

(3)Visual Basic

postcontrolname.PostCode5 [ = String ]

(4)Visual C++

[ CString = ]postcontrolname.GetPostCode5()

postcontrolname.SetPostCode5(LPCTSTR Val)

【設定値】

PostCode5は5桁郵便番号（ハイフンを含めて最大6桁）

PostCode7は7桁郵便番号（ハイフンを含めて最大8桁）

【解説】

Readメソッド・ReadDialogメソッド実行後に値が設定されます。

郵便番号による検索を行う場合は、PostCode5もしくはPostCode7プロパティのいずれかに値を代入してFindメソッドを実行します。

【値の設定】　デザイン時、実行時

【値の参照】　実行時


PostKitClose

【機能】

郵便番号辞書をクローズします。

【関数書式】

(1)C++Builder/Visual C++

BOOL PostKitClose(PTR_POSTKIT_DICINFO DicInfo, short *ErrorStatus);

(2)Delphi

function PostKitClose(var DicInfo: POSTKIT_DICINFO; var ErrorStatus: Smallint): LongBool;

(3)Visual Basic

Function PostKitClose(DicInfo As POSTKIT_DICINFO, ErrorStatus As Integer) As Long

【引数】

名称 | 内容
DicInfo | PostKitOpenで取得した構造体変数
ErrorStatus | エラーの種類（詳しくはDLLコマンドリファレンスのページをご覧ください）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

PostKitOpen関数と対で使用してください。

戻り値がFalse(0)の場合、ErrorStatusを参照してください。

コード例：

(1)C++Builder/Visual C++

POSTKIT_DICINFO DicInfo;

short ErrorStatus;

BOOL Ret;

if (PostKitOpen("C:\\Dic", &DicInfo, &ErrorStatus) == FALSE) return;

// 様々な処理

Ret = PostKitClose(&DicInfo, &ErrorStatus);

(2)Delphi

DicInfo：POSTKIT_DICINFO;

ErrorStatus: Smallint;

Ret: LongBool;

if PostKitOpen('C:\Dic', DicInfo, ErrorStatus) = false then Exit;

// 様々な処理

Ret := PostKitClose(DicInfo, ErrorStatus);

(3)Visual Basic

Dim DicInfo As POSTKIT_DICINFO

Dim ErrorStatus As Integer

Dim Ret As Long

If PostKitOpen("C:\Dic", DicInfo, ErrorStatus) = 0 Then Exit Sub

' 様々な処理

Ret = PostKitClose(DicInfo, ErrorStatus)

【PosｔKitとの違い】

引数が追加されました。


PostKitDownLoadDic

【機能】

ニュートンのサーバにアクセスし、郵便番号辞書の更新を行います。

【関数書式】

(1)C++Builder/Visual C++

BOOL PostKitDownLoadDic(LPCSTR UsrID, LPCSTR DicPath, PKPROCESSPROC UserProc, short *ErrorStatus);

(2)Delphi

function PostKitDownLoadDic(UsrID: PAnsiChar; DicPath: PAnsiChar; UserProc: Longint; var ErrorStatus: Smallint): LongBool;

(3)Visual Basic

Function PostKitDownLoadDic(ByVal UsrID As String, ByVal DicPath As String, ByVal UserProc As Long, ErrorStatus As Integer) As Long

【引数】

名称 | 内容
UsrID | ユーザID
DicPath | 郵便番号辞書ファイルが存在するパス
UserProc | ユーザ関数のアドレス（ユーザ関数を使用しない場合は0を指定します。）
ErrorStatus | エラーの種類（詳しくはDLLコマンドリファレンスのページをご覧ください）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

郵便番号辞書をPoｓｔKitOpen関数でオープンしている場合は、PostKitClose関数を実行して郵便番号辞書をクローズした後に実行してください。

UsrIDには郵便番号辞書を自動更新するためにニュートンより発行されるIDを与えます。（UsrIDを取得するには別途辞書自動更新ライセンスが必要です。）

UserProc本体には進捗状況を表すコードを記述してください。

戻り値がFalse(0)の場合、ErrorStatusを参照してください。

【ユーザ関数の定義】

Visual Basicの場合は、ユーザ関数をフォームモジュールではなく標準モジュールとして作成してください。

【関数書式】

(1)C++Builder/Visual C++    BOOL __stdcall UserProc(short Percent);

(2)Delphi                        function UserProc(Percent: Smallint): LongBool; stdcall;

(3)Visual Basic                 Function UserProc(ByVal Percent As Integer) As Long

【引数】

名称 | 内容
Percent | 現在処理している％数

【戻り値】

False(0)の場合は実行している処理を終了します。True(0以外)は処理を継続します。

ユーザ関数はUserProcという名称で説明しておりますが、実際の名称は何を設定されても構いません。関数名がUserProcの場合は以下のような形式で引数に渡します。

(1)C++Builder/Visual C++ | UserProc
(2)Delphi | Longint(Addr(UserProc))
(3)Visual Basic | Address Of UserProc


PostKitDrawBarcodeImage

【機能】

カスタマーバーコード画像をデバイスコンテキストに描画します。

【関数書式】

(1)C++Builder/Visual C++

BOOL PostKitDrawBarcodeImage(HDC hDC, HANDLE Handle, long x, long y, long width, long height, short Unit, BOOL Aspect, short *ErrorStatus);

(2)Delphi

function PostKitDrawBarcodeImage(hDC: HDC; Handle: THandle;
 x: Longint; y: Longint; width: Longint; height: Longint; _Unit: Smallint;
 Aspect: LongBool; var ErrorStatus: Smallint): LongBool;

(3)Visual Basic

Function PostKitDrawBarcodeImage(ByVal hDC As Long, ByVal Handle As Long, ByVal x As Long, ByVal y As Long, ByVal width As Long, ByVal height As Long, ByVal Unit As Integer, ByVal Aspect As Long, ErrorStatus As Integer) As Long

【引数】

名称 | 内容
ｈDC | デバイスコンテキスト
Handle | PostKitGetBarcodeImageで取得したメモリハンドル
x,y | 描画開始位置
width | 描画する幅
height | 描画する高さ
Unit | 座標の単位系（0：ピクセル単位、1：0.1ｍｍ単位）
Aspect | 縦横比の設定 [True(0以外):する、False(0):しない]
ErrorStatus | エラーの種類（詳しくはDLLコマンドリファレンスのページをご覧ください）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

x,y,width,heightに与える値はUnitによって異なります。width,heightを共に0以下にすると、Handle画像の大きさで描画します。

width,heightで指定された範囲内に画像が収まりきらない場合は、画像をスケーリングします。

指定した範囲に画像をそのまま描画する場合はAspectにFalse(0)を、画像の縦横比と描画領域の縦横比を考慮する場合はAspectにTrue(0以外)を設定してください。

予めPostKitGetBarcodeImage関数を実行しておく必要があります。

戻り値がFalse(0)の場合、ErrorStatusを参照してください。

コード例：

(1)C++Builder/Visual C++

short ErrorStatus;

char Barcode[128];

long DpiX, DpiY;

HANDLE DibHandle;

//バーコード文字列取得

if (PostKitGetBarcodeString(&DicInfo, "940-0015", "新潟県長岡市寿1-6-43", Barcode, &ErrorStatus) == FALSE) return;

//解像度取得

//Visual C++はPaintBox1->Canvas->Handleをm_hDCに

if (PostKitGetDpiFromHdc(PaintBox1->Canvas->Handle, &DpiX, &DpiY, &ErrorStatus) == FALSE) return;

//バーコードイメージ取得

DibHandle = PostKitGetBarcodeImage(Barcode, RGB(0, 0, 0), RGB(255, 255, 255), 0, DpiX, DpiY, 10, &ErrorStatus);

//バーコードイメージ描画

//Visual C++はPaintBox1->Canvas->Handleをm_hDCに

PostKitDrawBarcodeImage(PaintBox1->Canvas->Handle, DibHandle, 0, 0, 0, 0, 0, FALSE, &ErrorStatus);

(2)Delphi

ErrorStatus: Smallint;

Barcode: array[0..127] of AnsiChar;

DpiX, DpiY: Longint;

DibHandle: THandle;

//バーコード文字列取得

if PostKitGetBarcodeString(DicInfo, '940-0015', '新潟県長岡市寿1-6-43', Barcode, ErrorStatus) = False then Exit;

//解像度取得

if PostKitGetDpiFromHdc(PaintBox1.Canvas.Handle, DpiX, DpiY, ErrorStatus) = False then Exit;

//バーコードイメージ取得

DibHandle := PostKitGetBarcodeImage(Barcode, RGB(0, 0, 0), RGB(255, 255, 255), 0, DpiX, DpiY, 10, ErrorStatus);

//バーコードイメージ描画

PostKitDrawBarcodeImage(PaintBox1.Canvas.Handle, DibHandle, 0, 0, 0, 0, 0, False, ErrorStatus);

(3)Visual Basic

Dim ErrorStatus As Integer

Dim Barcode As String * 128

Dim DpiX As Long, DpiY As Long

Dim DibHandle As Long

'バーコード文字列取得

If PostKitGetBarcodeString(DicInfo, "940-0015", "新潟県長岡市寿1-6-43", Barcode, ErrorStatus) = 0 Then Exit Sub

'解像度取得

If PostKitGetDpiFromHdc(Picture1.hDC, DpiX, DpiY, ErrorStatus) = 0 Then Exit Sub

'バーコードイメージ取得

DibHandle = PostKitGetBarcodeImage(Barcode, RGB(0, 0, 0), RGB(255, 255, 255), 0, DpiX, DpiY, 10, ErrorStatus)

'バーコードイメージ描画

PostKitDrawBarcodeImage Picture1.hDC, DibHandle, 0, 0, 0, 0, 0, FALSE, ErrorStatus


PostKitFind

【機能】

指定した項目で、郵便番号辞書を検索します。

【関数書式】

(1)C++Builder/Visual C++

long PostKitFind(PTR_POSTKIT_DICINFO DicInfo, short FindMode, short SubCode, PTR_POSTKIT_DATA PostData, short *ErrorStatus);

(2)Delphi

function PostKitFind(var DicInfo: POSTKIT_DICINFO; FindMode: Smallint; SubCode: Smallint; var PostData: POSTKIT_DATA; var ErrorStatus: Smallint): Longint;

(3)Visual Basic

Function PostKitFind(DicInfo As POSTKIT_DICINFO, ByVal FindMode As Integer, ByVal SubCode As Integer, PostData As POSTKIT_DATA, ErrorStatus As Integer) As Long

【引数】

名称 | 内容
DicInfo | PostKitOpenで取得した構造体変数
FindMode | 検索するデータの種類（0：一般、1：大口、2：全て）
SubCode | 郵便番号検索時の枝番の有無（0：含めない、1：含める）
PostData | 検索条件を設定する構造体変数
ErrorStatus | エラーの種類（詳しくはDLLコマンドリファレンスのページをご覧ください）

【戻り値】

検索条件に該当する件数を返します。（失敗や該当データがない場合は0）

【解説】

FindModeが0の場合は一般データのみ、1の場合は大口データのみ、2の場合は一般と大口データ両方が検索対象となります。SubCodeは郵便番号で検索する際に使用され、住所文字列だけによる検索時は無視されます。

予めPostKitOpen関数を実行しておく必要があります。

戻り値がFalse(0)の場合、ErrorStatusを参照してください。

検索条件（PostData）を複数設定した場合は、AND条件での検索となります。ただし、5桁郵便番号（PostDataのPostCode5）と7桁郵便番号（PostDataのPostCode7）を両方設定するとエラーとなります。大口事業所名（PostDataのOrgName）を設定する場合は、FindModeを1か2にする必要があります。

検索可能な項目：

PostDataのPostCode5,PostCode7,JisCode,PrefKana,PrefKanji,CityKana,CityKanji,TownKana,TownKanji,OrgName

DataType及びNoによる検索はできません。

コード例：

(1)C++Builder/Visual C++

short ErrorStatus;

POSTKIT_DATA PostData;

long Count;

// 郵便番号による検索

ZeroMemory(&PostData, sizof(POSTKIT_DATA));

lstrcpy(PostData.PostCode7, "940-0015"); //ハイフンはなくてもOK

Count = PostKitFind(&DicInfo, 0, 0, &PostData, &ErrorStatus);

// 住所文字列による検索

ZeroMemory(&PostData, sizof(POSTKIT_DATA));

lstrcpy(PostData.PrefKanji, "新潟県");

lstrcpy(PostData.CityKanji, "長岡市");

lstrcpy(PostData.TownKana, "ｺﾄﾌﾞｷ");

Count = PostKitFind(&DicInfo, 2, 0, &PostData, &ErrorStatus);

(2)Delphi

ErrorStatus: Smallint;

PostData: POSTKIT_DATA;

Count: Longint;

// 郵便番号による検索

FillChar(PostData, SizeOf(POSTKIT_DATA), 0);

StrPCopy(PostData.PostCode7, "940-0015"); //ハイフンはなくてもOK

Count := PostKitFind(DicInfo, 0, 0, PostData, ErrorStatus);

// 住所文字列による検索

FillChar(PostData, SizeOf(POSTKIT_DATA), 0);

StrPCopy(PostData.PrefKanji, "新潟県");

StrPCopy(PostData.CityKanji, "長岡市");

StrPCopy(PostData.TownKana, "ｺﾄﾌﾞｷ");

Count := PostKitFind(DicInfo, 2, 0, PostData, ErrorStatus);

(3)Visual Basic

Dim ErrorStatus As Integer

Dim PostData As POSTKIT_DATA

Dim Count As Long

' 郵便番号による検索

PostData.PostCode5 = Chr$(0)

PostData.PostCode7 = "940-0015" + Chr$(0) 'ハイフンはなくてもOK

PostData.PrefKana = Chr$(0)

PostData.PrefKanji = Chr$(0)

PostData.CityKana = Chr$(0)

PostData.CityKanji = Chr$(0)

PostData.TownKana = Chr$(0)

PostData.TownKanji = Chr$(0)

PostData.OrgName = Chr$(0)

Count = PostKitFind(DicInfo, 0, 0, PostData, ErrorStatus)

' 住所文字列による検索

PostData.PostCode5 = Chr$(0)

PostData.PostCode7 = Chr$(0)

PostData.PrefKana = Chr$(0)

PostData.PrefKanji = "新潟県" + Chr$(0)

PostData.CityKana = Chr$(0)

PostData.CityKanji = "長岡市" + Chr$(0)

PostData.TownKana = "ｺﾄﾌﾞｷ" + Chr$(0)

PostData.TownKanji = Chr$(0)

PostData.OrgName = Chr$(0)

Count = PostKitFind(DicInfo, 2, 0, PostData, ErrorStatus)

【PosｔKitとの違い】

製品 | 関数名 | 引数の並び
PK | PostKitFind | SubCode, PostCode, PostCode5, PostCode7, PrefName, CityName, TownName
PK3 | PostKitFind | DicInfo, FindMode, SubCode, PostData, ErrorStatus

PKのPostCode5,PostCode7,PrefName,CityName,TownNameは、PK3のPostDataのPostCode5,PostCode7,PrefKanji,
CityKanji,TownKanjiにあたります。


PostKitFindEx

【機能】

指定した項目で、郵便番号辞書を検索します。

【関数書式】

(1)C++Builder/Visual C++

long PostKitFindEx(PTR_POSTKIT_DICINFO DicInfo, short FindMode, short SubCode, short ExactMatch, PTR_POSTKIT_DATA PostData, short *ErrorStatus);

(2)Delphi

function PostKitFindEx(var DicInfo: POSTKIT_DICINFO; FindMode: Smallint; SubCode: Smallint; ExactMatch: Smallint; var PostData: POSTKIT_DATA; var ErrorStatus: Smallint): Longint;

(3)Visual Basic

Function PostKitFindEx(DicInfo As POSTKIT_DICINFO, ByVal FindMode As Integer, ByVal SubCode As Integer, ByVal ExactMatch As Integer, PostData As POSTKIT_DATA, ErrorStatus As Integer) As Long

【引数】

名称

内容

DicInfo

PostKitOpenで取得した構造体変数

FindMode

検索するデータの種類（0：一般、1：大口、2：全て）

SubCode

郵便番号検索時の枝番の有無（0：含めない、1：含める）

ExactMatch

文字列の検索方法（複数指定可）
 0：部分一致
 1：大口事業所名の完全一致
 2：町域名（カナ）の完全一致
 4：町域名（漢字）の完全一致
 8：市区町村名（カナ）の完全一致
16：市区町村名（漢字）の完全一致

PostData

検索条件を設定する構造体変数

ErrorStatus

エラーの種類（詳しくはDLLコマンドリファレンスのページをご覧ください）

【戻り値】

検索条件に該当する件数を返します。（失敗や該当データがない場合は0）

【解説】

FindModeが0の場合は一般データのみ、1の場合は大口データのみ、2の場合は一般と大口データ両方が検索対象となります。SubCodeは郵便番号で検索する際に使用され、住所文字列だけによる検索時は無視されます。

ExactMatchが0の場合はPostKitFind関数と同じ動作となります。複数設定する場合は|,or,Orを使用して組み合わせます。

ExactMatchは住所文字列による検索時に有効となります。部分一致で複数の検索結果が得られる場合は、町域名などを完全一致にして検索するとよいでしょう。郵便番号辞書の町域名に括弧が含まれるものがありますが、完全一致の場合でも検索は括弧の前までの文字列が対象となります。

予めPostKitOpen関数を実行しておく必要があります。

戻り値がFalse(0)の場合、ErrorStatusを参照してください。

検索条件（PostData）を複数設定した場合は、AND条件での検索となります。ただし、5桁郵便番号（PostDataのPostCode5）と7桁郵便番号（PostDataのPostCode7）を両方設定するとエラーとなります。大口事業所名（PostDataのOrgName）を設定する場合は、FindModeを1か2にする必要があります。

検索可能な項目：

PostDataのPostCode5,PostCode7,JisCode,PrefKana,PrefKanji,CityKana,CityKanji,TownKana,TownKanji,OrgName

DataType及びNoによる検索はできません。

コード例：

(1)C++Builder/Visual C++

short ErrorStatus;

POSTKIT_DATA PostData;

long Count;

// 郵便番号による検索

ZeroMemory(&PostData, sizof(POSTKIT_DATA));

lstrcpy(PostData.PostCode7, "940-0015"); //ハイフンはなくてもOK

Count = PostKitFindEx(&DicInfo, 0, 0, 0, &PostData, &ErrorStatus);

// 住所文字列による検索

ZeroMemory(&PostData, sizof(POSTKIT_DATA));

lstrcpy(PostData.PrefKanji, "新潟県");

lstrcpy(PostData.CityKanji, "長岡市");

lstrcpy(PostData.TownKana, "ｺﾄﾌﾞｷ");

Count = PostKitFind(&DicInfo, 2, 0, 2 | 16, &PostData, &ErrorStatus);

(2)Delphi

ErrorStatus: Smallint;

PostData: POSTKIT_DATA;

Count: Longint;

// 郵便番号による検索

FillChar(PostData, SizeOf(POSTKIT_DATA), 0);

StrPCopy(PostData.PostCode7, "940-0015"); //ハイフンはなくてもOK

Count := PostKitFind(DicInfo, 0, 0, 0, PostData, ErrorStatus);

// 住所文字列による検索

FillChar(PostData, SizeOf(POSTKIT_DATA), 0);

StrPCopy(PostData.PrefKanji, "新潟県");

StrPCopy(PostData.CityKanji, "長岡市");

StrPCopy(PostData.TownKana, "ｺﾄﾌﾞｷ");

Count := PostKitFind(DicInfo, 2, 0, 2 or 16, PostData, ErrorStatus);

(3)Visual Basic

Dim ErrorStatus As Integer

Dim PostData As POSTKIT_DATA

Dim Count As Long

' 郵便番号による検索

PostData.PostCode5 = Chr$(0)

PostData.PostCode7 = "940-0015" + Chr$(0) 'ハイフンはなくてもOK

PostData.PrefKana = Chr$(0)

PostData.PrefKanji = Chr$(0)

PostData.CityKana = Chr$(0)

PostData.CityKanji = Chr$(0)

PostData.TownKana = Chr$(0)

PostData.TownKanji = Chr$(0)

PostData.OrgName = Chr$(0)

Count = PostKitFind(DicInfo, 0, 0, 0, PostData, ErrorStatus)

' 住所文字列による検索

PostData.PostCode5 = Chr$(0)

PostData.PostCode7 = Chr$(0)

PostData.PrefKana = Chr$(0)

PostData.PrefKanji = "新潟県" + Chr$(0)

PostData.CityKana = Chr$(0)

PostData.CityKanji = "長岡市" + Chr$(0)

PostData.TownKana = "ｺﾄﾌﾞｷ" + Chr$(0)

PostData.TownKanji = Chr$(0)

PostData.OrgName = Chr$(0)

Count = PostKitFind(DicInfo, 2, 0, 2 Or 16, PostData, ErrorStatus)


PostKitFreeBarcodeImage

【機能】

カスタマーバーコード画像を解放します。

【関数書式】

(1)C++Builder/Visual C++

BOOL PostKitFreeBarcodeImage(HANDLE Handle);

(2)Delphi

function PostKitFreeBarcodeImage(Handle: THandle): LongBool;

(3)Visual Basic

Function PostKitFreeBarcodeImage(ByVal Handle As Long) As Long

【引数】

名称 | 内容
Handle | PostKitGetBarcodeImageで取得したメモリハンドル

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

使用可能なメモリサイズには限りがありますので、適宜不要になった画像のメモリを解放してください。

また、メモリの2重解放を防ぐため、関数実行後引数のHandleに0を設定するようにしてください。

Visual Basicの例：

If PostKitFreeBarcodeImage(Handle) <> 0 Then

Handle = 0

End If


PostKitGetBarcodeImage

【機能】

カスタマーバーコード画像を取得します。

【関数書式】

(1)C++Builder/Visual C++

HANDLE PostKitGetBarcodeImage(LPCSTR Barcode, COLORREF ForeColor, COLORREF BackColor, short RotateType, long DpiX, long DpiY, double BarPoint, short *ErrorStatus);

(2)Delphi

function PostKitGetBarcodeImage(Barcode: PAnsiChar; ForeColor: COLORREF; BackColor: COLORREF; RotateType: Smallint; DpiX: Longint; DpiY: Longint; BarPoint: Double; var ErrorStatus: Smallint): THandle;

(3)Visual Basic

Function PostKitGetBarcodeImage(ByVal Barcode As String, ByVal ForeColor As Long, ByVal BackColor As Long, ByVal RotateType As Integer, ByVal DpiX As Long, ByVal DpiY As Long, ByVal BarPoint As Double, ErrorStatus As Integer) As Long

【引数】

名称 | 内容
Barcode | PostKitGetBarcodeStringで取得した文字列、もしくは独自に作成した文字列
ForeColor | バーコード画像のバーの色
BackColor | バーコード画像の背景色
RotateType | バーコード画像の回転方向（0：回転なし、1：左90度、2：左180度、3：左270度）
DpiX | X（横）方向の解像度（1インチあたりのピクセル数）
DpiY | Y（縦）方向の解像度（1インチあたりのピクセル数）
BarPoint | バーコードのポイント数（8～20）
ErrorStatus | エラーの種類（詳しくはDLLコマンドリファレンスのページをご覧ください）

【戻り値】

カスタマーバーコード画像のメモリハンドル（実行に失敗した場合は、0が返されます）

【解説】

大口事業所や私書箱の個別番号が設定されている事業所などの場合は7桁郵便番号からハイフンを除いた文字列をBarcodeに与え、それ以外はPostKitGetBarcodeString関数にて取得した文字列を与えてください。

独自に作成した文字列を与える場合：

1.大口事業所、私書箱の個別番号の場合

例：個別番号が100-8798の場合はBarcode="1008798"となる

2.私書箱郵便物の包括番号の場合

例：私書箱包括番号が980-8691で私書箱番号が215の場合はBarcode="9808691215"となる

3.料金受取人払いの個別番号などの場合

ForeColor,BackColorにはRGB（Red,Green,Blue）の戻り値を与えます。

RotateTypeは作成したバーコード画像の回転方向を表します。回転は反時計周りを基準にします。

DpiX,DpiYには出力するスクリーンもしくはプリンタの解像度を与えてください。解像度はPostKitGetDpiFromHdc関数を使用して描画対象となるデバイスコンテキストから取得可能です。

BarPointは8.5から11ポイント相当が推奨値で、デフォルトは10ポイントです。設定値により、バーの幅と高さ、バースペースが変わります。

戻り値がFalse(0)の場合、ErrorStatusを参照してください。

コード例：

(1)C++Builder/Visual C++

short ErrorStatus;

char Barcode[128];

long DpiX, DpiY;

HANDLE DibHandle;

//バーコード文字列取得

if (PostKitGetBarcodeString(&DicInfo, "940-0015", "新潟県長岡市寿1-6-43", Barcode, &ErrorStatus) == FALSE) return;

//解像度取得

//Visual C++はPaintBox1->Canvas->Handleをm_hDCに

if (PostKitGetDpiFromHdc(PaintBox1->Canvas->Handle, &DpiX, &DpiY, &ErrorStatus) == FALSE) return;

//バーコードイメージ取得

DibHandle = PostKitGetBarcodeImage(Barcode, RGB(0, 0, 0), RGB(255, 255, 255), 0, DpiX, DpiY, 10, &ErrorStatus);

//バーコードイメージ描画

//Visual C++はPaintBox1->Canvas->Handleをm_hDCに

PostKitDrawBarcodeImage(PaintBox1->Canvas->Handle, DibHandle, 0, 0, 0, 0, 0, FALSE, &ErrorStatus);

(2)Delphi

ErrorStatus: Smallint;

Barcode: array[0..127] of AnsiChar;

DpiX, DpiY: Longint;

DibHandle: THandle;

//バーコード文字列取得

if PostKitGetBarcodeString(DicInfo, '940-0015', '新潟県長岡市寿1-6-43', Barcode, ErrorStatus) = False then Exit;

//解像度取得

if PostKitGetDpiFromHdc(PaintBox1.Canvas.Handle, DpiX, DpiY, ErrorStatus) = False then Exit;

//バーコードイメージ取得

DibHandle := PostKitGetBarcodeImage(Barcode, RGB(0, 0, 0), RGB(255, 255, 255), 0, DpiX, DpiY, 10, ErrorStatus);

//バーコードイメージ描画

PostKitDrawBarcodeImage(PaintBox1.Canvas.Handle, DibHandle, 0, 0, 0, 0, 0, False, ErrorStatus);

(3)Visual Basic

Dim ErrorStatus As Integer

Dim Barcode As String * 128

Dim DpiX As Long, DpiY As Long

Dim DibHandle As Long

'バーコード文字列取得

If PostKitGetBarcodeString(DicInfo, "940-0015", "新潟県長岡市寿1-6-43", Barcode, ErrorStatus) = 0 Then Exit Sub

'解像度取得

If PostKitGetDpiFromHdc(Picture1.hDC, DpiX, DpiY, ErrorStatus) = 0 Then Exit Sub

'バーコードイメージ取得

DibHandle = PostKitGetBarcodeImage(Barcode, RGB(0, 0, 0), RGB(255, 255, 255), 0, DpiX, DpiY, 10, ErrorStatus)

'バーコードイメージ描画

PostKitDrawBarcodeImage Picture1.hDC, DibHandle, 0, 0, 0, 0, 0, FALSE, ErrorStatus


PostKitGetBarcodeString

【機能】

カスタマーバーコード文字列を取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL PostKitGetBarcodeString(PTR_POSTKIT_DICINFO DicInfo, LPCSTR PostCode7, LPCSTR Address, LPSTR Barcode, short *ErrorStatus);

(2)Delphi

function PostKitGetBarcodeString(var DicInfo: POSTKIT_DICINFO; PostCode7: PAnsiChar; Address: PAnsiChar; Barcode: PAnsiChar; var ErrorStatus: Smallint): LongBool;

(3)Visual Basic

Function PostKitGetBarcodeString(DicInfo As POSTKIT_DICINFO, ByVal PostCode7 As String, ByVal Address As String, ByVal Barcode As String, ErrorStatus As Integer) As Long

【引数】

名称 | 内容
DicInfo | PostKitOpenで取得した構造体変数
PostCode7 | 7桁郵便番号
Address | 住所文字列（漢字）
Barcode | 取得するカスタマーバーコード文字列
ErrorStatus | エラーの種類（詳しくはDLLコマンドリファレンスのページをご覧ください）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

PostCode7に空文字列やヌルを与えると、正しいバーコード文字列が取得できない場合がありますので、必ず7桁郵便番号を与えてください。郵便番号間のハイフンはあってもなくてもどちらでも構いません。

Addressに通称を与えると正しいバーコード文字列が取得できませんので、正式名称を与えてください。

Addressに設定された住所文字列に含まれる町域名と郵便番号辞書の町域名が異なる場合は、ErrorStatusに13が設定されますが、PostCode7に7桁郵便番号が設定されている場合はカスタマーバーコード文字列が生成されます。

Barcodeのバッファのサイズは21以上にしてください

予めPostKitOpen関数を実行しておく必要があります。

戻り値がFalse(0)の場合、ErrorStatusを参照してください。

注意：

住所文字列内の漢数字の取り扱いについては、"丁目"・"丁"・"番地"・"番"・"号"・"地割"・"線"・"の"・"ノ"の前にある場合が抜き出し対象となります。対応する漢数字は、"〇","一","二","三","四","五","六","七","八","九","十","百","千"です。ただし、算用数字と漢数字が混ざっている場合は正しく抜き出すことができません。

大口事業所や私書箱の個別番号が設定されている事業所などの場合は、カスタマーバーコード画像を作成する際に決められた文字列を設定するため、当関数を使用する必要はありません。また、7桁郵便番号の6桁目と7桁目が0の場合はカスタマーバーコードを付番しないため、空文字列が返されます。詳しくはカスタマーバーコードに関する資料などをご覧ください。

コード例：

(1)C++Builder/Visual C++

short ErrorStatus;

char Barcode[128];

long DpiX, DpiY;

HANDLE DibHandle;

//バーコード文字列取得

if (PostKitGetBarcodeString(&DicInfo, "940-0015", "新潟県長岡市寿1-6-43", Barcode, &ErrorStatus) == FALSE) return;

//解像度取得

//Visual C++はPaintBox1->Canvas->Handleをm_hDCに

if (PostKitGetDpiFromHdc(PaintBox1->Canvas->Handle, &DpiX, &DpiY, &ErrorStatus) == FALSE) return;

//バーコードイメージ取得

DibHandle = PostKitGetBarcodeImage(Barcode, RGB(0, 0, 0), RGB(255, 255, 255), 0, DpiX, DpiY, 10, &ErrorStatus);

//バーコードイメージ描画

//Visual C++はPaintBox1->Canvas->Handleをm_hDCに

PostKitDrawBarcodeImage(PaintBox1->Canvas->Handle, DibHandle, 0, 0, 0, 0, 0, FALSE, &ErrorStatus);

(2)Delphi

ErrorStatus: Smallint;

Barcode: array[0..127] of AnsiChar;

DpiX, DpiY: Longint;

DibHandle: THandle;

//バーコード文字列取得

if PostKitGetBarcodeString(DicInfo, '940-0015', '新潟県長岡市寿1-6-43', Barcode, ErrorStatus) = False then Exit;

//解像度取得

if PostKitGetDpiFromHdc(PaintBox1.Canvas.Handle, DpiX, DpiY, ErrorStatus) = False then Exit;

//バーコードイメージ取得

DibHandle := PostKitGetBarcodeImage(Barcode, RGB(0, 0, 0), RGB(255, 255, 255), 0, DpiX, DpiY, 10, ErrorStatus);

//バーコードイメージ描画

PostKitDrawBarcodeImage(PaintBox1.Canvas.Handle, DibHandle, 0, 0, 0, 0, 0, False, ErrorStatus);

(3)Visual Basic

Dim ErrorStatus As Integer

Dim Barcode As String * 128

Dim DpiX As Long, DpiY As Long

Dim DibHandle As Long

'バーコード文字列取得

If PostKitGetBarcodeString(DicInfo, "940-0015", "新潟県長岡市寿1-6-43", Barcode, ErrorStatus) = 0 Then Exit Sub

'解像度取得

If PostKitGetDpiFromHdc(Picture1.hDC, DpiX, DpiY, ErrorStatus) = 0 Then Exit Sub

'バーコードイメージ取得

DibHandle = PostKitGetBarcodeImage(Barcode, RGB(0, 0, 0), RGB(255, 255, 255), 0, DpiX, DpiY, 10, ErrorStatus)

'バーコードイメージ描画

PostKitDrawBarcodeImage Picture1.hDC, DibHandle, 0, 0, 0, 0, 0, FALSE, ErrorStatus


PostKitGetDpiFromHdc

【機能】

デバイスコンテキストから解像度を取得します。

【関数書式】

(1)C++Builder/Visual C++

BOOL PostKitGetDpiFromHdc(HDC hDC, long *DpiX, long *DpiY, short *ErrorStatus);

(2)Delphi

function PostKitGetDpiFromHdc(hDC: HDC; var DpiX: Longint; var DpiY: Longint; var ErrorStatus: Smallint): LongBool;

(3)Visual Basic

Function PostKitGetDpiFromHdc(ByVal hDC As Long, DpiX As Long, DpiY As Long, ErrorStatus As Integer) As Long

【引数】

名称 | 内容
ｈDC | デバイスコンテキスト
DpiX | 取得するX（横）方向の解像度（1インチあたりのピクセル数）
DpiY | 取得するY（縦）方向の解像度（1インチあたりのピクセル数）
ErrorStatus | エラーの種類（詳しくはDLLコマンドリファレンスのページをご覧ください）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

戻り値がFalse(0)の場合、ErrorStatusを参照してください。

コード例：

(1)C++Builder/Visual C++

short ErrorStatus;

char Barcode[128];

long DpiX, DpiY;

HANDLE DibHandle;

//バーコード文字列取得

if (PostKitGetBarcodeString(&DicInfo, "940-0015", "新潟県長岡市寿1-6-43", Barcode, &ErrorStatus) == FALSE) return;

//解像度取得

//Visual C++はPaintBox1->Canvas->Handleをm_hDCに

if (PostKitGetDpiFromHdc(PaintBox1->Canvas->Handle, &DpiX, &DpiY, &ErrorStatus) == FALSE) return;

//バーコードイメージ取得

DibHandle = PostKitGetBarcodeImage(Barcode, RGB(0, 0, 0), RGB(255, 255, 255), 0, DpiX, DpiY, 10, &ErrorStatus);

//バーコードイメージ描画

//Visual C++はPaintBox1->Canvas->Handleをm_hDCに

PostKitDrawBarcodeImage(PaintBox1->Canvas->Handle, DibHandle, 0, 0, 0, 0, 0, FALSE, &ErrorStatus);

(2)Delphi

ErrorStatus: Smallint;

Barcode: array[0..127] of AnsiChar;

DpiX, DpiY: Longint;

DibHandle: THandle;

//バーコード文字列取得

if PostKitGetBarcodeString(DicInfo, '940-0015', '新潟県長岡市寿1-6-43', Barcode, ErrorStatus) = False then Exit;

//解像度取得

if PostKitGetDpiFromHdc(PaintBox1.Canvas.Handle, DpiX, DpiY, ErrorStatus) = False then Exit;

//バーコードイメージ取得

DibHandle := PostKitGetBarcodeImage(Barcode, RGB(0, 0, 0), RGB(255, 255, 255), 0, DpiX, DpiY, 10, ErrorStatus);

//バーコードイメージ描画

PostKitDrawBarcodeImage(PaintBox1.Canvas.Handle, DibHandle, 0, 0, 0, 0, 0, False, ErrorStatus);

(3)Visual Basic

Dim ErrorStatus As Integer

Dim Barcode As String * 128

Dim DpiX As Long, DpiY As Long

Dim DibHandle As Long

'バーコード文字列取得

If PostKitGetBarcodeString(DicInfo, "940-0015", "新潟県長岡市寿1-6-43", Barcode, ErrorStatus) = 0 Then Exit Sub

'解像度取得

If PostKitGetDpiFromHdc(Picture1.hDC, DpiX, DpiY, ErrorStatus) = 0 Then Exit Sub

'バーコードイメージ取得

DibHandle = PostKitGetBarcodeImage(Barcode, RGB(0, 0, 0), RGB(255, 255, 255), 0, DpiX, DpiY, 10, ErrorStatus)

'バーコードイメージ描画

PostKitDrawBarcodeImage Picture1.hDC, DibHandle, 0, 0, 0, 0, 0, FALSE, ErrorStatus


PostKitOpen

【機能】

郵便番号辞書をオープンします。

【関数書式】

(1)C++Builder/Visual C++

BOOL PostKitOpen(LPCSTR DicPath, PTR_POSTKIT_DICINFO DicInfo, short *ErrorStatus);

(2)Delphi

function PostKitClose(DicPath: PAnsiChar; var DicInfo: POSTKIT_DICINFO; var ErrorStatus: Smallint): LongBool;

(3)Visual Basic

Function PostKitOpen(ByVal DicPath As String, DicInfo As POSTKIT_DICINFO, ErrorStatus As Integer) As Long

【引数】

名称 | 内容
DicPath | 郵便番号辞書ファイルが存在するパス
DicInfo | 辞書情報を格納する構造体変数
ErrorStatus | エラーの種類（詳しくはDLLコマンドリファレンスのページをご覧ください）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

PostKitClose関数と対で使用してください。

DicInfoはPostKitClose関数で辞書をクローズするまで有効となりますので、その間保持する必要があります。

戻り値がFalse(0)の場合、ErrorStatusを参照してください。

【PosｔKitとの違い】

引数が2つ追加されました。

製品 | 関数名 | 引数の並び
PK | PostKitOpen | DicPath
PK3 | PostKitOpen | DicPath, DicInfo, ErrorStatus


PostKitRead

【機能】

検索された結果を1件分読み取ります。

【関数書式】

(1)C++Builder/Visual C++

BOOL PostKitRead(PTR_POSTKIT_DICINFO DicInfo, long Index, BOOL Hyphen, short KanaType, PTR_POSTKIT_DATA PostData, short *ErrorStatus);

(2)Delphi

function PostKitRead(var DicInfo: POSTKIT_DICINFO;
 Index: Longint; Hyphen: LongBool; KanaType: Smallint; var PostData: POSTKIT_DATA;
 var ErrorStatus: Smallint): LongBool;

(3)Visual Basic

Function PostKitRead(DicInfo As POSTKIT_DICINFO, ByVal Index As Long, ByVal Hyphen As Long, ByVal KanaType As Integer, PostData As POSTKIT_DATA, ErrorStatus As Integer) As Long

【引数】

名称 | 内容
DicInfo | PostKitOpenで取得した構造体変数
Index | 検索結果を読み取るインデックス（0～）
Hyphen | 郵便番号のハイフン設定 [ False(0):取得する郵便番号にハイフンを含めない、True(0以外)：含める ]
KanaType | 取得するカナの種類（0：半角カナ、1：全角カナ、2：ひらがな）
PostData | 読み取り結果を格納する構造体変数
ErrorStatus | エラーの種類（詳しくはDLLコマンドリファレンスのページをご覧ください）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Indexには0からPostKitFind関数の戻り値-1の範囲の値を与えてください。

Hyphenは取得する郵便番号の3桁目と4桁目の間にハイフンを挿入するかどうかの設定です。（対象はPostDataのPostCode5とPostCode7）

KanaTypeはPostDataのPrefKana,CityKana,TownKanaに設定されるカナの種類を表します。

成功した場合、PostDataのメンバ変数に値が設定されます。

PostDataのNoとOrgNameは読み取ったデータが大口事業所の場合に設定されます。一般の場合は、何も設定されません。予めPostKitFind関数を実行しておく必要があります。

戻り値がFalse(0)の場合、ErrorStatusを参照してください。

コード例：

(1)C++Builder/Visual C++

short ErrorStatus;

POSTKIT_DATA PostData;

long Count, i;

Count = PostKitFind(&DicInfo, 0, 0, &PostData, &ErrorStatus);

for (i = 0; i < Count; i++)

{

if (PostKitRead(&DicInfo, i, TRUE, 0, &PostData, &ErrorStatus) == FALSE) break;

// 様々な処理

}

(2)Delphi

ErrorStatus: Smallint;

PostData: POSTKIT_DATA;

Count, i: Longint;

Count := PostKitFind(DicInfo, 0, 0, PostData, ErrorStatus);

for i := 0 to Count - 1 do

begin

if PostKitRead(DicInfo, i, True, 0, PostData, ErrorStatus) = False then Break;

// 様々な処理

end;

(3)Visual Basic

Dim ErrorStatus As Integer

Dim PostData As POSTKIT_DATA

Dim Count As Long, i As Long

Count = PostKitFind(DicInfo, 0, 0, PostData, ErrorStatus)

For i = 0 To Count - 1

If PostKitRead(DicInfo, i, True, 0, PostData, ErrorStatus) = 0 Then Exit For

' 様々な処理

Next i

【PosｔKitとの違い】

製品 | 関数名 | 引数の並び
PK | PostKitRead | PostCode5, PostCode7, PrefName, CityName, TownName
PK3 | PostKitRead | DicInfo, Index, Hyphen, KanaType, PostData, ErrorStatus

PKのPostCode5,PostCode7,PrefName,CityName,TownNameは、PK3のPostDataのPostCode5,PostCode7,PrefKanji,CityKanji,
TownKanjiにあたります。


PostKitReadDialog

【機能】

検索された結果を読み取り、その内容をダイアログボックスに表示します。

【関数書式】

(1)C++Builder/Visual C++

BOOL PostKitReadDialog(PTR_POSTKIT_DICINFO DicInfo, HWND WndHandle, short DlgPosition, LPCSTR DlgTitle, short PostCode, BOOL Hyphen, short KanaType, PTR_POSTKIT_DATA PostData, short *ErrorStatus);

(2)Delphi

function PostKitReadDialog(var DicInfo: POSTKIT_DICINFO; WndHandle: HWND; DlgPosition: Smallint; DlgTitle: PAnsiChar; PostCode: Smallint; Hyphen: LongBool; KanaType: Smallint; var PostData: POSTKIT_DATA; var ErrorStatus: Smallint): LongBool;

(3)Visual Basic

Function PostKitReadDialog(DicInfo As POSTKIT_DICINFO, ByVal WndHandle As Long, ByVal DlgPosition As Integer, ByVal DlgTitle As String, ByVal PostCode As Integer, ByVal Hyphen As Long, ByVal KanaType As Integer, PostData As POSTKIT_DATA, ErrorStatus As Integer) As Long

【引数】

名称 | 内容
DicInfo | PostKitOpenで取得した構造体変数
WndHandle | 呼び出し先ウィンドウのウィンドウハンドル
DlgPosition | ダイアログボックスの表示位置（0：左上、1：上、2：右上、3：左、4：中央、5：右、6：左下、7：下、8：右下）
DlgTitle | ダイアログボックスのキャプション
PostCode | ダイアログボックスに表示する郵便番号（0：5桁郵便番号、1：7桁郵便番号）
Hyphen | 郵便番号のハイフン設定 [ False(0):取得する郵便番号にハイフンを含めない、True(0以外)：含める ]
KanaType | 取得するカナの種類（0：半角カナ、1：全角カナ、2：ひらがな）
PostData | 読み取り結果を格納する構造体変数
ErrorStatus | エラーの種類（詳しくはDLLコマンドリファレンスのページをご覧ください）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

OKボタンを選択もしくは該当項目でマウスをダブルクリックした場合は成功となり、キャンセルボタンを選択した場合は失敗を表す値を返します。

【解説】

Hyphenは取得する郵便番号の3桁目と4桁目の間にハイフンを挿入するかどうかの設定です。（対象はPostDataのPostCode5とPostCode7）

KanaTypeはPostDataのPrefKana,CityKana,TownKanaに設定されるカナの種類を表します。

成功した場合、PostDataのメンバ変数に値が設定されます。PostDataのNoとOrgNameは読み取ったデータが大口事業所の場合に設定されます。一般の場合は、何も設定されません。

予めPostKitFind関数を実行しておく必要があります。

検索した結果の件数が1000件を越える場合は、1000件で読み込みを強制的に中止してダイアログを表示します。

戻り値がFalse(0)の場合、ErrorStatusを参照してください。

コード例：

(1)C++Builder/Visual C++

short ErrorStatus;

POSTKIT_DATA PostData;

long Count;

BOOL Ret;

Count = PostKitFind(&DicInfo, 0, 0, &PostData, &ErrorStatus);

if (Count == 0) return;

// Visual C++はForm1->Handleをm_hWndに

Ret = PostKitReadDialog(&DicInfo, Form1->Handle, 4, "検索結果", 1, TRUE, 0, &PostData, &ErrorStatus);

(2)Delphi

ErrorStatus: Smallint;

PostData: POSTKIT_DATA;

Count: Longint;

Ret: LongBool;

Count := PostKitFind(DicInfo, 0, 0, PostData, ErrorStatus);

if Count = 0 then Exit;

Ret := PostKitReadDialog(DicInfo, Form1.Handle, 4, '検索結果', 1, True, 0, PostData, ErrorStatus);

(3)Visual Basic

Dim ErrorStatus As Integer

Dim PostData As POSTKIT_DATA

Dim Count As Long, Ret As Long

Count = PostKitFind(DicInfo, 0, 0, PostData, ErrorStatus)

If Count = 0 Then Exit Sub

Ret = PostKitReadDialog(DicInfo, Form1.hWnd, 4, "検索結果", 1, 1, 0, PostData, ErrorStatus)

【PosｔKitとの違い】

製品 | 関数名 | 引数の並び
PK | PostKitReadDialog | WndHandle, DlgPosition, PostCode5, PostCode7, PrefName, CityName, TownName, DlgTitle
PK3 | PostKitReadDialog | DicInfo, WndHandle, DlgPosition, DlgTitle, PostCode, Hyphen, KanaType, PostData, ErrorStatus

PKのPostCode5,PostCode7,PrefName,CityName,TownNameは、PK3のPostDataのPostCode5,PostCode7,PrefKanji,
CityKanji,TownKanjiにあたります。


PostKitSaveBarcodeImage

【機能】

カスタマーバーコード画像をファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL PostKitSaveBarcodeImage(HANDLE Handle, LPCSTR FileName, short FileType, short *ErrorStatus);

(2)Delphi

function PostKitSaveBarcodeImage(Handle: THandle; FileName: PAnsiChar; FileType: Smallint; var ErrorStatus: Smallint): LongBool;

(3)Visual Basic

Function PostKitSaveBarcodeImage(ByVal Handle As Long, ByVal FileName As String, ByVal FileType As Integer, ErrorStatus As Integer) As Long

【引数】

名称 | 内容
Handle | PostKitGetBarcodeImageで取得したメモリハンドル
FileName | 保存するファイル名
FileType | 保存するファイルタイプ（0：BMP形式、1：PNG形式）
ErrorStatus | エラーの種類（詳しくはDLLコマンドリファレンスのページをご覧ください）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

予めPostKitGetBarcodeImage関数を実行しておく必要があります。

戻り値がFalse(0)の場合、ErrorStatusを参照してください。

コード例：

(1)C++Builder/Visual C++

short ErrorStatus;

char Barcode[128];

long DpiX, DpiY;

HANDLE DibHandle;

//バーコード文字列取得

if (PostKitGetBarcodeString(&DicInfo, "940-0015", "新潟県長岡市寿1-6-43", Barcode, &ErrorStatus) == FALSE) return;

//解像度取得

//Visual C++はPaintBox1->Canvas->Handleをm_hDCに

if (PostKitGetDpiFromHdc(PaintBox1->Canvas->Handle, &DpiX, &DpiY, &ErrorStatus) == FALSE) return;

//バーコードイメージ取得

DibHandle = PostKitGetBarcodeImage(Barcode, RGB(0, 0, 0), RGB(255, 255, 255), 0, DpiX, DpiY, 10, &ErrorStatus);

//バーコードイメージ保存

PostKitSaveBarcodeImage(DibHandle, "C:\\Image\\Barcode.bmp", 0, &ErrorStatus);

(2)Delphi

ErrorStatus: Smallint;

Barcode: array[0..127] of AnsiChar;

DpiX, DpiY: Longint;

DibHandle: THandle;

//バーコード文字列取得

if PostKitGetBarcodeString(DicInfo, '940-0015', '新潟県長岡市寿1-6-43', Barcode, ErrorStatus) = False then Exit;

//解像度取得

if PostKitGetDpiFromHdc(PaintBox1.Canvas.Handle, DpiX, DpiY, ErrorStatus) = False then Exit;

//バーコードイメージ取得

DibHandle := PostKitGetBarcodeImage(Barcode, RGB(0, 0, 0), RGB(255, 255, 255), 0, DpiX, DpiY, 10, ErrorStatus);

//バーコードイメージ保存

PostKitSaveBarcodeImage(DibHandle, 'C:\Image\Barcode.bmp', 0, ErrorStatus);

(3)Visual Basic

Dim ErrorStatus As Integer

Dim Barcode As String * 128

Dim DpiX As Long, DpiY As Long

Dim DibHandle As Long

'バーコード文字列取得

If PostKitGetBarcodeString(DicInfo, "940-0015", "新潟県長岡市寿1-6-43", Barcode, ErrorStatus) = 0 Then Exit Sub

'解像度取得

If PostKitGetDpiFromHdc(Picture1.hDC, DpiX, DpiY, ErrorStatus) = 0 Then Exit Sub

'バーコードイメージ取得

DibHandle = PostKitGetBarcodeImage(Barcode, RGB(0, 0, 0), RGB(255, 255, 255), 0, DpiX, DpiY, 10, ErrorStatus)

'バーコードイメージ保存

PostKitSaveBarcodeImage DibHandle, "C:\Image\Barcode.bmp", 0, ErrorStatus


PostKitSaveToXml

【機能】

検索結果をXML形式でファイルに保存します。

【関数書式】

(1)C++Builder/Visual C++

BOOL PostKitSaveToXml(PTR_POSTKIT_DICINFO DicInfo, LPCSTR FileName, BOOL Encoding, short Indentation, BOOL Hyphen, short KanaType, short *ErrorStatus);

(2)Delphi

function PostKitSaveToXml(var DicInfo: POSTKIT_DICINFO; FileName: PAnsiChar; Encoding: LongBool; Indentation: Smallint; Hyphen: LongBool; KanaType: Smallint; var ErrorStatus: Smallint): LongBool;

(3)Visual Basic

Function PostKitSaveToXml(DicInfo As POSTKIT_DICINFO, ByVal FileName As String, ByVal Encoding As Long, ByVal Indentation As Integer, ByVal Hyphen As Long, ByVal KanaType As Integer, ErrorStatus As Integer) As Long

【引数】

名称 | 内容
DicInfo | PostKitOpenで取得した構造体変数
FileName | 保存するファイル名
Encoding | エンコーディング形式 [ False(0):シフトJIS、True(0以外)：Unicode(utf-16) ]
Indentation | 階層構造のレベルごとに書き込む空白の数（インデント）
Hyphen | 郵便番号のハイフン設定 [ False(0):出力する郵便番号にハイフンを含めない、True(0以外)：含める ]
KanaType | 出力するカナの種類（0：半角カナ、1：全角カナ、2：ひらがな）
ErrorStatus | エラーの種類（詳しくはDLLコマンドリファレンスのページをご覧ください）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Hyphenは出力する郵便番号の3桁目と4桁目の間にハイフンを挿入するかどうかの設定です。（対象は属性の名称がPostCode5とPostCode7）

KanaTypeは属性の名称がPrefKana,CityKana,TownKanaで出力される値のカナの種類を表します。

予めPostKitFind関数を実行しておく必要があります。

検索した結果の件数が1000件を越える場合は、1001件目以降を除いて最初から1000件のみXMLに出力します。その場合、PostKitFind関数の戻り値がFindタグ(例：<Find Count = "5">)に設定されるため、検索結果が1000件以上の場合は属性値と実際に出力される件数（1000）は異なります。

戻り値がFalse(0)の場合、ErrorStatusを参照してください。

コード例：

(1)C++Builder/Visual C++

short ErrorStatus;

POSTKIT_DATA PostData;

long Count;

BOOL Ret;

Count = PostKitFind(&DicInfo, 0, 0, &PostData, &ErrorStatus);

if (Count == 0) return;

Ret = PostKitSaveToXml(&DicInfo, "C:\\Xml\\Find.xml", FALSE, 2, FALSE, 0, &ErrorStatus);

(2)Delphi

ErrorStatus: Smallint;

PostData: POSTKIT_DATA;

Count: Longint;

Ret: LongBool;

Count := PostKitFind(DicInfo, 0, 0, PostData, ErrorStatus);

if Count = 0 then Exit;

Ret := PostKitSaveToXml(DicInfo, 'C:\Xml\Find.xml', False, 2, False, 0, ErrorStatus);

(3)Visual Basic

Dim ErrorStatus As Integer

Dim PostData As POSTKIT_DATA

Dim Count As Long, Ret As Long

Count = PostKitFind(DicInfo, 0, 0, PostData, ErrorStatus)

If Count = 0 Then Exit Sub

Ret = PostKitSaveToXml(DicInfo, "C:\Xml\Find.xml", 0, 2, 0, 0, ErrorStatus)

検索結果の値は、次のように出力されます。

XMLファイルを閲覧するためには、Internet Explorerのバージョン5以降が必要です。

都道府県名：新潟県/市町村名：長岡市/町域名：新町で検索し、Unicode形式で出力した例：

  <?xml version="1.0" encoding="utf-16" ?>

- <PostKit3>

- <Find Count="5">

  <Data PostCode5="940" PostCode7="9400022" JisCode="15202" PrefKana="ﾆｲｶﾞﾀｹﾝ" PrefKanji="新潟県" CityKana="ﾅｶﾞｵｶｼ" CityKanji="長岡市" TownKana="ﾋｶﾞｼｱﾗﾏﾁ" TownKanji="東新町" No="" OrgName="" />

  <Data PostCode5="940" PostCode7="9400023" JisCode="15202" PrefKana="ﾆｲｶﾞﾀｹﾝ" PrefKanji="新潟県" CityKana="ﾅｶﾞｵｶｼ" CityKanji="長岡市" TownKana="ｱﾗﾏﾁ" TownKanji="新町" No="" OrgName="" />

  <Data PostCode5="940" PostCode7="9400024" JisCode="15202" PrefKana="ﾆｲｶﾞﾀｹﾝ" PrefKanji="新潟県" CityKana="ﾅｶﾞｵｶｼ" CityKanji="長岡市" TownKana="ﾆｼｱﾗﾏﾁ" TownKanji="西新町" No="" OrgName="" />

  <Data PostCode5="94011" PostCode7="9401103" JisCode="15202" PrefKana="ﾆｲｶﾞﾀｹﾝ" PrefKanji="新潟県" CityKana="ﾅｶﾞｵｶｼ" CityKanji="長岡市" TownKana="ﾏｶﾞﾘｱﾗﾏﾁ" TownKanji="曲新町" No="" OrgName="" />

  <Data PostCode5="94021" PostCode7="9402104" JisCode="15202" PrefKana="ﾆｲｶﾞﾀｹﾝ" PrefKanji="新潟県" CityKana="ﾅｶﾞｵｶｼ" CityKanji="長岡市" TownKana="ｵｵｼﾞﾏｼﾝﾏﾁ" TownKanji="大島新町" No="" OrgName="" />

  </Find>

  </PostKit3>

【PostKit2との違い】

出力される要素の名前が"<PostKit2>"から"<PostKit3>"に変更されました。


PostKitSplitAddress

【機能】

住所文字列を都道府県名・市区町村名・町域名・番地に分割します。

【関数書式】

(1)C++Builder/Visual C++

BOOL PostKitSplitAddress(PTR_POSTKIT_DICINFO DicInfo, short Mode, short KanaType, LPCSTR Address, PTR_POSTKIT_DATA PostData, short *ErrorStatus);

(2)Delphi

function PostKitSplitAddress(var DicInfo: POSTKIT_DICINFO; Mode: Smallint; KanaType: Smallint; Address: PAnsiChar; var PostData: POSTKIT_DATA; var ErrorStatus: Smallint): LongBool;

(3)Visual Basic

Function PostKitSplitAddress(DicInfo As POSTKIT_DICINFO, ByVal Mode As Integer, ByVal KanaType As Integer, ByVal Address As String, PostData As POSTKIT_DATA, ErrorStatus As Integer) As Long

【引数】

名称 | 内容
DicInfo | PostKitOpenで取得した構造体変数
Mode | 0：Addressに設定された文字列が漢字、1：Addressに設定された文字列がカナ
KanaType | 取得するカナの種類（0：半角カナ、1：全角カナ、2：ひらがな）
Address | 分割する住所文字列
PostData | 分割する文字列を設定する構造体変数
ErrorStatus | エラーの種類（詳しくはDLLコマンドリファレンスのページをご覧ください）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Modeが0の場合は漢字住所の分割、1の場合はカナ住所の分割となりますので、Addressに適切な値を設定してください。

カナ住所は半角カナ、全角カナ、ひらがな、いずれもOKです。ただし、漢字が含まれる場合はModeを0にすること。

KanaTypeはModeの値に関わらずPostDataのPrefKana,CityKana,TownKanaに設定されるカナの種類を表します。

成功すると、PostDataのJisCode,PrefKana,PrefKanji,CityKana,CityKanji,TownKana,TownKanji,Noに値が設定されますが、郵便番号辞書に該当する住所が存在しない場合やAddressに通称が設定されている場合は、正確な結果が得られないことがあります。予めPostKitOpen関数を実行しておく必要があります。

戻り値がFalse(0)の場合、ErrorStatusを参照してください。

コード例：

(1)C++Builder/Visual C++

POSTKIT_DICINFO DicInfo;

short ErrorStatus;

POSTKIT_DATA PostData;

BOOL Ret;

if (PostKitOpen("C:\\Dic", &DicInfo, &ErrorStatus) == FALSE) return;

Ret = PostKitSplitAddress(&DicInfo, 0, 0, "新潟県長岡市寿1-6-43", &PostData, &ErrorStatus);

//Ret = PostKitSplitAddress(&DicInfo, 1, 0, "ﾆｲｶﾞﾀｹﾝﾅｶﾞｵｶｼｺﾄﾌﾞｷ1-6-43", &PostData, &ErrorStatus);

Ret = PostKitClose(&DicInfo, &ErrorStatus);

(2)Delphi

DicInfo：POSTKIT_DICINFO;

ErrorStatus: Smallint;

PostData: POSTKIT_DATA;

Ret: LongBool;

if PostKitOpen('C:\Dic', DicInfo, ErrorStatus) = False then Exit;

Ret := PostKitSplitAddress(DicInfo, 0, 0, '新潟県長岡市寿1-6-43', PostData, ErrorStatus);

//Ret := PostKitSplitAddress(DicInfo, 1, 0, 'ﾆｲｶﾞﾀｹﾝﾅｶﾞｵｶｼｺﾄﾌﾞｷ1-6-43', PostData, ErrorStatus);

Ret := PostKitClose(DicInfo, ErrorStatus);

(3)Visual Basic

Dim DicInfo As POSTKIT_DICINFO

Dim ErrorStatus As Integer

Dim PostData As POSTKIT_DATA

Dim Ret As Long

If PostKitOpen("C:\Dic", DicInfo, ErrorStatus) = 0 Then Exit Sub

Ret = PostKitSplitAddress(DicInfo, 0, 0, "新潟県長岡市寿1-6-43", PostData, ErrorStatus)

'Ret = PostKitSplitAddress(DicInfo, 1, 0, "ﾆｲｶﾞﾀｹﾝﾅｶﾞｵｶｼｺﾄﾌﾞｷ1-6-43", PostData, ErrorStatus)

Ret = PostKitClose(DicInfo, ErrorStatus)

【PosｔKitとの違い】

製品 | 関数名 | 引数の並び
PK | PostKitAddress | Address, PrefName, CityName, TownName
PK3 | PostKitSplitAddress | DicInfo, Mode, KanaType, Address, PostData, ErrorStatus

PostKitAddressのPrefName,CityName,TownNameは、PostKitSplitAddressのPostDataのPrefKanji,CityKanji,TownKanjiにあたります。


PrefKana,PrefKanji（カスタムプロパティ）

【機能】

都道府県名を設定・参照します。

【書式】

※PrefKanaにて説明（PrefKanjiも同様な使い方）

(1)C++Builder

postcontrolname->PrefKana [ = BSTR ]

(2)Delphi

postcontrolname.PrefKana [ = WideString ]

(3)Visual Basic

postcontrolname.PrefKana [ = String ]

(4)Visual C++

[CString = ]postcontrolname.GetPrefKana()

postcontrolname.SetPrefKana(LPCTSTR Val)

【設定値】

PrefKanaは都道府県名のカナ（最大16バイト）

PrefKanjiは都道府県名の漢字（最大8バイト）

【解説】

SplitAddressメソッドを実行することにより、都道府県名が切り出されて設定されます。ReadメソッドやReadDialogメソッドでも該当する値が設定されます。また、都道府県名による検索を行う場合は、PrefKanaもしくはPrefKanjiプロパティに値を代入してFindメソッドを実行します。PrefKanaプロパティに設定するカナは半角カナ、全角カナ、ひらがな、いずれもOKです。

例：SplitAddressメソッドを使用した住所の切り出し

PostKit1.KanaType = pkKatakanaHalf

PostKit1.Address = "新潟県長岡市寿１－６－４３"

PostKit1.SplitAddress pkKanji

' PrefKanaプロパティには"ﾆｲｶﾞﾀｹﾝ"が設定されます

' PrefKanjiプロパティには"新潟県"が設定されます

【値の設定】　デザイン時、実行時

【値の参照】　実行時

【PostKitとの違い】

PrefKanjiプロパティの名称がPrefNameから変更されました。


Progress（カスタムイベント）

【機能】

郵便番号辞書の更新中に発生します。

【書式】

(1)C++Builder

postcontrolnameProgress(TObject *Sender, short Percent)

(2)Delphi

postcontrolnameProgress(Sender: TObject; Percent: Smallint)

(3)Visual Basic

postcontrolname_Progress(ByVal Percent As Integer)

(4)Visual C++

OnProgresspostcontrolname(short Percent)

【引数】

名称 | 内容
Percent | 現在処理している％数

【解説】

DownLoadDicメソッドを実行した場合に発生します。処理を中止する場合は、CancelプロパティをTrueに設定します。


ReadDialog（カスタムメソッド）

【機能】

検索された結果を読み取り、その内容をダイアログボックスに表示します。

【書式】

(1)C++Builder

[ TOLEBOOL = ]postcontrolname->ReadDialog(long hWnd, PostCode PostCode)

(2)Delphi

[ WordBool = ]postcontrolname.ReadDialog(hWnd : Integer; PostCode: PostCode)

(3)Visual Basic

[ Boolean = ]postcontrolname.ReadDialog(hWnd As Long, PostCode As PostCode)

(4)Visual C++

[ BOOL = ]postcontrolname.ReadDialog(long hWnd, long PostCode)

【引数】

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

名称 | 内容
hWnd | 呼び出し先ウィンドウのウィンドウハンドル
PostCode | ダイアログボックスに表示する郵便番号（0：5桁郵便番号、1：7桁郵便番号）

C++Builder,Delphi,Visual Basicでは定数(pkPostCode5 = 0, pkPostCode7 = 1)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

OKボタンを選択もしくは該当項目でマウスをダブルクリックした場合は成功となり、キャンセルボタンを選択した場合は失敗を表す値を返します。

【解説】

Hyphenプロパティは取得する郵便番号の3桁目と4桁目の間にハイフンを挿入するかどうかの設定です。（対象はPostCode5,
PostCode7プロパティ）

KanaTypeプロパティはPrefKana,CityKana,TownKanaプロパティに設定されるカナの種類を表します。

成功した場合、PostCode5,PostCode7,JisCode,PrefKana,PrefKanji,CityKana,CityKanji,TownKana,TownKanji,No,OrgNameプロパティに値が設定されます。

NoとOrgNameプロパティは読み取ったデータが大口事業所の場合に設定されます。一般の場合は、何も設定されません。予めFindメソッドを実行しておく必要があります。

検索した結果の件数が1000件を越える場合は、1000件で読み込みを強制的に中止してダイアログを表示します。

戻り値がFalse(0)の場合、ErrorStatusプロパティを参照してください。

コード例：

(1)C++Builder

if (PostKit1->Find(false) == false) return;

PostKit1->Hyphen = true;

PostKit1->KanaType = pkKatakanaHalf;

PostKit1->DialogPosition = pkMiddleCenter;

PostKit1->Text = "検索結果";

PostKit1->ReadDialog(Form1->Handle, pkPostCode7);

(2)Delphi

if PostKit1.Find(False) = False then Exit;

PostKit1.Hyphen := True;

PostKit1.KanaType := pkKatakanaHalf;

PostKit1.DialogPosition := pkMiddleCenter;

PostKit1.Text := '検索結果';

PostKit1.ReadDialog(Form1.Handle, pkPostCode7);

(3)Visual Basic

If PostKit1.Find(False) = False Then Exit Sub

PostKit1.Hyphen = True

PostKit1.KanaType = pkKatakanaHalf

PostKit1.DialogPosition = pkMiddleCenter

PostKit1.Text = "検索結果"

PostKit1.ReadDialog(Form1.hWnd, pkPostCode7)

(4)Visual C++

if (m_PostKit1.Find(FALSE) == FALSE) return;

m_PostKit1.SetHyphen(TRUE);

m_PostKit1.SetKanaType(0);

m_PostKit1.SetDialogPosition(4);

m_PostKit1.SetText("検索結果");

m_PostKit1.ReadDialog(m_hWnd, 1);

【PostKitとの違い】

・メソッドの名称がPostKitReadDialogから変更されました。

・引数が2つ追加されました。PostCodeはPKのPostCodeプロパティと同じです。


Read（カスタムメソッド）

【機能】

検索された結果を1件分読み取ります。

【書式】

(1)C++Builder

[ TOLEBOOL = ]postcontrolname->Read(long Index)

(2)Delphi

[ WordBool = ]postcontrolname.Read(Index: Integer)

(3)Visual Basic

[ Boolean = ]postcontrolname.Read(Index As Long)

(4)Visual C++

[ BOOL = ]postcontrolname.Read(long Index)

【引数】

名称 | 内容
Index | 検索結果を読み取るインデックス（0～）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Indexには0からFindCountプロパティ-1の範囲の値を与えてください。

Hyphenプロパティは取得する郵便番号の3桁目と4桁目の間にハイフンを挿入するかどうかの設定です。（対象はPostCode5,
PostCode7プロパティ）

KanaTypeプロパティはPrefKana,CityKana,TownKanaプロパティに設定されるカナの種類を表します。

成功した場合、PostCode5,PostCode7,JisCode,PrefKana,PrefKanji,CityKana,CityKanji,TownKana,TownKanji,No,OrgNameプロパティに値が設定されます。

NoとOrgNameプロパティは読み取ったデータが大口事業所の場合に設定されます。一般の場合は、何も設定されません。予めFindメソッドを実行しておく必要があります。

戻り値がFalse(0)の場合、ErrorStatusプロパティを参照してください。

コード例：

(1)C++Builder

long i;

if (PostKit1->Find(false) == false) return;

PostKit1->Hyphen = true;

PostKit1->KanaType = pkKatakanaHalf;

for (i = 0; i < PostKit1->FindCount; i++)

{

if (PostKit1->Read(i) == false) break;

// 様々な処理

}

(2)Delphi

i: Integer;

if PostKit1.Find(False) = False then Exit;

PostKit1.Hyphen := True;

PostKit1.KanaType := pkKatakanaHalf;

for i := 0 to PostKit1.FindCount - 1 do

begin

if PostKit1.Read(i) = False then Break;

// 様々な処理

end;

(3)Visual Basic

Dim i As Long

If PostKit1.Find(False) = False Then Exit Sub

PostKit1.Hyphen = True

PostKit1.KanaType = pkKatakanaHalf

For i = 0 To PostKit1.FindCount - 1

If PostKit1.Read(i) = False Then Exit For

' 様々な処理

Next i

(4)Visual C++

long i;

if (m_PostKit1.Find(FALSE) == FALSE) return;

m_PostKit1.SetHyphen(TRUE);

m_PostKit1.SetKanaType(0);

for (i = 0; i < m_PostKit1.GetFindCount(); i++)

{

if (m_PostKit1.Read(ｉ) == FALSE) break;

// 様々な処理

}

【PostKitとの違い】

メソッドの名称がPostKitReadから変更され、引数が追加されました。


RotateType（カスタムプロパティ）

【機能】

カスタマーバーコード画像の回転方向を表します。

【書式】

(1)C++Builder

postcontrolname->RotateType [ = RotateType ]

(2)Delphi

postcontrolname.RotateType [ = RotateType ]

(3)Visual Basic

postcontrolname.RotateType [ = RotateType ]

(4)Visual C++

postcontrolname.SetRotateType(long Val)

【設定値】

値 | 説明
0 | 回転なし
1 | 左90度
2 | 左180度
3 | 左270度

C++Builder,Delphi,Visual Basicでは定数(pkRotate0 = 0, pkRotate90 = 1, pkRotate180 = 2, pkRotate270 = 3)を使用することも可能です。

【解説】

GetBarcodeImageメソッドを実行する前に設定します。

【値の設定】　実行時

【値の参照】　不可


SaveBarcodeImage（カスタムメソッド）

【機能】

カスタマーバーコード画像をファイルに保存します。

【書式】

(1)C++Builder

[ TOLEBOOL = ]postcontrolname->SaveBarcodeImage(long DibHandle, BSTR fileName, FileType FileType)

(2)Delphi

[ WordBool = ]postcontrolname.SaveBarcodeImage(DibHandle: Integer; fileName: WideString; FileType: FileType)

(3)Visual Basic

[ Boolean = ]postcontrolname.SaveBarcodeImage(DibHandle As Long, fileName As String, FileType As FileType)

(4)Visual C++

[ BOOL = ]postcontrolname.SaveBarcodeImage(long DibHandle, LPCTSTR fileName, long FileType)

【引数】

名称 | 内容
Dibdle | GetBarcodeImageメソッドで取得したメモリハンドル
fleName | 保存するファイル名
FileType | 保存するファイルタイプ（0：BMP形式、1：PNG形式）

C++Builder,Delphi,Visual Basicでは定数(pkBmp = 0, pkPng = 1)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

予めGetBarcodeImageメソッドを実行しておく必要があります。

戻り値がFalse(0)の場合、ErrorStatusプロパティを参照してください。

コード例：

(1)C++Builder

String Barcode;

long DibHandle;

//バーコード文字列取得

PostKit1->PostCode7 = "940-0015";

PostKit1->Address = "新潟県長岡市寿1-6-43";

Barcode = PostKit1->GetBarcodeString();

//解像度取得

if (PostKit1->GetDpiFromHdc(PaintBox1->Canvas->Handle) == false) return;

//バーコードイメージ取得

PostKit1->ForeColor = RGB(0, 0, 0);

PostKit1->BackColor = RGB(255, 255, 255);

PostKit1->RotateType = pkRotate0;

PostKit1->BarPoint = 10;

DibHandle = PostKit1->GetBarcodeImage(Barcode);

//バーコードイメージ保存

PostKit1->SaveBarcodeImage(DibHandle, "C:\\Image\\Barcode.bmp", pkBmp);

(2)Delphi

Barcode: String;

DibHandle: Integer;

//バーコード文字列取得

PostKit1.PostCode7 := '940-0015';

PostKit1.Address := '新潟県長岡市寿1-6-43';

Barcode := PostKit1.GetBarcodeString();

//解像度取得

if PostKit1.GetDpiFromHdc(PaintBox1.Canvas.Handle) = False then Exit;

//バーコードイメージ取得

PostKit1.ForeColor := RGB(0, 0, 0);

PostKit1.BackColor := RGB(255, 255, 255);

PostKit1.RotateType := pkRotate0;

PostKit1.BarPoint := 10;

DibHandle := PostKit1.GetBarcodeImage(Barcode);

//バーコードイメージ保存

PostKit1.SaveBarcodeImage(DibHandle, 'C:\Image\Barcode.bmp', pkBmp);

(3)Visual Basic

Dim Barcode As String

Dim DibHandle As Long

'バーコード文字列取得

PostKit1.PostCode7 = "940-0015"

PostKit1.Address = "新潟県長岡市寿1-6-43"

Barcode = PostKit1.GetBarcodeString

'解像度取得

If PostKit1.GetDpiFromHdc(Picture1.hDC) = False Then Exit Sub

'バーコードイメージ取得

PostKit1.ForeColor = RGB(0, 0, 0)

PostKit1.BackColor = RGB(255, 255, 255)

PostKit1.RotateType = pkRotate0

PostKit1.BarPoint = 10

DibHandle = PostKit1.GetBarcodeImage(Barcode)

'バーコードイメージ保存

PostKit1.SaveBarcodeImage DibHandle, "C:\Image\Barcode.bmp", pkBmp

(4)Visual C++

CString Barcode;

long DibHandle;

//バーコード文字列取得

m_PostKit1.SetPostCode7("940-0015");

m_PostKit1.SetAddress("新潟県長岡市寿1-6-43");

Barcode = m_PostKit1.GetBarcodeString();

//解像度取得

if (m_PostKit1.GetDpiFromHdc(m_hDC) == FALSE) return;

//バーコードイメージ取得

m_PostKit1.SetForeColor(RGB(0, 0, 0));

m_PostKit1.SetBackColor(RGB(255, 255, 255));

m_PostKit1.SetRotateType(0);

m_PostKit1.SetBarPoint(10);

DibHandle = m_PostKit1.GetBarcodeImage(Barcode)

//バーコードイメージ保存

m_PostKit1.SaveBarcodeImage(DibHandle, "C:\\Image\\Barcode.bmp", 0);


SaveToXml（カスタムメソッド）

【機能】

検索結果をXML形式でファイルに保存します。

【書式】

(1)C++Builder

[ TOLEBOOL = ]postcontrolname->SaveToXml(BSTR fileName, TOLEBOOL encoding, long indentation)

(2)Delphi

[ WordBool = ]postcontrolname.SaveToXml(fileName: WideString; encoding: WordBool; indentation: Integer)

(3)Visual Basic

[ Boolean = ]postcontrolname.SaveToXml(fileName As String, encoding As Boolean, indentation As Long)

(4)Visual C++

[ BOOL = ]postcontrolname.SaveToXml(LPCTSTR fileName, BOOL encoding, long indentation)

【引数】

名称 | 内容
fleName | 保存するファイル名
encoding | エンコーディング形式 [ False(0):シフトJIS、True(0以外)：Unicode(utf-16) ]
indentation | 階層構造のレベルごとに書き込む空白の数（インデント）

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

Hyphenプロパティは出力する郵便番号の3桁目と4桁目の間にハイフンを挿入するかどうかの設定です。（対象は属性の名称がPostCode5とPostCode7）

KanaTypeプロパティは属性の名称がPrefKana,CityKana,TownKanaで出力される値のカナの種類を表します。

予めFindメソッドを実行しておく必要があります。

検索した結果の件数が1000件を越える場合は、1001件目以降を除いて最初から1000件のみXMLに出力します。その場合、FindCountプロパティがFindタグ(例：<Find Count = "5">)に設定されるため、検索結果が1000件以上の場合は属性値と実際に出力される件数（1000）は異なります。

戻り値がFalse(0)の場合、ErrorStatusプロパティを参照してください。

コード例：

(1)C++Builder

if (PostKit1->Find(false) == false) return;

PostKit1->Hyphen = true;

PostKit1->KanaType = pkKatakanaHalf;

PostKit1->SaveToXml("C:\\Xml\\Find.xml", false, 2);

(2)Delphi

if PostKit1.Find(False) = False then Exit;

PostKit1.Hyphen := True;

PostKit1.KanaType := pkKatakanaHalf;

PostKit1.SaveToXml('C:\Xml\Find.xml', False, 2);

(3)Visual Basic

If PostKit1.Find(False) = False Then Exit Sub

PostKit1.Hyphen = True

PostKit1.KanaType = pkKatakanaHalf

PostKit1.SaveToXml "C:\Xml\Find.xml", False, 2

(4)Visual C++

if (m_PostKit1.Find(FALSE) == FALSE) return;

m_PostKit1.SetHyphen(TRUE);

m_PostKit1.SetKanaType(0);

m_PostKit1.SaveToXml("C:\\Xml\\Find.xml", FALSE, 2);

検索結果の値は、次のように出力されます。

XMLファイルを閲覧するためには、Internet Explorerのバージョン5以降が必要です。

都道府県名：新潟県/市町村名：長岡市/町域名：新町で検索し、Unicode形式で出力した例：

  <?xml version="1.0" encoding="utf-16" ?>

- <PostKit3>

- <Find Count="5">

  <Data PostCode5="940" PostCode7="9400022" JisCode="15202" PrefKana="ﾆｲｶﾞﾀｹﾝ" PrefKanji="新潟県" CityKana="ﾅｶﾞｵｶｼ" CityKanji="長岡市" TownKana="ﾋｶﾞｼｱﾗﾏﾁ" TownKanji="東新町" No="" OrgName="" />

  <Data PostCode5="940" PostCode7="9400023" JisCode="15202" PrefKana="ﾆｲｶﾞﾀｹﾝ" PrefKanji="新潟県" CityKana="ﾅｶﾞｵｶｼ" CityKanji="長岡市" TownKana="ｱﾗﾏﾁ" TownKanji="新町" No="" OrgName="" />

  <Data PostCode5="940" PostCode7="9400024" JisCode="15202" PrefKana="ﾆｲｶﾞﾀｹﾝ" PrefKanji="新潟県" CityKana="ﾅｶﾞｵｶｼ" CityKanji="長岡市" TownKana="ﾆｼｱﾗﾏﾁ" TownKanji="西新町" No="" OrgName="" />

  <Data PostCode5="94011" PostCode7="9401103" JisCode="15202" PrefKana="ﾆｲｶﾞﾀｹﾝ" PrefKanji="新潟県" CityKana="ﾅｶﾞｵｶｼ" CityKanji="長岡市" TownKana="ﾏｶﾞﾘｱﾗﾏﾁ" TownKanji="曲新町" No="" OrgName="" />

  <Data PostCode5="94021" PostCode7="9402104" JisCode="15202" PrefKana="ﾆｲｶﾞﾀｹﾝ" PrefKanji="新潟県" CityKana="ﾅｶﾞｵｶｼ" CityKanji="長岡市" TownKana="ｵｵｼﾞﾏｼﾝﾏﾁ" TownKanji="大島新町" No="" OrgName="" />

  </Find>

  </PostKit3>

【PostKit2との違い】

出力される要素の名前が"<PostKit2>"から"<PostKit3>"に変更されました。


SplitAddress（カスタムメソッド）

【機能】

Addressプロパティで設定された住所文字列を都道府県名・市区町村名・町域名・番地に分割し、該当するプロパティに値を設定します。

【書式】

(1)C++Builder

[ TOLEBOOL = ]postcontrolname->SplitAddress(SplitAddressMode mode)

(2)Delphi

[ WordBool = ]postcontrolname.SplitAddress(SplitAddressMode: mode)

(3)Visual Basic

[ Boolean = ]postcontrolname.SplitAddress(mode As SplitAddressMode)

(4)Visual C++

[ BOOL = ]postcontrolname.SplitAddress(long mode)

【引数】

名称 | 内容
mode | 0：Addressプロパティに設定された文字列が漢字、1：Addressプロパティに設定された文字列がカナ

C++Builder,Delphi,Visual Basicでは定数(pkKanji = 0, pkKana = 1)を使用することも可能です。

【戻り値】

成功の場合はTrue(0以外)、失敗の場合はFalse(0)を返します。

【解説】

modeが0(pkKanji)の場合は漢字住所の分割、1(pkKana)の場合はカナ住所の分割となりますので、Addressプロパティに適切な値を設定してください。カナ住所は半角カナ、全角カナ、ひらがな、いずれもOKです。ただし、漢字が含まれる場合はmodeを0にすること。

KanaTypeプロパティはmodeの値に関わらずPrefKana,CityKana,TownKanaプロパティに設定されるカナの種類を表します。

成功すると、JisCode,PrefKana,PrefKanji,CityKana,CityKanji,TownKana,TownKanji,Noプロパティに値が設定されますが、郵便番号辞書に該当する住所が存在しない場合やAddressプロパティに通称が設定されている場合は、正確な結果が得られないことがあります。予めOpenDicメソッドを実行しておく必要があります。

戻り値がFalse(0)の場合、ErrorStatusプロパティを参照してください。

コード例：

(1)C++Builder

if (PostKit1->OpenDic("C:\\Dic") == false) return;

PostKit1->KanaType = pkKatakanaHalf;

PostKit1->Address = "新潟県長岡市寿1-6-43";

PostKit1->SplitAddress(pkKanji);

//PostKit1->Address = "ﾆｲｶﾞﾀｹﾝﾅｶﾞｵｶｼｺﾄﾌﾞｷ1-6-43";

//PostKit1->SplitAddress(pkKana);

PostKit1->CloseDic();

(2)Delphi

if PostKit1.OpenDic('C:\Dic') = False then Exit;

PostKit1.KanaType := pkKatakanaHalf;

PostKit1.Address := '新潟県長岡市寿1-6-43';

PostKit1.SplitAddress(pkKanji);

//PostKit1.Address := 'ﾆｲｶﾞﾀｹﾝﾅｶﾞｵｶｼｺﾄﾌﾞｷ1-6-43';

//PostKit1.SplitAddress(pkKana);

PostKit1.CloseDic();

(3)Visual Basic

If PostKit1.OpenDic("C:\Dic") = False Then Exit Sub

PostKit1.KanaType = pkKatakanaHalf;

PostKit1.Address = "新潟県長岡市寿1-6-43"

PostKit1.SplitAddress pkKanji

'PostKit1.Address = "ﾆｲｶﾞﾀｹﾝﾅｶﾞｵｶｼｺﾄﾌﾞｷ1-6-43"

'PostKit1.SplitAddress pkKana

PostKit1.CloseDic()

(4)Visual C++

if (m_PostKit1.OpenDic("C:\\Dic") == FALSE) return;

m_PostKit1.SetKanaType(0);

m_PostKit1.SetAddress("新潟県長岡市寿1-6-43");

m_PostKit1.SplitAddress(0);

//m_PostKit1.SetAddress("ﾆｲｶﾞﾀｹﾝﾅｶﾞｵｶｼｺﾄﾌﾞｷ1-6-43");

//m_PostKit1.SplitAddress(1);

m_PostKit1.CloseDic();

【PostKitとの違い】

メソッドの名称がPostKitAddressから変更されました。


Text（カスタムプロパティ）

【機能】

ダイアログボックスのキャプションを設定します。

【書式】

(1)C++Builder

postcontrolname->Text [ = BSTR ]

(2)Delphi

postcontrolname.Text [ = WideString ]

(3)Visual Basic

postcontrolname.Text [ = String ]

(4)Visual C++

postcontrolname.SetText(LPSTR Val)

【設定値】

検索結果を表示するダイアログボックスのキャプションを文字列で設定します。

【値の設定】　実行時

【値の参照】　不可

【PostKitとの違い】

プロパティの名称がDlgTitleから変更されました。


TownKana,TownKanji（カスタムプロパティ）

【機能】

町域名を設定・参照します。

【書式】

※TownKanaにて説明（TownfKanjiも同様な使い方）

(1)C++Builder

postcontrolname->TownKana [ = BSTR ]

(2)Delphi

postcontrolname.TownKana [ = WideString ]

(3)Visual Basic

postcontrolname.TownKana [ = String ]

(4)Visual C++

[CString = ]postcontrolname.GetTownKana()

postcontrolname.SetTownKana(LPCTSTR Val)

【設定値】

TownKanaは町域名のカナ（最大160バイト）

TownKanjiは町域名の漢字（最大80バイト）

【解説】

SplitAddressメソッドを実行することにより、町域名が切り出されて設定されます。ReadメソッドやReadDialogメソッドでも該当する値が設定されます。また、町域名による検索を行う場合は、TownKanaもしくはTownKanjiプロパティに値を代入してFindメソッドを実行します。TownKanaプロパティに設定するカナは半角カナ、全角カナ、ひらがな、いずれでもOKです。

例：SplitAddressメソッドを使用した住所の切り出し

PostKit1.KanaType = pkKatakanaHalf

PostKit1.Address = "新潟県長岡市寿１－６－４３"

PostKit1.SplitAddress pkKanji

' TownKanaプロパティには"ｺﾄﾌﾞｷ"が設定されます

' TownKanjiプロパティには"寿"が設定されます

【値の設定】　デザイン時、実行時

【値の参照】　実行時

【PostKitとの違い】

TownKanjiプロパティの名称がTownNameから変更されました。