- BORLAND/: Borland C++ 4.52 (chosen over 4.5 by byte-match: CODE/RP/CW32.LIB
is identical to 4.52's install lib). BCC32/TLINK32/TLIB/MAKE run natively on
Win11; CODE/BT/OPT.MAK is the shipped BTL4OPT.EXE's exact flag recipe
(extender = Borland PowerPack DPMI32, not Phar Lap TNT).
- restoration/source410/: the literal 1995-form reconstruction of the missing
BT game source (never mixed into CODE/). Round 1-3 state:
* 6 of 10 surviving original TUs COMPILE CLEAN under the period toolchain
(BTMSSN, BTCNSL, BTSCNRL, BTTEAM, BTL4MODE, BTL4ARND) - first builds
since 1996.
* BT_L4/BTL4APP.CPP pilot reconstruction: 12/12 functions, Fail() lands on
its binary-recorded line 400 exactly.
* BT/BTCNSL.HPP: console wire IDs recovered from the binary's ctors
(Killed=9, Damaged=10, ScoreUpdate=13, DeathWithoutHonor=15 [T1];
TeamScore=12 flagged [T4]).
* MUNGA/: 8 engine-header backfills back-dated from the BT412 WinTesla tree
(VDATA numbering decomp-verified; AUDREND's OpenAL-era virtual removed -
the period compiler is the drift detector).
* Tooling: backdate.py (WinTesla->1995 header transform), compile410.sh
(per-TU verification sweep under authentic OPT.MAK flags).
* README: corrected roadmap - MECH.HPP is the capstone grown with the mech
TU reconstructions; BTREG.CPP green = the header-family milestone.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
172 lines
9.3 KiB
Plaintext
172 lines
9.3 KiB
Plaintext
// BDE - (C) Copyright 1995 by Borland International
|
|
|
|
#include <windows.h>
|
|
#include "id_defs.h"
|
|
|
|
1100 ICON "snipit.ico"
|
|
|
|
MainMenu MENU
|
|
{
|
|
POPUP "&File"
|
|
{
|
|
MENUITEM "&View Source Code", IDM_VIEW_CODE
|
|
MENUITEM "&Run the Sample", IDM_RUN_CODE
|
|
MENUITEM SEPARATOR
|
|
MENUITEM "E&xit", IDM_EXIT
|
|
}
|
|
|
|
POPUP "&Edit"
|
|
{
|
|
MENUITEM "&Copy Text", IDM_COPY
|
|
}
|
|
|
|
POPUP "&Search"
|
|
{
|
|
MENUITEM "&Find \tF2", IDM_SEARCH_FIRST
|
|
MENUITEM "&Search Again \tF3", IDM_SEARCH_NEXT
|
|
}
|
|
|
|
MENUITEM "\a&About", IDM_ABOUT
|
|
}
|
|
|
|
MenuAccel ACCELERATORS
|
|
{
|
|
VK_F2, IDM_SEARCH_FIRST, VIRTKEY
|
|
VK_F3, IDM_SEARCH_NEXT, VIRTKEY
|
|
}
|
|
|
|
AboutDlg DIALOG 41, 20, 160, 79
|
|
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
|
CAPTION "About"
|
|
{
|
|
ICON 1100, -1, 15, 15, 16, 16
|
|
CTEXT "SNIPIT Code Viewer", -1, 50, 10, 100, 8
|
|
CTEXT "Borland Database Engine 2.5 Sample Application", -1, 52, 21, 97, 17
|
|
CTEXT "BDE - (C) Copyright 1995 Borland International", -1, 10, 43, 140, 8
|
|
DEFPUSHBUTTON "&OK", IDOK, 55, 61, 50, 14
|
|
CONTROL "", -1, "static", SS_BLACKFRAME | WS_CHILD | WS_VISIBLE, 5, 5, 150, 51
|
|
}
|
|
|
|
ConnectDlg DIALOG 10, 17, 275, 117
|
|
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
|
CAPTION "Connect to Database"
|
|
{
|
|
CONTROL "IDL_DRIVERS", IDL_DRIVERS, "LISTBOX", LBS_STANDARD | LBS_NOINTEGRALHEIGHT | WS_GROUP | WS_TABSTOP, 10, 20, 120, 44
|
|
LISTBOX IDL_ALIASES, 135, 20, 130, 44, LBS_STANDARD | LBS_NOINTEGRALHEIGHT | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP
|
|
EDITTEXT IDE_PASSWORD, 52, 70, 213, 12, ES_AUTOHSCROLL | ES_PASSWORD | WS_BORDER | WS_GROUP | WS_TABSTOP
|
|
DEFPUSHBUTTON "&OK", IDOK, 58, 95, 50, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
|
|
PUSHBUTTON "&Cancel", IDCANCEL, 167, 95, 50, 14
|
|
CTEXT "Select a Driver", -1, 10, 10, 120, 8
|
|
CTEXT "Select the alias to use", -1, 135, 10, 130, 8
|
|
RTEXT "Password:", IDT_PASSWORD_HDR, 10, 72, 40, 8, SS_RIGHT | WS_CHILD | WS_VISIBLE | WS_GROUP
|
|
CONTROL "", -1, "static", SS_BLACKFRAME | WS_CHILD | WS_VISIBLE, 5, 5, 265, 82
|
|
}
|
|
|
|
GenericBox DIALOG 92, 51, 130, 57
|
|
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
|
CAPTION "No header defined!"
|
|
{
|
|
EDITTEXT IDE_GENERIC_ENTRY, 10, 10, 110, 12, ES_LEFT | ES_AUTOHSCROLL | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_GROUP | WS_TABSTOP
|
|
DEFPUSHBUTTON "&OK", IDOK, 10, 35, 50, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
|
|
PUSHBUTTON "&Cancel", IDCANCEL, 70, 35, 50, 14
|
|
CONTROL "", -1, "static", SS_BLACKFRAME | WS_CHILD | WS_VISIBLE, 5, 5, 120, 22
|
|
}
|
|
|
|
MainDlg DIALOG 0, 10, 316, 204
|
|
STYLE WS_OVERLAPPED | WS_CAPTION
|
|
CAPTION "Prototype for the main window of SnipIt"
|
|
{
|
|
DEFPUSHBUTTON "&View", IDB_VIEW_CODE, 6, 22, 50, 12, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
|
|
PUSHBUTTON "&Run", IDB_RUN_CODE, 6, 37, 50, 12
|
|
PUSHBUTTON "&Copy", IDB_COPY, 6, 52, 50, 12
|
|
LISTBOX IDL_SELECT_CODE, 59, 23, 110, 55, LBS_STANDARD | WS_CHILD | WS_VISIBLE | WS_GROUP | WS_TABSTOP
|
|
EDITTEXT IDE_DESCRIBE_CODE, 172, 23, 137, 45, ES_LEFT | ES_MULTILINE | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_GROUP | WS_TABSTOP
|
|
EDITTEXT IDE_VIEWER_OUTPUT, 3, 96, 310, 105, ES_MULTILINE | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_GROUP | WS_TABSTOP
|
|
CTEXT "Sample Code", -1, 60, 14, 110, 8, WS_CHILD | WS_VISIBLE | WS_GROUP
|
|
CTEXT "Description", IDT_HEADER_1, 174, 14, 135, 8, WS_CHILD | WS_VISIBLE | WS_GROUP
|
|
RTEXT "File:", -1, 172, 71, 16, 8
|
|
CTEXT "", IDT_FILE_NAME, 191, 70, 118, 10, SS_CENTER | WS_BORDER | WS_GROUP
|
|
CTEXT "Sample Code Selection", IDT_HEADER_2, 3, 3, 310, 10, SS_CENTER | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_GROUP
|
|
CTEXT "Sample Code Viewer", IDT_OUTPUT_HEADER, 3, 86, 310, 10, SS_CENTER | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_GROUP
|
|
CONTROL "", -1, "static", SS_BLACKFRAME | WS_CHILD | WS_VISIBLE, 3, 13, 310, 72
|
|
}
|
|
|
|
SearchDlg DIALOG 48, 32, 180, 69
|
|
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
|
CAPTION "Search Text"
|
|
{
|
|
EDITTEXT IDE_SEARCH_TEXT, 47, 10, 123, 12, ES_AUTOHSCROLL | WS_BORDER | WS_GROUP | WS_TABSTOP
|
|
CHECKBOX "Case &Sensitive", IDCHK_CASE_SENS, 10, 27, 60, 12, BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP
|
|
DEFPUSHBUTTON "&OK", IDOK, 26, 50, 50, 14, BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP
|
|
PUSHBUTTON "&Cancel", IDCANCEL, 104, 50, 50, 14
|
|
RTEXT "Fi&nd What:", -1, 10, 12, 35, 8
|
|
CONTROL "", -1, "static", SS_BLACKRECT | WS_CHILD | WS_VISIBLE, 5, 5, 170, 39
|
|
}
|
|
|
|
STRINGTABLE
|
|
{
|
|
IDS_INIT_ENG, "Initialize IDAPI and connect to the standard database."
|
|
IDS_CR8PXTBL, "Create a Paradox table, insert 10 records, then delete the table."
|
|
IDS_CR8DBTBL, "Create a dBASE table, insert 10 records, then delete the table."
|
|
IDS_DB_IO, "Open the standard database five times. The standard database is used to access dBASE, Paradox, and Text tables"
|
|
IDS_NAVIGATE, "Record navigation - getting the first, next, and previous records from the 'Customer' table."
|
|
IDS_ERR_VAL, "Getting information regarding IDAPI errors."
|
|
IDS_INDEX_PDOX, "Create and manipulate indexes on a Paradox table."
|
|
IDS_SIMPLE_BLOB_IO, "Inserting, modifying, reading, and writing simple BLOBs."
|
|
IDS_TBLLOCK, "How to use table locking."
|
|
IDS_RECLOCK, "How to use record locking."
|
|
IDS_RDOLOCK, "Making a directory read only. (Paradox only)"
|
|
IDS_QBE, "Doing a simple QBE query."
|
|
IDS_QBE2, "Joining a dBASE and Paradox table using QBE."
|
|
IDS_BATCH, "Copying records from a Paradox table to a dBASE table using the DbiBatchMove function."
|
|
IDS_BLOB_IO, "Inserting, modifying, reading, and writing BLOBs larger than 64K."
|
|
IDS_INDEX_DBASE, "Create and manipulate indexes on a dBASE table."
|
|
IDS_RESTRUCTURE, "Adding, deleting, and modifying the fields of a table. (Local tables only)"
|
|
IDS_SORT, "Changing the order of records within a table. (Local tables only)"
|
|
IDS_FLD_MAP, "Limiting the available fields of a table using field mapping."
|
|
IDS_SEARCH, "Searching a cursor for a specific key value."
|
|
IDS_BOOKMARK, "Storing the current location within a cursor and returning to that location using bookmarks."
|
|
IDS_RANGE, "Limiting the records which are available in the table using a range."
|
|
IDS_BLOCK, "Using DbiReadBlock() and DbiWriteBlock() to move blocks of records."
|
|
IDS_FILTER, "Limiting the records which are available in the table using a filter."
|
|
IDS_LNKCRSR, "Limiting the available records in one table to a value specific to the current record of a second table using linked cursors."
|
|
IDS_PASSWORD, "Adding a password to a table (Paradox-specific)."
|
|
IDS_SESSION_IO, "Starting and using multiple sessions."
|
|
IDS_SYSINFO, "Getting system information."
|
|
IDS_ALIASES, "Listing the available aliases in the IDAPI.CFG file."
|
|
IDS_TBLINFO, "Getting information about a table."
|
|
IDS_CONFIG, "Getting system configuration information stored in the IDAPI.CFG file."
|
|
IDS_LOCALSQL, "Using local SQL on a dBASE table."
|
|
IDS_LOCALSQLJOIN, "Joining a dBASE and a Paradox table using SQL."
|
|
IDS_SOFTDEL, "Specifying if deleted records are actually deleted from the table using the soft delete option. (dBASE only)"
|
|
IDS_DRVCAPS, "Determining the capabalities of IDAPI drivers."
|
|
IDS_SQLTRAN, "Create and use transactions on SQL tables. You must have write access to the server for this example to work. (Servers only)"
|
|
IDS_REFINTEG, "Establishing data relationships between tables using referential integrity. (Paradox only)"
|
|
IDS_VALCHECK, "Limit the valid values for a given field using validity checks. (Paradox only)"
|
|
IDS_SECDESC, "Retrieving the security descriptors of a table and changing them. (Paradox only)"
|
|
IDS_OPTPARAM, "Using optional parameters while creating local tables. Optional parameters are used to set the level (3, 4, or 5) of local tables. (Local tables only)"
|
|
IDS_FORMAT, "Changing the format of Date and Time fields."
|
|
IDS_TBLOPEN, "Opening a table."
|
|
IDS_RECUPDAT, "Adding, deleting, and modifying a record."
|
|
IDS_TEST, "Framework to use when writing or testing code."
|
|
IDS_TBLLIST, "Getting a list of the available tables and their family members (such as indexes)."
|
|
IDS_INDEX_EXPR, "Linking dBASE tables using an expression indexes. (dBASE only)"
|
|
IDS_LIVESQL, "Getting and using an updatable answer set (live answer set) using SQL (DynaSet)."
|
|
IDS_TEXTEXP, "Exporting data from a Paradox table to a text table."
|
|
IDS_TEXTIMP, "Importing data from a text table to a dBASE table."
|
|
IDS_CR8TXTBL, "Create a text table, insert 10 records, then delete it."
|
|
IDS_SQLBIND, "Using variables within queries. You must have write access to the server for this example to work."
|
|
IDS_INMEMTBL, "Create an in-memory table, insert 10 records, then delete the table."
|
|
IDS_CALLBACK, "Create a restructure callback function which gets called from within the DbiDoRestructure function. (Local tables only)"
|
|
IDS_LANGDRV, "Using non-US language drivers."
|
|
IDS_UPSIZE, "Copying a local table to a server. You must have write access to the server for this example to work."
|
|
IDS_FILTCOMP, "Limiting the records which are available in the table using a comparison filter."
|
|
IDS_FILTCONT, "Limiting the records which are available in the table using a continue filter."
|
|
IDS_ADDALIAS, "Adding an Alias."
|
|
IDS_STORPROC, "Using Stored Procedures."
|
|
IDS_UPDTCRNT, "Updating the current record of a cursor."
|
|
IDS_KEYUPDT, "Speeding up updates by using only part of the record in the selection criterion."
|
|
IDS_INPUTREQ, "How to access a table which is missing an Index File or has an invalid index"
|
|
IDS_LOGIN, "Accessing encrypted dBASE tables"
|
|
}
|