// Microsoft Visual C++ generated resource script.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// English (United States) resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)

#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE 
BEGIN
    "resource.h\0"
END

2 TEXTINCLUDE 
BEGIN
    "#include ""afxres.h""\r\n"
    "\0"
END

3 TEXTINCLUDE 
BEGIN
    "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
    "#define _AFX_NO_OLE_RESOURCES\r\n"
    "#define _AFX_NO_TRACKER_RESOURCES\r\n"
    "#define _AFX_NO_PROPERTY_RESOURCES\r\n"
    "\r\n"
    "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
    "#ifdef _WIN32\r\n"
    "LANGUAGE 9, 1\r\n"
    "#pragma code_page(1252)\r\n"
    "#endif\r\n"
    "#include ""res\\drvr35adm.rc2""  // non-Microsoft Visual C++ edited resources\r\n"
    "#include ""afxres.rc""         // Standard components\r\n"
    "#endif\0"
END

#endif    // APSTUDIO_INVOKED


/////////////////////////////////////////////////////////////////////////////
//
// Version
//

VS_VERSION_INFO VERSIONINFO
 FILEVERSION 2,2,0,0
 PRODUCTVERSION 2,2,0,0
 FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x4L
 FILETYPE 0x2L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
            VALUE "CompanyName", "Apache Trafodion"
            VALUE "FileDescription", "TRAF ODBC Client Adminstration DLL"
            VALUE "FileVersion", "2.2.0.0"
            VALUE "InternalName", "TRAF ODBC Client Adminstration DLL"
            VALUE "LegalCopyright", "?Copyright 2015-2017 Apache Software Foundation"
            VALUE "OriginalFilename", "trfoadm1.dll"
            VALUE "ProductName", "TRAF ODBC"
            VALUE "ProductVersion", "2.2.0.0"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200
    END
END


/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//

IDD_SERVICENAME DIALOGEX 0, 0, 254, 130
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "DCS"
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
    LTEXT           "Please enter the DCS IP address and port where the DCS is running.",IDC_SRVCTXT,19,16,208,19
    LTEXT           "DCS IP Address:",IDC_STATIC,20,44,87,8,0,WS_EX_RIGHT
    EDITTEXT        IDC_SRVCN,110,41,124,14,ES_AUTOHSCROLL
    LTEXT           "Port:",IDC_STATIC,20,64,87,8,0,WS_EX_RIGHT
    EDITTEXT        IDC_SRVCP,110,61,57,14,ES_AUTOHSCROLL
    DEFPUSHBUTTON   "OK",IDOK,64,100,50,14,WS_DISABLED
    PUSHBUTTON      "Cancel",IDCANCEL,130,100,50,14
END

IDD_TESTSERVICE DIALOG 0, 0, 278, 130
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION
CAPTION "Test TRAF ODBC Connection"
FONT 8, "MS Sans Serif"
BEGIN
    DEFPUSHBUTTON   "OK",IDOK,153,108,58,14
    PUSHBUTTON      "Cancel",IDCANCEL,213,108,58,14
    PUSHBUTTON      "Test &Connection",IDC_TESTCONN,7,108,68,14
    LISTBOX         IDC_OUTPUT,7,7,264,94,NOT LBS_NOTIFY | LBS_NOSEL | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
END

IDD_PAGE_GENRAL DIALOGEX 0, 0, 360, 240
STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
    RTEXT           "Data &Source Name:",IDC_STATIC,28,46,76,8,NOT WS_GROUP
    EDITTEXT        IDC_DSNAME,140,46,117,13,ES_AUTOHSCROLL
    RTEXT           "&Description:",IDC_STATIC,26,74,76,8,NOT WS_GROUP
    EDITTEXT        IDC_DESC,140,74,117,13,ES_AUTOHSCROLL
    RTEXT           "Ser&vice Name:",IDC_STATIC,3,102,99,8,NOT WS_VISIBLE | NOT WS_GROUP
    EDITTEXT        IDC_SERVICE_NAME,140,102,117,13,ES_AUTOHSCROLL | NOT WS_VISIBLE
    PUSHBUTTON      "&Server Data Sources",IDC_GETSVRDSN,183,136,73,13,NOT WS_VISIBLE | WS_DISABLED
    GROUPBOX        "General",IDC_STATIC,3,0,356,167
    GROUPBOX        "",IDC_STATIC,2,176,357,63
    LTEXT           "",IDC_STATIC_GENERAL,6,183,348,52
END

IDD_PAGE_NETWORK DIALOGEX 0, 0, 360, 240
STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
    RTEXT           "DCS IP &Address:",IDC_STATIC,0,26,82,12,0,WS_EX_RIGHT
    EDITTEXT        IDC_IPADDRESS,83,24,149,14,ES_AUTOHSCROLL
    RTEXT           "&Port:",IDC_STATIC,239,26,25,14
    EDITTEXT        IDC_PORTNUM,271,24,58,14,ES_AUTOHSCROLL
    RTEXT           "&Login Timeout (seconds):",1010,3,63,141,12,0,WS_EX_RIGHT
    COMBOBOX        IDC_LOGIN,170,61,87,71,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
    LTEXT           "C&onnection Timeout (seconds):",IDC_STATIC,2,83,141,8,0,WS_EX_RIGHT
    COMBOBOX        IDC_CONNECTION,170,80,87,71,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
    LTEXT           "&Query Timeout (seconds):",IDC_STATIC,2,103,141,11,0,WS_EX_RIGHT
    COMBOBOX        IDC_QUERY,170,101,87,71,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
    RTEXT           "&Fetch Buffer Size (kbytes):",IDC_STATIC,3,124,141,13
    GROUPBOX        "Network",IDC_STATIC,1,0,357,163
    LTEXT           "",IDC_STATIC_NETWORK,6,183,348,52
    GROUPBOX        "",IDC_STATIC,1,161,357,76
    LTEXT           "Compression :",IDC_STATIC,97,145,45,8
    COMBOBOX        IDC_FETCH_BUFFER_SIZE,170,122,87,86,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
    COMBOBOX        IDC_COMPRESSION,170,145,88,67,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
END

IDD_PAGE_OPTIONS DIALOGEX 0, 0, 360, 240
STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
    EDITTEXT        IDC_SCHEMA,100,47,141,12,ES_AUTOHSCROLL
    RTEXT           "&Schema:",IDC_STATIC,2,47,88,10
    GROUPBOX        "Data Access Options",IDC_STATIC,2,0,355,167
    LTEXT           "",IDC_STATIC_OPTIONS,6,183,348,52
    GROUPBOX        "",IDC_STATIC,2,176,357,63
    COMBOBOX        IDC_COMBO_DSNAMES,100,86,142,124,CBS_DROPDOWN | CBS_SORT | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP
    RTEXT           "&Server DSN:",IDC_STATIC,2,86,88,8,NOT WS_VISIBLE
END

IDD_PAGE_TRACING DIALOGEX 0, 0, 360, 240
STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
    CONTROL         "ODBC &API",IDC_DM_API,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,30,11,88,10
    CONTROL         "ODBC API &EXIT",IDC_DM_API_EXIT,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,30,26,88,10
    CONTROL         "&TRAF ODBC API",IDC_ODBC_API,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,30,40,88,10
    CONTROL         "TRAF ODBC API E&XIT",IDC_ODBC_API_EXIT,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,30,54,88,10
    CONTROL         "&NETWORK LAYER",IDC_DRVR_KRYPTON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,40,88,10
    CONTROL         "&POST ERROR",IDC_POST_ERROR,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,140,26,88,10
    RTEXT           "&File Name:",IDC_STATIC,1,119,71,8
    EDITTEXT        IDC_FILE_NAME,77,116,159,13,ES_AUTOHSCROLL
    PUSHBUTTON      "B&rowse...",IDC_BROWSE,257,116,50,14
    GROUPBOX        "Log File Path",IDC_STATIC,2,83,355,84
    GROUPBOX        "Trace Options",IDC_STATIC,1,0,356,79
    LTEXT           "",IDC_STATIC_TRACING,6,183,348,52
    GROUPBOX        "",IDC_STATIC,2,176,357,63
END

IDD_PAGE_TESTING DIALOGEX 0, 0, 360, 240
STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
    PUSHBUTTON      "Test &Connection",IDC_TESTCONN,3,150,69,14
    LTEXT           "",IDC_CONNRES,4,1,271,141,WS_BORDER,WS_EX_CLIENTEDGE
    LTEXT           "",IDC_STATIC_TESTING,6,183,348,52
    GROUPBOX        "",IDC_STATIC,2,176,357,63
END

IDD_PAGE_LOCAL_TR DIALOGEX 0, 0, 360, 240
STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
    RTEXT           "&DLL Name:",IDC_STATIC,5,22,79,8
    EDITTEXT        IDC_DLL_NAME,95,20,116,13,ES_AUTOHSCROLL
    PUSHBUTTON      "B&rowse...",IDC_DLL_BROWSE,245,20,50,14
    RTEXT           "&Option:",IDC_STATIC,5,41,79,10
    EDITTEXT        IDC_TRANSLATE_OPTION,95,40,116,13,ES_AUTOHSCROLL
    RTEXT           "Client &Error Message Language:",IDC_STATIC,3,100,161,13
    COMBOBOX        IDC_COMBO_ERRORLANG,212,100,90,63,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
    RTEXT           "Client/&Server Character Set Interaction:",IDC_STATIC,3,119,161,13
    COMBOBOX        IDC_COMBO_DATALANG,212,119,90,42,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
    GROUPBOX        "Translate DLL",IDC_STATIC,3,1,354,79
    GROUPBOX        "",IDC_STATIC,2,176,357,63
    LTEXT           "",IDC_STATIC_LOCAL_TR,6,183,348,52
    GROUPBOX        "Localization",IDC_STATIC,3,83,354,85
    EDITTEXT        IDC_REPLACEMENT_CHAR,212,139,89,13,ES_AUTOHSCROLL
    RTEXT           "&Replacement Character:",IDC_STATIC,4,140,161,13
END

IDD_PAGE_GENRAL1 DIALOGEX 0, 0, 360, 240
STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION
CAPTION "General"
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
    GROUPBOX        "",IDC_STATIC,2,176,357,63
    LTEXT           "",IDC_STATIC_GENERAL,6,183,348,52
    RTEXT           "Data &Source Name:",IDC_STATIC,28,46,76,8,NOT WS_GROUP
    EDITTEXT        IDC_DSNAME,140,46,117,13,ES_AUTOHSCROLL
    RTEXT           "&Description:",IDC_STATIC,26,74,76,8,NOT WS_GROUP
    EDITTEXT        IDC_DESC,140,74,117,13,ES_AUTOHSCROLL
    RTEXT           "Ser&vice Name:",IDC_STATIC,3,102,99,8,NOT WS_VISIBLE | NOT WS_GROUP
    EDITTEXT        IDC_SERVICE_NAME,140,102,117,13,ES_AUTOHSCROLL | NOT WS_VISIBLE
    GROUPBOX        "General",IDC_STATIC,3,0,356,167
END

IDD_PAGE_LOCAL_TR1 DIALOGEX 0, 0, 360, 240
STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION
CAPTION "Localization"
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
    GROUPBOX        "",IDC_STATIC,2,176,357,63
    LTEXT           "",IDC_STATIC_LOCAL_TR,6,183,348,52
    RTEXT           "&DLL Name:",IDC_STATIC,5,22,79,8
    EDITTEXT        IDC_DLL_NAME,95,20,116,13,ES_AUTOHSCROLL
    PUSHBUTTON      "B&rowse...",IDC_DLL_BROWSE,245,20,50,14
    RTEXT           "&Option:",IDC_STATIC,5,41,79,10
    EDITTEXT        IDC_TRANSLATE_OPTION,95,40,116,13,ES_AUTOHSCROLL
    GROUPBOX        "Translate DLL",IDC_STATIC,3,1,354,79
    RTEXT           "Client &Error Message Language:",IDC_STATIC,3,100,161,13
    COMBOBOX        IDC_COMBO_ERRORLANG,212,100,90,63,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
    RTEXT           "Client/&Server Character Set Interaction:",IDC_STATIC,3,119,161,13
    COMBOBOX        IDC_COMBO_DATALANG,212,119,90,42,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
    GROUPBOX        "Localization",IDC_STATIC,3,83,354,85
    EDITTEXT        IDC_REPLACEMENT_CHAR,212,139,89,13,ES_AUTOHSCROLL
    RTEXT           "&Replacement Character:",IDC_STATIC,4,140,161,13
END

IDD_PAGE_NETWORK1 DIALOGEX 0, 0, 360, 240
STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION
CAPTION "Network"
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
    RTEXT           "DCS IP &Address:",IDC_STATIC,0,26,82,12,0,WS_EX_RIGHT
    EDITTEXT        IDC_IPADDRESS,83,24,149,14,ES_AUTOHSCROLL
    RTEXT           "&Port:",IDC_STATIC,239,26,25,14
    EDITTEXT        IDC_PORTNUM,271,24,58,14,ES_AUTOHSCROLL
    RTEXT           "&Login Timeout (seconds):",1010,3,63,141,12,0,WS_EX_RIGHT
    COMBOBOX        IDC_LOGIN,170,61,87,71,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
    LTEXT           "C&onnection Timeout (seconds):",IDC_STATIC,2,83,141,8,0,WS_EX_RIGHT
    COMBOBOX        IDC_CONNECTION,170,80,87,71,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
    LTEXT           "&Query Timeout (seconds):",IDC_STATIC,2,103,141,11,0,WS_EX_RIGHT
    COMBOBOX        IDC_QUERY,170,101,87,71,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
    RTEXT           "&Fetch Buffer Size (kbytes):",IDC_STATIC,3,124,141,13
    COMBOBOX        IDC_FETCH_BUFFER_SIZE,170,122,87,86,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
    GROUPBOX        "Network",IDC_STATIC,1,0,357,163
    LTEXT           "",IDC_STATIC_NETWORK,6,183,348,52
    GROUPBOX        "",IDC_STATIC,1,161,357,76
    LTEXT           "Compression :",IDC_STATIC,97,145,45,8
    COMBOBOX        IDC_COMPRESSION,170,145,88,67,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
END

IDD_PAGE_OPTIONS1 DIALOGEX 0, 0, 360, 240
STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION
CAPTION "Data Access"
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
    LTEXT           "",IDC_STATIC_OPTIONS,6,183,348,52
    GROUPBOX        "",IDC_STATIC,2,176,357,63
    EDITTEXT        IDC_SCHEMA,100,47,141,12,ES_AUTOHSCROLL
    RTEXT           "&Schema:",IDC_STATIC,2,47,88,10
    GROUPBOX        "Data Access Options",IDC_STATIC,2,0,355,167
    COMBOBOX        IDC_COMBO_DSNAMES,100,86,142,124,CBS_DROPDOWN | CBS_SORT | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP
    RTEXT           "&Server DSN:",IDC_STATIC,2,86,88,8,NOT WS_VISIBLE
END

IDD_PAGE_TESTING1 DIALOGEX 0, 0, 360, 240
STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION
CAPTION "Testing"
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
    PUSHBUTTON      "Test &Connection",IDC_TESTCONN,2,152,69,14
    LTEXT           "",IDC_STATIC_TESTING,6,183,348,52
    GROUPBOX        "",IDC_STATIC,2,176,357,63
    LISTBOX         IDC_OUTPUT,2,5,353,138,NOT LBS_NOTIFY | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
END

IDD_PAGE_TRACING1 DIALOGEX 0, 0, 360, 240
STYLE DS_SETFONT | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_CAPTION
CAPTION "Tracing"
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
    LTEXT           "",IDC_STATIC_TRACING,6,183,348,52
    GROUPBOX        "",IDC_STATIC,2,176,357,63
    CONTROL         "ODBC &API",IDC_DM_API,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,30,11,88,10
    CONTROL         "ODBC API &EXIT",IDC_DM_API_EXIT,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,30,26,88,10
    CONTROL         "&TRAF ODBC API",IDC_ODBC_API,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,30,40,88,10
    CONTROL         "TRAF ODBC API E&XIT",IDC_ODBC_API_EXIT,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,30,54,88,10
    CONTROL         "&NETWORK LAYER",IDC_DRVR_KRYPTON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,140,40,88,10
    CONTROL         "&POST ERROR",IDC_POST_ERROR,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,140,26,88,10
    GROUPBOX        "Trace Options",IDC_STATIC,1,0,356,79
    RTEXT           "&File Name:",IDC_STATIC,1,119,71,8
    EDITTEXT        IDC_FILE_NAME,77,116,159,13,ES_AUTOHSCROLL
    PUSHBUTTON      "B&rowse...",IDC_BROWSE,257,116,50,14
    GROUPBOX        "Log File Path",IDC_STATIC,2,83,355,84
END


/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//

#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
    IDD_SERVICENAME, DIALOG
    BEGIN
        LEFTMARGIN, 7
        RIGHTMARGIN, 244
        TOPMARGIN, 7
        BOTTOMMARGIN, 88
    END

    IDD_TESTSERVICE, DIALOG
    BEGIN
        LEFTMARGIN, 7
        RIGHTMARGIN, 271
        TOPMARGIN, 7
        BOTTOMMARGIN, 122
    END

    IDD_PAGE_GENRAL, DIALOG
    BEGIN
    END

    IDD_PAGE_NETWORK, DIALOG
    BEGIN
    END

    IDD_PAGE_OPTIONS, DIALOG
    BEGIN
    END

    IDD_PAGE_LOCAL_TR, DIALOG
    BEGIN
    END

    IDD_PAGE_NETWORK1, DIALOG
    BEGIN
    END

    IDD_PAGE_TESTING1, DIALOG
    BEGIN
    END
END
#endif    // APSTUDIO_INVOKED


/////////////////////////////////////////////////////////////////////////////
//
// Dialog Info
//

IDD_PAGE_NETWORK DLGINIT
BEGIN
    IDC_LOGIN, 0x403, 15, 0
0x5953, 0x5453, 0x4d45, 0x445f, 0x4645, 0x5541, 0x544c, "\000" 
    IDC_LOGIN, 0x403, 11, 0
0x4f4e, 0x545f, 0x4d49, 0x4f45, 0x5455, "\000" 
    IDC_LOGIN, 0x403, 3, 0
0x3033, "\000" 
    IDC_LOGIN, 0x403, 3, 0
0x3034, "\000" 
    IDC_LOGIN, 0x403, 3, 0
0x3035, "\000" 
    IDC_LOGIN, 0x403, 3, 0
0x3036, "\000" 
    IDC_CONNECTION, 0x403, 15, 0
0x5953, 0x5453, 0x4d45, 0x445f, 0x4645, 0x5541, 0x544c, "\000" 
    IDC_CONNECTION, 0x403, 11, 0
0x4f4e, 0x545f, 0x4d49, 0x4f45, 0x5455, "\000" 
    IDC_CONNECTION, 0x403, 2, 0
0x0035, 
    IDC_CONNECTION, 0x403, 3, 0
0x3031, "\000" 
    IDC_CONNECTION, 0x403, 3, 0
0x3531, "\000" 
    IDC_CONNECTION, 0x403, 3, 0
0x3032, "\000" 
    IDC_QUERY, 0x403, 15, 0
0x5953, 0x5453, 0x4d45, 0x445f, 0x4645, 0x5541, 0x544c, "\000" 
    IDC_QUERY, 0x403, 11, 0
0x4f4e, 0x545f, 0x4d49, 0x4f45, 0x5455, "\000" 
    IDC_QUERY, 0x403, 3, 0
0x3033, "\000" 
    IDC_QUERY, 0x403, 3, 0
0x3034, "\000" 
    IDC_QUERY, 0x403, 3, 0
0x3035, "\000" 
    IDC_QUERY, 0x403, 3, 0
0x3036, "\000" 
    IDC_FETCH_BUFFER_SIZE, 0x403, 15, 0
0x5953, 0x5453, 0x4d45, 0x445f, 0x4645, 0x5541, 0x544c, "\000" 
    IDC_FETCH_BUFFER_SIZE, 0x403, 2, 0
0x0034, 
    IDC_FETCH_BUFFER_SIZE, 0x403, 2, 0
0x0038, 
    IDC_FETCH_BUFFER_SIZE, 0x403, 3, 0
0x3631, "\000" 
    IDC_FETCH_BUFFER_SIZE, 0x403, 3, 0
0x3233, "\000" 
    IDC_FETCH_BUFFER_SIZE, 0x403, 3, 0
0x3436, "\000" 
    IDC_FETCH_BUFFER_SIZE, 0x403, 4, 0
0x3231, 0x0038, 
    IDC_FETCH_BUFFER_SIZE, 0x403, 4, 0
0x3532, 0x0036, 
    IDC_COMPRESSION, 0x403, 15, 0
0x5953, 0x5453, 0x4d45, 0x445f, 0x4645, 0x5541, 0x544c, "\000" 
    IDC_COMPRESSION, 0x403, 15, 0
0x6f6e, 0x6320, 0x6d6f, 0x7270, 0x7365, 0x6973, 0x6e6f, "\000" 
    IDC_COMPRESSION, 0x403, 11, 0
0x6562, 0x7473, 0x7320, 0x6570, 0x6465, "\000" 
    IDC_COMPRESSION, 0x403, 17, 0
0x6562, 0x7473, 0x6320, 0x6d6f, 0x7270, 0x7365, 0x6973, 0x6e6f, "\000" 
    IDC_COMPRESSION, 0x403, 8, 0
0x6162, 0x616c, 0x636e, 0x0065, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0030, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0031, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0032, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0033, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0034, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0035, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0036, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0037, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0038, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0039, 
    0
END

IDD_PAGE_NETWORK1 DLGINIT
BEGIN
    IDC_LOGIN, 0x403, 15, 0
0x5953, 0x5453, 0x4d45, 0x445f, 0x4645, 0x5541, 0x544c, "\000" 
    IDC_LOGIN, 0x403, 11, 0
0x4f4e, 0x545f, 0x4d49, 0x4f45, 0x5455, "\000" 
    IDC_LOGIN, 0x403, 3, 0
0x3033, "\000" 
    IDC_LOGIN, 0x403, 3, 0
0x3034, "\000" 
    IDC_LOGIN, 0x403, 3, 0
0x3035, "\000" 
    IDC_LOGIN, 0x403, 3, 0
0x3036, "\000" 
    IDC_CONNECTION, 0x403, 15, 0
0x5953, 0x5453, 0x4d45, 0x445f, 0x4645, 0x5541, 0x544c, "\000" 
    IDC_CONNECTION, 0x403, 11, 0
0x4f4e, 0x545f, 0x4d49, 0x4f45, 0x5455, "\000" 
    IDC_CONNECTION, 0x403, 2, 0
0x0035, 
    IDC_CONNECTION, 0x403, 3, 0
0x3031, "\000" 
    IDC_CONNECTION, 0x403, 3, 0
0x3531, "\000" 
    IDC_CONNECTION, 0x403, 3, 0
0x3032, "\000" 
    IDC_QUERY, 0x403, 15, 0
0x5953, 0x5453, 0x4d45, 0x445f, 0x4645, 0x5541, 0x544c, "\000" 
    IDC_QUERY, 0x403, 11, 0
0x4f4e, 0x545f, 0x4d49, 0x4f45, 0x5455, "\000" 
    IDC_QUERY, 0x403, 3, 0
0x3033, "\000" 
    IDC_QUERY, 0x403, 3, 0
0x3034, "\000" 
    IDC_QUERY, 0x403, 3, 0
0x3035, "\000" 
    IDC_QUERY, 0x403, 3, 0
0x3036, "\000" 
    IDC_FETCH_BUFFER_SIZE, 0x403, 15, 0
0x5953, 0x5453, 0x4d45, 0x445f, 0x4645, 0x5541, 0x544c, "\000" 
    IDC_FETCH_BUFFER_SIZE, 0x403, 2, 0
0x0034, 
    IDC_FETCH_BUFFER_SIZE, 0x403, 2, 0
0x0038, 
    IDC_FETCH_BUFFER_SIZE, 0x403, 3, 0
0x3631, "\000" 
    IDC_FETCH_BUFFER_SIZE, 0x403, 3, 0
0x3233, "\000" 
    IDC_FETCH_BUFFER_SIZE, 0x403, 3, 0
0x3436, "\000" 
    IDC_FETCH_BUFFER_SIZE, 0x403, 4, 0
0x3231, 0x0038, 
    IDC_FETCH_BUFFER_SIZE, 0x403, 4, 0
0x3532, 0x0036, 
    IDC_COMPRESSION, 0x403, 15, 0
0x5953, 0x5453, 0x4d45, 0x445f, 0x4645, 0x5541, 0x544c, "\000" 
    IDC_COMPRESSION, 0x403, 15, 0
0x6f6e, 0x6320, 0x6d6f, 0x7270, 0x7365, 0x6973, 0x6e6f, "\000" 
    IDC_COMPRESSION, 0x403, 11, 0
0x6562, 0x7473, 0x7320, 0x6570, 0x6465, "\000" 
    IDC_COMPRESSION, 0x403, 17, 0
0x6562, 0x7473, 0x6320, 0x6d6f, 0x7270, 0x7365, 0x6973, 0x6e6f, "\000" 
    IDC_COMPRESSION, 0x403, 8, 0
0x6162, 0x616c, 0x636e, 0x0065, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0030, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0031, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0032, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0033, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0034, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0035, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0036, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0037, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0038, 
    IDC_COMPRESSION, 0x403, 2, 0
0x0039, 
    0
END


/////////////////////////////////////////////////////////////////////////////
//
// String Table
//

STRINGTABLE
BEGIN
    IDS_BADDSN              "%s cannot be used as a data source name."
    IDS_HELPFILENAME        "ODBCMXDS.CHM"
    IDS_REGKEY_HELP         "SOFTWARE\\Hewlett-Packard\\TRAF ODBC"
    IDS_REGVALUE_HELP       "HelpPath"
    IDS_HELP_GENERIC_ERROR  "Unable to load the HtmlHelp file:\n  %s"
    IDS_HELP_ERROR_CAPTION  "HtmlHelp Error"
END

#endif    // English (United States) resources
/////////////////////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
#define _AFX_NO_SPLITTER_RESOURCES
#define _AFX_NO_OLE_RESOURCES
#define _AFX_NO_TRACKER_RESOURCES
#define _AFX_NO_PROPERTY_RESOURCES

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE 9, 1
#pragma code_page(1252)
#endif
#include "res\drvr35adm.rc2"  // non-Microsoft Visual C++ edited resources
#include "afxres.rc"         // Standard components
#endif
/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED

