ここに、MSS3View クラスで使用するメンバ変数の一覧を示します。
// MSS3View.h : ヘッダー ファイル
//
/////////////////////////////////////////////////////////////////////////////
// CMSS3View フォーム ビュー
#ifndef __AFXEXT_H__
#include <afxext.h>
#endif
class CMSS3View : public CFormView
{
protected:
CMSS3View();
// 動的生成に使用されるプロテクト コンストラクタ。
DECLARE_DYNCREATE(CMSS3View)
// フォーム データ
public:
//{{AFX_DATA(CMSS3View)
enum { IDD = IDD_MSS_FORM3 };
CEdit m_ctrl_report;
CString m_cfin1;
CString m_analysis;
CString m_report;
//}}AFX_DATA
// アトリビュート
public:
// オペレーション
public:
// オーバーライド
// ClassWizard は仮想関数のオーバーライドを生成します。
//{{AFX_VIRTUAL(CMSS3View)
protected:
virtual void DoDataExchange(CDataExchange* pDX);
// DDX/DDV サポート
virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject*
pHint);
//}}AFX_VIRTUAL
// インプリメンテーション
protected:
virtual ~CMSS3View();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// 生成されたメッセージ マップ関数
//{{AFX_MSG(CMSS3View)
afx_msg void OnUpdateEdit13();
afx_msg void OnConsult();
afx_msg void OnUpdateEdit14();
afx_msg void OnExpertSystem();
afx_msg void OnEditCopy();
afx_msg void OnEditCut();
afx_msg void OnEditPaste();
afx_msg void OnEditUndo();
afx_msg void OnSaveReport();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio は前行の直前に追加の宣言を挿入します。
#endif // !defined(AFX_MSS3VIEW_H__C5294121_CC67_11D4_9C1E_00000E49332F__INCLUDED_)
// MSS3View.cpp : インプリメンテーション
ファイル
//
#include "stdafx.h"
#include "mss.h"
#include "MSS2Doc.h"
#include "MSS3View.h"
#include "MSS3Doc.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMSS3View
IMPLEMENT_DYNCREATE(CMSS3View, CFormView)
CMSS3View::CMSS3View()
: CFormView(CMSS3View::IDD)
{
//{{AFX_DATA_INIT(CMSS3View)
m_cfin1 = _T("");
m_analysis = _T("");
m_report = _T("");
//}}AFX_DATA_INIT
}
CString analysis_pro ;
int check_Edit13 = 0;
CMSS3View::~CMSS3View()
{
}
void CMSS3View::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMSS3View)
DDX_Control(pDX, IDC_EDIT15, m_ctrl_report);
DDX_Text(pDX, IDC_EDIT13, m_cfin1);
DDX_Text(pDX, IDC_EDIT14, m_analysis);
DDX_Text(pDX, IDC_EDIT15, m_report);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CMSS3View, CFormView)
//{{AFX_MSG_MAP(CMSS3View)
ON_EN_UPDATE(IDC_EDIT13, OnUpdateEdit13)
ON_COMMAND(IDM_CONSULT, OnConsult)
ON_EN_UPDATE(IDC_EDIT14, OnUpdateEdit14)
ON_COMMAND(IDM_EXPERT_SYSTEM, OnExpertSystem)
ON_COMMAND(ID_EDIT_COPY, OnEditCopy)
ON_COMMAND(ID_EDIT_CUT, OnEditCut)
ON_COMMAND(ID_EDIT_PASTE, OnEditPaste)
ON_COMMAND(ID_EDIT_UNDO, OnEditUndo)
ON_COMMAND(IDM_SAVE_REPORT, OnSaveReport)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMSS3View 診断
#ifdef _DEBUG
void CMSS3View::AssertValid() const
{
CFormView::AssertValid();
}
void CMSS3View::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMSS3View メッセージ ハンドラ
void CMSS3View::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint)
{
// TODO: この位置に固有の処理を追加するか、または基本クラスを呼び出してください
CMSS3Doc* myDoc = (CMSS3Doc*)GetDocument();
m_report = myDoc->doc_report;
UpdateData(FALSE);
check_Edit13++;
if (check_Edit13 >= 2)
{
OnUpdateEdit13();
OnUpdateEdit14();
}
}
void CMSS3View::OnUpdateEdit13()
{
// TODO: これが RICHEDIT コントロールの場合、コントロールは、
lParam マスク
// 内での論理和の ENM_UPDATE フラグ付きで EM_SETEVENTMASK
// メッセージをコントロールへ送るために CFormView::OnInitDialog()
関数をオーバー
// ライドしない限りこの通知を送りません。
// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください
m_cfin1 = CMSS2Doc::doc3_cfin1;
UpdateData(FALSE);
}
void CMSS3View::OnConsult()
{
// TODO: この位置にコマンド ハンドラ用のコードを追加してください
CString
filename2 = _T("U:\\演習2\\Vcpp\\Bunseki.pro");
CString
filename1 = _T("U:\\演習2\\Vcpp\\Analysis.pro");
CString buf2;
char
crlf[]="\x0d\x0a";
int begin, end, length;
int begin1, end1, length1;
int flag=0;
CString
begin_mark = "/* cfin1_begin */";
CString end_mark = "/*
cfin1_end noto */";
CStdioFile fout(filename2, CFile::modeWrite);
CStdioFile
fin(filename1, CFile::modeRead);
m_analysis="";
analysis_pro="";
while
(fin.ReadString(buf2) != NULL){
m_analysis += buf2 + crlf;
analysis_pro += buf2 + "\n";
}
begin
= m_analysis.Find(begin_mark);
begin1
= analysis_pro.Find(begin_mark);
end = m_analysis.Find(end_mark);
end1
= analysis_pro.Find(end_mark);
length
= m_analysis.GetLength();
length1 = analysis_pro.GetLength();
m_analysis = m_analysis.Left(begin
+ 17) + crlf +
m_cfin1 + m_analysis.Right(length - end);
analysis_pro
= analysis_pro.Left(begin1 + 17) + "\n" +
CMSS2Doc::doc3_cfin1
+ analysis_pro.Right(length1 - end1);
fout.WriteString(analysis_pro);
OnUpdateEdit14();
}
void CMSS3View::OnUpdateEdit14()
{
// TODO: これが RICHEDIT コントロールの場合、コントロールは、
lParam マスク
// 内での論理和の ENM_UPDATE フラグ付きで EM_SETEVENTMASK
// メッセージをコントロールへ送るために CFormView::OnInitDialog()
関数をオーバー
// ライドしない限りこの通知を送りません。
// TODO: この位置にコントロール通知ハンドラ用のコードを追加してください
UpdateData(FALSE);
}
void CMSS3View::OnExpertSystem()
{
// TODO: この位置にコマンド ハンドラ用のコードを追加してください
HINSTANCE
ret=ShellExecute(m_hWnd, "open",
"U:\\演習2\\Prolog\\Prolog.exe", "U:\\演習2\\Vcpp\\Bunseki.pro",
NULL, SW_SHOW);
if((int)ret<=32) AfxMessageBox("cannot get shell processed", MB_OK);
}
void CMSS3View::OnEditCopy()
{
// TODO: この位置にコマンド ハンドラ用のコードを追加してください
CEdit* myEdit = (CEdit*)GetFocus();
myEdit->Copy();
}
void CMSS3View::OnEditCut()
{
// TODO: この位置にコマンド ハンドラ用のコードを追加してください
CEdit* myEdit = (CEdit*)GetFocus();
myEdit->Cut();
}
void CMSS3View::OnEditPaste()
{
// TODO: この位置にコマンド ハンドラ用のコードを追加してください
CEdit* myEdit = (CEdit*)GetFocus();
myEdit->Paste();
}
void CMSS3View::OnEditUndo()
{
// TODO: この位置にコマンド ハンドラ用のコードを追加してください
CEdit* myEdit = (CEdit*)GetFocus();
myEdit->Undo();
}
void CMSS3View::OnSaveReport()
{
// TODO: この位置にコマンド ハンドラ用のコードを追加してください
m_ctrl_report.SetFocus();
UpdateData(TRUE);
CMSS3Doc* myDoc = (CMSS3Doc*)GetDocument();
myDoc->doc_report = m_report;
CString strFileName="U:\\演習2\\Vcpp\\Report.txt";
(※)「Report.txt」を置くフォルダの場所は各自で決めて下さい。
myDoc->OnSaveDocument(strFileName);
}
// MSS3Doc.h : ヘッダー ファイル
//
/////////////////////////////////////////////////////////////////////////////
// CMSS3Doc ドキュメント
class CMSS3Doc : public CDocument
{
protected:
CMSS3Doc();
// 動的生成に使用されるプロテクト コンストラクタ。
DECLARE_DYNCREATE(CMSS3Doc)
// アトリビュート
public:
//static CString doc_report;
CString doc_report;
// オペレーション
public:
// オーバーライド
// ClassWizard は仮想関数のオーバーライドを生成します。
//{{AFX_VIRTUAL(CMSS3Doc)
public:
virtual void Serialize(CArchive& ar); // ドキュメント
I/O に対してオーバーライドされます。
virtual BOOL OnSaveDocument(LPCTSTR lpszPathName);
protected:
virtual BOOL OnNewDocument();
//}}AFX_VIRTUAL
// インプリメンテーション
public:
virtual ~CMSS3Doc();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// メッセージ マップ関数の生成
protected:
//{{AFX_MSG(CMSS3Doc)
// メモ - ClassWizard はこの位置にメンバ関数を追加または削除します。
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio は前行の直前に追加の宣言を挿入します。
#endif // !defined(AFX_MSS3DOC_H__17825D01_CDD3_11D4_9C1E_00000E49332F__INCLUDED_)
// MSS3Doc.cpp : インプリメンテーション
ファイル
//
#include "stdafx.h"
#include "mss.h"
#include "MSS3Doc.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMSS3Doc
IMPLEMENT_DYNCREATE(CMSS3Doc, CDocument)
CMSS3Doc::CMSS3Doc()
{
}
BOOL CMSS3Doc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;
return TRUE;
}
CMSS3Doc::~CMSS3Doc()
{
}
CString doc_report ="";
//CString CMSS3Doc::doc_report ="";
BEGIN_MESSAGE_MAP(CMSS3Doc, CDocument)
//{{AFX_MSG_MAP(CMSS3Doc)
// メモ - ClassWizard はこの位置にマッピング用のマクロを追加または削除します。
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMSS3Doc 診断
#ifdef _DEBUG
void CMSS3Doc::AssertValid() const
{
CDocument::AssertValid();
}
void CMSS3Doc::Dump(CDumpContext& dc) const
{
CDocument::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMSS3Doc シリアライズ
void CMSS3Doc::Serialize(CArchive& ar)
{
CString buf;
if (ar.IsStoring())
{
// TODO: この位置に保存用のコードを追加してください
ar.WriteString(doc_report);
}
else
{
// TODO: この位置に読み込み用のコードを追加してください
// CString doc_report;
doc_report = "";
while(ar.ReadString(buf)){
if (buf.GetLength()>0 && buf[0]
== '\x1a') break;
doc_report += buf + "\x0d\x0a";
}
}
}
/////////////////////////////////////////////////////////////////////////////
// CMSS3Doc コマンド
BOOL CMSS3Doc::OnSaveDocument(LPCTSTR lpszPathName)
{
// TODO: この位置に固有の処理を追加するか、または基本クラスを呼び出してください
return CDocument::OnSaveDocument(lpszPathName);
}
// MSS.cpp : アプリケーション用クラスの機能定義を行います。
//
#include "stdafx.h"
#include "MSS.h"
#include "MainFrm.h"
#include "ChildFrm.h"
#include "MSSDoc.h"
#include "MSS1Doc.h"
#include "MSS2Doc.h"
#include "MSS3Doc.h"
#include "MSSView.h"
#include "MSS1View.h"
#include "MSS2View.h"
#include "MSS3View.h"
#include "VarDialog.h"
#include "SelectDlg.h"
#include "SetGoalDlg.h"
#include "FixedRateDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMSSApp
BEGIN_MESSAGE_MAP(CMSSApp, CWinApp)
//{{AFX_MSG_MAP(CMSSApp)
ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
ON_COMMAND(IDM_COMMON_TO_VAR, OnCommonToVar)
ON_COMMAND(IDM_VAR_TO_MODEL, OnVarToModel)
ON_COMMAND(IDM_COM_SCENARIO_TO_DATAFILE, OnComScenarioToDatafile)
ON_COMMAND(IDM_RUN_EXECUTE, OnRunExecute)
ON_COMMAND(IDM_GOALSEEK_EXECUTE, OnGoalseekExecute)
ON_COMMAND(IDM_TEIRITU_HOU, OnTeirituHou)
ON_COMMAND(IDM_Cfin1_Read, OnCfin1Read)
//}}AFX_MSG_MAP
// 標準のファイル基本ドキュメント コマンド
ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
// 標準の印刷セットアップ コマンド
ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMSSApp クラスの構築
CMSSApp::CMSSApp()
{
// TODO: この位置に構築用コードを追加してください。
// ここに InitInstance 中の重要な初期化処理をすべて記述してください。
}
/////////////////////////////////////////////////////////////////////////////
// 唯一の CMSSApp オブジェクト
CMSSApp static theApp;
/////////////////////////////////////////////////////////////////////////////
// CMSSApp クラスの初期化
BOOL CMSSApp::InitInstance()
{
AfxEnableControlContainer();
// 標準的な初期化処理
// もしこれらの機能を使用せず、実行ファイルのサイズを小さく
// したければ以下の特定の初期化ルーチンの中から不必要なもの
// を削除してください。
#ifdef _AFXDLL
Enable3dControls(); // 共有 DLL の中で MFC を使用する場合にはここを呼び出してください。
#else
Enable3dControlsStatic(); // MFC と静的にリンクしている場合にはここを呼び出してください。
#endif
// 設定が保存される下のレジストリ キーを変更します。
// 会社名または所属など、適切な文字列に
// 変更してください。
SetRegistryKey(_T("Local AppWizard-Generated Applications"));
LoadStdProfileSettings(); // 標準の INI ファイルのオプションをロー爪します (MRU を含む)
// アプリケーション用のドキュメント テンプレートを登録します。ドキュメント
テンプレート
// はドキュメント、フレーム ウィンドウとビューを結合するために機能します。
CMultiDocTemplate* pDocTemplate;
pDocTemplate = new CMultiDocTemplate(
IDR_MSSTYPE,
RUNTIME_CLASS(CMSSDoc),
RUNTIME_CLASS(CChildFrame), // カスタム MDI 子フレーム
RUNTIME_CLASS(CMSSView));
AddDocTemplate(pDocTemplate);
pDocTemplate = new CMultiDocTemplate(
IDR_MSSTYPE1,
RUNTIME_CLASS(CMSS1Doc),
RUNTIME_CLASS(CChildFrame), // カスタム MDI 子フレーム
RUNTIME_CLASS(CMSS1View));
AddDocTemplate(pDocTemplate);
pDocTemplate = new CMultiDocTemplate(
IDR_MSSTYPE2,
RUNTIME_CLASS(CMSS2Doc),
RUNTIME_CLASS(CChildFrame), // カスタム MDI 子フレーム
RUNTIME_CLASS(CMSS2View));
AddDocTemplate(pDocTemplate);
pDocTemplate = new CMultiDocTemplate(
IDR_MSSTYPE4,
RUNTIME_CLASS(CMSS3Doc),
RUNTIME_CLASS(CChildFrame), //
カスタム MDI 子フレーム
RUNTIME_CLASS(CMSS3View));
AddDocTemplate(pDocTemplate);
// メイン MDI フレーム ウィンドウを作成
CMainFrame* pMainFrame = new CMainFrame;
if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
return FALSE;
m_pMainWnd = pMainFrame;
// DDE、file open など標準のシェル コマンドのコマンドラインを解析します。
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
// コマンドラインでディスパッチ コマンドを指定します。
if (!ProcessShellCommand(cmdInfo))
return FALSE;
// メイン ウィンドウが初期化されたので、表示と更新を行います。
pMainFrame->ShowWindow(m_nCmdShow);
pMainFrame->UpdateWindow();
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// アプリケーションのバージョン情報で使われる CAboutDlg ダイアログ
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// ダイアログ データ
//{{AFX_DATA(CAboutDlg)
enum { IDD = IDD_ABOUTBOX };
//}}AFX_DATA
// ClassWizard 仮想関数のオーバーライドを生成します。
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX);
// // DDX/DDV のサポート
//}}AFX_VIRTUAL
// インプリメンテーション
protected:
//{{AFX_MSG(CAboutDlg)
// メッセージ ハンドラはありません。
//}}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)
// メッセージ ハンドラはありません。
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
// ダイアログを実行するためのアプリケーション コマンド
void CMSSApp::OnAppAbout()
{
CAboutDlg aboutDlg;
aboutDlg.DoModal();
}
/////////////////////////////////////////////////////////////////////////////
// CMSSApp コマンド
void CMSSApp::OnCommonToVar()
{
// TODO: この位置にコマンド ハンドラ用のコードを追加してください
//挿入はじめ
CMSSDoc::Edit_Nr = IDC_EDIT2;
//insert begin
++CMSSDoc::check_eidt2;
//insert
CString strFileName="U:\\演習2\\Vcpp\\Vc.d";
CWinApp::OpenDocumentFile(strFileName);
//挿入おわり
}
void CMSSApp::OnVarToModel()
{
// TODO: この位置にコマンド ハンドラ用のコードを追加してください
//挿入はじめ
CMSSDoc MyDocument;
MyDocument.Edit_Nr = IDC_EDIT1;
//insert begin
++CMSSDoc::check_eidt1;
//insert end
CString strFileName="U:\\演習2\\Vcpp\\Cm.d";
CVarDialog VarModelDLG;
if (VarModelDLG.DoModal()==IDOK){
}
OpenDocumentFile(strFileName);
//挿入おわり
}
void CMSSApp::OnComScenarioToDatafile()
{
// TODO: この位置にコマンド ハンドラ用のコードを追加してください
//挿入はじめ
CMSSDoc::Edit_Nr = IDC_EDIT4;
//insert begin
++CMSSDoc::check_eidt4;
//insert end
CString strFileName="U:\\演習2\\Vcpp\\Csf.d";
OpenDocumentFile(strFileName);
//挿入おわり
}
void CMSSApp::OnRunExecute()
{
CSelectDlg SelectDialog;
CString strFileName="U:\\演習2\\Vcpp\\Cfin1.dat";
// CString strFileName="Cfin1.txt";
CMSS1Doc::noto=1;
if (SelectDialog.DoModal()==IDOK){
// CWinApp::OpenDocumentFile(strFileName);
OpenDocumentFile(strFileName);
// TODO: この位置にコマンド ハンドラ用のコードを追加してください
}
}
void CMSSApp::OnGoalseekExecute()
{
// TODO: この位置にコマンド ハンドラ用のコードを追加してください
CSetGoalDlg SetGoalseek;
CString strFileName="U:\\演習2\\Vcpp\\Cfin1.pro";
CMSS2Doc::noto=1;
if (SetGoalseek.DoModal()==IDOK){
OpenDocumentFile(strFileName);
}
}
void CMSSApp::OnTeirituHou()
{
// TODO: この位置にコマンド ハンドラ用のコードを追加してください
CFixedRateDlg FixedRateDlg;
if (FixedRateDlg.DoModal()==IDOK){
}
}
void CMSSApp::OnCfin1Read()
{
// TODO: この位置にコマンド ハンドラ用のコードを追加してください
CString strFileName="U:\\演習2\\Vcpp\\Report.txt";
(※)「Report.txt」を置くフォルダの場所は各自で決めて下さい。
OpenDocumentFile(strFileName);
}
その他のファイルの修正について
<<CMSS2Doc.hについて>>
static CString doc3_cfin1;
<<CMSS2Doc.cppについて>>
CString CMSS2Doc::doc3_cfin1 = "";
void CMSS2Doc::writeCfin1()
{
CString string;
doc3_cfin1 = "";
for (int i = 0; i < CMSS1Doc::NumberOfLines;
++i)
{
string = CMSS1Doc::myCfin1.GetAt(i);
doc_Gcfin1_after = doc_Gcfin1_after
+ string + "\x0d\x0a";
doc3_cfin1
+= string + "\x0d\x0a";
}
}
<<CMSS1Doc.cppについて>>
int CMSS1Doc::setvalue(CString variable, int time, int scenario, double
value)
{
int REGISTERED = FALSE;
CString buffer;
CString d_variable;
int d_time;
double d_value;
int datapointer;
for (int i=0; i < NumberOfLines; i++)
{
buffer = myCfin1.GetAt(i);
getdata(buffer, d_variable, d_time, d_value);
data[i].variable = d_variable;
data[i].time = d_time;
if ((d_variable == variable) && (d_time == time)){
data[i].value = value;
REGISTERED = TRUE;
datapointer = i;
}/* if */
buffer = "";
}/* for */
if (REGISTERED == TRUE)
{
char buf[14];
CString s_value;
CString s_time;
CString string;
//// char* c_time;
// char* c_time;
//// itoa(time, c_time, 10);
_itoa(time, c_time, 10);
s_time = (CString)c_time;
gcvt( value, 13, buf);
s_value = (CString)buf;
string = variable + "(" + s_time + ","
+ s_value + "0).";
////////////////////////////////////////////////////////insert 0
myCfin1.SetAt(datapointer,string);
CString k_string = myCfin1.GetAt(datapointer);
return 2;
}
else
{
return 3;
}
}