TNB Library
クラス | 公開型 | 公開メンバ関数 | 限定公開メンバ関数 | 全メンバ一覧

グリッド管理クラス. [詳解]

#include <TnbGrid.h>

+ CGrid の継承関係図

クラス

struct  TDate
 日付情報 [詳解]
 
struct  TFieldInfo
 フィールド情報 [詳解]
 

公開型

enum  EFieldKind {
  EK_String , EK_Integer , EK_Float , EK_Date ,
  EK_Invalid
}
 フィールド種類 [詳解]
 
enum  EFieldType {
  ET_Character = 'C' , ET_Date = 'D' , ET_Numeric = 'N' , ET_Floating = 'F' ,
  ET_Logical = 'L'
}
 フィールドタイプ [詳解]
 

公開メンバ関数

INDEX AddCharacterField (LPCTSTR lpszFieldName, size_t width)
 [追加] 文字フィールド追加. [詳解]
 
INDEX AddDateField (LPCTSTR lpszFieldName)
 [追加] 日付フィールド追加. [詳解]
 
INDEX AddField (const TFieldInfo &fi)
 [追加] フィールド追加. [詳解]
 
INDEX AddFloatingField (LPCTSTR lpszFieldName, size_t width, size_t dec=0)
 [追加] 数値フィールド追加. [詳解]
 
INDEX AddNumericField (LPCTSTR lpszFieldName, size_t width, size_t dec=0)
 [追加] 数値フィールド追加. [詳解]
 
INDEX AddRecord (void)
 [追加] レコード追加. [詳解]
 
void AllDelete (void)
 [削除] 全削除. [詳解]
 
bool AllDeleteRecord (void)
 [削除] レコード全削除. [詳解]
 
 CGrid (void)
 コンストラクタ [詳解]
 
bool DeleteField (INDEX field)
 [削除] フィールド削除. [詳解]
 
bool DeleteRecord (INDEX record)
 [削除] レコード削除. [詳解]
 
INDEX FindFieldName (LPCTSTR lpszFieldName) const
 [検索] フィールド名検索 [詳解]
 
TDate GetDateRecord (INDEX record, INDEX field) const
 [取得] レコード日付取得. [詳解]
 
size_t GetFieldCount (void) const
 [取得] フィールド数取得 [詳解]
 
EFieldKind GetFieldInfo (TFieldInfo &_fi, INDEX field) const
 [取得] フィールド情報取得 [詳解]
 
double GetFloatRecord (INDEX record, INDEX field) const
 [取得] レコード実数取得. [詳解]
 
int GetIntegerRecord (INDEX record, INDEX field) const
 [取得] レコード数値取得. [詳解]
 
size_t GetRecordCount (void) const
 [取得] レコード数取得 [詳解]
 
CStr GetStringRecord (INDEX record, INDEX field, bool isAdjust=false) const
 [取得] レコード文字列取得. [詳解]
 
bool InsertRecord (INDEX record)
 [挿入] レコード挿入. [詳解]
 
bool IsNullRecord (INDEX record, INDEX field) const
 [確認] レコードNULL確認 [詳解]
 
bool SetDateRecord (INDEX record, INDEX field, const TDate &date)
 [設定] レコード日付設定. [詳解]
 
bool SetFloatRecord (INDEX record, INDEX field, double value)
 [設定] レコード実数設定. [詳解]
 
bool SetIntegerRecord (INDEX record, INDEX field, int value)
 [設定] レコード数値設定. [詳解]
 
bool SetNullRecord (INDEX record, INDEX field)
 [設定] レコードNULL設定. [詳解]
 
bool SetStringRecord (INDEX record, INDEX field, LPCTSTR lpszString)
 [設定] レコード文字列設定. [詳解]
 

限定公開メンバ関数

void Dump (void)
 Traceダンプ [詳解]
 

詳解

グリッド管理クラス.

1つ以上の任意の型のフィールドと、複数のレコードからなる情報を扱います。
覚え書き
dBase のデータ種をサポートしています。
メモフィールドはサポートしていません。

TnbGrid.h32 行目に定義があります。

列挙型メンバ詳解

◆ EFieldKind

enum EFieldKind

フィールド種類

列挙値
EK_String 

文字列

EK_Integer 

数値

EK_Float 

実数

EK_Date 

日付

EK_Invalid 

不正

TnbGrid.h37 行目に定義があります。

◆ EFieldType

enum EFieldType

フィールドタイプ

列挙値
ET_Character 

文字列

ET_Date 

年月日

ET_Numeric 

数値

ET_Floating 

浮動小数点数値

ET_Logical 

論理(?,Y,N,T,F)

TnbGrid.h47 行目に定義があります。

構築子と解体子

◆ CGrid()

CGrid ( void  )

コンストラクタ

TnbGrid.h121 行目に定義があります。

関数詳解

◆ AddCharacterField()

INDEX AddCharacterField ( LPCTSTR  lpszFieldName,
size_t  width 
)

[追加] 文字フィールド追加.

覚え書き
フィールド名が既存の場合、失敗します。
レコードがある場合、失敗します。
引数
lpszFieldNameフィールド名
widthフィールド幅
戻り値
INVALID_INDEX以外追加成功。値は追加したフィールドインデックス。
INVALID_INDEXフィールド追加失敗

TnbGrid.h214 行目に定義があります。

◆ AddDateField()

INDEX AddDateField ( LPCTSTR  lpszFieldName)

[追加] 日付フィールド追加.

覚え書き
フィールド名が既存の場合、失敗します。
レコードがある場合、失敗します。
引数
lpszFieldNameフィールド名
戻り値
INVALID_INDEX以外追加成功。値は追加したフィールドインデックス。
INVALID_INDEXフィールド追加失敗

TnbGrid.h270 行目に定義があります。

◆ AddField()

INDEX AddField ( const TFieldInfo fi)

[追加] フィールド追加.

覚え書き
フィールド名が既存の場合、失敗します。
レコードがある場合、失敗します。
引数
fiフィールド追加
戻り値
INVALID_INDEX以外追加成功。値は追加したフィールドインデックス。
INVALID_INDEXフィールド追加失敗

TnbGrid.h196 行目に定義があります。

◆ AddFloatingField()

INDEX AddFloatingField ( LPCTSTR  lpszFieldName,
size_t  width,
size_t  dec = 0 
)

[追加] 数値フィールド追加.

覚え書き
フィールド名が既存の場合、失敗します。
レコードがある場合、失敗します。  
指数形式で管理します。
引数
lpszFieldNameフィールド名
widthフィールド幅
dec小数点部幅。省略すると0になります。
戻り値
INVALID_INDEX以外追加成功。値は追加したフィールドインデックス。
INVALID_INDEXフィールド追加失敗

TnbGrid.h252 行目に定義があります。

◆ AddNumericField()

INDEX AddNumericField ( LPCTSTR  lpszFieldName,
size_t  width,
size_t  dec = 0 
)

[追加] 数値フィールド追加.

覚え書き
フィールド名が既存の場合、失敗します。
レコードがある場合、失敗します。  
小数形式で管理します。そのため、数値の範囲によりフィールド幅、小数点部幅を考慮する必要があります。
引数
lpszFieldNameフィールド名
widthフィールド幅
dec小数点部幅。省略すると0になります。
戻り値
INVALID_INDEX以外追加成功。値は追加したフィールドインデックス。
INVALID_INDEXフィールド追加失敗

TnbGrid.h231 行目に定義があります。

◆ AddRecord()

INDEX AddRecord ( void  )

[追加] レコード追加.

覚え書き
追加したレコードの全フィールドはNULLになっています。
戻り値
INVALID_INDEX以外追加成功。値は追加したレコードインデックス。
INVALID_INDEXレコード追加失敗

TnbGrid.h308 行目に定義があります。

◆ AllDelete()

void AllDelete ( void  )

[削除] 全削除.

覚え書き
レコードも全削除します。

TnbGrid.h129 行目に定義があります。

◆ AllDeleteRecord()

bool AllDeleteRecord ( void  )

[削除] レコード全削除.

戻り値
true成功
false失敗

TnbGrid.h297 行目に定義があります。

◆ DeleteField()

bool DeleteField ( INDEX  field)

[削除] フィールド削除.

覚え書き
レコードがある場合、失敗します。
引数
fieldフィールドインデックス
戻り値
true成功
false失敗

TnbGrid.h283 行目に定義があります。

◆ DeleteRecord()

bool DeleteRecord ( INDEX  record)

[削除] レコード削除.

引数
recordレコードインデックス
戻り値
true成功
false失敗

TnbGrid.h345 行目に定義があります。

◆ Dump()

void Dump ( void  )
protected

Traceダンプ

TnbGrid.h613 行目に定義があります。

◆ FindFieldName()

INDEX FindFieldName ( LPCTSTR  lpszFieldName) const

[検索] フィールド名検索

引数
lpszFieldNameフィールド名
戻り値
INVALID_INDEX以外発見。値はフィールドインデックス。
INVALID_INDEX見つからない

TnbGrid.h159 行目に定義があります。

◆ GetDateRecord()

TDate GetDateRecord ( INDEX  record,
INDEX  field 
) const

[取得] レコード日付取得.

引数
recordレコードインデックス
fieldフィールドインデックス
戻り値
日付

TnbGrid.h604 行目に定義があります。

◆ GetFieldCount()

size_t GetFieldCount ( void  ) const

[取得] フィールド数取得

戻り値
フィールド数

TnbGrid.h139 行目に定義があります。

◆ GetFieldInfo()

EFieldKind GetFieldInfo ( TFieldInfo _fi,
INDEX  field 
) const

[取得] フィールド情報取得

引数
[out]_fiフィールド情報
[in]fieldフィードインデックス
戻り値
EK_Invalid以外取得成功。値は種類。
EK_Invalid失敗(インデックスが範囲外)。

TnbGrid.h178 行目に定義があります。

◆ GetFloatRecord()

double GetFloatRecord ( INDEX  record,
INDEX  field 
) const

[取得] レコード実数取得.

引数
recordレコードインデックス
fieldフィールドインデックス
戻り値
実数

TnbGrid.h580 行目に定義があります。

◆ GetIntegerRecord()

int GetIntegerRecord ( INDEX  record,
INDEX  field 
) const

[取得] レコード数値取得.

引数
recordレコードインデックス
fieldフィールドインデックス
戻り値
数値

TnbGrid.h556 行目に定義があります。

◆ GetRecordCount()

size_t GetRecordCount ( void  ) const

[取得] レコード数取得

戻り値
レコード数

TnbGrid.h148 行目に定義があります。

◆ GetStringRecord()

CStr GetStringRecord ( INDEX  record,
INDEX  field,
bool  isAdjust = false 
) const

[取得] レコード文字列取得.

引数
recordレコードインデックス
fieldフィールドインデックス
isAdjusttrue ならフィールドの幅になるようにスペースでパディング、調整します。
戻り値
文字列

TnbGrid.h481 行目に定義があります。

◆ InsertRecord()

bool InsertRecord ( INDEX  record)

[挿入] レコード挿入.

覚え書き
挿入追加したレコードの全フィールドはNULLになっています。
引数
recordレコードインデックス。
戻り値
true成功
false失敗

TnbGrid.h327 行目に定義があります。

◆ IsNullRecord()

bool IsNullRecord ( INDEX  record,
INDEX  field 
) const

[確認] レコードNULL確認

引数
recordレコードインデックス
fieldフィールドインデックス
戻り値
trueNULL。フィールドインデックス、レコードインデックスが無効の場合も true が返ります。
false失敗

TnbGrid.h464 行目に定義があります。

◆ SetDateRecord()

bool SetDateRecord ( INDEX  record,
INDEX  field,
const TDate date 
)

[設定] レコード日付設定.

覚え書き
日付のフィールド以外には設定できません。
引数
recordレコードインデックス
fieldフィールドインデックス
date日付
戻り値
true成功
false失敗

TnbGrid.h443 行目に定義があります。

◆ SetFloatRecord()

bool SetFloatRecord ( INDEX  record,
INDEX  field,
double  value 
)

[設定] レコード実数設定.

覚え書き
実数のフィールド以外には設定できません。
引数
recordレコードインデックス
fieldフィールドインデックス
value
戻り値
true成功
false失敗

TnbGrid.h420 行目に定義があります。

◆ SetIntegerRecord()

bool SetIntegerRecord ( INDEX  record,
INDEX  field,
int  value 
)

[設定] レコード数値設定.

覚え書き
数値のフィールド以外には設定できません。
引数
recordレコードインデックス
fieldフィールドインデックス
value
戻り値
true成功
false失敗

TnbGrid.h397 行目に定義があります。

◆ SetNullRecord()

bool SetNullRecord ( INDEX  record,
INDEX  field 
)

[設定] レコードNULL設定.

引数
recordレコードインデックス
fieldフィールドインデックス
戻り値
true成功
false失敗

TnbGrid.h357 行目に定義があります。

◆ SetStringRecord()

bool SetStringRecord ( INDEX  record,
INDEX  field,
LPCTSTR  lpszString 
)

[設定] レコード文字列設定.

覚え書き
文字列のフィールド以外にも設定可能です。
引数
recordレコードインデックス
fieldフィールドインデックス
lpszString文字列
戻り値
true成功
false失敗

TnbGrid.h377 行目に定義があります。