Patch level : no patch

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
eliminati url


git-svn-id: svn://10.65.10.50/trunk@10886 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2003-03-05 14:45:35 +00:00
parent 5c733d7be3
commit 3123452cb9
25 changed files with 0 additions and 2257 deletions

View File

@ -1,3 +0,0 @@
#include <default.url>
#include <mainmenu.url>

View File

@ -1,3 +0,0 @@
#include <default.url>
#include <mainmenu.url>

View File

@ -1,2 +0,0 @@
#include <default.url>
#include <mainmenu.url>

View File

@ -1,3 +0,0 @@
#include <default.url>
#include <mainmenu.url>

View File

@ -1,3 +0,0 @@
#include <default.url>
#include <mainmenu.url>

View File

@ -1,71 +0,0 @@
// mainfrm.cpp : implementation of the CMainFrame class
//
#include "stdafx.h"
#include "sesadump.h"
#include "mainfrm.h"
#include "sesadlg.h"
#include "sesa.h"
#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMainFrame
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_COMMAND(ID_FILE_OPEN, OnFileOpen)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction
CMainFrame::CMainFrame()
{
// TODO: add member initialization code here
}
CMainFrame::~CMainFrame()
{
}
/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics
#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
CFrameWnd::AssertValid();
}
void CMainFrame::Dump(CDumpContext& dc) const
{
CFrameWnd::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers
void CMainFrame::OnFileOpen()
{
CSesaDlg dlg;
if (dlg.DoModal() == IDOK)
{
BOOL ok = SESA_OpenDatabase(dlg.m_strDSN, dlg.m_strConnect);
if (ok)
{
SESA_DumpTable(dlg.m_strTable);
SESA_CloseDatabase();
}
}
}

View File

@ -1,33 +0,0 @@
// mainfrm.h : interface of the CMainFrame class
//
/////////////////////////////////////////////////////////////////////////////
class CMainFrame : public CFrameWnd
{
protected: // create from serialization only
CMainFrame();
DECLARE_DYNCREATE(CMainFrame)
// Attributes
public:
// Operations
public:
// Implementation
public:
virtual ~CMainFrame();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CMainFrame)
afx_msg void OnFileOpen();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////

View File

@ -1,22 +0,0 @@
//{{NO_DEPENDENCIES}}
// App Studio generated include file.
// Used by SESADUMP.RC
//
#define IDR_MAINFRAME 2
#define IDD_ABOUTBOX 100
#define IDD_CONNECTION 102
#define IDC_DSN 1000
#define IDC_CONNECT 1001
#define IDC_TABLE 1002
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 103
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1003
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

View File

@ -1,667 +0,0 @@
#include "stdafx.h"
#include <fstream.h>
#include <io.h>
#include "columnst.h"
#include "sesa.h"
static CDatabase _db;
static CString _strWorkDir;
#ifndef WIN32
#define S4DLL
#include <d4all.h>
static CODE4 _codebase;
static DATA4 *_dbdata;
#endif
///////////////////////////////////////////////////////////
// SESA field info
///////////////////////////////////////////////////////////
class SESA_Field : public CObject
{
CString m_strName;
int m_nType;
CString m_strValue;
CTime m_tValue;
double m_dValue;
float m_fValue;
BOOL m_bValue;
public:
const CString& Name() const { return m_strName; }
int Type() const { return m_nType; }
CString& StrValue() { return m_strValue; }
CTime& TimeValue() { return m_tValue; }
double& DoubleValue() { return m_dValue; }
float& FloatValue() { return m_fValue; }
BOOL& BoolValue() { return m_bValue; }
SESA_Field(LPCSTR strName, int nType);
virtual ~SESA_Field() { }
};
SESA_Field::SESA_Field(LPCSTR strName, int nType)
: m_strName(strName), m_nType(nType), m_bValue(FALSE), m_dValue(0.0)
{ }
class SESA_FieldList : public CObject
{
CObList m_List;
public:
void Add(const CString& strField, int nType);
POSITION GetHeadPosition() const;
SESA_Field& GetNext(POSITION& rPosition);
SESA_Field& Find(const CString& strField);
void RemoveAll();
int GetCount() const { return m_List.GetCount(); }
virtual ~SESA_FieldList();
};
void SESA_FieldList::Add(const CString& strName, int nType)
{
SESA_Field* pField = new SESA_Field(strName, nType);
m_List.AddTail(pField);
}
POSITION SESA_FieldList::GetHeadPosition() const
{
return m_List.GetHeadPosition();
}
SESA_Field& SESA_FieldList::GetNext(POSITION& rPosition)
{
SESA_Field* pField = (SESA_Field*)m_List.GetNext(rPosition);
ASSERT(pField);
return *pField;
}
SESA_Field& SESA_FieldList::Find(const CString& strName)
{
for (POSITION pos = GetHeadPosition(); pos;)
{
SESA_Field& fld = GetNext(pos);
if (fld.Name() == strName)
return fld;
}
return SESA_Field("", 0);
}
void SESA_FieldList::RemoveAll()
{
while (!m_List.IsEmpty())
{
CObject* pField = m_List.RemoveHead();
delete pField;
}
}
SESA_FieldList::~SESA_FieldList()
{
RemoveAll();
}
///////////////////////////////////////////////////////////
// Sesa recordset
///////////////////////////////////////////////////////////
class SESA_Recordset : public CRecordset
{
// DECLARE_DYNAMIC(SESA_Recordset)
SESA_FieldList m_FieldList;
CStringList m_DumpList;
protected:
virtual CString GetDefaultConnect();
virtual CString GetDefaultSQL();
virtual void DoFieldExchange(CFieldExchange* pFX);
public:
BOOL Open(LPCSTR strTable);
void DumpHeader(ostream& out);
void ReadDumpList(const CString& strFile);
void DumpFields(ostream& out);
SESA_Recordset(CDatabase* pDatabase);
virtual ~SESA_Recordset() { }
};
//IMPLEMENT_DYNAMIC(SESA_Recordset, CRecordset)
CString SESA_Recordset::GetDefaultConnect()
{
return "ODBC;"; // Copied from CATALOG sample application
}
CString SESA_Recordset::GetDefaultSQL()
{
ASSERT(FALSE); // Copied from CATALOG sample application
return "!";
}
BOOL SESA_Recordset::Open(LPCSTR strTable)
{
CColumns Cols(&_db);
Cols.m_strTableNameParam = strTable;
BOOL ok = Cols.Open(CRecordset::forwardOnly, NULL, CRecordset::readOnly);
if (ok)
{
while (!Cols.IsEOF())
{
m_FieldList.Add(Cols.m_strColumnName, Cols.m_nDataType);
Cols.MoveNext();
}
RETCODE nRetCode;
AFX_SQL_SYNC(::SQLFreeStmt(Cols.m_hstmt, SQL_CLOSE));
m_nFields = m_FieldList.GetCount();
}
if (ok)
{
ok = CRecordset::Open(CRecordset::forwardOnly, strTable, CRecordset::readOnly);
if (!ok)
{
CString msg;
msg = "Impossibile aprire la tabella ";
msg += strTable;
AfxMessageBox(msg, MB_OK | MB_ICONEXCLAMATION);
}
}
return ok;
}
void SESA_Recordset::DoFieldExchange(CFieldExchange* pFX)
{
pFX->SetFieldType(CFieldExchange::outputColumn);
BOOL bLoad= pFX->m_nOperation == CFieldExchange::Fixup;
int nField = 1;
for (POSITION pos = m_FieldList.GetHeadPosition(); pos; nField++)
{
SESA_Field& fld = m_FieldList.GetNext(pos);
CString& val = fld.StrValue();
switch(fld.Type())
{
case SQL_BIT:
{
BOOL& b = fld.BoolValue();
RFX_Bool(pFX, fld.Name(), b);
if (bLoad)
{
if (b == FALSE ||
#ifdef WIN32
IsFieldNull(&b))
#else
IsFieldFlagNull(nField, CFieldExchange::outputColumn))
#endif
val.Empty();
else
val = "X";
}
}
break;
case SQL_CHAR:
case SQL_NUMERIC:
RFX_Text(pFX, fld.Name(), val);
break;
case SQL_DATE:
{
CTime& t = fld.TimeValue();
RFX_Date(pFX, fld.Name(), t);
if (bLoad)
{
TIMESTAMP_STRUCT* pts = (TIMESTAMP_STRUCT*)m_pvFieldProxy[nField];
if (pts->year == 0)
val.Empty();
else
{
char* buf = val.GetBuffer(16);
sprintf(buf, "%02d-%02d-%04d", pts->day, pts->month, pts->year);
val.ReleaseBuffer();
}
}
}
break;
case SQL_REAL:
{
float& d = fld.FloatValue();
RFX_Single(pFX, fld.Name(), d);
if (bLoad)
{
if (d == 0.0 ||
#ifdef WIN32
IsFieldNull(&d))
#else
IsFieldFlagNull(nField, CFieldExchange::outputColumn))
#endif
{
val.Empty();
}
else
{
char* buf = val.GetBuffer(32);
sprintf(buf, "%.12g", d);
val.ReleaseBuffer();
}
}
}
break;
case SQL_FLOAT:
case SQL_DOUBLE:
{
double& d = fld.DoubleValue();
RFX_Double(pFX, fld.Name(), d);
if (bLoad)
{
if (d == 0.0 ||
#ifdef WIN32
IsFieldNull(&d))
#else
IsFieldFlagNull(nField, CFieldExchange::outputColumn))
#endif
{
val.Empty();
}
else
{
char* buf = val.GetBuffer(32);
sprintf(buf, "%.12lg", d);
val.ReleaseBuffer();
}
}
}
break;
default:
ASSERT(0);
break;
}
}
}
void SESA_Recordset::DumpHeader(ostream& out)
{
out << "[MAIN]" << endl
<< "TYPEFIELD=-1" << endl
<< "DECSEP=." << endl
<< "FIELDSEP=|" << endl
<< endl;
out << "[RECORD]" << endl;
int num = 0;
for (POSITION pos = m_FieldList.GetHeadPosition(); pos; num++)
{
const SESA_Field& fld = m_FieldList.GetNext(pos);
out << "NAME(" << num << ") = " << fld.Name() << endl
<< endl;
}
}
void SESA_Recordset::ReadDumpList(const CString& strFile)
{
char szField[16];
char szName[16];
char szFile[32];
// Mette .\ davanti al nome per cercare nella directory corrente,
// altrimenti lo cerca nella directory di Windows
sprintf(szFile, ".\\%s", strFile);
for (int num = 0; ; num++)
{
sprintf(szField, "NAME(%d)", num);
GetPrivateProfileString("RECORD", szField, "", szName, sizeof(szName), szFile);
if (*szName)
m_DumpList.AddTail(szName);
else
break;
}
}
void SESA_Recordset::DumpFields(ostream& out)
{
if (m_DumpList.IsEmpty())
{
int num = 0;
for (POSITION pos = m_FieldList.GetHeadPosition(); pos; num++)
{
SESA_Field& fld = m_FieldList.GetNext(pos);
if (num) out << '|';
out << fld.StrValue();
}
}
else
{
int num = 0;
for (POSITION npos = m_DumpList.GetHeadPosition(); npos; num++)
{
CString& strName = m_DumpList.GetNext(npos);
SESA_Field& fld = m_FieldList.Find(strName);
if (num) out << '|';
out << fld.StrValue();
}
}
out << endl;
}
SESA_Recordset::SESA_Recordset(CDatabase* pDatabase)
: CRecordset(pDatabase)
{ }
///////////////////////////////////////////////////////////
// SESA functions
///////////////////////////////////////////////////////////
inline BOOL is_space(char c) { return c >= '\t' && c <= ' '; }
static BOOL UpdateODBCIni(LPCSTR szEntry, LPCSTR szDefault, BOOL bForce = FALSE)
{
BOOL bWrite = bForce;
if (!bForce)
{
char szBuffer[80];
::GetPrivateProfileString("SIGLAPP", szEntry, "", szBuffer, sizeof(szBuffer), "odbc.ini");
bWrite = *szBuffer == '\0';
}
if (bWrite)
::WritePrivateProfileString("SIGLAPP", szEntry, szDefault, "odbc.ini");
return bWrite;
}
BOOL SESA_OpenDatabase(const char* lpszDSN, const char* lpszConnect)
{
if (lpszDSN == NULL || *lpszDSN == '\0')
lpszDSN = "SIGLAPP";
if (lpszConnect == NULL || *lpszConnect == '\0')
lpszConnect = "ODBC;"; //UID=sa;PWD=";
BOOL ok;
TRY
{
// DataSrc Excl ReadOnly ConnectString
ok = _db.Open(lpszDSN, FALSE, TRUE, lpszConnect);
if (ok)
_db.m_bStripTrailingSpaces = TRUE;
}
CATCH_ALL(e)
{
ok = FALSE;
}
END_CATCH_ALL
if (!ok)
{
CString msg;
msg = "Impossibile connettersi al database ";
msg += lpszDSN;
msg += " usando ";
msg += lpszConnect;
AfxMessageBox(msg, MB_OK | MB_ICONEXCLAMATION);
}
return ok;
}
BOOL SESA_CloseDatabase()
{
if (_db.IsOpen())
_db.Close();
return TRUE;
}
BOOL SESA_DumpTableODBC(const char* lpszTableName)
{
const BOOL bWasOpen = _db.IsOpen();
if (!bWasOpen)
{
BOOL bOk = SESA_OpenDatabase();
if (!bOk)
return FALSE;
}
SESA_Recordset rs(&_db);
BOOL ok = rs.Open(lpszTableName);
if (ok)
{
CString strName = _strWorkDir;
strName += lpszTableName;
strName += ".ini";
if (access(strName, 0x00) == 0)
{
rs.ReadDumpList(strName);
}
else
{
ofstream out(strName);
rs.DumpHeader(out);
}
strName = _strWorkDir;
strName += lpszTableName;
strName += ".txt";
ofstream out(strName);
while (!rs.IsEOF())
{
rs.DumpFields(out);
rs.MoveNext();
}
RETCODE nRetCode;
AFX_SQL_SYNC(::SQLFreeStmt(rs.m_hstmt, SQL_CLOSE));
}
else
{
CString msg;
msg = "Impossibile aprire la tabella ";
msg += lpszTableName;
AfxMessageBox(msg, MB_OK | MB_ICONEXCLAMATION);
}
if (!bWasOpen)
SESA_CloseDatabase();
return ok;
}
BOOL SESA_DumpTableCODEBASE(const char* SIGLAPP, const char* lpszTableName)
{
BOOL ok = TRUE;
#ifndef WIN32
CString filename;
CString msg;
d4init(&_codebase);
_dbdata = NULL;
_codebase.read_lock=0;
_codebase.default_unique_error=e4unique;
_codebase.safety=0;
_codebase.lock_attempts=1;
u4ncpy(_codebase.date_format,"CCYYMMDD",sizeof(_codebase.date_format));
filename = SIGLAPP;
if (filename.Right(1) != "\\" && filename.Right(1) != "/")
filename += "\\";
filename += lpszTableName;
_codebase.error_code=0;
_dbdata=d4open(&_codebase,(char*)(const char*)filename);
if (_dbdata != NULL)
{
CString strName = _strWorkDir;
CString fld_name,fld_val;
CStringArray field_list;
strName += lpszTableName;
strName += ".ini";
if (access(strName, 0x00) == 0)
{
// Legge la lista dei campi dal .ini se esiste gia'
char szField[16];
char szName[16];
char szFile[32];
// Mette .\ davanti al nome per cercare nella directory corrente,
// altrimenti lo cerca nella directory di Windows
sprintf(szFile, ".\\%s", strName);
for (int num = 0; ; num++)
{
sprintf(szField, "NAME(%d)", num);
GetPrivateProfileString("RECORD", szField, "", szName, sizeof(szName), szFile);
if (*szName)
field_list.Add(szName);
else
break;
}
}
else
{
// Scarica il tracciato dei campi
ofstream out(strName);
out << "[MAIN]" << endl
<< "TYPEFIELD=-1" << endl
<< "DECSEP=." << endl
<< "FIELDSEP=|" << endl
<< endl;
out << "[RECORD]" << endl;
FIELD4INFO *field_info = d4field_info(_dbdata);
if (field_info != NULL)
{
const int num_fields = d4num_fields(_dbdata);
for (int num=0; num < num_fields; num++)
{
out << "NAME(" << num << ") = " << field_info[num].name << endl
<< endl;
field_list.Add(field_info[num].name);
}
u4free(field_info);
}
else
{
msg = "Impossibile reperire informazioni sulla testata del file";
AfxMessageBox(msg, MB_OK | MB_ICONEXCLAMATION);
ok = FALSE;
}
}
if (ok)
{
strName = _strWorkDir;
strName += lpszTableName;
strName += ".txt";
ofstream out(strName);
d4top(_dbdata); // No tag is required
while (!d4eof(_dbdata) && ok)
{
if (!d4deleted(_dbdata)) // Dump only undeleted records
{
const int items = field_list.GetSize();
for (int num = 0; num < items && ok; num++)
{
fld_name = field_list.GetAt(num);
if (num)
out << '|';
FIELD4* fldfld = d4field(_dbdata,(char*)(const char*)fld_name);
if (fldfld != NULL)
{
fld_val = f4str(fldfld);
char * v = fld_val.GetBuffer(80);
// Trims leading & trailing spaces
{
char* last = v;
// Salta spazi iniziali
for (const char* s = v; *s && is_space(*s); s++);
// Copia stringa
for(char* c = v; *s; s++)
{
*c++ = *s;
if (!is_space(*s)) last = c;
}
// Elimina spazi finali
*last = '\0';
}
out << v;
fld_val.ReleaseBuffer();
}
else
{
msg = "Impossibile reperire il campo ";
msg += fld_val;
AfxMessageBox(msg, MB_OK | MB_ICONEXCLAMATION);
ok = FALSE;
}
}
out << endl;
}
d4skip(_dbdata,1L); // Skip next
}
}
d4close(_dbdata);
}
else
{
msg = "Impossibile aprire il file ";
msg += filename;
AfxMessageBox(msg, MB_OK | MB_ICONEXCLAMATION);
ok = FALSE;
}
d4init_undo(&_codebase);
#endif
return ok;
}
BOOL SESA_DumpTable(const char* lpszTableName)
{
char szBuffer[80];
::GetPrivateProfileString("SIGLAPP",
#ifndef WIN32
"Driver",
#else
"Driver32",
#endif
"", szBuffer, sizeof(szBuffer), "odbc.ini");
if (*szBuffer == '\0' || !SESA_DumpTableODBC(lpszTableName))
{
const char *SIGLAPP = getenv("SPPROOT");
if (SIGLAPP)
return SESA_DumpTableCODEBASE(SIGLAPP, lpszTableName);
else
{
AfxMessageBox("Impossibile trovare la variabile d'ambiente SPPROOT", MB_OK | MB_ICONEXCLAMATION);
return FALSE;
}
}
return TRUE;
}
BOOL SESA_WorkDir(const char* strDir)
{
_strWorkDir = strDir;
_strWorkDir = _strWorkDir.SpanExcluding(" ");
const char& last = _strWorkDir[_strWorkDir.GetLength()-1];
if (last != '\\' && last != '/')
_strWorkDir += "\\";
return !_strWorkDir.IsEmpty();
}

View File

@ -1,6 +0,0 @@
BOOL SESA_WorkDir(const char* strDir);
BOOL SESA_OpenDatabase(const char* strDSN = NULL, const char* strConnect = NULL);
BOOL SESA_DumpTable(const char* strTableName);
BOOL SESA_DumpTableODBC(const char* strTableName);
BOOL SESA_DumpTableCODEBASE(const char* SIGLAPP, const char* strTableName);
BOOL SESA_CloseDatabase();

View File

@ -1,80 +0,0 @@
// sesaddoc.cpp : implementation of the CSesadumpDoc class
//
#include "stdafx.h"
#include "sesadump.h"
#include "sesaddoc.h"
#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSesadumpDoc
IMPLEMENT_DYNCREATE(CSesadumpDoc, CDocument)
BEGIN_MESSAGE_MAP(CSesadumpDoc, CDocument)
//{{AFX_MSG_MAP(CSesadumpDoc)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSesadumpDoc construction/destruction
CSesadumpDoc::CSesadumpDoc()
{
// TODO: add one-time construction code here
}
CSesadumpDoc::~CSesadumpDoc()
{
}
BOOL CSesadumpDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;
// TODO: add reinitialization code here
// (SDI documents will reuse this document)
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CSesadumpDoc serialization
void CSesadumpDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO: add storing code here
}
else
{
// TODO: add loading code here
}
}
/////////////////////////////////////////////////////////////////////////////
// CSesadumpDoc diagnostics
#ifdef _DEBUG
void CSesadumpDoc::AssertValid() const
{
CDocument::AssertValid();
}
void CSesadumpDoc::Dump(CDumpContext& dc) const
{
// CDocument::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CSesadumpDoc commands

View File

@ -1,37 +0,0 @@
// sesaddoc.h : interface of the CSesadumpDoc class
//
/////////////////////////////////////////////////////////////////////////////
class CSesadumpDoc : public CDocument
{
protected: // create from serialization only
CSesadumpDoc();
DECLARE_DYNCREATE(CSesadumpDoc)
// Attributes
public:
// Operations
public:
// Implementation
public:
virtual ~CSesadumpDoc();
virtual void Serialize(CArchive& ar); // overridden for document i/o
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
virtual BOOL OnNewDocument();
// Generated message map functions
protected:
//{{AFX_MSG(CSesadumpDoc)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////

View File

@ -1,48 +0,0 @@
// sesadlg.cpp : implementation file
//
#include "stdafx.h"
#include <direct.h>
#include "sesadump.h"
#include "sesadlg.h"
#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSesaDlg dialog
CSesaDlg::CSesaDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSesaDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSesaDlg)
m_strDSN = "SIGLAPP";
m_strConnect = "ODBC;";
m_strTable = "";
//}}AFX_DATA_INIT
}
void CSesaDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSesaDlg)
DDX_Text(pDX, IDC_DSN, m_strDSN);
DDX_Text(pDX, IDC_CONNECT, m_strConnect);
DDX_Text(pDX, IDC_TABLE, m_strTable);
DDV_MaxChars(pDX, m_strTable, 12);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSesaDlg, CDialog)
//{{AFX_MSG_MAP(CSesaDlg)
// NOTE: the ClassWizard will add message map macros here
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSesaDlg message handlers

View File

@ -1,30 +0,0 @@
// sesadlg.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CSesaDlg dialog
class CSesaDlg : public CDialog
{
// Construction
public:
CSesaDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CSesaDlg)
enum { IDD = IDD_CONNECTION };
CString m_strDSN;
CString m_strConnect;
CString m_strTable;
//}}AFX_DATA
// Implementation
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
// Generated message map functions
//{{AFX_MSG(CSesaDlg)
// NOTE: the ClassWizard will add member functions here
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};

View File

@ -1,151 +0,0 @@
// sesadump.cpp : Defines the class behaviors for the application.
//
#include "stdafx.h"
#include "sesadump.h"
#include "mainfrm.h"
#include "sesaddoc.h"
#include "sesadvw.h"
#include "sesa.h"
#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSesadumpApp
BEGIN_MESSAGE_MAP(CSesadumpApp, CWinApp)
//{{AFX_MSG_MAP(CSesadumpApp)
ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
// Standard file based document commands
ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSesadumpApp construction
CSesadumpApp::CSesadumpApp()
{
// TODO: add construction code here,
// Place all significant initialization in InitInstance
}
/////////////////////////////////////////////////////////////////////////////
// The one and only CSesadumpApp object
CSesadumpApp NEAR theApp;
/////////////////////////////////////////////////////////////////////////////
// CSesadumpApp initialization
BOOL CSesadumpApp::InitInstance()
{
// Standard initialization
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need.
SetDialogBkColor(); // Set dialog background color to gray
LoadStdProfileSettings(); // Load standard INI file options (including MRU)
// Register the application's document templates. Document templates
// serve as the connection between documents, frame windows and views.
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CSesadumpDoc),
RUNTIME_CLASS(CMainFrame), // main SDI frame window
RUNTIME_CLASS(CSesadumpView));
AddDocTemplate(pDocTemplate);
OnFileNew();
if (m_lpCmdLine[0] != '\0')
{
CString strTable, strDir;
char* space = strchr(m_lpCmdLine, ' ');
if (space)
{
*space = '\0';
strTable = m_lpCmdLine;
strDir = space+1;
*space = ' ';
}
else
{
strTable = m_lpCmdLine;
}
SESA_WorkDir(strDir);
SESA_DumpTable(strTable);
#ifndef WIN32
const UINT WM_WAKEUP = RegisterWindowMessage("WAKEUP");
const HTASK ht = GetCurrentTask();
PostMessage(HWND_BROADCAST, WM_WAKEUP, (WPARAM)ht, 0L);
#endif
return FALSE; // Batch mode
}
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// Dialog Data
//{{AFX_DATA(CAboutDlg)
enum { IDD = IDD_ABOUTBOX };
//}}AFX_DATA
// Implementation
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//{{AFX_MSG(CAboutDlg)
// No message handlers
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
// No message handlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
// App command to run the dialog
void CSesadumpApp::OnAppAbout()
{
CAboutDlg aboutDlg;
aboutDlg.DoModal();
}
/////////////////////////////////////////////////////////////////////////////
// CSesadumpApp commands

View File

@ -1,474 +0,0 @@
; sesadump.def : Declares the module parameters for the application.
NAME SESADUMP
DESCRIPTION 'SESADUMP Windows Application'
EXETYPE WINDOWS
CODE PRELOAD MOVEABLE DISCARDABLE
DATA PRELOAD MOVEABLE MULTIPLE
HEAPSIZE 1024 ; initial heap size
; Stack size is passed as argument to linker's /STACK option
IMPORTS
C4ATOD = CB5.1
C4ATOI = CB5.2
C4ATOL = CB5.3
C4DESCEND = CB5.4
C4DESCEND_DATE = CB5.5
C4DESCEND_NUM = CB5.6
C4DESCEND_STR = CB5.7
C4ENCODE = CB5.8
CODE4ALLOC = CB5.9
D4ALIAS = CB5.10
D4ALIAS_SET = CB5.11
D4APPEND = CB5.12
D4APPEND_BLANK = CB5.13
D4APPEND_DATA = CB5.14
D4APPEND_START = CB5.15
D4BLANK = CB5.16
D4BOF = CB5.17
D4BOTTOM = CB5.18
D4CHANGED = CB5.19
D4CHECK = CB5.20
D4CLOSE = CB5.21
D4CLOSE_ALL = CB5.22
D4CREATE = CB5.23
D4DATA = CB5.24
D4DELETE = CB5.25
D4DELETED = CB5.26
D4EOF = CB5.27
D4FIELD = CB5.28
D4FIELD_INFO = CB5.29
D4FIELD_J = CB5.30
D4FIELD_NUMBER = CB5.31
D4FLUSH = CB5.32
D4FLUSH_DATA = CB5.33
D4FLUSH_FILES = CB5.34
D4FREE_BLOCKS = CB5.35
D4GO = CB5.36
D4GO_DATA = CB5.37
D4GO_EOF = CB5.38
D4INDEX = CB5.39
D4INIT = CB5.40
D4INIT_UNDO = CB5.41
D4LOCK = CB5.42
D4LOCK_ALL = CB5.43
D4LOCK_APPEND = CB5.44
D4LOCK_FILE = CB5.45
D4LOCK_GROUP = CB5.46
D4LOCK_INDEX = CB5.47
D4LOCK_TEST = CB5.48
D4LOCK_TEST_APPEND = CB5.49
D4LOCK_TEST_FILE = CB5.50
D4LOCK_TEST_INDEX = CB5.51
D4MEMO_COMPRESS = CB5.52
D4NUM_FIELDS = CB5.53
D4OPEN = CB5.54
D4OPT_START = CB5.55
D4OPT_SUSPEND = CB5.56
D4OPTIMIZE = CB5.57
D4OPTIMIZE_WRITE = CB5.58
D4PACK = CB5.59
D4PACK_DATA = CB5.60
D4POSITION = CB5.61
D4POSITION_SET = CB5.62
D4READ = CB5.63
D4READ_OLD = CB5.64
D4RECALL = CB5.65
D4RECCOUNT = CB5.66
D4RECNO = CB5.67
D4RECORD = CB5.68
D4RECORD_POSITION = CB5.69
D4RECORD_WIDTH = CB5.70
D4REFRESH = CB5.71
D4REFRESH_RECORD = CB5.72
D4REINDEX = CB5.73
D4SEEK = CB5.74
D4SEEK_DOUBLE = CB5.75
D4SKIP = CB5.76
D4TAG = CB5.77
D4TAG_DEFAULT = CB5.78
D4TAG_NEXT = CB5.79
D4TAG_PREV = CB5.80
D4TAG_SELECT = CB5.81
D4TAG_SELECTED = CB5.82
D4TOP = CB5.83
D4UNLOCK = CB5.84
D4UNLOCK_FILES = CB5.85
D4VALIDATE_MEMO_IDS = CB5.86
D4WRITE = CB5.87
D4WRITE_DATA = CB5.88
D4WRITE_KEYS = CB5.89
D4ZAP = CB5.90
D4ZAP_DATA = CB5.91
DATE4ASSIGN = CB5.92
DATE4CDOW = CB5.93
DATE4CMONTH = CB5.94
DATE4DAY = CB5.95
DATE4DOW = CB5.96
DATE4FORMAT = CB5.97
DATE4FORMAT_MDX = CB5.98
DATE4INIT = CB5.99
DATE4LONG = CB5.100
DATE4MONTH = CB5.101
DATE4TIME_NOW = CB5.102
DATE4TODAY = CB5.103
DATE4YEAR = CB5.104
E4 = CB5.105
E4CODE = CB5.106
E4DESCRIBE = CB5.107
E4EXIT = CB5.108
E4EXIT_TEST = CB5.109
E4HOOK = CB5.110
E4SET = CB5.111
E4SEVERE = CB5.112
E4TEXT = CB5.113
EXPR4CALC_CREATE = CB5.114
EXPR4DOUBLE = CB5.115
EXPR4FREE = CB5.116
EXPR4KEY = CB5.117
EXPR4KEY_LEN = CB5.118
EXPR4LEN = CB5.119
EXPR4PARSE = CB5.120
EXPR4SOURCE = CB5.121
EXPR4TRUE = CB5.122
EXPR4TYPE = CB5.123
EXPR4VARY = CB5.124
F4ASSIGN = CB5.125
F4ASSIGN_CHAR = CB5.126
F4ASSIGN_DOUBLE = CB5.127
F4ASSIGN_FIELD = CB5.128
F4ASSIGN_INT = CB5.129
F4ASSIGN_LONG = CB5.130
F4ASSIGN_N = CB5.131
F4ASSIGN_PTR = CB5.132
F4BLANK = CB5.133
F4CHAR = CB5.134
F4DATA = CB5.135
F4DECIMALS = CB5.136
F4DOUBLE = CB5.137
F4INT = CB5.138
F4LEN = CB5.139
F4LONG = CB5.140
F4MEMO_ASSIGN = CB5.150
F4MEMO_ASSIGN_N = CB5.151
F4MEMO_FREE = CB5.152
F4MEMO_LEN = CB5.153
F4MEMO_NCPY = CB5.154
F4MEMO_PTR = CB5.155
F4MEMO_STR = CB5.156
F4NAME = CB5.157
F4NCPY = CB5.158
F4PTR = CB5.159
F4STR = CB5.160
F4TRUE = CB5.161
F4TYPE = CB5.162
FILE4CLOSE = CB5.163
FILE4CREATE = CB5.164
FILE4FLUSH = CB5.165
FILE4LEN = CB5.166
FILE4LEN_SET = CB5.167
FILE4LOCK = CB5.168
FILE4LOCK_HOOK = CB5.169
FILE4OPEN = CB5.170
FILE4OPTIMIZE = CB5.171
FILE4OPTIMIZE_WRITE = CB5.172
FILE4READ = CB5.173
FILE4READ_ALL = CB5.174
FILE4READ_ERROR = CB5.175
FILE4REFRESH = CB5.176
FILE4REPLACE = CB5.177
FILE4TEMP = CB5.178
FILE4UNLOCK = CB5.179
FILE4WRITE = CB5.180
FILE4SEQ_READ = CB5.181
FILE4SEQ_READ_ALL = CB5.182
FILE4SEQ_READ_INIT = CB5.183
FILE4SEQ_WRITE = CB5.184
FILE4SEQ_WRITE_FLUSH = CB5.185
FILE4SEQ_WRITE_INIT = CB5.186
FILE4SEQ_WRITE_REPEAT = CB5.187
I4CLOSE = CB5.188
I4CREATE = CB5.189
I4LOCK = CB5.190
I4OPEN = CB5.191
I4REINDEX = CB5.192
I4TAG = CB5.193
I4TAG_INFO = CB5.194
I4UNLOCK = CB5.195
L4ADD = CB5.196
L4ADD_AFTER = CB5.197
L4ADD_BEFORE = CB5.198
L4FIRST = CB5.199
L4LAST = CB5.200
L4NEXT = CB5.201
L4POP = CB5.202
L4PREV = CB5.203
L4REMOVE = CB5.204
MEM4ALLOC = CB5.205
MEM4CREATE = CB5.206
MEM4FREE = CB5.207
MEM4RELEASE = CB5.208
MEM4RESET = CB5.209
RELATE4BOTTOM = CB5.210
RELATE4CHANGED = CB5.211
RELATE4CREATE_SLAVE = CB5.212
RELATE4DO = CB5.213
RELATE4DO_ONE = CB5.214
RELATE4ERROR_ACTION = CB5.215
RELATE4FREE = CB5.216
RELATE4INIT = CB5.217
RELATE4LOCK = CB5.218
RELATE4MATCH_LEN = CB5.219
RELATE4NEXT = CB5.220
RELATE4QUERY_SET = CB5.221
RELATE4SKIP = CB5.222
RELATE4SKIP_ENABLE = CB5.223
RELATE4SORT_SET = CB5.224
RELATE4TOP = CB5.225
RELATE4TYPE = CB5.226
RELATE4UNLOCK = CB5.227
SORT4FREE = CB5.229
SORT4GET = CB5.230
SORT4GET_INIT = CB5.231
SORT4INIT = CB5.232
SORT4PUT = CB5.233
T4ADD = CB5.234
T4ADD_CALC = CB5.235
T4BOTTOM = CB5.236
T4DOWN = CB5.237
T4DUMP = CB5.238
T4EOF = CB5.239
T4FLUSH = CB5.240
T4FREE_ALL = CB5.241
T4GO = CB5.242
T4KEY = CB5.243
T4OPEN = CB5.244
T4POSITION = CB5.245
T4POSITION_SET = CB5.246
T4RECNO = CB5.247
T4REMOVE = CB5.248
T4REMOVE_CALC = CB5.249
T4SEEK = CB5.250
T4SKIP = CB5.251
T4TOP = CB5.252
T4UP = CB5.253
T4UP_TO_ROOT = CB5.254
U4ALLOC = CB5.255
U4ALLOC_AGAIN = CB5.256
U4ALLOC_ER = CB5.257
U4ALLOC_FREE = CB5.258
U4FREE = CB5.259
U4NAME_CHAR = CB5.260
U4NAME_EXT = CB5.261
U4NAME_PIECE = CB5.262
U4NCPY = CB5.263
U4YYMMDD = CB5.264
EXPR4CALC_LOOKUP = CB5.265
C4TRIM_N = CB5.266
EXPR4FUNCTIONS = CB5.267
C4DTOA45 = CB5.268
EXPR4CALC_DELETE = CB5.269
E4LOOKUP = CB5.270
C4UPPER = CB5.271
EXPR4CALC_NAME_CHANGE = CB5.272
EXPR4CALC_MODIFY = CB5.273
RELATE4FREE_RELATE = CB5.274
EXPR4CALC_MASSAGE = CB5.275
D4UPDATE_HEADER = CB5.276
U4SWITCH = CB5.277
DATE4FORMAT_MDX2 = CB5.278
EXPR4DOUBLE2 = CB5.279
D4POSITION2 = CB5.280
F4DOUBLE2 = CB5.281
T4POSITION2 = CB5.282
F4MEMO_SET_LEN = CB5.283
C4LTOA45 = CB5.284
I4ADD_TAG = CB5.285
EXPR4CALC_RESET = CB5.286
T4IS_DESCENDING = CB5.287
I4IS_PRODUCTION = CB5.288
T4UNIQUE = CB5.289
D4SEEK_N = CB5.290
C4DLL_INST = CB5.291
C4ATOD2 = CB5.292
F4MEMO_CHECK = CB5.293
D4UNLOCK_APPEND = CB5.294
D4UNLOCK_DATA = CB5.295
D4UNLOCK_FILE = CB5.296
D4UNLOCK_RECORDS = CB5.297
C4LOWER = CB5.298
I4CHECK = CB5.299
U4REMOVE = CB5.300
AREA4CREATE = CB5.301
AREA4FREE = CB5.302
AREA4NUMOBJECTS = CB5.303
AREA4OBJFIRST = CB5.304
AREA4OBJLAST = CB5.305
AREA4OBJNEXT = CB5.306
AREA4OBJPREV = CB5.307
AREA4PAGEBREAK = CB5.308
GROUP4CREATE = CB5.309
GROUP4FOOTERFIRST = CB5.310
GROUP4FOOTERNEXT = CB5.311
GROUP4FOOTERPREV = CB5.312
GROUP4FREE = CB5.313
GROUP4HEADERFIRST = CB5.314
GROUP4HEADERNEXT = CB5.315
GROUP4HEADERPREV = CB5.316
GROUP4NUMFOOTERS = CB5.317
GROUP4NUMHEADERS = CB5.318
GROUP4REPEATHEADER = CB5.319
GROUP4RESETEXPRSET = CB5.320
GROUP4RESETPAGE = CB5.321
GROUP4RESETPAGENUM = CB5.322
GROUP4SWAPFOOTER = CB5.323
GROUP4SWAPHEADER = CB5.324
OBJ4BITMAPSTATICCREATE = CB5.325
OBJ4BITMAPSTATICFREE = CB5.326
OBJ4BITMAPFILECREATE = CB5.327
OBJ4BITMAPFILEFREE = CB5.328
OBJ4BITMAPFIELDCREATE = CB5.329
OBJ4BITMAPFIELDFREE = CB5.330
OBJ4BRACKETS = CB5.331
OBJ4CALCCREATE = CB5.332
OBJ4CALCFREE = CB5.333
OBJ4DATEFORMAT = CB5.334
OBJ4DECIMALS = CB5.335
OBJ4DELETE = CB5.336
OBJ4DISPLAYONCE = CB5.337
OBJ4DISPLAYZERO = CB5.338
OBJ4EXPRCREATE = CB5.339
OBJ4EXPRFREE = CB5.340
OBJ4FIELDCREATE = CB5.341
OBJ4FIELDFREE = CB5.342
OBJ4FRAMECORNERS = CB5.343
OBJ4FRAMECREATE = CB5.344
OBJ4FRAMEFILL = CB5.345
OBJ4FRAMEFREE = CB5.346
OBJ4JUSTIFY = CB5.347
OBJ4LEADINGZERO = CB5.348
OBJ4LINECREATE = CB5.349
OBJ4LINEFREE = CB5.350
OBJ4LINEWIDTH = CB5.351
OBJ4LOOKAHEAD = CB5.352
OBJ4NUMERICTYPE = CB5.353
OBJ4STYLE = CB5.354
OBJ4TEXTCREATE = CB5.355
OBJ4TEXTFREE = CB5.356
OBJ4TOTALCREATE = CB5.357
OBJ4TOTALFREE = CB5.358
RELATE4RETRIEVE = CB5.359
RELATE4SAVE = CB5.360
REPORT4CAPTION = CB5.361
REPORT4CURRENCY = CB5.362
REPORT4DATEFORMAT = CB5.363
REPORT4DECIMAL = CB5.364
REPORT4DO = CB5.365
REPORT4FREE = CB5.366
REPORT4GENERATEPAGE = CB5.367
REPORT4GROUPFIRST = CB5.368
REPORT4GROUPLAST = CB5.369
REPORT4GROUPLOOKUP = CB5.370
REPORT4GROUPNEXT = CB5.371
REPORT4GROUPPREV = CB5.372
REPORT4GROUPHARDRESETS = CB5.373
REPORT4INIT = CB5.374
REPORT4MARGINS = CB5.375
REPORT4NUMGROUPS = CB5.376
REPORT4NUMSTYLES = CB5.377
REPORT4OUTPUT = CB5.378
REPORT4PAGEFREE = CB5.379
REPORT4PAGEHEADERFOOTER = CB5.380
REPORT4PAGEINIT = CB5.381
REPORT4PAGEMARGINSGET = CB5.382
REPORT4PAGEOBJFIRST = CB5.383
REPORT4PAGEOBJNEXT = CB5.384
REPORT4PAGESIZE = CB5.385
REPORT4PAGESIZEGET = CB5.386
REPORT4PARENT = CB5.387
REPORT4PRINTERSELECT = CB5.388
REPORT4PRINTERDC = CB5.389
REPORT4QUERYSET = CB5.390
REPORT4RETRIEVE = CB5.391
REPORT4SAVE = CB5.392
REPORT4SEPARATOR = CB5.393
REPORT4SORTSET = CB5.394
REPORT4STYLEFIRST = CB5.395
REPORT4STYLELAST = CB5.396
REPORT4STYLENEXT = CB5.397
REPORT4STYLESELECT = CB5.398
REPORT4STYLESELECTED = CB5.399
REPORT4STYLESHEETLOAD = CB5.400
REPORT4STYLESHEETSAVE = CB5.401
REPORT4TITLEPAGE = CB5.402
REPORT4TITLESUMMARY = CB5.403
REPORT4TOSCREEN = CB5.404
STYLE4COLOR = CB5.405
STYLE4CREATE = CB5.406
STYLE4DELETE = CB5.407
STYLE4FREE = CB5.408
STYLE4INDEX = CB5.409
STYLE4LOOKUP = CB5.410
TOTAL4CREATE = CB5.411
TOTAL4FREE = CB5.412
REPORT4DATADO = CB5.413
TOTAL4ADDCONDITION = CB5.414
REPORT4DATAFILESET = CB5.415
REPORT4DATAGROUP = CB5.416
OBJ4DATAFIELDSET = CB5.417
WRITEDIB = CB5.418
GETDIB = CB5.419
PALETTESIZE = CB5.420
FINDDIBBITS = CB5.421
REPORT4INDEX_TYPE = CB5.422
AREA4ADD_OBJECT = CB5.423
OBJ4REMOVE = CB5.424
GROUP4POSITIONSET = CB5.425
REPORT4GET_PRINTERIC = CB5.426
TOTAL4LOOKUP = CB5.427
AREA4SORT_OBJ_TREE = CB5.428
RELATE4LOOKUP_DATA = CB5.429
REPORT4RETRIEVE2 = CB5.430
RELATE4SAVE2 = CB5.431
RELATE4RETRIEVE2 = CB5.432
U4DELAY_SEC = CB5.433
T4BLOCK = CB5.451
T4CHECK = CB5.452
CTRL4ADDCODE = CB5.500
CTRL4CODELISTINIT = CB5.501
CTRL4FREECTRLNODE = CB5.502
CTRL4FREECODELIST = CB5.503
CTRL4GETCTRLCODE = CB5.504
CTRL4INITVBX = CB5.505
CTRL4INITVBXUNDO = CB5.506
X4BOTTOM = CB5.600
X4INIT_WORK = CB5.601
X4FILTER_TEST = CB5.602
X4GO = CB5.603
X4SEEK = CB5.604
X4SEEK_DOUBLE = CB5.605
X4SKIP = CB5.606
X4TOP = CB5.607
I4CHANGED = CB5.608

View File

@ -1,34 +0,0 @@
// sesadump.h : main header file for the SESADUMP application
//
#ifndef __AFXWIN_H__
#error include 'stdafx.h' before including this file for PCH
#endif
#include "resource.h" // main symbols
/////////////////////////////////////////////////////////////////////////////
// CSesadumpApp:
// See sesadump.cpp for the implementation of this class
//
class CSesadumpApp : public CWinApp
{
public:
CSesadumpApp();
// Overrides
virtual BOOL InitInstance();
// Implementation
//{{AFX_MSG(CSesadumpApp)
afx_msg void OnAppAbout();
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////

Binary file not shown.

Before

Width:  |  Height:  |  Size: 768 B

View File

@ -1,177 +0,0 @@
# Microsoft Visual C++ generated build script - Do not modify
PROJ = SESADUMP
DEBUG = 0
PROGTYPE = 0
CALLER =
ARGS = ditte c:\temp\guy
DLLS =
D_RCDEFINES = /d_DEBUG
R_RCDEFINES = /dNDEBUG
ORIGIN = MSVC
ORIGIN_VER = 1.00
PROJPATH = C:\U\GUY\P.DUE\CE\
USEMFC = 1
CC = cl
CPP = cl
CXX = cl
CCREATEPCHFLAG =
CPPCREATEPCHFLAG = /YcSTDAFX.H
CUSEPCHFLAG =
CPPUSEPCHFLAG = /YuSTDAFX.H
FIRSTC =
FIRSTCPP = STDAFX.CPP
RC = rc
CFLAGS_D_WEXE = /nologo /G2 /W3 /Zi /AL /Od /D "_DEBUG" /I "\u\guy\p.due\cb5" /FR /GA /Fd"SESADUMP.PDB"
CFLAGS_R_WEXE = /nologo /Gs /G2 /W3 /AL /O1 /D "NDEBUG" /I "\u\guy\p.due\cb5" /FR /GA
LFLAGS_D_WEXE = /NOLOGO /NOD /NOE /PACKC:61440 /STACK:10240 /ALIGN:16 /ONERROR:NOEXE /CO
LFLAGS_R_WEXE = /NOLOGO /NOD /PACKC:61440 /STACK:10240 /ALIGN:16 /ONERROR:NOEXE
LIBS_D_WEXE = lafxcwd oldnames libw llibcew commdlg.lib shell.lib
LIBS_R_WEXE = lafxcw oldnames libw llibcew commdlg.lib shell.lib
RCFLAGS = /nologo /z
RESFLAGS = /nologo /t
RUNFLAGS =
DEFFILE = SESADUMP.DEF
OBJS_EXT =
LIBS_EXT = ..\..\..\..\MSVC\LIB\ODBC.LIB
!if "$(DEBUG)" == "1"
CFLAGS = $(CFLAGS_D_WEXE)
LFLAGS = $(LFLAGS_D_WEXE)
LIBS = $(LIBS_D_WEXE)
MAPFILE = nul
RCDEFINES = $(D_RCDEFINES)
!else
CFLAGS = $(CFLAGS_R_WEXE)
LFLAGS = $(LFLAGS_R_WEXE)
LIBS = $(LIBS_R_WEXE)
MAPFILE = nul
RCDEFINES = $(R_RCDEFINES)
!endif
!if [if exist MSVC.BND del MSVC.BND]
!endif
SBRS = STDAFX.SBR \
SESADUMP.SBR \
MAINFRM.SBR \
SESADDOC.SBR \
SESADVW.SBR \
SESA.SBR \
COLUMNST.SBR \
SESADLG.SBR
SESADUMP_RCDEP = c:\u\guy\p.due\ce\sesadump.ico \
c:\u\guy\p.due\ce\sesadump.rc2
STDAFX_DEP = c:\u\guy\p.due\ce\stdafx.h
SESADUMP_DEP = c:\u\guy\p.due\ce\stdafx.h \
c:\u\guy\p.due\ce\sesadump.h \
c:\u\guy\p.due\ce\mainfrm.h \
c:\u\guy\p.due\ce\sesaddoc.h \
c:\u\guy\p.due\ce\sesadvw.h \
c:\u\guy\p.due\ce\sesa.h
MAINFRM_DEP = c:\u\guy\p.due\ce\stdafx.h \
c:\u\guy\p.due\ce\sesadump.h \
c:\u\guy\p.due\ce\mainfrm.h \
c:\u\guy\p.due\ce\sesadlg.h \
c:\u\guy\p.due\ce\sesa.h
SESADDOC_DEP = c:\u\guy\p.due\ce\stdafx.h \
c:\u\guy\p.due\ce\sesadump.h \
c:\u\guy\p.due\ce\sesaddoc.h
SESADVW_DEP = c:\u\guy\p.due\ce\stdafx.h \
c:\u\guy\p.due\ce\sesadump.h \
c:\u\guy\p.due\ce\sesaddoc.h \
c:\u\guy\p.due\ce\sesadvw.h
SESA_DEP = c:\u\guy\p.due\ce\stdafx.h \
c:\u\guy\p.due\ce\columnst.h \
c:\u\guy\p.due\ce\sesa.h
COLUMNST_DEP = c:\u\guy\p.due\ce\stdafx.h \
c:\u\guy\p.due\ce\columnst.h
SESADLG_DEP = c:\u\guy\p.due\ce\stdafx.h \
c:\u\guy\p.due\ce\sesadump.h \
c:\u\guy\p.due\ce\sesadlg.h
ODBC_DEP =
all: $(PROJ).EXE $(PROJ).BSC
SESADUMP.RES: SESADUMP.RC $(SESADUMP_RCDEP)
$(RC) $(RCFLAGS) $(RCDEFINES) -r SESADUMP.RC
STDAFX.OBJ: STDAFX.CPP $(STDAFX_DEP)
$(CPP) $(CFLAGS) $(CPPCREATEPCHFLAG) /c STDAFX.CPP
SESADUMP.OBJ: SESADUMP.CPP $(SESADUMP_DEP)
$(CPP) $(CFLAGS) $(CPPUSEPCHFLAG) /c SESADUMP.CPP
MAINFRM.OBJ: MAINFRM.CPP $(MAINFRM_DEP)
$(CPP) $(CFLAGS) $(CPPUSEPCHFLAG) /c MAINFRM.CPP
SESADDOC.OBJ: SESADDOC.CPP $(SESADDOC_DEP)
$(CPP) $(CFLAGS) $(CPPUSEPCHFLAG) /c SESADDOC.CPP
SESADVW.OBJ: SESADVW.CPP $(SESADVW_DEP)
$(CPP) $(CFLAGS) $(CPPUSEPCHFLAG) /c SESADVW.CPP
SESA.OBJ: SESA.CPP $(SESA_DEP)
$(CPP) $(CFLAGS) $(CPPUSEPCHFLAG) /c SESA.CPP
COLUMNST.OBJ: COLUMNST.CPP $(COLUMNST_DEP)
$(CPP) $(CFLAGS) $(CPPUSEPCHFLAG) /c COLUMNST.CPP
SESADLG.OBJ: SESADLG.CPP $(SESADLG_DEP)
$(CPP) $(CFLAGS) $(CPPUSEPCHFLAG) /c SESADLG.CPP
$(PROJ).EXE:: SESADUMP.RES
$(PROJ).EXE:: STDAFX.OBJ SESADUMP.OBJ MAINFRM.OBJ SESADDOC.OBJ SESADVW.OBJ SESA.OBJ \
COLUMNST.OBJ SESADLG.OBJ $(OBJS_EXT) $(DEFFILE)
echo >NUL @<<$(PROJ).CRF
STDAFX.OBJ +
SESADUMP.OBJ +
MAINFRM.OBJ +
SESADDOC.OBJ +
SESADVW.OBJ +
SESA.OBJ +
COLUMNST.OBJ +
SESADLG.OBJ +
$(OBJS_EXT)
$(PROJ).EXE
$(MAPFILE)
c:\msvc\lib\+
c:\msvc\mfc\lib\+
..\..\..\..\MSVC\LIB\ODBC.LIB+
$(LIBS)
$(DEFFILE);
<<
link $(LFLAGS) @$(PROJ).CRF
$(RC) $(RESFLAGS) SESADUMP.RES $@
@copy $(PROJ).CRF MSVC.BND
$(PROJ).EXE:: SESADUMP.RES
if not exist MSVC.BND $(RC) $(RESFLAGS) SESADUMP.RES $@
run: $(PROJ).EXE
$(PROJ) $(RUNFLAGS)
$(PROJ).BSC: $(SBRS)
bscmake @<<
/o$@ $(SBRS)
<<

View File

@ -1,232 +0,0 @@
//Microsoft App Studio generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
#ifdef APSTUDIO_INVOKED
//////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""sesadump.rc2"" // non-App Studio edited resources\r\n"
"\r\n"
"#include ""afxres.rc"" \011// Standard components\r\n"
"\0"
END
/////////////////////////////////////////////////////////////////////////////////////
#endif // APSTUDIO_INVOKED
//////////////////////////////////////////////////////////////////////////////
//
// Icon
//
IDR_MAINFRAME ICON DISCARDABLE "SESADUMP.ICO"
//////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDR_MAINFRAME MENU PRELOAD DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Open...\tCtrl+O", ID_FILE_OPEN
MENUITEM "&About Sesadump...", ID_APP_ABOUT
MENUITEM SEPARATOR
MENUITEM SEPARATOR
MENUITEM "E&xit", ID_APP_EXIT
END
POPUP ""
BEGIN
MENUITEM "&Undo\tCtrl+Z", ID_EDIT_UNDO
MENUITEM SEPARATOR
MENUITEM "Cu&t\tCtrl+X", ID_EDIT_CUT
MENUITEM "&Copy\tCtrl+C", ID_EDIT_COPY
MENUITEM "&Paste\tCtrl+V", ID_EDIT_PASTE
END
END
//////////////////////////////////////////////////////////////////////////////
//
// Accelerator
//
IDR_MAINFRAME ACCELERATORS PRELOAD MOVEABLE PURE
BEGIN
"N", ID_FILE_NEW, VIRTKEY,CONTROL
"O", ID_FILE_OPEN, VIRTKEY,CONTROL
"S", ID_FILE_SAVE, VIRTKEY,CONTROL
"Z", ID_EDIT_UNDO, VIRTKEY,CONTROL
"X", ID_EDIT_CUT, VIRTKEY,CONTROL
"C", ID_EDIT_COPY, VIRTKEY,CONTROL
"V", ID_EDIT_PASTE, VIRTKEY,CONTROL
VK_BACK, ID_EDIT_UNDO, VIRTKEY,ALT
VK_DELETE, ID_EDIT_CUT, VIRTKEY,SHIFT
VK_INSERT, ID_EDIT_COPY, VIRTKEY,CONTROL
VK_INSERT, ID_EDIT_PASTE, VIRTKEY,SHIFT
VK_F6, ID_NEXT_PANE, VIRTKEY
VK_F6, ID_PREV_PANE, VIRTKEY,SHIFT
END
//////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_ABOUTBOX DIALOG DISCARDABLE 34, 22, 217, 55
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "About Sesadump"
FONT 8, "MS Sans Serif"
BEGIN
ICON IDR_MAINFRAME,IDC_STATIC,11,17,18,20
LTEXT "Sesa Dump Application Version 1.0",IDC_STATIC,40,10,119,
8
LTEXT "Copyright \251 1997",IDC_STATIC,40,25,119,8
DEFPUSHBUTTON "OK",IDOK,176,6,32,14,WS_GROUP
END
IDD_CONNECTION DIALOG DISCARDABLE 0, 0, 187, 76
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Connect to"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",IDOK,25,60,50,14
PUSHBUTTON "Cancel",IDCANCEL,105,60,50,14
EDITTEXT IDC_DSN,55,5,126,12,ES_AUTOHSCROLL
EDITTEXT IDC_CONNECT,55,25,126,12,ES_AUTOHSCROLL
LTEXT "Data source",IDC_STATIC,0,10,50,7
LTEXT "Connection",IDC_STATIC,0,25,45,7
LTEXT "Table",IDC_STATIC,0,45,45,7
EDITTEXT IDC_TABLE,55,46,126,12,ES_AUTOHSCROLL
END
//////////////////////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE PRELOAD DISCARDABLE
BEGIN
IDR_MAINFRAME "Sesadump\nPRASSI\nSesadu Document\n\n\nSesadu.Document\nSesadu Document"
END
STRINGTABLE PRELOAD DISCARDABLE
BEGIN
AFX_IDS_APP_TITLE "Sesadump"
AFX_IDS_IDLEMESSAGE "Ready"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_INDICATOR_EXT "EXT"
ID_INDICATOR_CAPS "CAP"
ID_INDICATOR_NUM "NUM"
ID_INDICATOR_SCRL "SCRL"
ID_INDICATOR_OVR "OVR"
ID_INDICATOR_REC "REC"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_FILE_NEW "Create a new document"
ID_FILE_OPEN "Open an existing document"
ID_FILE_CLOSE "Close the active document"
ID_FILE_SAVE "Save the active document"
ID_FILE_SAVE_AS "Save the active document with a new name"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_APP_ABOUT "Display program information, version number and copyright"
ID_APP_EXIT "Quit the application; prompts to save documents"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_FILE_MRU_FILE1 "Open this document"
ID_FILE_MRU_FILE2 "Open this document"
ID_FILE_MRU_FILE3 "Open this document"
ID_FILE_MRU_FILE4 "Open this document"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_NEXT_PANE "Switch to the next window pane"
ID_PREV_PANE "Switch back to the previous window pane"
END
STRINGTABLE DISCARDABLE
BEGIN
ID_EDIT_CLEAR "Erase the selection"
ID_EDIT_CLEAR_ALL "Erase everything"
ID_EDIT_COPY "Copy the selection and put it on the Clipboard"
ID_EDIT_CUT "Cut the selection and put it on the Clipboard"
ID_EDIT_FIND "Find the specified text"
ID_EDIT_PASTE "Insert Clipboard contents"
ID_EDIT_REPEAT "Repeat the last action"
ID_EDIT_REPLACE "Replace specific text with different text"
ID_EDIT_SELECT_ALL "Select the entire document"
ID_EDIT_UNDO "Undo the last action"
ID_EDIT_REDO "Redo the previously undone action"
END
STRINGTABLE DISCARDABLE
BEGIN
AFX_IDS_SCSIZE "Change the window size"
AFX_IDS_SCMOVE "Change the window position"
AFX_IDS_SCMINIMIZE "Reduce the window to an icon"
AFX_IDS_SCMAXIMIZE "Enlarge the window to full size"
AFX_IDS_SCNEXTWINDOW "Switch to the next document window"
AFX_IDS_SCPREVWINDOW "Switch to the previous document window"
AFX_IDS_SCCLOSE "Close the active window and prompts to save the documents"
END
STRINGTABLE DISCARDABLE
BEGIN
AFX_IDS_SCRESTORE "Restore the window to normal size"
AFX_IDS_SCTASKLIST "Activate Task List"
END
#ifndef APSTUDIO_INVOKED
////////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
#include "sesadump.rc2" // non-App Studio edited resources
#include "afxres.rc" // Standard components
/////////////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED

View File

@ -1,52 +0,0 @@
//
// SESADUMP.RC2 - resources App Studio does not edit directly
//
#ifdef APSTUDIO_INVOKED
#error this file is not editable by App Studio
#endif //APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
// Version stamp for this .EXE
#include "ver.h"
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#ifdef _DEBUG
FILEFLAGS VS_FF_DEBUG|VS_FF_PRIVATEBUILD|VS_FF_PRERELEASE
#else
FILEFLAGS 0 // final version
#endif
FILEOS VOS_DOS_WINDOWS16
FILETYPE VFT_APP
FILESUBTYPE 0 // not used
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4" // Lang=US English, CharSet=Windows Multilingual
BEGIN
VALUE "CompanyName", "\0"
VALUE "FileDescription", "SESADUMP MFC Application\0"
VALUE "FileVersion", "1.0.001\0"
VALUE "InternalName", "SESADUMP\0"
VALUE "LegalCopyright", "\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename","SESADUMP.EXE\0"
VALUE "ProductName", "SESADUMP\0"
VALUE "ProductVersion", "1.0.001\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1252
// English language (0x409) and the Windows ANSI codepage (1252)
END
END
/////////////////////////////////////////////////////////////////////////////
// Add additional manually edited resources here...
/////////////////////////////////////////////////////////////////////////////

View File

@ -1,72 +0,0 @@
// sesadvw.cpp : implementation of the CSesadumpView class
//
#include "stdafx.h"
#include "sesadump.h"
#include "sesaddoc.h"
#include "sesadvw.h"
#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSesadumpView
IMPLEMENT_DYNCREATE(CSesadumpView, CView)
BEGIN_MESSAGE_MAP(CSesadumpView, CView)
//{{AFX_MSG_MAP(CSesadumpView)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSesadumpView construction/destruction
CSesadumpView::CSesadumpView()
{
// TODO: add construction code here
}
CSesadumpView::~CSesadumpView()
{
}
/////////////////////////////////////////////////////////////////////////////
// CSesadumpView drawing
void CSesadumpView::OnDraw(CDC* pDC)
{
CSesadumpDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
}
/////////////////////////////////////////////////////////////////////////////
// CSesadumpView diagnostics
#ifdef _DEBUG
void CSesadumpView::AssertValid() const
{
CView::AssertValid();
}
void CSesadumpView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CSesadumpDoc* CSesadumpView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CSesadumpDoc)));
return (CSesadumpDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CSesadumpView message handlers

View File

@ -1,43 +0,0 @@
// sesadvw.h : interface of the CSesadumpView class
//
/////////////////////////////////////////////////////////////////////////////
class CSesadumpView : public CView
{
protected: // create from serialization only
CSesadumpView();
DECLARE_DYNCREATE(CSesadumpView)
// Attributes
public:
CSesadumpDoc* GetDocument();
// Operations
public:
// Implementation
public:
virtual ~CSesadumpView();
virtual void OnDraw(CDC* pDC); // overridden to draw this view
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
// Generated message map functions
protected:
//{{AFX_MSG(CSesadumpView)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code !
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
#ifndef _DEBUG // debug version in sesadvw.cpp
inline CSesadumpDoc* CSesadumpView::GetDocument()
{ return (CSesadumpDoc*)m_pDocument; }
#endif
/////////////////////////////////////////////////////////////////////////////

View File

@ -1,5 +0,0 @@
// stdafx.cpp : source file that includes just the standard includes
// stdafx.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "stdafx.h"

View File

@ -1,9 +0,0 @@
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#include <afxcoll.h> // MFC collections
#include <afxdb.h> // MFC ODBC classes