aboutsummaryrefslogtreecommitdiff
path: root/contrib/dbcEditer/thOpenSource.cpp
diff options
context:
space:
mode:
authorNeo2003 <none@none>2008-10-08 15:02:26 -0500
committerNeo2003 <none@none>2008-10-08 15:02:26 -0500
commite3079a1ba63ebe13a19e85db3f4e1e1a392a04ed (patch)
tree6157acbb7b8934591ea82bf8d99fd8c1ab198dca /contrib/dbcEditer/thOpenSource.cpp
parent28ee57b14c8f55e9f60f731a48ffe150b61aa53e (diff)
[svn] * Removal of not needed old DBC tools
--HG-- branch : trunk
Diffstat (limited to 'contrib/dbcEditer/thOpenSource.cpp')
-rw-r--r--contrib/dbcEditer/thOpenSource.cpp182
1 files changed, 0 insertions, 182 deletions
diff --git a/contrib/dbcEditer/thOpenSource.cpp b/contrib/dbcEditer/thOpenSource.cpp
deleted file mode 100644
index 7df4debfe31..00000000000
--- a/contrib/dbcEditer/thOpenSource.cpp
+++ /dev/null
@@ -1,182 +0,0 @@
-//---------------------------------------------------------------------------
-
-#include <vcl.h>
-#pragma hdrstop
-
-#include "thOpenSource.h"
-#include "dbcedit.h"
-#include "stdio.h"
-#include <dir.h>
-#include <inifiles.hpp>
-#include <process.h>
-#pragma package(smart_init)
-//---------------------------------------------------------------------------
-
-// Important: Methods and properties of objects in VCL can only be
-// used in a method called using Synchronize, for example:
-//
-// Synchronize(UpdateCaption);
-//
-// where UpdateCaption could look like:
-//
-// void __fastcall thOpenFile::UpdateCaption()
-// {
-// Form1->Caption = "Updated in a thread";
-// }
-//---------------------------------------------------------------------------
-
-__fastcall thOpenFile::thOpenFile(bool CreateSuspended)
- : TThread(CreateSuspended)
-{
-
-}
-//---------------------------------------------------------------------------
-void __fastcall thOpenFile::Execute()
-{
- //---- Place thread code here ----
- //if(!Terminated){
- // FrmMain->LoadAndModify(FrmMain->OpenDialog1->FileName.c_str());
- // FrmMain->OpenOk=true;
- //}
- thEnd=false;
- RunOpen();
- FrmMain->OpenOk=true;
- thEnd=true;
-
-}
-//---------------------------------------------------------------------------
-void __fastcall thOpenFile::RunOpen()
-{
- LoadAndModify(FrmMain->OpenDialog1->FileName.c_str());
- //OpenOk=true;
-}
-
-void thOpenFile::ReadAndModifyFromBuff(char *pBuff, DWORD dwSize, const char* pszFileName)
-{
- char szErrorMsg[MAX_PATH];
- char szNewFileName[MAX_PATH];
- DWORD w;
- TIniFile *ini;
-
-
- TypePtr p(pBuff);
- if('WDBC' != TAG(*p.dw))
- {
- _snprintf(szErrorMsg, 512, "[%s]Not Wow's dbc file!", pszFileName);
- ShowMessage(szErrorMsg);
- return;
- }
- p.dw++;
-
- DWORD dwRows, dwCols, dwRowLen, dwTextLen;
- dwRows = *p.dw++;
- dwCols = *p.dw++;
- dwRowLen = *p.dw++;
- dwTextLen = *p.dw++;
-
- FrmMain->sgEdit->RowCount = dwRows+1;
- FrmMain->sgEdit->ColCount = dwCols+1;
-
- for(int i=0; i<FrmMain->sgEdit->RowCount; i++){
- FrmMain->sgEdit->Cells[0][i]=IntToStr(i);
- if(Terminated) return;
- }
- //设定列标题
- AnsiString iniSetFile=ExtractFilePath(Application->ExeName)+"BcdEditer.ini";
- AnsiString SectionName=ExtractFileName(FrmMain->CurrentOpenFile);
-
- ini = new TIniFile( iniSetFile );
- for(int j=0; j<FrmMain->sgEdit->ColCount; j++){
- FrmMain->sgEdit->Cells[j][0]= ini->ReadString(SectionName,"ColTitle"+IntToStr(j),IntToStr(j));
- //sgEdit->Cells[j][0]=IntToStr(j);
- ColType[j]=ini->ReadInteger(SectionName,"ColType"+IntToStr(j),0);
- if(Terminated) return;
- }
- delete ini;
-
- //int *ColType = new int[dwCols];
-
- DWORD dwTextStartPos = dwRows*dwRowLen+20;
- char* pTextPtr = pBuff + dwTextStartPos;
- char pszTemp[MAX_PATH];
- float fTemp;
- long lTemp;
- DWORD i, j;
- BOOL* pbString = new BOOL[dwRows*dwCols];
- float newTmp;
- //int ColType;
-
- ini = new TIniFile( iniSetFile );
-
- for(i=0; i<dwRows; i++)
- {
- for(j=0; j<dwCols; j++)
- {
- //SleepEx(0,0);
- if(Terminated) return;
- lTemp = *p.l;
- newTmp = *p.f;
- memcpy(&fTemp, &newTmp, 4);
-
- if(j==0) //ID
- FrmMain->sgEdit->Cells[j+1][i+1]=IntToStr(lTemp);
- else{
-
- //ColType= ini->ReadInteger(SectionName,"ColType"+IntToStr(j),0);
-
- switch (ColType[j+1])
- {
- case 0: //整型
- FrmMain->sgEdit->Cells[j+1][i+1]=IntToStr(lTemp);
- break;
- case 1: //浮点
- FrmMain->sgEdit->Cells[j+1][i+1]=FloatToStr(fTemp);
- break;
- case 2: //文本 文本类型只能看,不能编辑
- if(dwTextStartPos + lTemp < dwSize){
- pTextPtr = pBuff + dwTextStartPos + lTemp;
- FrmMain->sgEdit->Cells[j+1][i+1]=pTextPtr;
- }else{
- FrmMain->sgEdit->Cells[j+1][i+1]="该列不是文本";
- }
- break;
- default: //整型
- FrmMain->sgEdit->Cells[j+1][i+1]=IntToStr(lTemp);
- }
- }
- p.c += 4;
- }
- }
-
- delete [] pbString;
- //delete [] ColType;
- delete ini;
-
-}
-
-void thOpenFile::LoadAndModify(const char * pszFileName)
-{
- HANDLE hFile = NULL;
- hFile = CreateFile(pszFileName, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
- if(hFile == INVALID_HANDLE_VALUE)return;
-
- DWORD r = 0, nFileSize = 0;
- nFileSize = GetFileSize(hFile, NULL);
- char* pTmpBuf = new char[nFileSize];
- if(pTmpBuf==NULL)
- {
- CloseHandle(hFile);
- return;
- }
- ReadFile(hFile, pTmpBuf, nFileSize, &r, NULL);
-
- FrmMain->CurrentOpenFile=pszFileName;
- FrmMain->btSave->Enabled=true;
-
- ReadAndModifyFromBuff(pTmpBuf, nFileSize, pszFileName);
-
- //SAFE_DELETE_ARRAY(pTmpBuf);
- delete [] pTmpBuf;
- CloseHandle(hFile);
-
-}