SlideShare una empresa de Scribd logo
1 de 198
v13のすべて
v13のすべて
略歴
バージョン ビルド リリース
13.0 105640 2012/02/14
13.1 114570 2012/07/02
13.2 122395 2012/11/16
13.3 133604 2013/05/28
v13のすべて
動作環境
Windows Mac OS X
プロセッサ Intel Core DuoIntel Core Duo
Windows XP SP3 10.6.8
システム Windows 7 10.7システム
Windows 8 10.8
メモリ 2GB2GB
解像度 1280 x 10241280 x 1024
v13のすべて
動作環境
Windows Mac OS X
プロセッサ Intel Core DuoIntel Core Duo
Windows XP SP3 10.6.8
システム Windows 7 10.7システム
Windows 8 10.8
メモリ 2GB2GB
解像度 1280 x 10241280 x 1024
Webエリア
v13のすべて
統合されたWebKitを使用
Webエリア
v13のすべて
統合されたWebKitを使用
Windows は×
xp
XPSビューア
v13のすべて
XPSビューア
v13のすべて
Windows は×
xp
Direct2D
v13のすべて
テキスト(DWrite API)
イメージ(楕円・矩形・曲線・画像)
フォームオブジェクト(コントロール全般)
SVG・ストラクチャエディター
グラフィックカード / WARP
エミュレーションハードウェア・アクセラレーション
Direct2D
v13のすべて
イメージ(楕円・矩形・曲線・画像)
フォームオブジェクト(コントロール全般)
SVG・ストラクチャエディター
グラフィックカード / WARP
エミュレーションハードウェア・アクセラレーション
Windows は×
xp
テキスト(DWrite API)
v13のすべて
ドキュメント(ページ数)
バージョン 変換ガイド アップグレード
2004 41 420
11 113 416
12 - 334
13 43 230
ランゲージ
ランゲージ
1
2
3
4
5
ランゲージ
1
2
3
4
5 オブジェクトプロパティ
ランゲージ
1
2
3
4 サーバー再起動
5 オブジェクトプロパティ
ランゲージ
1
2
3 配列操作
4 サーバー再起動
5 オブジェクトプロパティ
ランゲージ
1
2 ファイルアクセス
3 配列操作
4 サーバー再起動
5 オブジェクトプロパティ
ランゲージ
1 HTTPクライアント
2 ファイルアクセス
3 配列操作
4 サーバー再起動
5 オブジェクトプロパティ
HTTPクライアント
HTTP Get
HTTP Request
HTTP SET OPTION
HTTP GET OPTION
HTTP AUTHENTICATE
HTTP Get
HTTP Request
HTTP SET OPTION
HTTP GET OPTION
HTTP AUTHENTICATE
HTTP POST Method
HTTP HEAD Method
HTTP TRACE Method
HTTP DELETE Method
HTTP PUT Method
HTTP OPTIONS Method
HTTPクライアント
HTTP Get
HTTP Request
HTTP SET OPTION
HTTP GET OPTION
HTTP AUTHENTICATE
HTTP POST Method
HTTP HEAD Method
HTTP TRACE Method
HTTP DELETE Method
HTTP PUT Method
HTTP OPTIONS Method
HTTPクライアント
HTTP Get
HTTP Request
HTTP SET OPTION
HTTP GET OPTION
HTTP AUTHENTICATE
HTTP POST Method
HTTP HEAD Method
HTTP TRACE Method
HTTP DELETE Method
HTTP PUT Method
HTTP OPTIONS Method
4D Internet Commands: 約500行
HTTP Download with a Single Method
by Thomas Maul
http://kb.4d.com/search/assetid=39384
HTTPクライアント
HTTP Get
HTTP Request
HTTP SET OPTION
HTTP GET OPTION
HTTP AUTHENTICATE
HTTP POST Method
HTTP HEAD Method
HTTP TRACE Method
HTTP DELETE Method
HTTP PUT Method
HTTP OPTIONS Method
自動変換(テキスト・ピクチャ・BLOB)
HTTPクライアント
CREATE FOLDER
COPY DOCUMENT
DOCUMENT LIST
Select document
System folder
ファイルアクセス
CREATE FOLDER
COPY DOCUMENT
DOCUMENT LIST
Select document
System folder
CREATE FOLDER ("C:¥¥アーカイブ¥¥")
CREATE FOLDER ("C:¥¥アーカイブ¥¥2012¥¥")
CREATE FOLDER ("C:¥¥アーカイブ¥¥2012¥¥JAN¥¥")
CREATE FOLDER ("C:¥¥アーカイブ¥¥2012¥¥JAN¥¥";*)
ファイルアクセス
CREATE FOLDER
COPY DOCUMENT
DOCUMENT LIST
Select document
System folder
DOCUMENT LIST ($srcPath;$docs)
If (Test path name($destPath)#0)
CREATE FOLDER ($destPath)
End if
$d:=Size of array ($docs)
For ($i;1;$d)
COPY DOCUMENT ($srcPath+Folder separator+
$docs{$i};$destPath+Folder separator+$docs{$i})
End for
COPY DOCUMENT ("C:¥¥アーカイブ¥¥";"F:¥¥BACKUP¥¥")
ファイルアクセス
CREATE FOLDER
COPY DOCUMENT
DOCUMENT LIST
Select document
System folder
DOCUMENT LIST ($path;$docs;Recursive parsing)
Absolute path
Posix path
Ignore invisible
ファイルアクセス
CREATE FOLDER
COPY DOCUMENT
DOCUMENT LIST
Select document
System folder
$docRef:=Create document ("";".pdf")
If (OK=1)
BLOB TO DOCUMENT (DOCUMENT;$blob)
End if
$doc:=Select document ($path+$file;
"ファイル名を入力してください";File name entry)
ファイルアクセス
CREATE FOLDER
COPY DOCUMENT
DOCUMENT LIST
Select document
System folder
System folder (Documents folder)
$var:="USERPROFILE="
$cmd:="cmd.exe /C set | findstr "+$var
SET ENVIRONMENT VARIABLE
("_4D_OPTION_HIDE_CONSOLE";"true")
LAUNCH EXTERNAL PROCESS ($cmd;$in;$out;$err)
$userProfile:=Substring ($out;Length($var)+1)
$0:=$userProfile+Folder separator+"My Documents"
ファイルアクセス
配列操作
SELECTION TO ARRAY
ARRAY TO SELECTION
SELECTION RANGE TO ARRAY
SELECTION TO ARRAY
ARRAY TO SELECTION
SELECTION RANGE TO ARRAY
SELECTION TO ARRAY ([顧客]firstName;$firstName;*)
SELECTION TO ARRAY ([顧客]lastName;$lastName;*)
SELECTION TO ARRAY ([顧客]address;$address;*)
SELECTION TO ARRAY ([顧客]phone;$phone;*)
SELECTION TO ARRAY ([顧客]fax;$fax;*)
SELECTION TO ARRAY ([顧客]mail;$mail)
配列操作
SELECTION TO ARRAY
ARRAY TO SELECTION
SELECTION RANGE TO ARRAY
For ($i;1;20)
$field:=Field(Table(->[顧客]);$i)
$array:=Get pointer(Field name($field))
SELECTION TO ARRAY ($field->;$array->;*)
End for
SELECTION TO ARRAY
配列操作
SELECTION TO ARRAY
ARRAY TO SELECTION
SELECTION RANGE TO ARRAY
SELECTION TO ARRAY ([顧客]firstName;$firstName;*)
SELECTION TO ARRAY ([顧客]lastName;$lastName;*)
SELECTION TO ARRAY ([顧客]address;$address;*)
SELECTION TO ARRAY ([顧客]phone;$phone;*)
SELECTION TO ARRAY ([顧客]fax;$fax;*)
SELECTION RANGE TO ARRAY (1;50)
配列操作
Max
Variance
Min
Sum
Sum squares
Std deviation
2次元配列もOK!
配列操作
サーバー再起動
OPEN DATA FILE
CREATE DATA FILE
オブジェクトプロパティ
OBJECT SET SHORTCUT
OBJECT GET SHORTCUT
OBJECT SET HELP TIP
OBJECT Get help tip
OBJECT SET FOCUS RECTANGLE INVISIBLE
OBJECT Get focus rectangle invisible
オブジェクトプロパティ
OBJECT SET RESIZING OPTIONS
OBJECT GET RESIZING OPTIONS
OBJECT SET DRAG AND DROP OPTIONS
OBJECT GET DRAG AND DROP OPTIONS
オブジェクトプロパティ
OBJECT SET AUTO SPELLCHECK
OBJECT Get auto spellcheck
OBJECT SET KEYBOARD LAYOUT
OBJECT Get keyboard layout
オブジェクトプロパティ
FORM GET OBJECTS
カレントフォーム
FORM GET NAMES
OPEN PRINTING FORM
プロジェクトフォーム
すべてのフォーム
ランゲージ
6
7
8
9
10
ランゲージ
6
7
8
9
10 圧縮/ハッシュ
ランゲージ
6
7
8
9 ウィジェット
10 圧縮/ハッシュ
ランゲージ
6
7
8 階層リスト
9 ウィジェット
10 圧縮/ハッシュ
ランゲージ
6
7 ピクチャ管理
8 階層リスト
9 ウィジェット
10 圧縮/ハッシュ
ランゲージ
6 リストボックス
7 ピクチャ管理
8 階層リスト
9 ウィジェット
10 圧縮/ハッシュ
リストボックス
LISTBOX SET FOOTER CALCULATION
LISTBOX Get footer calculation
LISTBOX SET FOOTERS HEIGHT
LISTBOX Get footers height
LISTBOX SET HEADERS HEIGHT
LISTBOX Get headers height
リストボックス
LISTBOX SET FOOTER CALCULATION
LISTBOX Get footer calculation
LISTBOX SET FOOTERS HEIGHT
LISTBOX Get footers height
LISTBOX SET HEADERS HEIGHT
LISTBOX Get headers height
Listbox footer average
Listbox footer count
Listbox footer max
Listbox footer min
Listbox footer sum
セレクション
配列
Listbox footer average
Listbox footer count
Listbox footer max
Listbox footer min
Listbox footer sum
LISTBOX SET FOOTERS HEIGHT
LISTBOX Get footers height
LISTBOX SET HEADERS HEIGHT
LISTBOX Get headers height
リストボックス
LISTBOX SET FOOTER CALCULATION
LISTBOX Get footer calculation
セレクション
配列
Listbox footer sum squares
Listbox footer variance
Listbox footer std deviation
リストボックス
LISTBOX SET FOOTER CALCULATION
LISTBOX Get footer calculation
Listbox footer average
Listbox footer count
Listbox footer max
Listbox footer min
Listbox footer sum
LISTBOX SET FOOTERS HEIGHT
LISTBOX Get footers height
LISTBOX SET HEADERS HEIGHT
LISTBOX Get headers height
Listbox footer sum squares
Listbox footer variance
Listbox footer std deviation
Listbox footer custom
配列
セレクション
リストボックス
LISTBOX SET FOOTER CALCULATION
LISTBOX Get footer calculation
Listbox pixels
Listbox rows
LISTBOX SET FOOTERS HEIGHT
LISTBOX Get footers height
LISTBOX SET HEADERS HEIGHT
LISTBOX Get headers height
リストボックス
LISTBOX SET LOCKED COLUMNS
LISTBOX Get locked columns
LISTBOX SET STATIC COLUMNS
LISTBOX Get static columns
LISTBOX SET COLUMN FORMULA
LISTBOX Get column formula
リストボックス
LISTBOX GET GRID
LISTBOX GET GRID COLORS
OBJECT SET VERTICAL ALIGNMENT
OBJECT Get vertical alignment
LISTBOX SET GRID
LISTBOX SET GRID COLOR
LISTBOX SET GRID
LISTBOX GET GRID
LISTBOX SET GRID COLOR
LISTBOX GET GRID COLORS
リストボックス
Align default
Align top
Align center
Align bottom
ヘッダ
列
フッタ
OBJECT SET VERTICAL ALIGNMENT
OBJECT Get vertical alignment
リストボックス
On Before Data Entry
$0:=-1
セル単位の入力制御
リストボックス
LISTBOX INSERT ROWS
LISTBOX DELETE ROWS
リストボックス
デフォルト値
リストボックス
スクロール
ピクセル行単位
LISTBOX SELECT ROW
リストボックス
スクロール
ピクセル行単位
OBJECT SET SCROLL POSITION
LISTBOX SELECT ROW
リストボックス
スクロール
ピクセル行単位
OBJECT SET SCROLL POSITION
SCROLL LINES
LISTBOX SELECT ROW
ピクチャ管理
Equal pictures
SET PICTURE FILE NAME
Get picture file name
GET PICTURE KEYWORDS
ピクチャ管理
Is picture file*
SET PICTURE METADATA
GET PICTURE METADATA
Equal pictures
SET PICTURE FILE NAME
Get picture file name
GET PICTURE KEYWORDS
階層リスト
GET LIST ITEM PARAMETER ARRAYS
アイテム毎の連想配列
階層リスト
GET LIST ITEM PARAMETER ARRAYS
SET LIST ITEM PARAMETER
GET LIST ITEM PARAMETER
ウィジェット
FORM GOTO PAGE*
FORM Get current page*
OBJECT SET SUBFORM
OBJECT GET SUBFORM
OBJECT GET SUBFORM CONTAINER SIZE
Generate digest
MD5 Digest
SHA1 Digest
圧縮/ハッシュ
Generate digest
MD5 Digest
SHA1 Digest
圧縮/ハッシュ
AP Get file MD5 digest
圧縮/ハッシュ
COMPRESS BLOB
GZIP Best Compression Mode
GZIP Fast Compression Mode
EXPAND BLOB
圧縮/ハッシュ
WEB SEND FILE
WEB SEND TEXT
WEB SEND BLOB
圧縮/ハッシュ
WEB SEND FILE
WEB SEND TEXT
WEB SEND BLOB
WEB SEND RAW DATA
自動圧縮: 無
圧縮/ハッシュ
WEB SET OPTION
Web HTTP Compression Level
Web HTTP Compression Threshold
フォームイベント
On Page Change
On Expand
On Collapse
On Footer Click
On Delete Action
階層リスト&リストボックス
階層リストボックス
階層リストボックス
On Picture Scroll * 13.2
データベースイベント
On System Event
On application background move
On application foreground move
データベースパラメーター
Direct2D Status
Diagnostic Log Recording
Log Command List
65
キャッシュログ
アサートログ
デバッグログ
デバッガ
デバッガ
デバッガ
一時的ブレークポイント
(shift+click)
デバッガ
一時的ブレークポイントは廃止
デバッガ
デバッガ
デバッガ
ダブルクリック: エディターを開く
ドラッグ: 別のストラクチャにコピー
デバッガ
デバッガ
ドラッグ&ドロップは廃止(⌘Dで対応)
デバッガ
デバッガ
移動: 次のステートメントを設定
デバッガ
コードエリア上でクリック(マージンはNG)
デバッガ
コードエリア上でクリック(マージンはNG)
デバッガ
メソッド・フォーム・テーブル・フィールド: クリック
テーブルフォーム: フォーム部分(文字列)をクリック
デバッガ
(インター)プロセス変数: Compiler_メソッドが必要
エクスプローラー
メソッドの呼び出し元を検索
メソッド名称変更
依存関係を検索
検索→ドラッグ&ドロップ
4D Insider
自動スタイルシート
デザインモード検索
ユーザー設定
ユーザー設定
ユーザー設定
ユーザー設定
./Preferences/settings.4Dsettings
ユーザー設定
./Preferences/settings.4Dsettings
XML
断片化対策
インデックス: 0
レコード: 1,000,000
アドレステーブル
データ: 259.93MB
インデックス: 0MB
アドレステーブル
1回目(キャッシュ無): 2,950
2回目(キャッシュ有): 205
レコード数: 1,000,000
アドレステーブル
1回目(キャッシュ無): 801
2回目(キャッシュ有): 541
レコード数: 100,000
1回目(キャッシュ無): 2,950
2回目(キャッシュ有): 205
レコード数: 1,000,000
▲
1回目: キャッシュに取り込むレコード数が減った。
2回目: フラグメンテーション(断片化)が激しい。
アドレステーブル
1回目(キャッシュ無): 801
2回目(キャッシュ有): 541
レコード数: 100,000
1回目(キャッシュ無): 2,950
2回目(キャッシュ有): 205
レコード数: 1,000,000
▲
1回目: キャッシュに取り込むレコード数が減った。
2回目: フラグメンテーション(断片化)が激しい。
アドレステーブル
1回目(キャッシュ無): 801
2回目(キャッシュ有): 541
レコード数: 100,000
1回目(キャッシュ無): 2,950
2回目(キャッシュ有): 205
レコード数: 1,000,000
▲
1回目: キャッシュに取り込むレコード数が減った。
2回目: フラグメンテーション(断片化)が激しい。
アドレステーブル
1回目(キャッシュ無): 801
2回目(キャッシュ有): 541
レコード数: 100,000
1回目(キャッシュ無): 2,950
2回目(キャッシュ有): 205
レコード数: 1,000,000
▲
1回目: キャッシュに取り込むレコード数が減った。
2回目: フラグメンテーション(断片化)が激しい。
これらのファイルの全サイズは 259.93MB です。
使用率は15%です。
このデータファイルを圧縮することを強くお勧めします。
これはディスク上のサイズを減らし,
アプリケーションの実行速度を大幅に向上させます。
アドレステーブル
1回目(キャッシュ無): 801
2回目(キャッシュ有): 541
レコード数: 100,000
1回目(キャッシュ無): 2,950
2回目(キャッシュ有): 205
レコード数: 1,000,000
▲
1回目: キャッシュに取り込むレコード数が減った。
2回目: フラグメンテーション(断片化)が激しい。
アドレステーブル
レコードとインデックスを圧縮
アドレステーブル
データ: 259.93MB
レコードとインデックスを圧縮
Before
アドレステーブル
データ:40.00MB
データ: 259.93MB
レコードとインデックスを圧縮
After
Before
アドレステーブル
1回目(キャッシュ無): 801
2回目(キャッシュ有): 541
Before
1回目(キャッシュ無): 764
2回目(キャッシュ有): 526
After
レコードとインデックスを圧縮
アドレステーブル
1回目(キャッシュ無): 801
2回目(キャッシュ有): 541
Before
1回目(キャッシュ無): 764
2回目(キャッシュ有): 526
After
これはディスク上のサイズを減らし,
アプリケーションの実行速度を大幅に向上させます。
レコードとインデックスを圧縮
アドレステーブル
1回目(キャッシュ無): 801
2回目(キャッシュ有): 541
Before
1回目(キャッシュ無): 764
2回目(キャッシュ有): 526
After
これはディスク上のサイズを減らし,
アプリケーションの実行速度を大幅に向上させます。
レコードとインデックスを圧縮
アドレステーブル
レコードとインデックスを圧縮
上級>
アドレステーブル
レコードとインデックスを圧縮
レコードの強制更新
アドレステーブル圧縮
アドレステーブル
1回目(キャッシュ無): 764
2回目(キャッシュ有): 526
Before
1回目(キャッシュ無): 128
2回目(キャッシュ有): 23
After
レコード・インデックス・アドレステーブルを圧縮
アドレステーブル
1回目(キャッシュ無): 764
2回目(キャッシュ有): 526
Before
1回目(キャッシュ無): 128
2回目(キャッシュ有): 23
After
圧縮前に作成したセット
圧縮前に作成したバックアップファイル
圧縮前に作成したログファイル
無効:
無効:
無効:
レコード・インデックス・アドレステーブルを圧縮
アドレステーブル
アドレス
アドレス
7
bits
32
bits
25
bits
セグメント番号
データファイル内のオフセット位置
ブロックサイズ: 128 bytes
アドレス: ブロック番号+セグメント番号
ブロック 0
0
1 2 3 4
128 384 256 512
アドレスレコード
アドレステーブルの1エントリー
アドレス
7
bits
32
bits
25
bits
セグメント番号
32
bits
サイズ
アドレステーブル
1024アドレスレコード
アドレス
7
bits
32
bits
25
bits
セグメント番号
32
bits
サイズ
464
bytes
ヘッダー
32
bits
32
bits
7
bits
25
bits
32
bits
32
bits
7
bits
25
bits
32
bits
32
bits
7
bits
25
bits
アドレステーブル²
1024アドレステーブル
アドレステーブルのアドレス
7
bits
32
bits
25
bits
セグメント番号
32
bits
サイズ
464
bytes
ヘッダー
32
bits
32
bits
7
bits
25
bits
32
bits
32
bits
7
bits
25
bits
32
bits
32
bits
7
bits
25
bits
アドレステーブル
アドレステーブル³
1024^3 = 約10億レコード
アドレステーブルのアドレステーブルのアドレス
7
bits
32
bits
25
bits
セグメント番号
32
bits
サイズ
464
bytes
ヘッダー
32
bits
32
bits
7
bits
25
bits
32
bits
32
bits
7
bits
25
bits
32
bits
32
bits
7
bits
25
bits
アドレステーブル
アドレステーブル
レコード番号でアドレスを解決
アドレステーブル
レコード番号
セット
ディスク
アドレステーブル
ログファイル
レコード番号でアドレスを解決
アドレステーブル
レコード番号
セット
ディスク
アドレステーブル
ログファイル
レコード番号でアドレスを解決
32bits
アドレステーブル
レコード番号
セット
ディスク
アドレステーブル
ログファイル
レコード番号でアドレスを解決
32bits <= 4,294,967,296
32bits
アドレステーブル
レコード番号
セット
ディスク
アドレステーブル
ログファイル
レコード番号でアドレスを解決
64bits
32bits <= 4,294,967,296
32bits
アドレステーブル
レコード番号
セット
ディスク
アドレステーブル
ログファイル
レコード番号でアドレスを解決
64bits = 16EiB = 16,777,216 TiB
64bits
32bits <= 4,294,967,296
32bits
アドレステーブル
1件追加
0
レコード番号 セット
10
ディスク アドレステーブル
00000000
アドレステーブル
0
1
レコード番号 セット
1
1
0
1
ディスク
2件追加
アドレステーブル
00000000
00000100
アドレステーブル
0
1
2
レコード番号 セット
1
1
1
0
1
2
ディスク
3件追加
アドレステーブル
00000000
00000100
00000200
アドレステーブル
0
1
2
3
レコード番号 セット
1
1
1
1
0
1
2
3
ディスク
4件追加
アドレステーブル
00000000
00000100
00000200
00000300
アドレステーブル
0
1
2
3
4
レコード番号 セット
1
1
1
1
1
0
1
2
3
4
ディスク
5件追加
アドレステーブル
00000000
00000100
00000200
00000300
00000400
アドレステーブル
0
1
2
3
4
5
レコード番号 セット
1
1
1
1
1
1
0
1
2
3
4
5
ディスク
6件追加
アドレステーブル
00000000
00000100
00000200
00000300
00000400
00000500
アドレステーブル
0
1
2
3
4
5
6
レコード番号 セット
1
1
1
1
1
1
1
0
1
2
3
4
5
6
ディスク
7件追加
アドレステーブル
00000000
00000100
00000200
00000300
00000400
00000500
00000600
アドレステーブル
0
1
2
3
4
5
6
7
レコード番号 セット
1
1
1
1
1
1
1
1
0
1
2
3
4
5
6
7
ディスク
8件追加
アドレステーブル
00000000
00000100
00000200
00000300
00000400
00000500
00000600
00000700
アドレステーブル
0
1
2
3
4
5
6
7
8
レコード番号 セット
1
1
1
1
1
1
1
1
1
0
1
2
3
4
5
6
7
8
ディスク
9件追加
アドレステーブル
00000000
00000100
00000200
00000300
00000400
00000500
00000600
00000700
00000800
アドレステーブル
0
1
2
3
4
5
6
7
8
9
レコード番号 セット
1
1
1
1
1
1
1
1
1
1
0
1
2
3
4
5
6
7
8
9
ディスク
10件追加
アドレステーブル
00000000
00000100
00000200
00000300
00000400
00000500
00000600
00000700
00000800
00000900
アドレステーブル
3
4
5
6
7
8
9
ディスク
#0,#1,#2を削除
アドレステーブル
00000000
00000100
00000200
00000300
00000400
00000500
00000600
00000700
00000800
00000900
レコード番号
3
4
5
6
7
8
9
セット
1
1
1
1
1
1
1
アドレステーブル
4
3
5
6
7
8
9
ディスク
#4を更新(サイズ拡大)
アドレステーブル
00000000
00000100
00000200
00000300
00000000
00000500
00000600
00000700
00000800
00000900
レコード番号
3
4
5
6
7
8
9
セット
1
1
1
1
1
1
1
アドレステーブル
4
3
0
5
6
7
8
9
ディスク
1件追加
アドレステーブル
00000400
00000100
00000200
00000300
00000000
00000500
00000600
00000700
00000800
00000900
レコード番号
0
3
4
5
6
7
8
9
セット
1
1
1
1
1
1
1
1
アドレステーブル
4
3
0
9
ディスク
#5,#6,#7,#8を削除
アドレステーブル
00000400
00000100
00000200
00000300
00000000
00000500
00000600
00000700
00000800
00000900
レコード番号
0
3
4
9
セット
1
1
1
1
アドレステーブル
4
3
0
9
ディスク
断片化...
アドレステーブル
00000400
00000100
00000200
00000300
00000000
00000500
00000600
00000700
00000800
00000900
レコード番号
0
3
4
9
セット
1
1
1
1
順番がバラバラ
間が空いている
00000000
00000100
00000200
00000100
00000200
00000500
00000600
00000700
00000800
00000500
アドレステーブル
ディスク
圧縮!
アドレステーブル レコード番号 セット
1
1
1
1
0
3
4
9
0
3
4
9
レコード番号は継承
アドレステーブル
ディスク
圧縮!
アドレステーブル
00000000
00000100
00000200
00000100
00000200
00000500
00000600
00000700
00000800
00000500
レコード番号 セット
1
1
1
1
0
3
4
9
0
3
4
9
アドレステーブル
ディスク
圧縮!
アドレステーブル
00000000
00000100
00000200
00000100
00000200
00000500
00000600
00000700
00000800
00000500
レコード番号 セット
1
1
1
1
0
3
4
9
0
3
4
9
アドレステーブル
ディスク
圧縮前に保存したセットも利用できる
アドレステーブル
00000000
00000100
00000200
00000100
00000200
00000500
00000600
00000700
00000800
00000500
レコード番号 セット
1
1
1
1
0
3
4
9
0
3
4
9
アドレステーブル
ディスク アドレステーブル
00000000
00000100
00000200
00000100
00000200
00000500
00000600
00000700
00000800
00000500
レコード番号 セット
1
1
1
1
0
3
4
9
アドレスの数はそれまでの最高レコード数
0
3
4
9
アドレステーブル
ディスク アドレステーブル レコード番号 セット
1
1
1
1
0
1
2
3
アドレス圧縮!
00000000
00000100
00000200
00000500
0
1
2
3
アドレステーブル
ディスク アドレステーブル レコード番号 セット
1
1
1
1
0
1
2
3
アドレス圧縮!
00000000
00000100
00000200
00000500
0
1
2
3
レコード番号は連番
アドレステーブル
ディスク アドレステーブル レコード番号 セット
1
1
1
1
0
1
2
3
00000000
00000100
00000200
00000500
0
1
2
3
圧縮前に保存したセットは利用できない
アドレステーブル
ディスク
セットを再作成
アドレステーブル
00000000
00000100
00000200
00000500
レコード番号 セット
1
1
1
1
0
1
2
3
0
1
2
3
アドレステーブル
Get table fragmentation
Compact data file Update Records
Compact Address Table
圧縮とインデックス
XPS
XML Paper Specification
XMLページ記述言語
開発元: Microsoft
採用: Windows Vista以降
標準規格: ECMA-388 OpenXPS
XPSプリントプレビュー
XPSビューアー
Windows 7
Windows 8
Windows Server 2008
Windows Server 2012
XPSプリントプレビュー
Internet Explorer
Windows XP
Windows Vista
Windows 2003 Server
Windows7xp
XPS Document Writer
再起動
Windows7xp
.NETフレームワークをインストール
Windows7xp
Internet Explorer
Windows7
XPSビューアー
XPSプリントプレビュー
非サポート
XPSプリントプレビュー
本体に統合されているもの
クイックレポート
ラベルエディター
4D Chart
●
●
×
XPSプリントプレビュー
利点
クロスプラットフォーム
追加インストール不要
ドキュメント出力
正確性
XPSプリントプレビュー
難点
全ページを出力しなければプレビューできない
XPSプリントプレビュー
新コマンド
Get print preview SET PRINT PREVIEW
Is in print preview
XPSプリントプレビュー
ドキュメントの場所
¥User¥{user}¥AppData¥Local¥Temp¥4D¥
PrintPreview¥{n}¥{UUID}¥{docName}.xps
¥Documents and Settings¥{user}¥Local Settings¥Temp¥4D¥
Temp/4D/
PrintPreview/
XPSプリントプレビュー
ドキュメントの名前
SET PRINT OPTION Spooler document name option
プリントキュー名
XPSビューアーのウィンドウタイトルバー
BLOB
Binary Large OBject
BLOB
BLOB
ピクチャ
テキスト
}総称
4th Dimension 2004
BLOB
BLOB
ピクチャ
テキスト
}レコードに保存
おおきなレコード: 読み込みに時間が・・・
4th Dimension 2004
BLOB
BLOB
ピクチャ
テキスト
}レコードに保存
おおきなレコード: 読み込みに時間が・・・
4th Dimension 2004
BLOB
BLOB
ピクチャ
テキスト
}レコードに保存
4th Dimension 2004
BLOB
BLOB
ピクチャ
テキスト
}別テーブルに保存
4th Dimension 2004
BLOB
BLOB
ピクチャ
テキスト
}別テーブルに保存
4th Dimension 2004
BLOB
BLOB
ピクチャ
テキスト
}別テーブルに保存
リストに含めない
4th Dimension 2004
BLOB
BLOB
ピクチャ
テキスト
}別テーブルに保存
リストに含めない
ページ0/1に置かない
4th Dimension 2004
BLOB
BLOB
ピクチャ
テキスト
}別テーブルに保存
リストに含めない
ページ0/1に置かない
必要なとき: RELATE ONE
BLOB
BLOB
ピクチャ
テキスト*
}レコードの外に保存
v11
レコードに保存
BLOB
BLOB
ピクチャ
テキスト*
}レコードの外に保存
別テーブルのようなもの
v11
レコードに保存
v11
BLOB
BLOB
ピクチャ
テキスト*
}レコードの外に保存
ちいさなレコード: 読み込みが速い(1回で済むから)
インデックスを使用しないクエリが速い
レコードに保存するメリット
* レコードに保存する最大サイズが設定できるのはテキストのみ
別テーブルのようなものレコードに保存
v12
BLOB
BLOB
ピクチャ
テキスト
}レコードの外に保存
別テーブルのようなものレコードに保存
v13
BLOB
BLOB
ピクチャ
テキスト
}レコードの外に保存
データファイルの外に保存
別テーブルのようなものレコードに保存
v13
BLOB
BLOB
ピクチャ
テキスト
}レコードの外に保存*
* 基準値を設定
データファイルの外に保存
データファイルのサイズ節約
バックアップの時間短縮
検証・修復の時間短縮
別テーブルのようなものレコードに保存
BLOB
外部ファイルの場所
./{structure}.ExternalData/{table}/
{field}/Data_{UUID}.{extension}
SET EXTERNAL DATA PATH Use default folder+
SQL REPLICATE,SQL EXECUTE SCRIPT
読み込みダイアログ,フォーム入力
etc.
BLOB
外部ファイルの場所
./{structure}.ExternalData/{table}/
{field}/Data_{UUID}.{extension}
バックアップ対象
SET EXTERNAL DATA PATH Use default folder+
SQL REPLICATE,SQL EXECUTE SCRIPT
読み込みダイアログ,フォーム入力
etc.
BLOB
外部ファイルの場所
バックアップ対象外
カスタムファイルパスSET EXTERNAL DATA PATH +
Get picture file name
BLOB
Is picture file
Picture size
SET PICTURE FILE NAME
BLOB
9MB
既存レコードをデータファイルの外に
BLOB
既存レコードをデータファイルの外に
格納場所: データファイル
BLOB
既存レコードをデータファイルの外に
BLOB
既存レコードをデータファイルの外に
格納場所: 外部
BLOB
データファイル圧縮
既存レコードをデータファイルの外に
[Table]Field:=[Table]Field
変更は反映されない
}
BLOB
SET EXTERNAL DATA PATH
レコードの強制更新
}変更は反映される
既存レコードをデータファイルの外に
インポート/エクスポート
BLOB
インポート/エクスポート
BLOB
レコードの強制更新
上級
レコードの強制更新
BLOB
SET EXTERNAL DATA PATH
ALL RECORDS ([Pictures])
APPLY TO SELECTION ([Pictures];
SET EXTERNAL DATA PATH ([Pictures]Picture;Use default folder))
FLUSH BUFFERS
BLOB
圧縮: Before
使用率: 2%
9MB
BLOB
圧縮: After
使用率: 76%
192KB
BLOB
圧縮: After(強制更新)
使用率: 94%
128KB
v13のすべて

Más contenido relacionado

Destacado

Qatar’s Slick Goal
Qatar’s Slick GoalQatar’s Slick Goal
Qatar’s Slick Goalfrenchie0795
 
Dynamics crm for_retail_banking_white_paper_prerelease
Dynamics crm for_retail_banking_white_paper_prereleaseDynamics crm for_retail_banking_white_paper_prerelease
Dynamics crm for_retail_banking_white_paper_prereleaseDevanshi Mayani
 
Classic Query Editor
Classic Query EditorClassic Query Editor
Classic Query Editorkmiyako
 
Wakanda#2
Wakanda#2Wakanda#2
Wakanda#2kmiyako
 
Replication 2012-02-02
Replication 2012-02-02Replication 2012-02-02
Replication 2012-02-02kmiyako
 
Tags 2013-07-02
Tags 2013-07-02Tags 2013-07-02
Tags 2013-07-02kmiyako
 
Web area-phone-home
Web area-phone-homeWeb area-phone-home
Web area-phone-homekmiyako
 
Objects Fields
Objects FieldsObjects Fields
Objects Fieldskmiyako
 
Wakanda#3
Wakanda#3Wakanda#3
Wakanda#3kmiyako
 
Set and Selection 2013-05-14
Set and Selection 2013-05-14Set and Selection 2013-05-14
Set and Selection 2013-05-14kmiyako
 
Code Optimisation
Code OptimisationCode Optimisation
Code Optimisationkmiyako
 
⽇本語全⽂検索
⽇本語全⽂検索⽇本語全⽂検索
⽇本語全⽂検索kmiyako
 
アップグレードセミナー
アップグレードセミナーアップグレードセミナー
アップグレードセミナーkmiyako
 
2012 keynote-1
2012 keynote-12012 keynote-1
2012 keynote-1kmiyako
 
Unicode-v11-0
Unicode-v11-0Unicode-v11-0
Unicode-v11-0kmiyako
 
Unicode-v11-5
Unicode-v11-5Unicode-v11-5
Unicode-v11-5kmiyako
 

Destacado (19)

Qatar’s Slick Goal
Qatar’s Slick GoalQatar’s Slick Goal
Qatar’s Slick Goal
 
Dynamics crm for_retail_banking_white_paper_prerelease
Dynamics crm for_retail_banking_white_paper_prereleaseDynamics crm for_retail_banking_white_paper_prerelease
Dynamics crm for_retail_banking_white_paper_prerelease
 
Classic Query Editor
Classic Query EditorClassic Query Editor
Classic Query Editor
 
Wakanda#2
Wakanda#2Wakanda#2
Wakanda#2
 
Replication 2012-02-02
Replication 2012-02-02Replication 2012-02-02
Replication 2012-02-02
 
Tags 2013-07-02
Tags 2013-07-02Tags 2013-07-02
Tags 2013-07-02
 
Web area-phone-home
Web area-phone-homeWeb area-phone-home
Web area-phone-home
 
Objects Fields
Objects FieldsObjects Fields
Objects Fields
 
Wakanda#3
Wakanda#3Wakanda#3
Wakanda#3
 
4d
4d4d
4d
 
Set and Selection 2013-05-14
Set and Selection 2013-05-14Set and Selection 2013-05-14
Set and Selection 2013-05-14
 
4D Tags
4D Tags4D Tags
4D Tags
 
Code Optimisation
Code OptimisationCode Optimisation
Code Optimisation
 
⽇本語全⽂検索
⽇本語全⽂検索⽇本語全⽂検索
⽇本語全⽂検索
 
アップグレードセミナー
アップグレードセミナーアップグレードセミナー
アップグレードセミナー
 
Leaflet
LeafletLeaflet
Leaflet
 
2012 keynote-1
2012 keynote-12012 keynote-1
2012 keynote-1
 
Unicode-v11-0
Unicode-v11-0Unicode-v11-0
Unicode-v11-0
 
Unicode-v11-5
Unicode-v11-5Unicode-v11-5
Unicode-v11-5
 

Similar a All about v13 2013-06-04

4D Write Pro
4D Write Pro4D Write Pro
4D Write Prokmiyako
 
オンプレでPrivate Registry使ったDockerイメージの運用について
オンプレでPrivate Registry使ったDockerイメージの運用についてオンプレでPrivate Registry使ったDockerイメージの運用について
オンプレでPrivate Registry使ったDockerイメージの運用についてYASUKAZU NAGATOMI
 
Tableau JavaScript API #2 - Real Time Survey Built with Tableau
Tableau JavaScript API #2 - Real Time Survey Built with TableauTableau JavaScript API #2 - Real Time Survey Built with Tableau
Tableau JavaScript API #2 - Real Time Survey Built with TableauKenji Noguchi
 
New Generation Build System "Fly"
New Generation Build System "Fly"New Generation Build System "Fly"
New Generation Build System "Fly"deepblue will
 
20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門Takashi Kitano
 
Java x Groovy: improve your java development life
Java x Groovy: improve your java development lifeJava x Groovy: improve your java development life
Java x Groovy: improve your java development lifeUehara Junji
 
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyotoGo言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyotoShoot Morii
 
Drupal 8.4.x の core にみるフロントエンド開発の現状紹介
 Drupal 8.4.x の core にみるフロントエンド開発の現状紹介 Drupal 8.4.x の core にみるフロントエンド開発の現状紹介
Drupal 8.4.x の core にみるフロントエンド開発の現状紹介tom_konda
 
はじめてのCouch db
はじめてのCouch dbはじめてのCouch db
はじめてのCouch dbEiji Kuroda
 
ラベルエディター
ラベルエディターラベルエディター
ラベルエディターkmiyako
 
おもにEXcelだけで出来る自動化技術
おもにEXcelだけで出来る自動化技術おもにEXcelだけで出来る自動化技術
おもにEXcelだけで出来る自動化技術Takanobu Mizuta
 
速くなければスマフォじゃない - インターンバージョン-
速くなければスマフォじゃない - インターンバージョン-速くなければスマフォじゃない - インターンバージョン-
速くなければスマフォじゃない - インターンバージョン-Kazunari Hara
 
ミラクルはすける勉強会#0
ミラクルはすける勉強会#0ミラクルはすける勉強会#0
ミラクルはすける勉強会#0Kiwamu Okabe
 
Play2 scalaを2年やって学んだこと
Play2 scalaを2年やって学んだことPlay2 scalaを2年やって学んだこと
Play2 scalaを2年やって学んだことdcubeio
 
Build 番号の自動更新スクリプトについて #cocoa_kansai
Build 番号の自動更新スクリプトについて #cocoa_kansaiBuild 番号の自動更新スクリプトについて #cocoa_kansai
Build 番号の自動更新スクリプトについて #cocoa_kansaiTomohiro Kumagai
 
これからのJavaScriptの話
これからのJavaScriptの話これからのJavaScriptの話
これからのJavaScriptの話Shogo Sensui
 
Paint Tool 2013-05-14
Paint Tool 2013-05-14Paint Tool 2013-05-14
Paint Tool 2013-05-14kmiyako
 

Similar a All about v13 2013-06-04 (19)

4D Write Pro
4D Write Pro4D Write Pro
4D Write Pro
 
オンプレでPrivate Registry使ったDockerイメージの運用について
オンプレでPrivate Registry使ったDockerイメージの運用についてオンプレでPrivate Registry使ったDockerイメージの運用について
オンプレでPrivate Registry使ったDockerイメージの運用について
 
Tableau JavaScript API #2 - Real Time Survey Built with Tableau
Tableau JavaScript API #2 - Real Time Survey Built with TableauTableau JavaScript API #2 - Real Time Survey Built with Tableau
Tableau JavaScript API #2 - Real Time Survey Built with Tableau
 
New Generation Build System "Fly"
New Generation Build System "Fly"New Generation Build System "Fly"
New Generation Build System "Fly"
 
20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門
 
Java x Groovy: improve your java development life
Java x Groovy: improve your java development lifeJava x Groovy: improve your java development life
Java x Groovy: improve your java development life
 
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyotoGo言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
Go言語入門者が Webアプリケーション を作ってみた話 #devfest #gdgkyoto
 
Drupal 8.4.x の core にみるフロントエンド開発の現状紹介
 Drupal 8.4.x の core にみるフロントエンド開発の現状紹介 Drupal 8.4.x の core にみるフロントエンド開発の現状紹介
Drupal 8.4.x の core にみるフロントエンド開発の現状紹介
 
はじめてのCouch db
はじめてのCouch dbはじめてのCouch db
はじめてのCouch db
 
ラベルエディター
ラベルエディターラベルエディター
ラベルエディター
 
Vyatta 改造入門
Vyatta 改造入門Vyatta 改造入門
Vyatta 改造入門
 
Scala on Hadoop
Scala on HadoopScala on Hadoop
Scala on Hadoop
 
おもにEXcelだけで出来る自動化技術
おもにEXcelだけで出来る自動化技術おもにEXcelだけで出来る自動化技術
おもにEXcelだけで出来る自動化技術
 
速くなければスマフォじゃない - インターンバージョン-
速くなければスマフォじゃない - インターンバージョン-速くなければスマフォじゃない - インターンバージョン-
速くなければスマフォじゃない - インターンバージョン-
 
ミラクルはすける勉強会#0
ミラクルはすける勉強会#0ミラクルはすける勉強会#0
ミラクルはすける勉強会#0
 
Play2 scalaを2年やって学んだこと
Play2 scalaを2年やって学んだことPlay2 scalaを2年やって学んだこと
Play2 scalaを2年やって学んだこと
 
Build 番号の自動更新スクリプトについて #cocoa_kansai
Build 番号の自動更新スクリプトについて #cocoa_kansaiBuild 番号の自動更新スクリプトについて #cocoa_kansai
Build 番号の自動更新スクリプトについて #cocoa_kansai
 
これからのJavaScriptの話
これからのJavaScriptの話これからのJavaScriptの話
これからのJavaScriptの話
 
Paint Tool 2013-05-14
Paint Tool 2013-05-14Paint Tool 2013-05-14
Paint Tool 2013-05-14
 

Más de kmiyako

Build an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4DBuild an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4Dkmiyako
 
4D WORLD TOUR 2017
4D WORLD TOUR 20174D WORLD TOUR 2017
4D WORLD TOUR 2017kmiyako
 
Inside Multi-Threading
Inside Multi-ThreadingInside Multi-Threading
Inside Multi-Threadingkmiyako
 
Mirroring
MirroringMirroring
Mirroringkmiyako
 
Auto Update
Auto UpdateAuto Update
Auto Updatekmiyako
 
MONET研究会 #14
MONET研究会 #14MONET研究会 #14
MONET研究会 #14kmiyako
 
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~kmiyako
 
Journaling slides
Journaling slidesJournaling slides
Journaling slideskmiyako
 
バックアップと復元
バックアップと復元バックアップと復元
バックアップと復元kmiyako
 
⾼解像度ディスプレイ
⾼解像度ディスプレイ⾼解像度ディスプレイ
⾼解像度ディスプレイkmiyako
 
リストフォーム⼤改造
リストフォーム⼤改造リストフォーム⼤改造
リストフォーム⼤改造kmiyako
 
正しいクエリの書き⽅
正しいクエリの書き⽅正しいクエリの書き⽅
正しいクエリの書き⽅kmiyako
 
カスタマイズできる⼊力画面
カスタマイズできる⼊力画面カスタマイズできる⼊力画面
カスタマイズできる⼊力画面kmiyako
 
解決! メール送信
解決! メール送信解決! メール送信
解決! メール送信kmiyako
 
Data conversion
Data conversionData conversion
Data conversionkmiyako
 

Más de kmiyako (17)

Build an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4DBuild an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4D
 
4D WORLD TOUR 2017
4D WORLD TOUR 20174D WORLD TOUR 2017
4D WORLD TOUR 2017
 
Inside Multi-Threading
Inside Multi-ThreadingInside Multi-Threading
Inside Multi-Threading
 
Mirroring
MirroringMirroring
Mirroring
 
Auto Update
Auto UpdateAuto Update
Auto Update
 
MONET研究会 #14
MONET研究会 #14MONET研究会 #14
MONET研究会 #14
 
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~
 
Xslt
XsltXslt
Xslt
 
Journaling slides
Journaling slidesJournaling slides
Journaling slides
 
バックアップと復元
バックアップと復元バックアップと復元
バックアップと復元
 
⾼解像度ディスプレイ
⾼解像度ディスプレイ⾼解像度ディスプレイ
⾼解像度ディスプレイ
 
リストフォーム⼤改造
リストフォーム⼤改造リストフォーム⼤改造
リストフォーム⼤改造
 
正しいクエリの書き⽅
正しいクエリの書き⽅正しいクエリの書き⽅
正しいクエリの書き⽅
 
カスタマイズできる⼊力画面
カスタマイズできる⼊力画面カスタマイズできる⼊力画面
カスタマイズできる⼊力画面
 
解決! メール送信
解決! メール送信解決! メール送信
解決! メール送信
 
4D Tags
4D Tags4D Tags
4D Tags
 
Data conversion
Data conversionData conversion
Data conversion
 

All about v13 2013-06-04