#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <stdint.h>
static char *btrieveFileName = (char *)"squaresAndSquareRoots.btr";
#define MIN_X 0
#define MAX_X 255
#pragma pack(1)
typedef struct {
uint8_t x;
uint16_t xSquared;
double xSquareRoot;
} record_t;
#pragma pack()
{
{
goto leave;
}
{
goto leave;
}
leave:
return status;
}
{
{
goto leave;
}
leave:
return status;
}
{
int i;
record_t record;
for (i = MIN_X; i <= MAX_X; i++)
{
record.x = (uint8_t)i;
record.xSquared = (uint16_t)(i * i);
record.xSquareRoot = sqrt((double)i);
{
goto leave;
}
}
leave:
return status;
}
{
{
goto leave;
}
leave:
return status;
}
{
{
goto leave;
}
leave:
return status;
}
{
{
goto leave;
}
{
goto leave;
}
{
goto leave;
}
leave:
return status;
}
updateRecord(bool expectRecordInUse)
{
record_t record;
{
goto leave;
}
{
goto leave;
}
record.xSquared++;
record.xSquareRoot++;
status = btrieveFile.
RecordUpdate((
char *)&record,
sizeof(record));
{
goto leave;
}
else
{
goto leave;
}
{
goto leave;
}
leave:
return status;
}
{
record_t record;
{
goto leave;
}
printf("record before update: (%u, %u, %f)\n", record.x, record.xSquared, record.xSquareRoot);
{
goto leave;
}
{
goto leave;
}
{
goto leave;
}
printf("record after update while locked: (%u, %u, %f)\n", record.x, record.xSquared, record.xSquareRoot);
{
goto leave;
}
{
goto leave;
}
printf("record after update while unlocked: (%u, %u, %f)\n", record.x, record.xSquared, record.xSquareRoot);
leave:
return status;
}
int
main(int argc, char *argv[])
{
static const char *usage = "Usage: %s\n";
if (argc != 1)
{
printf(usage, argv[0]);
goto leave;
}
{
goto leave;
}
{
goto leave;
}
{
goto leave;
}
{
goto leave;
}
{
goto leave;
}
{
goto leave;
}
{
goto leave;
}
leave:
return 0;
return 1;
}
Btrieve クライアント クラス。
Definition btrieveCpp.h:1388
Btrieve::StatusCode FileCreate(BtrieveFileAttributes *btrieveFileAttributes, const char *fileName, Btrieve::CreateMode createMode, Btrieve::LocationMode locationMode=Btrieve::LOCATION_MODE_NO_PREFERENCE)
ファイルを作成します。
Btrieve::StatusCode FileClose(BtrieveFile *btrieveFile)
ファイルを閉じます。
Btrieve::StatusCode FileDelete(const char *fileName)
ファイルを削除します。
Btrieve::StatusCode FileOpen(BtrieveFile *btrieveFile, const char *fileName, const char *ownerName, Btrieve::OpenMode openMode, Btrieve::LocationMode locationMode=Btrieve::LOCATION_MODE_NO_PREFERENCE)
ファイルを開きます。
Btrieve ファイル属性クラス。
Definition btrieveCpp.h:2448
Btrieve::StatusCode SetFixedRecordLength(int fixedRecordLength)
固定レコード長を設定します。
Btrieve ファイル クラス。
Definition btrieveCpp.h:1729
Btrieve::StatusCode RecordUpdate(const char *record, int recordLength)
レコードを更新します。
Btrieve::StatusCode RecordCreate(char *record, int recordLength)
レコードを作成します。
Btrieve::StatusCode IndexCreate(BtrieveIndexAttributes *btrieveIndexAttributes)
インデックスを作成します。
int RecordRetrieveFirst(Btrieve::Index index, char *record, int recordSize, Btrieve::LockMode lockMode=Btrieve::LOCK_MODE_NONE)
先頭のレコードを取得します。
Btrieve::StatusCode GetLastStatusCode()
最新のステータス コードを取得します。
Btrieve::StatusCode RecordUnlock(Btrieve::UnlockMode unlockMode)
レコード(複数可)のロックを解除します。
Btrieve インデックス属性クラス。
Definition btrieveCpp.h:3716
Btrieve::StatusCode AddKeySegment(BtrieveKeySegment *btrieveKeySegment)
キー セグメントを追加します。
Btrieve キー セグメント クラス。
Definition btrieveCpp.h:3874
Btrieve::StatusCode SetField(int offset, int length, Btrieve::DataType dataType)
フィールドを設定します。
static const char * StatusCodeToString(StatusCode statusCode)
ステータス コードを文字列として返します。
@ LOCK_MODE_SINGLE_WAIT
単一のウェイト。
Definition btrieveCpp.h:577
@ CREATE_MODE_OVERWRITE
上書きする。
Definition btrieveCpp.h:72
StatusCode
Btrieve ステータス コード。
Definition btrieveCpp.h:713
@ STATUS_CODE_UNKNOWN
-7 - 不明。
Definition btrieveCpp.h:1194
@ STATUS_CODE_NO_ERROR
0 - エラーはありません。
Definition btrieveCpp.h:715
@ STATUS_CODE_RECORD_INUSE
84 - レコードは使用中です。
Definition btrieveCpp.h:879
@ OPEN_MODE_NORMAL
ノーマル。
Definition btrieveCpp.h:606
@ UNLOCK_MODE_SINGLE
単一。
Definition btrieveCpp.h:1229
@ DATA_TYPE_UNSIGNED_BINARY
Unsigned binary(符号なしバイナリ)。
Definition btrieveCpp.h:205
@ INDEX_1
インデックス 1。
Definition btrieveCpp.h:311