• 検索結果がありません。

マスタリング Magic xpa

N/A
N/A
Protected

Academic year: 2021

シェア "マスタリング Magic xpa"

Copied!
918
0
0

読み込み中.... (全文を見る)

全文

(1)

マスタリング

Magic xpa

(2)

本マニュアルの内容につきましては、万全を期して作成していますが、万一誤りや不正確な記述があったとしても、MSE お よびMSJ はいかなる責任、債務も負いません。

MSE およびMSJ は、この製品の商業価値や特定の用途に対する適合性の保証を含め、この製品に関する明示的、あるいは

黙示的な保証は一切していません。

本マニュアルに記載のソフトウェアは、製品の使用許諾契約書に記載の条件に同意をされたライセンス所有者に対してのみ 供給されるものです。 同ライセンスの許可する条件のもとでのみ、使用または複製することが許されます。当該ライセンス が特に許可している場合を除いては、いかなる媒体へも複製することはできません。

ライセンス所有者自身の個人使用目的で行う場合を除き、MSE またはMSJ の書面による事前の許可なしでは、いかなる条 件下でも、本マニュアルのいかなる部分も、電子的、機械的、撮影、録音、その他のいかなる手段によっても、コピー、検 索システムへの記憶、電送を行うことはできません。

サードパーティ各社商標の引用は、MSE およびMSJ の製品に対するコンパチビリティに関しての情報提供のみを目的とし てなされるものです。

本マニュアルにおいて、説明のためにサンプルとして引用されている会社名、製品名、住所、人物は、特に断り書きのない かぎり、すべて架空のものであり、実在のものについて言及するものではありません。

Magic® はMagic Software Japan K.K. の登録商標です。

Magic xpa® はMagic Software Enterprises Ltd. のイスラエルその他の国での商標または登録商標です。

Magic xpa Studio、Magic xpa Client、Magic xpa Enterprise Serverおよび Magic xpa RichClient Serverは Magic Software Japan K.K.

の商標です。

Pervasive.SQL® は Pervasive Software, Inc. の商標です。

IBM®, iSeries™, xSeries®, DB2®およびWebSphere® は、 IBM Corporationの商標または登録商標です。

Microsoft® および FrontPage® は、Microsoft Corporation の登録商標です。また、Windows, WindowsNT およびActiveX

はMicrosoft Corporation の商標です。

Oracle®はOracle Corporation の登録商標です。

Linux® Linus Torvaldsの登録商標です。

GLOBEtrotter® とFLEXlm® は、Macrovision Corporation の登録商標です。

Interstage® は、富士通株式会社の登録商標です。

JBoss™は、JBoss Inc.の商標です。

Systinet™ は、Hewlet-Packard Development Companyの商標です。

一般に、会社名、製品名は各社の商標または登録商標です。

MSE およびMSJ は、本製品の使用またはその使用によってもたらされる結果に関する保証や告知は一切していません。こ の製品のもたらす結果およびパフォーマンスに関する危険性は、すべてユーザが責任を負うものとします。

この製品を使用した結果、または使用不可能な結果生じた間接的、偶発的、副次的な損害(営利損失、業務中断、業務情報 の損失などの損害も含む)に関し、事前に損害の可能性が勧告されていた場合であっても、MSE およびMSJ、その管理者、

役員、従業員、代理人は、いかなる場合にも一切責任を負いません。

マスタリング Magic xpa

第1版 2012年11月12日

第2版 2013年 5月24日

(3)

マスタリング Magic xpa

目次 Pg 1

1: 操作方法とワークスペース

プロジェクトのオブジェクトを整理するには . . . .1

フォルダを作成する ... 1

フォルダを削除する ... 1

フォルダを移動する ... 1

フォルダにオブジェクトを移動する ...1

フォルダカラムを使用してフォルダにオブジェクトを移動する ... 2

移動コマンドを使用して移動する ... 2

パレットを分離するには . . . .3

結合されたパレットを分離する ... 3

複数のペインを一つに統合するには . . . .4

結合されたペインを分離する ... 4

開発用テーブルの行位置付けを行うには . . . .5

行に位置付ける ... 5

行番号を指定して移動するには . . . .6

行に移動する ... 6

オブジェクトがどこで使用されているかを確認するには . . . .7

クロスリファレンスを使用する ... 7

よく使用するオブジェクトにブックマークを設定するには . . . .8

現在の場所にブックマークを定義する ... 8

最近使用したプロジェクトを迅速に開くには . . . .9

最近使用したプロジェクトを開く ... 9

最近開いたプロジェクトの表示数を変更するには . . . .10

最近開いたプロジェクトの数を設定する ... 10

入力行を複写するには . . . .11

複写機能を使用する ... 11

入力行を移動するには . . . .12

入力行を移動する ... 12

入力行を他の行の内容に置き換えるには . . . .13

行を置き換える ... 13

ペイン間の移動を行うには . . . .14

1 つのセクションを表示している特性シートを保持するには . . . .15

特性シートの表示を変更する ... 15

プロジェクトを切り替えるには . . . .16

プロジェクトを切り替える ... 16

モジュールを追加する ... 16

モジュールを削除する ... 16

特性シートのセクション表示を切り替えるには . . . .17

特性シートのセクション間を移動する: ... 17

特性シートのノードを拡張表示させる: ... 17

特性シートのノードを縮小表示させる: ... 17

呼び出されるプログラムに移動するには . . . .18

2: プロジェクトとアプリケーション

プロジェクトを新規作成するには . . . .19

(4)

プロジェクトを新規作成する ... 19

アプリケーションのアイコンを設定するには . . . 20

アプリケーションのアイコンを設定する ... 20

アプリケーションのタイトルを指定するには . . . 21

アプリケーションのタイトルを設定する ... 21

ステータスバーにタイトルを表示する ... 21

アプリケーションにコンテキストメニューを設定するには . . . 23

アプリケーションにコンテキストメニューを設定する ... 23

アプリケーションにプルダウンメニューを設定するには . . . 24

アプリケーションにプルダウンメニューを設定する ... 24

アプリケーション用に基本色、フォント、キーボード割付を設定するには . . . 25

アプリケーション用の定義ファイルを設定する ... 25

プロジェクトのディレクトリのファイルを読み書きするには . . . 26

Magic ディレクトリのファイルを読み書きするには . . . 27

システム一時ディレクトリ内のファイルを読み書きするには . . . 28

既存のプロジェクトをオープンするには . . . 29

プロジェクトを開くダイアログを使用する ... 29

最近使ったプロジェクトを開く ... 29

プロジェクトファイル(.edp)を直接アクセスする ... 30

別のプロジェクトにオブジェクトを転送するには . . . 31

オブジェクトを出力する ... 31

オブジェクトを入力する ... 31

3: モデル 再利用可能なインタフェースオブジェクトを定義するには . . . 33

コントロールモデルを作成する ... 34

再利用可能なデータオブジェクトを定義するには . . . 35

項目モデルを作成する ... 36

モデルを使用してデータソースのカラムを定義するには . . . 37

モデルを使用してデータソースのカラムを定義する ... 37

プロジェクトのデータ項目とコントロールを標準化するには . . . 38

項目モデルに対するコントロールを定義する ... 38

モデル特性の変更内容をオブジェクトに反映させないようにするには . . . 39

手動で継承を解除する ... 39

自動的に継承を解除する ... 39

継承が解除された特性を継承させるには . . . 40

特性値を継承させる ... 40

モデルのクラスを変更するには . . . 41

コントロールモデルを使用して、フォームにコントロールを自動配置するには . . . . 42

パレットからモデルを指定してコントロールを選択する ... 42

モデルを含めてプログラムやデータソースを出力するには . . . 43

モデルを含めて出力する ... 43

(5)

マスタリング Magic xpa

目次 Pg 3

4: Magic エンジン

アプリケーションレベルのイベントを定義するには . . . .45

グローバルイベントを作成する ... 45

Magic エンジンをイベント駆動型で動作させるには . . . .46

イベントのコンセプト ... 46

ロジックユニットを作成する ... 47

イベントの階層を利用するには . . . .48

システムイベントをブロックする ... 48

システムイベントに機能を追加する ... 48

行削除のような内部イベントの発生を防止するには . . . .49

内部イベントをブロックする ... 49

入出力ファイル名を動的に設定するには . . . .52

入出力ファイル名を設定する ... 52

データソースの名前を動的に設定するには . . . .53

タスクレベルでデータソース名を指定する ... 53

同じファイルやデータソースを扱っているタスク内でファイルやデータソースを削除する には . . . .54

出力する内容がない場合にファイルを作成したり空白ページを出力させないようにするに は . . . .55

入出力ファイルをオープンするタイミングを指定する ... 55

タスク作成時にタスクレベルのロジックユニットを自動的に作成するようにするには 56

タスクとレコードレベルのロジックユニットを自動的に作成する ... 56

タスク作成時にロジックユニットが作成されないようにするには . . . .57

ロジックユニットの自動作成を止める ... 57

イベント処理中にエディットコントロールの値を取得するには . . . .58

エンドユーザがタスク内でレコードを修正することを防ぐには . . . .59

データソースのアクセスモードを設定する ... 59

タスク特性の初期モードを使用する ... 59

タスク特性のオプションを使用する ... 60

項目レベルで修正する ... 60

レコードが更新されなくてもレコード後を実行させるには . . . .61

強制的にレコード後を実行させる ... 61

エンドユーザがタスクモードを変更することを防止するには . . . .62

ユーザがタスクモードを変更することを防止する ... 62

2つのタスクを並行に実行させるには . . . .63

並行実行するようにプログラムを設定する ... 64

タスクタイプのデフォルト値を変更するには . . . .65

タスクのデフォルトタイプを変更する: ... 65

5: タスク プログラムのデータビューを定義するには . . . .67

メインソースを定義する ... 68

リンクテーブルを定義する ... 68

変数とパラメータを定義する ... 69

簡単なプログラムを作成するには . . . .70

(6)

Magic xpaで「Hello World」を作成する ... 70

データビューを作成する ... 70

ロジックを作成する ... 71

表示画面を作成する ... 71

プログラムを実行する ... 72

起動元のプログラムに戻り値を返すように設定するには . . . 73

戻り値を定義する ... 73

戻り値を使用する ... 73

データリポジトリに定義されている名前と異なるデータソース名を使用するには . . 75

タスクレベルでデータソース名を指定する ... 75

レコードの表示順を動的に変更するには . . . 76

インデックス用の式を使用する ... 76

簡単なバッチプログラムを作成するには . . . 77

簡単なバッチタスクを作成する ... 77

永久ループするバッチタスクを止めるには . . . 78

データソースからレコードをまとめて削除するには . . . 79

削除用のバッチタスクを作成する ... 79

データソースの内容をテキストファイルに出力したり、テキストファイルをデータソース に入力するには . . . 80

データソースの内容をテキストファイルに出力する ... 80

テキストファイルの内容を読み込む ... 80

プロジェクト内のどこでもアクセス可能なグローバル変数を定義するには . . . 82

グローバル変数を定義する ... 82

表示するメインフォームを動的に指定するには . . . 83

実行時に表示するフォームを指定する ... 83

起動元と起動先のパラメータを同期させるには . . . 84

エンドユーザがレコードを追加することを防止するには . . . 85

ユーザが登録モードに切り替えることを防止する ... 85

エンドユーザがレコードを削除することを防止するには . . . 86

ユーザが削除モードに切り替えることを防止する ... 86

ユーザがレコードを修正することを防止するには . . . 87

ユーザが修正モードに切り替えることを防止する ... 87

エンドユーザが特定の項目の内容を変更することを防止するには . . . 88

項目を修正不可に設定する ... 88

選択プログラムを作成するには . . . 89

選択用プログラムを作成する ... 89

選択プログラムを使用する ... 90

指定したプログラムに移動する ... 91

エンドユーザが入力したデータを検証するには . . . 92

コントロール検証ロジックユニットを定義する ... 92

Tab によるコントロールの移動順序を設定するには . . . 93

TAB順序を設定する ... 93

複数のコントロールのTAB順序を一度に設定する ... 93

サブタスクレベルからプログラムを終了するには . . . 94

終了イベントを伝播させる ... 94

(7)

マスタリング Magic xpa

目次 Pg 5

ヘッダ行を入力する ... 96

処理コマンドを入力する ... 96

ロジックヘッダを簡単に作成するには . . . .97

事前定義ロジックを追加する ... 97

データ項目に対応したロジックヘッダを作成する ... 97

任意ロジックヘッダを作成する ... 97

コントロールに対応したロジックヘッダを作成する ... 98

タスクに処理コマンドを設定するには . . . .99

条件特性を使用する ... 99

項目更新 ...99

コール ...99

外部コール ...100

イベント実行 ...100

アクション ...100

ブロック ...100

エラー ...100

フォーム ...101

サブタスクとしてタスクをコピーするには . . . .102

プログラムをサブタスクとしてコピーする ... 102

サブタスクをルートタスクにするには . . . .103

サブタスクを先頭レベルに移動する ... 103

テーブルコントロールのカラムを選択するには . . . .104

強調表示カラムの左側にコントロールや項目をドロップしてカラムを作成するには 105 複数のコントロールを同じカラムに配置するには . . . .105

フォームにコントロールを追加するには . . . .106

項目パレットを使用する ... 107

コントロールを連続して複数回ドロップするには . . . .108

コンテナコントロールのみを選択するには . . . .109

再利用のためにフォームの書式を保存するには . . . .109

フォームをテンプレートとして保存する ... 109

テンプレートフォームを使用する ... 109

複数のコントロールを同時に選択するには . . . .110

ラバーバンドを使用してコントロールを選択する ... 110

Ctrl+クリックを使用してコントロールを選択する ... 110

テーブルコントロールに交互色を表示させるには . . . 111

テーブルで交互色を使用する ... 111

テーブルコントロールの区切り線の表示/非表示を行うには . . . .112

コントロールのサイズを表示テキストに合わせるには . . . .113

コントロールの TAB 順序を変更するには . . . .115

TAB順序を設定する ... 115

コントロールを他のコントロールより前面に表示させるには . . . .116

Zオーダを表示する ... 116

Zオーダを手動にする ... 116

コントロールをリンクする ... 117

タスクのメインフォームに移動するには . . . .118

すべてのコントロールの TAB 順序表示するには . . . .119

(8)

フォームエディタの修正内容を取り消すには . . . .119

複数のコントロールの幅や高さを同じにするには . . . 120

複数のコントロールの特性を同時に設定するには . . . 121

複数のコントロールの特性を変更する ... 121

テーブルコントロールの幅を変更するには . . . 122

テーブルコントロールのカラムを移動するには . . . 123

テーブルコントロールのカラムを移動する ... 123

タブコントロールの編集中にタブの切り替えを行うには . . . 124

コントロールを透過表示するには . . . 125

背景色を設定する ... 125

フォームにデフォルトのプッシュボタンを設定するには . . . 126

デフォルトのプッシュボタンを設定する ... 126

デフォルトのフォームレイアウトを自動的に作成するには . . . 127

フォームジェネレータを使用する ... 127

ウィンドウタイトルを動的に表示させるには . . . 128

フォームタイトルに式を使用する ... 128

フォームのアイコンを設定するには . . . 129

フォームのアイコンを選択する ... 129

コントロールにデフォルトのコンテキストメニューを設定するには . . . 130

フォームにデフォルトのコンテキストメニューを設定する ... 130

個別のコントロールにコンテキストメニューを設定するには . . . 131

コントロールレベルのコンテキストメニューを作成する ... 131

バッチタスクから繰り返し呼ばれるタスクのパフォーマンスを改善するには . . . 132

バッチのサブタスクのパフォーマンスを改善する ... 132

エラー処理コマンドの表示内容をカスタマイズするには . . . 134

サブフォームの表示内容を実行時に差し替えるには . . . 136

6: ロジックの拡張 電子メールを送信するには . . . 137

サーバと接続する ... 137

電子メールを送信する ... 137

電子メールにファイルを添付するには . . . 138

電子メールを受信するには . . . 139

サーバのタイプ ... 139

添付ファイルを受信するには . . . 140

Web ページやその他の URL コンテンツを受信するには . . . 141

HTTPGet()関数を使用する ... 141

HTTPCall()関数を使用する ... 141

キー操作をシミュレートするには . . . 142

KbPut()関数を使用する ... 142

(9)

マスタリング Magic xpa

目次 Pg 7

マルチマーク関数を使用して処理する ... 144

メニューを非表示 / 無効 / チェック表示に設定するには . . . .145

論理メニュー名を指定する ... 145

メニューパス関数を使用する ... 145

メニュー番号を指定する ... 145

MnuCheck()関数を使用する ... 145

MnuEnabl()関数を使用する ... 146

MnuShow()関数を使用する ... 146

MnuAdd()関数を使用する ... 146

MnuRemove関数を使用する ... 147

MnuReset()関数を使用する ... 147

MnuName()関数を使用する ... 147

DLL 関数を呼び出すには . . . .148

CallDLL()関数を使用する ... 148

コールUDP処理コマンドを使用する ... 149

構造体のパラメータを DLL に渡すには . . . .150

構造体を作成する ... 150

Magic xpa からバッファを送る ...150

変数項目を準備する ... 150

API を呼び出すロジックユニットを定義する ... 151

公開名でプログラムを呼び出すには . . . .153

公開名でプログラムを起動する ... 153

プログラム番号を指定して動的にプログラムを呼び出すには . . . .154

コール式処理コマンドを使用する ... 154

CallProg()関数を使用する ... 154

プログラムを設定する ... 154

データの暗号化と復号化をするには . . . .155

Cipher()関数を使用する ... 155

Decipher()関数を使用する ... 155

サポートする暗号化方法 ... 156

ユーザがパークしたコントロール名を取得するには . . . .157

LastPark()関数を使用する ... 157

ユーザがクリックしたコントロール名を取得するには . . . .158

LastClicked()関数を使用する ... 158

システムの環境変数から値を取得するには . . . .159

OSEnvGet関数を使用する ... 159

ディスク上のファイルを削除するには . . . .160

FileDelete()関数を使用する ... 160

ディスク上のファイルをコピーするには . . . .161

FileCopy()関数を使用する ... 161

ディスク上のファイルの存在をチェックするには . . . .162

FileExist()関数を使用する ... 162

ファイルディレクトリの内容を取得するには . . . .163

FileListGet()関数を使用する ... 163

ディスク上のファイルをリネームするには . . . .164

FileRename()関数を使用する ... 164

ディスク上のファイルのサイズを取得するには . . . .165

FileInfo()関数を使用する ... 165

他の Windows アプリケーションにフォーカスを移すには . . . .166

SetWondowFocus() 関数を使用する ... 166

(10)

ディスク内のファイルの作成日付を取得するには . . . 167

7: 実行 アプリケーションを実行するには . . . 169

キャビネットファイルを作成するには . . . 170

キャビネットファイルを作成する ... 170

アプリケーション用のショートカットを作成するには . . . 171

アプリケーションファイルのショートカットを作成する ... 171

Magicエンジンのショートカットを作成する ... 171

独自のアイコンを使用する ... 172

実行エンジンがキャビネットファイルを自動的に読み込むように設定するには . . . 173

動作環境でデフォルトアプリケーションを設定する ... 173

ショートカットにキャビネットファイルを設定する ... 174

アプリケーションリストのウインドウや他のアプリケーションを開くには . . . 175

8: サブフォーム サブフォームコントロールを起動プログラムフォームの寸法に合わせるには . . . 177

自動調整を設定する ... 177

サブフォームを手動で再表示するには . . . 178

サブフォームの再表示を手動化する ... 178

複数のパラメータをサブフォームに渡した場合、最後のパラメータを修正した時のみ再表 示するには . . . 179

サブフォームの自動再表示特性を無効にする ... 179

タブコントロールに配置したサブフォームの表示を制御するには . . . 181

サブフォームをタブに配置する ... 181

親フォームのコントロールからサブフォームに Tab 入力できるようにするには . . . 182

サブフォームコントロールのTAB順序を設定する ... 182

サブフォーム上のコントロールから親のコントロールに自動的に戻るには . . . 183

サブフォームを終了するイベントを設定する ... 183

最初にサブフォームタスクが起動されたときのみタスク前 / 後を実行させるには . . 184

サブフォームが最初に起動された場合のみ実行するブロックを定義する ... 184

ユーザがサブフォームに入ると常にタスク前 / 後が実行されるようにするには . . . . 185

ユーザがサブフォームに入るときにのみ実行するブロックを定義する ... 185

サブフォームが再表示されたときにサブタスクのタスク前 / 後を実行させるには . . 186

サブフォームが再表示されたときにのみ実行するブロックを定義する ... 186

自動調整オプションを使用するには . . . 187

自動調整オプションの結果 ... 187

サブフォームが表示していない場合、サブフォームが再表示されないようにするには

188

新しいタスクを呼び出すときにフォーカスを現在のタスクに保持するには . . . 189

(11)

マスタリング Magic xpa

目次 Pg 9

9: ツリーコントロール

データをツリー形式で表示するには . . . .193

ツリーコントロールを定義する ... 193

ツリー表示させるための階層的なデータソースを定義するには . . . .195

ツリーのノードにアイコンを設定するには . . . .196

アイコンを使用する ... 196

展開 / 縮小ボタンを表示 / 非表示するには . . . .197

展開/縮小ボタンの表示/非表示を切り替える ... 197

実行時にノードを追加するには . . . .198

子ノードを作成する ... 198

実行時に兄弟関係のノードを追加するには . . . .199

兄弟関係のノードを作成する ... 199

実行時にツリーノードを明示的に展開 / 縮小させるには . . . .200

ノード展開/ノード縮小イベントを実行する ... 200

ツリーを表示する際にノードを自動的に展開させるには . . . .201

特定のノードに対して自動展開を設定する ... 201

自動展開をツリーレベルで設定する ... 202

子ノードを持つノードのみ展開ボタンを表示させるには . . . .203

事前読込を有効にする ... 203

ツリーコントロールの接続線を表示 / 非表示させるには . . . .204

接続線の表示を切り替える ... 204

ルートノードの表示 / 非表示を切り替えるには . . . .205

ルートノードの表示/非表示を切り替える ... 205

指定ノードに移動するには . . . .206

TreeNodeGoto()関数を使用する ... 206

エンドユーザが行ったノード展開 / 縮小の操作に対応する処理を実行させるには . . .207

ノード展開/縮小イベントを取り込む ... 207

ユーザのノードから別のノードに移動する操作に対応するには . . . .208

ノードに入る動作を取り込む ... 208

ノードから抜け出る動作を取り込む ... 208

現在のツリーノードの行を強調表示させるには . . . .209

行ハイライトの指定を切り替える ... 209

10: さらなるロジックの拡張 ユーザ定義関数を作成するには . . . .211

関数の有効範囲を定義する ... 211

ユーザ定義関数を作成する ... 212

ユーザ定義関数のパラメータを設定するには . . . .213

関数のパラメータを定義する ... 213

ユーザ定義関数の戻り値を設定するには . . . .214

ユーザ定義関数に戻り値を設定する ... 214

現在のタスクでのみ有効な関数を作成するには . . . .215

ローカル関数を作成する ... 215

プロジェクト全体で有効な関数を作成するには . . . .216

(12)

グローバル関数を作成する ... 216

複数のプロジェクト間で関数を共有するには . . . 217

グローバル関数を作成する ... 217

ユーザ定義関数のヘルプを定義するには . . . 218

ユーザ定義関数にコメントを定義する ... 218

一連の処理を繰り返し実行させるには . . . 219

LoopCounter()関数を使用する ... 219

ブロックWhile処理コマンドを定義する ... 219

データ項目を更新するには . . . 220

項目更新処理コマンドを使用する ... 220

項目の値を処理コマンドの実行条件に設定するには . . . 221

処理コマンドの条件式を入力する ... 221

バッチプログラムで処理されたレコードの連番を取得するには . . . 222

Counter()関数を使用する ... 222

オンラインタスクで最初のレコードの場合のみ実行する条件を設定するには . . . 223

IsFirstRecordCycle()関数を使用する ... 223

指定コントロールにカーソルを移動させるには . . . 224

CtrlGoto()関数を使用する ... 224

コントロールに入ったり抜けたりした場合に実行するロジックを作成するには . . . 225

コントロール前を使用する ... 225

コントロール後を使用する ... 225

カーソルを一定の方向に移動させた場合のみ処理を実行させるには . . . 226

順番にカーソルを移動したり、特定のコントロールをスキップした場合のみ処理を実行さ せるには . . . 227

コントロール前を使用する ... 227

コントロール上(エディット / リッチエディット / 複数選択リストボックス)にフォーカ スが残っている状態で新規入力データを検索するには . . . 228

EditGet()関数を使用する ... 228

イベントが発行されたコントロールを識別するには . . . 229

HandledCtrl()関数を使用する ... 229

特定のコントロールにパークしている時にのみ実行されるイベントロジックユニットを定 義するには . . . 230

イベントのコントロール名特性を使用する ... 230

同じロジックユニット内で実行されるロジックをタスクタイプによって切り替えるには 231 エンドユーザがコントロールにデータを入力する時に、実行されるロジックを定義するに は . . . 232

コントロール修正イベントを使用する ... 232

処理コマンドを無効にするには . . . 233

複雑なテキストメッセージを動的に作成するには . . . 234

変数を更新した後にレコード後が実行されることを防止するには . . . 235

フィールドをデータビューから分離するには: ... 235

(13)

マスタリング Magic xpa

目次 Pg 11

11: 日付と時刻

現在の日付を取得するには . . . .237

日付の格納形式 ... 237

Date()関数を使用する ... 237

現在の時刻を取得するには . . . .238

Time()関数を使用する ... 238

現在の時間をミリ秒単位で取得するには . . . .239

mTime()関数を使用してタイムスタンプを作成する ... 239

日付データの加算処理を行うには . . . .240

時刻データの加算処理を行うには . . . .241

日付/時刻データを加算するには . . . .242

AddDateTime()関数を使用する ... 242

項目の指定方法について ... 242

2つの日付/時刻データの差分を計算するには . . . .243

DifDateTime()関数を使用する ... 243

項目の指定方法について ... 243

指定された日付に対応する月の最初の日付を取得するには . . . .244

BOM() 関数を使用する ... 244

指定された日付に対応する年の最初の日付を取得するには . . . .245

BOY()関数を使用する ... 245

指定された日付に対応する月の最後の日付を取得するには . . . .246

EOM()関数を使用する ... 246

指定された日付に対応する年の最後の日付を取得するには . . . .247

EOY() 関数を使用する ... 247

指定された日付に対応する曜日名を取得するには . . . .248

CDOW() 関数を使用する ... 248

指定された日付に対応する月名を取得するには . . . .249

CMonth() 関数を使用する ... 249

指定された日付の年 // 日の各部分を取得するには . . . .250

指定された時刻の時 // 秒の各部分を取得するには . . . .251

指定された日付の週単位の日数を取得するには . . . .252

DOW()関数を使用する ... 252

日付データを文字列に変換するには . . . .253

日付書式 ... 253

DStr()関数を使用する ... 254

文字列で格納された日付を日付データに変換するには . . . .255

12: GUI の処理 マウスを使用した場合のみコントロールへのパークを可能にするには . . . .257

TABで移動特性を設定する ... 257

マウスカーソルのアイコンを変更するには . . . .258

SetCrsr()関数を使用する ... 258

ドラッグ & ドロップでデータをコピーするには . . . .259

(14)

外部アプリケーションにデータをドラッグ & ドロップするには . . . 260

ドラッグされたファイルからファイル名を取得するには . . . 261

外部アプリケーションから Magic xpa にデータをドラッグするには . . . 262

テーブルのデータを Excel にドラッグするには . . . 263

外部アプリケーションがデータを取得できないようにするには . . . 264

チョイスコントロールで定義されている値と異なるテキストを表示するには . . . 265

チョイスコントロールに特殊文字を表示するには . . . 266

フォームエディタ上でチョイスコントロールオプションを切り替えるには . . . 267

アクセラレータをチョイスコントロールオプションに設定するには . . . 268

コンボボックスに表示されるドロップダウンリストの長さを制限するには . . . 269

タブコントロールの異なるタブにコントロールを関連付けるには . . . 270

1つのタブでコントロールを表示させる ... 270

すべてのタブでコントロールを表示させる ... 270

タブコントロールの指定されたタブにタスクを関連付けるには . . . 272

タブコントロールの各タブにイメージを割り当てるには . . . 273

タブコントロールの選択肢を動的に変更するには . . . 274

表示レイヤリストを設定する ... 274

ラジオボタンを定義するには . . . 275

1つのコントロール内にボタンを含める ... 275

複数のコントロール内にボタンを含める ... 275

チョイスコントロールにデフォルトオプションを設定するには . . . 277

チョイスコントロールの選択肢を動的に設定するには . . . 278

動的な選択肢を設定する ... 278

データソースの内容を選択肢にするには . . . 279

データベーステーブルにリンクしたチョイスコントロールを作成する ... 279

データソースにリンクされたチョイスコントロールに追加オプションを結合するには 280 プッシュボタンとロジックを組み合わせるには . . . 281

ユーザイベントを作成する ... 281

フォームにプッシュボタンを配置する ... 281

イベントが発行されると実行されるロジックユニットを作成する ... 282

プッシュボタンにキーボード操作を許可させるには . . . 283

パーク可能なプッシュボタンを作成する ... 283

プッシュボタンがクリックされたときに実行される検証ロジックをスキップするには 284 イメージボタンを作成するには . . . 285

イメージボタンを作成する ... 285

イメージとテキストを組み合わせてボタンを表示するには . . . 287

テキスト上のイメージボタンを定義する ... 287

パーク可能なプッシュボタン上にテキストを指定するには . . . 288

(15)

マスタリング Magic xpa

目次 Pg 13

サブフォームやその親タスクに影響するプッシュボタンを定義するには . . . .290

実行元特性をフォーカス上のタスクに設定する ... 290

アクセラレータをプッシュボタンに設定するには . . . .291

プッシュボタンにアクセラレータを設定する ... 291

動的なリッチテキストを作成するには . . . .292

複数選択のリストボックスからデータを取得するには . . . .293

複数選択のリストボックスを使用する ... 293

ユーザがカラムをクリックした後にロジックを実行させるには . . . .295

カラムヘッダを折り返し表示させるには . . . .296

グラデーション表示を定義するには . . . .297

プッシュボタンにホットトラック効果を定義するには . . . .298

ステータスバーにテキストを設定するには . . . .299

タブコントロールにタブ順序と可視を動的に定義するには . . . .300

13: XML 最初から XML ドキュメントを作成するには . . . .301

XMLドキュメントを初期設定する ... 301

XML スキーマを見つけるには . . . .302

XMLスキーマ ... 302

XML ビューを作成するには . . . .304

XMLビューを作成する ... 304

複数のXMLビューを作成する ... 305

ノード ID と親 ID を更新するには . . . .306

XML ファイル内の合成要素にアクセスするには . . . .307

繰り返し要素 ... 307

合成要素を選択する ... 307

既存の XML ドキュメントを修正するには . . . .308

親レコードにアクセスする ... 308

子レコードにアクセスする ... 308

XML データ型に対応する Magic xpa のデータ型を決定するには . . . .310

スキーマの設定を表示する ... 311

任意の順番で XML ドキュメントからデータを取得するには . . . .312

XMLビューのために代替インデックスを作成する ... 312

XML ドキュメント内のマルチ発生要素を処理するには . . . .313

繰り返し要素を表示する ... 313

同じ XML ドキュメントを異なるユーザで共有させるには . . . .315

XMLドキュメントにアクセスモードを設定する ... 315

同じスキーマを使用した異なる XML ドキュメントを作成するには . . . .316

Magic xpa のデータ項目に格納された XML ドキュメントにアクセスするには . . . . .317

データソースとしてBLOBを使用する ... 317

入出力ファイルとしてBLOB項目を使用する ... 317

XML ドキュメントを検証するには . . . .318

XMLValidate()関数を使用する ... 318

(16)

XML ドキュメントの検証エラーを取得するには . . . 319

XML にアクセスしている間に発生したエラーを処理するには . . . 320

グローバルなエラーハンドラを作成する ... 320

XML ドキュメント対するエンコードを指定するには . . . 321

XMLGetEncoding()関数を使用する ... 321

Base64 でエンコードされた XML データを処理するには . . . 322

XML ドキュメントをパラメータとして渡すには . . . 323

スキーマを使用しないで XML ドキュメントを処理するには . . . 324

XML ドキュメント内のデータの取得、更新、挿入を行うには . . . 325

XML データを取得する ... 325

XMLデータを更新する ... 325

XML データを挿入する ... 325

XMLデータを削除する ... 326

XML ドキュメント内のデータ要素と階層構造を識別するには . . . 327

XML ドキュメント内の混在内容を扱うには . . . 328

14: COM 使用する COM オブジェクトを定義するには . . . 329

COMオブジェクトを定義する ... 329

COM オブジェクトのメソッドを呼び出すには . . . 331

COM メソッドを呼び出す ... 331

COM オブジェクトのプロパティを設定 / 取得するには . . . 333

COM オブジェクトでプロパティの設定/取得オプションを使用する ... 333

COM オブジェクトの参照先を変更するには . . . 335

COM ライブラリの参照先を変更する ... 335

列挙型パラメータ値を設定するには . . . 336

Variant 型に対してデータの設定 / 取得を行うには . . . 337

Variantを作成する ... 337

Variantからデータを取得する ... 338

Variant のMagicデータ型 ... 338

Variant のデータタイプ ... 338

COM オブジェクトの Variant 値のタイプと対応する Magic データ型を決定するには 340

VariantAttr()関数を使用してデータ型を取得する ... 340

VariantType()関数を使用してデータタイプを取得する ... 341

COM オブジェクトから配列値を取り出したり設定したりするには . . . 342

COM オブジェクトに配列を渡す ... 342

COM オブジェクト内のコレクションを処理するには . . . 344

コレクションを取り出す ... 345

COM オブジェクト間でパラメータとして COM オブジェクトの受け渡しを行うには 347

COMオブジェクトを受け取る ... 347

COM オブジェクト定義を再利用するには . . . 348

(17)

マスタリング Magic xpa

目次 Pg 15

15: コンポーネント

プロジェクト間で Magic xpa のオブジェクトを再利用するには . . . .351

Magicコンポーネントを作成する ... 351

オブジェクトを公開するには . . . .355

プロジェクトにコンポーネントを読み込むには . . . .356

Magicコンポーネントを使用する ... 356

ホストアプリケーションで使用している既存のコンポーネントの変更を有効にするには 357

実行環境でコンポーネントを変更する ... 357

開発環境でコンポーネントを変更する ... 357

コンポーネント内のオブジェクトの名前を変更する ... 357

コンポーネント用のヘルプファイルを提供するには . . . .358

ヘルプファイルを組み込む ... 358

コンポーネントのオブジェクトに関する詳細情報を参照するには . . . .360

コンポーネントが存在するディレクトリにアクセスするには . . . .361

現在実行中のアプリケーションがコンポーネントかどうかを確認するには . . . .362

コンポーネントとして定義されない別のアプリケーション内のプログラムを呼び出すに は . . . .363

コールリモートを使用する ... 363

コール公開名を使用する ... 364

アプリケーション間で再帰呼び出しを処理するには . . . .365

コンポーネントの動作環境を組み込むには . . . .366

コンポーネントへのアクセスを最適化するには . . . .368

コンポーネント用プロジェクトを一括管理するには . . . .369

モジュールとしてプロジェクトを登録する ... 369

登録したモジュールを開く ... 369

登録したモジュールを削除する ... 369

コンポーネントのオブジェクトのコメントを表示するには . . . .370

16: 動作環境 Windows のログイン ID を使用して Magic xpa にログオンするには . . . .371

Magic xpaにログインするためにWindowsのユーザIDを使用する ... 371

Magic xpa Studio 起動時に自動的にプロジェクトをオープンするようにするには . . .373

デフォルトプロジェクトを設定する ... 373

Web アプリケーションをテストするには . . . .374

サーバアプリケーションをテストする ... 374

SDI アプリケーションとして実行するように指定するには . . . .375

SDIアプリケーションを作成する ... 375

SDI プログラムとして実行させるには . . . .376

SDI コンテキストを定義する ... 376

SDIコンテキストを修正する ... 376

バッチタスクでの画面の再表示間隔を指定するには . . . .378

バッチイベント間隔を指定する ... 378

(18)

エンジンが非同期イベントのチェックを行う間隔を指定するには . . . 379

ISAM ファイルのトランザクションを組み込むには . . . 380

ISAM トランザクションを設定する ... 380

トランザクション内のISAMの強制ロック ... 380

Magic xpa のロックファイルの位置を指定するには . . . 381

入出力ファイルが実際に使用されるまで作成しないようにするには . . . 382

表示されたチェックメッセージを制御するには . . . 383

最小チェックレベル ... 383

メッセージのグループ化 ... 383

チェック項目の自動位置付 ... 384

チェックメッセージの表示 ... 384

プロジェクトファイルをコンポーネントとしてアプリケーションを開発するには . 385

プロジェクトファイルをコンポーネントとして使用する ... 386

ANSIUnicode に変換するためのコードページを指定するには . . . 387

17: データソースの定義 Magic xpa でデータベーステーブルを作成するには . . . 389

1.ゲートウェイとDBMSがロードされることを確認する ... 389

2.データベース定義を設定する ... 390

3.テーブルを作成する ... 390

4.カラムを作成する ... 391

5.インデックスを作成する ... 392

6.テーブルの構文チェックを実行する ... 392

7.レコードを作成してテーブルを確認する ... 392

既存のデータベーステーブルにアクセスするには . . . 394

既存のデータベーステーブルにアクセスする ... 394

データベースのビューからデータを取得するには . . . 396

データベーステーブル定義を変更するには . . . 397

Magic xpa内でのみ定義されているデータベーステーブルを変更する ... 397

外部テーブルと共有しているMagic xpaのデータソースを変更する ... 397

テーブル内のデータを暗号化するには . . . 398

データベーステーブルを暗号化する ... 398

シークレット名を使用するには . . . 399

シークレット名を設定する ... 399

シークレット名を使用する ... 399

Magic xpa の項目とデータベースカラム間の割付を定義するには . . . 400

デフォルト/NULLセクション ... 400

格納セクション ... 401

SQLセクション ... 401

複数の DBMS で動作するように設定するには . . . 402

移行可能な項目を定義する ... 402

移行可能なWHERE句を定義する ... 402

永続性のないデータ用のテーブルを定義するには . . . 403

メモリテーブルを作成する ... 403

決められた順番でデータベーステーブルからレコードを取得するには . . . 404

(19)

マスタリング Magic xpa

目次 Pg 17

定義されたインデックスを使用しないでレコードをソートするには ... 405

データベーステーブルを参照するには . . . .406

参照プログラムを作成する ... 406

データベーステーブルからテキストにデータを出力するには . . . .407

テキスト出力プログラムを作成する ... 407

テキストファイルのデータをデータベーステーブルに入力するには . . . .408

テキスト入力プログラムを作成する ... 408

データベーステーブルから一度にデータを取り込むには . . . .409

常駐特性の設定オプション ... 409

データベーステーブルからレコードを取得する際のデータサイズを指定するには . .410

DbSize()関数を使用する ... 410

DbRecs()関数を使用する ... 410

DbViewSize()関数を使用する ... 410

動的にデータソース名を設定するには . . . .412

定義された名前と異なるデータソース名を使用する ... 412

関数でデータソース名を指定する ... 412

データソース名に論理名を使用する ... 412

タスクに定義されているデータソースを一元管理するには . . . .414

データソーステーブルにアクセスする ... 414

18: メインプログラム アプリケーションを初期設定するには . . . .415

メインプログラムのデータビューエディタ ... 415

メインプログラムのロジックエディタ ... 416

メインプログラムのフォームエディタ ... 416

初期設定のプログラムを省略するには . . . .417

アプリケーションの背景 / 壁紙を設定するには . . . .418

メインプログラムに背景を定義する ... 418

グローバル変数の設定と使用を行うには(コンテキスト単位) . . . .419

グローバル変数を使用する ... 419

アプリケーション起動時の手続き処理を実行するには . . . .420

アプリケーション終了時の手続き処理を実行するには . . . .421

19: データビュー タスクのデータビュー内のレコード数を取得するには . . . .423

DbViewSize()関数を使用する ... 423

タスクのメインソースを定義するには . . . .424

メインソースを入力する ... 424

タスクで処理されるレコードの順番を動的に設定するには . . . .425

インデックス番号を指定する ... 425

インデックス式を使用する ... 426

タスクのソートテーブルを使用する ... 427

プログラムに受け渡しするパラメータを定義するには . . . .428

パラメータ項目を定義する ... 428

戻り値を定義する ... 429

(20)

タスクのデータ項目を定義するには . . . 430

カラムを定義する ... 431

変数項目を定義する ... 431

タスクのデータビューに範囲を定義するには . . . 433

範囲の最大/最小を使用する ... 433

範囲指定を異なる場所から確認する ... 434

範囲式を使用する ... 435

SQL Where句を使用する ... 436

タスク起動時に特定のレコードに位置付けるには . . . 437

位置付特性を使用する ... 437

位置付順序の効果 ... 437

位置付の最小/最大の両方を使用する ... 438

位置付式を使用する ... 438

テーブルの中央に位置付ける ... 438

読み込み専用のテーブルにアクセスするには . . . 439

データソースを読み込み専用でオープンする ... 439

データソースを複数のユーザ間でアクセスさせるには . . . 440

タスクのデータ項目の値を設定するには . . . 441

自動的に値を設定する ... 441

デフォルト値特性を使用する ... 441

代入特性を使用する ... 441

タスクで項目を更新する ... 442

項目処理コマンドを使用する ... 442

VarSet()関数を使用する ... 442

ユーザによって項目を更新する ... 442

1 つのタスク内で複数のテーブルからデータを検索するには . . . 443

リンクコマンドを使用する ... 443

リンクの位置付カラムを設定する ... 444

リンクの種類を設定する ... 444

リンクの戻り値特性を設定する ... 445

リンク条件を設定する ... 446

リンクカラムの範囲を使用する ... 446

テーブルの最初または最後のレコードを取得するには . . . 447

メインソースの最初または最後のレコードの取得 ... 447

範囲順序と位置付順序 ... 448

リンクテーブルの最初または最後のレコードの取得 ... 449

1. インデックスを定義する ... 449

2. 検索方向を設定する ... 449

データビューの範囲を動的に定義するには . . . 450

データビューの位置付けを動的に定義するには . . . 451

データビューのソートを動的に定義するには . . . 452

レコードがビューに存在しない状態に対応するには . . . 453

照会または修正? ... 453

一覧のみのウィンドウ ... 453

一覧/修正ウィンドウ ... 454

従来の動作 ... 455

エンドユーザ向けに範囲 / 位置付 / ソート機能を強化するには . . . 456

(21)

マスタリング Magic xpa

目次 Pg 19

20:

式エディタ内で式の体裁を整えるには . . . .459

式を改行入力する ... 459

関数名の入力を簡単に行うには . . . .460

オートコンプリート機能を使用する ... 460

式の拡張表示で色付けされる要素の色を設定するには . . . .461

式で使用する色を設定する ... 461

関数の関連ヘルプを表示させるには . . . .462

任意の場所から関数のヘルプトピックを探す ... 462

式エディタでヘルプを使用する ... 462

関数一覧からヘルプを表示する ... 462

長い式の編集を容易にするために式の入力行を拡張するには . . . .463

広域モードの式をチェックするには . . . .463

文字型項目内で改行データを入力するには . . . .463

タスクエディタで直接に式を編集するには . . . .464

クイック式エディタを使用する ... 464

式エディタから項目一覧に移動するには . . . .465

項目一覧からデータ項目を選択する ... 465

式エディタから関数一覧を開くには . . . .466

関数一覧から関数を選択する ... 466

各選択一覧から選択する ... 467

式がどこで使用されているかを調べるには . . . .468

式エディタ上でクロスリファレンスを使用する ... 468

式の中で別の式を再利用するには . . . .469

ユーザ定義関数を使用する ... 469

ExpCalc()関数を使用する ... 470

実行時に式の構文の確認と評価を行うには . . . .471

EvalStr関数を使用する ... 471

EvalStrInfo関数を使用する ... 472

既存の式を複写するには . . . .473

@Lineを使用する ... 473

使用していない式を検索するには . . . .474

未使用の式を検索する ... 474

未使用の式をすべて削除するには . . . .475

式の中で文字列を定義するには . . . .476

簡単な式が重複して定義されることを防ぐには . . . .477

使用していない式を自動的に削除するには . . . .478

21: レポート タスクのデータビューを外部ファイルに出力するには . . . .479

動的にデータ出力させるには . . . .480

エンドユーザ機能コンポーネントを定義する ... 480

データ表示プログラムを作成する ... 480

(22)

データ出力ウィザードを使用する ... 481

簡単な参照プログラムを作成するには . . . 483

簡単な参照プログラムを作成する ... 483

現在のビューを HTMLXMLCSV 形式でテキスト出力するには . . . 484 データをテキストファイルとして出力するには . . . 485

DataViewToText()関数を使用する ... 485

データを CSV ファイルとして出力するには . . . 487 データを HTML ファイルとして出力するには . . . 488

DataViewToHTML()関数を使用する ... 488 HTMLテンプレートファイルを使用する ... 489

データを XML ファイルとして出力するには . . . 491

DataViewToXML()関数を使用する ... 491 スキーマファイルを作成する ... 491 XMLテンプレートファイルを使用する ... 491

帳票を作成するには . . . 493

Magic xpaで帳票を作成する ... 493

1. “起動画面”を作成する ... 493 2. 簡単なデータ照会プログラムを作成する ... 494 3. ソート順序と範囲を確認する ... 494 4. バッチタスクを定義する ... 495 5. 入出力ファイルを設定する ... 495 フォームを作成する ... 496 フォームを編集する ... 497 明細フォームの出力処理を定義する ... 498 ヘッダを出力する ... 499 フッタを出力する ... 499

ページヘッダ / フッタの情報を定義するには . . . 500 グローバルなページヘッダ / フッタを定義するには . . . 501

グローバルフォームを作成し使用する ... 501 グローバルなページヘッダ/フッタ上でデータ項目を扱う ... 501

帳票ページを列挙するには . . . 503

1. 2つの入出力ファイルを定義する ... 503 2. タスクの呼び出し処理を定義する ... 504 3.タスク前で出力項目を初期化する ... 504 4. ページヘッダイベントのロジックユニットを作成する ... 504 5. 最初の処理で取得されたページ総数を格納する ... 505 6. 2つの入出力ファイルに出力する ... 505

複数のプログラムで同じ入出力ファイルを使用して出力するには . . . 506

プログラムの呼び出し処理を設定する ... 506 起動されるプログラムを設定する ... 507

帳票のブレイクレベルを作成するには . . . 508

1. ブレイクレベルに対応したレコードの並び順を設定する ... 508 2. ブレイクの発生対象となるデータ項目を決定する ... 508 3. グループレベルを設定する ... 509 4. 合計値の計算を行う ... 509

ブレイクレベル毎の総計を定義するには . . . 510

1. 総計用項目を定義する ... 510 2. 総計用項目を更新する ... 510 3. 総計用項目を初期化する ... 510

(23)

マスタリング Magic xpa

目次 Pg 21

帳票のテーブルに対して見出しを繰り返し出力させるには . . . .512 PDF ドキュメントを作成するには . . . .513

ユーザが出力先を選択する際にPDFの設定を行う ... 513 デフォルトの印刷プレビューアーとしてPDFを設定する ... 514 バッチジョブ用にPDFを設定する ... 514

ページ毎に計算処理を実行させるには . . . .516 帳票にマージンを設定するには . . . .517

プリンタテーブルに設定する ... 517 スタイル設定ユーティリティを使用する ... 517 全てのキューで同じマージンを設定する ... 517

22: マージ

テキストファイルにデータをマージするには . . . .519

1. テキストのテンプレートを作成する ... 519 2. 出力ファイルを指定する ... 520 3. マージフォームを作成する ... 520 4. マージフォームの特性を設定する ... 521 5. タグを選択する ... 521 6. 各タグをデータと関連付ける ... 522 7. マージフォームを出力する ... 522

動的に Word ドキュメントを作成するには . . . .524 動的に Excel ドキュメントを作成するには . . . .526 テンプレートに繰り返し可能なデータを挿入するには . . . .527 HTML テンプレートのテーブルに繰り返し可能なデータを挿入するには . . . .528 テンプレートへのデータ挿入を調整するには . . . .529

条件を指定する ... 529

テンプレートに置き換え可能なトークンを設定するには . . . .530 HTML タグとマージのトークンを区別するには . . . .531 好みの HTML エディタを利用するように設定するには . . . .532 複数のタスクで 1 つのドキュメントにデータをマージするには . . . .533

同じプログラム内の2つのタスクからのデータをマージする ... 533 2つの異なるプログラムのデータをマージする ... 533

テンプレートを使用して、データをグループ化して出力するには . . . .535

1. テンプレートを設定する ... 536 2. 詳細行を書き込む ... 536 3. ヘッダを書き込む ... 537

テンプレートにファイルを埋め込むには . . . .538

<!$MGINCLUDE>の構文 ... 538

マージ Web アプリケーションを作成するには . . . .539

基本的なマージWeb アプリケーション ...539 HTML ファイルを作成する ... 539 マージタグ ... 539 マージプログラムを作成する ... 540 タスクを定義する ... 540 マージプログラムを実行する ... 540

Cookie を使用するには . . . .542

Cookie の書き込み ...542

参照

関連したドキュメント

Magic xpa Enterprise Studio、Magic xpa Enterprise Client、Magic xpa Enterprise Server および Magic xpa RIA Server は Magic Software Japan

Magic xpa Enterprise Studio、Magic xpa Enterprise Client、Magic xpa Enterprise Server および Magic xpa RIA Server は Magic Software Japan

Magic xpa Enterprise Studio、Magic xpa Enterprise Client、Magic xpa Enterprise Server および Magic xpa RIA Server は Magic Software Japan

Magic xpa Enterprise Studio、Magic xpa Enterprise Client、Magic xpa Enterprise Server および Magic xpa RIA Server は Magic Software Japan

Magic xpa Enterprise Studio、Magic xpa Enterprise Client、Magic xpa Enterprise Server および Magic xpa RIA Server は Magic Software Japan

Magic xpa Enterprise Studio、Magic xpa Enterprise Client、Magic xpa Enterprise Server および Magic xpa RIA Server は Magic Software Japan

Magic xpa Enterprise Studio、Magic xpa Enterprise Client、Magic xpa Enterprise Server および Magic xpa RIA Server は Magic Software Japan

uniPaaS Studio 、 uniPaaS Client 、 uniPaaS Enterprise Server および uniPaaS RichClient Server は Magic Software Japan