void frmImport::OnColSettingCellChange(wxGridEvent &ev)\r
{\r
int evrownr = ev.GetRow();\r
- int evcolnr = ev.GetCol();\r
\r
if (m_colsettingerrnum==-1)\r
return;\r
{\r
txtLogMessages->Clear();\r
\r
- if (!m_destfile && impdest==IMPDESTFCOPY || impdest==IMPDESTFINS || impdest==IMPDESTFTEST || impdest==IMPDESTFILE)\r
+ if ((!m_destfile && impdest==IMPDESTFCOPY) || impdest==IMPDESTFINS || impdest==IMPDESTFTEST || impdest==IMPDESTFILE)\r
{\r
wxString destfilename = txtDestFilePath->GetValue();\r
if (wxFile::Exists(destfilename) && !wxFile::Access(destfilename, wxFile::write))\r
{\r
if (haserror)\r
rowlog.Append(END_OF_LINE);\r
- rowlog.Append(wxString::Format(_("Column: %s can not be NULL."), *m_tgtcolsnames[dbcolidx]));\r
+ rowlog.Append(_("Column: ") + *m_tgtcolsnames[dbcolidx] + _("%s can not be NULL."));\r
haserror = true;\r
rowdatalist.Append(wxT("<NULL>"));\r
}\r
else\r
{\r
txtColsSettingLog->AppendText(_("(Target column"));\r
- txtColsSettingLog->AppendText(wxString::Format(wxT(" #%d: %s)"), dbcolnr, *m_tgtcolsnames[dbcolnr]));\r
+ txtColsSettingLog->AppendText(wxString::Format(wxT(" #%d: "),\r
+ dbcolnr) + *m_tgtcolsnames[dbcolnr] + wxT(")"));\r
\r
origsrccolnr = m_colsrccolnr[dbcolnr];\r
origcolerr = m_colsettingiserr[dbcolnr];\r
m_coltrimmode[dbcolidx] = TRIMNONE;\r
\r
if ((formatstyle==FORMATSTYLEANSIC || (impmode==IMPORTMODEINSERT && formatstyle==FORMATSTYLEPGSQL)) &&\r
- tgtcoltype == wxT("date") || tgtcoltype == wxT("interval") ||\r
+ (tgtcoltype == wxT("date") || tgtcoltype == wxT("interval") ||\r
tgtcoltype == wxT("time") || tgtcoltype == wxT("time without time zone") ||\r
tgtcoltype == wxT("timetz") || tgtcoltype == wxT("time with time zone") ||\r
tgtcoltype == wxT("timestamp") || tgtcoltype == wxT("timestamp without time zone") ||\r
- tgtcoltype == wxT("timestamptz") || tgtcoltype == wxT("timestamp with time zone"))\r
+ tgtcoltype == wxT("timestamptz") || tgtcoltype == wxT("timestamp with time zone")))\r
{\r
colfmt = gridColSetting->GetCellValue(dbcolidx, FILEFMTCOLNUM);\r
if (colfmt.IsEmpty())\r
}\r
else\r
{\r
- txtColsSettingLog->AppendText(wxString::Format(_("The setting of target column #%d: %s"), dbcolnr, *m_tgtcolsnames[dbcolnr]));\r
+ txtColsSettingLog->AppendText(wxString::Format(_("The setting of target column #%d: "),\r
+ dbcolnr) + *m_tgtcolsnames[dbcolnr]);\r
txtColsSettingLog->AppendText(_(" has been changed."));\r
\r
if (origsrccolnr!=m_colsrccolnr[dbcolnr])\r
public:\r
// Archive format\r
enum ArchiveFormat { ARCHUNKNOWN=0, ARCHZIP=0x1, ARCHTAR=0x2, ARCHGZIP=0x4, ARCHBZIP2=0x8 };\r
- static const int MAXENTRYNUM = 127;\r
+ static const uint MAXENTRYNUM = 127;\r
// Unix: LF, Dos: CR LF, Mac: CR\r
static const wxChar LF = wxT('\n');//'LF' = 0xA = 10\r
static const wxChar CR = wxT('\r');//'CR' = 0xD = 13\r
bool WidthDlmIsOk() { return m_delimitedbychar || m_widthdlmisok; }\r
void Close();\r
\r
- size_t GenMoreFilePreview(wxString *pvstr = NULL);\r
+ wxFileOffset GenMoreFilePreview(wxString *pvstr = NULL);\r
\r
const wxString& GetFilePreview() { return m_pvfilecont; }\r
\r
bool ValidateSetting();\r
\r
size_t GenCSVPreview(const bool isinit = false);\r
- size_t MB2str(wxCSConv *txtconv, wxString *bufstr, char* inbuf, const size_t bufos, size_t& datlen);\r
+ wxFileOffset MB2str(wxCSConv *txtconv, wxString *bufstr, char* inbuf, const size_t bufos, size_t& datlen);\r
\r
wxString **ParseLine(const wxChar *csvdata, size_t *parsedoffset, const bool hasmore,\r
wxString **parsedvals, size_t *curcolnr,\r
- size_t *rsval, wxString *linedata);\r
+ wxFileOffset *rsval, wxString *linedata);\r
wxString **ParseLine(const wxChar *csvdata, size_t *parsedoffset, const bool hasmore,\r
wxString **parsedvals, size_t *curcolnr, bool *incolparsing, bool *inquotedblk,\r
- size_t *rsval, size_t *filelinenum, wxString *linedata);\r
+ wxFileOffset *rsval, size_t *filelinenum, wxString *linedata);\r
void ClearParsedLine();\r
\r
void ClearPreview();\r
pgCSVFile::pgCSVFile()\r
{\r
m_fileencoding = wxFONTENCODING_SYSTEM;\r
- m_fileconv = new wxCSConv(wxFONTENCODING_SYSTEM);\r
+ m_fileconv = new wxCSConv(wxFONTENCODING_SYSTEM);\r
m_fencisok = false;\r
\r
m_rawfile = NULL;\r
m_ferrmsg = _("Please specify a file.");\r
m_settingisok = false;\r
\r
- m_delimitedbychar = true;\r
- m_chardlm = DEFAULTCHARDELIMITER;\r
+ m_delimitedbychar = true;\r
+ m_chardlm = DEFAULTCHARDELIMITER;\r
m_chardlmvals = m_chardlm.GetData();\r
- m_widthdlm = NULL;\r
+ m_widthdlm = NULL;\r
m_widthdlmsnum = (size_t)0;\r
m_widthdlmisok = false;\r
- m_quotedby = DEFAULTQUOTEDBY;\r
+ m_quotedby = DEFAULTQUOTEDBY;\r
\r
m_firstrowisheader = false;\r
- m_backslashquote = false;\r
+ m_backslashquote = false;\r
m_pvrowsnum = DEFAULTPREVIEWROWSNUM;\r
m_forcelinebreak = true;\r
\r
const wxString chardlm, const wxChar quotedby)\r
{\r
m_fileencoding = fileencoding;\r
- m_fileconv = new wxCSConv(fileencoding);\r
+ m_fileconv = new wxCSConv(fileencoding);\r
m_fencisok = false;\r
\r
- m_delimitedbychar = true;\r
- m_chardlm = chardlm;\r
+ m_delimitedbychar = true;\r
+ m_chardlm = chardlm;\r
m_chardlmvals = m_chardlm.GetData();\r
- m_widthdlm = NULL;\r
+ m_widthdlm = NULL;\r
m_widthdlmsnum = (size_t)0;\r
m_widthdlmisok = false;\r
- m_firstrowisheader = false;\r
- m_backslashquote = false;\r
- m_quotedby = quotedby;\r
+ m_firstrowisheader = false;\r
+ m_backslashquote = false;\r
+ m_quotedby = quotedby;\r
m_pvrowsnum = DEFAULTPREVIEWROWSNUM;\r
m_forcelinebreak = true;\r
\r
*/\r
pgCSVFile::~pgCSVFile()\r
{\r
- Close();\r
+ Close();\r
\r
if (m_widthdlm)\r
delete []m_widthdlm;\r
{\r
m_fileisok = false;\r
m_ferrmsg = _("Please specify a file.");\r
- return false;\r
+ return false;\r
}\r
\r
if (!wxFile::Exists(fpath))\r
{\r
m_fileisok = false;\r
m_ferrmsg = _("File not exists.");\r
- return false;\r
+ return false;\r
}\r
\r
if (!wxFile::Access(fpath, wxFile::read))\r
{\r
m_fileisok = false;\r
m_ferrmsg = _("Failed to open the file.");\r
- return false;\r
+ return false;\r
}\r
\r
#if wxUSE_STREAMS && wxUSE_ARCHIVE_STREAMS && (wxUSE_ZIPSTREAM || wxUSE_TARSTREAM)\r
{\r
m_fileisok = false;\r
m_ferrmsg = _("Failed to open the file.");\r
- return false;\r
+ return false;\r
}\r
\r
m_filesize = m_rawfile->Length();\r
entriesnum = 0;\r
wxTarEntry *tmptarentry;\r
m_tarentrylist = new wxTarEntry*[MAXENTRYNUM+1];\r
- while (tmptarentry = m_tarinstrm->GetNextEntry())\r
+ while ((tmptarentry=m_tarinstrm->GetNextEntry()))\r
{\r
if (tmptarentry->IsDir())\r
{\r
\r
entriesnum = 0;\r
wxZipEntry *tmpzipentry;\r
- while (tmpzipentry = m_zipinstrm->GetNextEntry())\r
+ while ((tmpzipentry=m_zipinstrm->GetNextEntry()))\r
{\r
if (tmpzipentry->IsDir())\r
{\r
\r
if (m_rawfile)\r
{\r
- if (m_rawfile->IsOpened())\r
- m_rawfile->Close();\r
+ if (m_rawfile->IsOpened())\r
+ m_rawfile->Close();\r
\r
delete m_rawfile;\r
m_rawfile = NULL;\r
\r
const wxString pgCSVFile::GetWidthDelimiterStr()\r
{\r
- if (!m_widthdlm)\r
- return wxEmptyString;\r
+ if (!m_widthdlm)\r
+ return wxEmptyString;\r
\r
- wxString widthdlm;\r
+ wxString widthdlm;\r
size_t dlmidx;\r
- for (dlmidx=0; dlmidx<m_widthdlmsnum; dlmidx++)\r
- {\r
- if (dlmidx)\r
+ for (dlmidx=0; dlmidx<m_widthdlmsnum; dlmidx++)\r
+ {\r
+ if (dlmidx)\r
widthdlm << wxT(", ");\r
- if (m_widthdlm[dlmidx]==NULLWIDTHDELIMITER)\r
+ if ((int)m_widthdlm[dlmidx]==NULLWIDTHDELIMITER)\r
widthdlm << wxT("NULL");\r
else\r
- widthdlm << m_widthdlm[dlmidx];\r
- }\r
+ widthdlm << m_widthdlm[dlmidx];\r
+ }\r
\r
- return widthdlm;\r
+ return widthdlm;\r
}\r
\r
bool pgCSVFile::SetWidthDelimiter(wxString widthdelimiter)\r
{\r
- if (m_widthdlm)\r
- {\r
- delete []m_widthdlm;\r
- m_widthdlm = NULL;\r
- }\r
+ if (m_widthdlm)\r
+ {\r
+ delete []m_widthdlm;\r
+ m_widthdlm = NULL;\r
+ }\r
\r
if (widthdelimiter.IsEmpty())\r
- {\r
- m_widthdlm = NULL;\r
+ {\r
+ m_widthdlm = NULL;\r
m_widthdlmsnum = (size_t)0;\r
m_widthdlmisok = true;\r
- return true;\r
- }\r
+ return true;\r
+ }\r
\r
- if (!m_widthdlmregex.Matches(widthdelimiter))\r
+ if (!m_widthdlmregex.Matches(widthdelimiter))\r
{\r
m_widthdlmisok = false;\r
m_ferrmsg = _("Invalid width delimiter.");\r
- return false;\r
+ return false;\r
}\r
\r
long tkval;\r
}\r
\r
m_widthdlmisok = true;\r
- return true;\r
+ return true;\r
}\r
\r
int c_delimiter = 0;\r
GenCSVPreview(rowsnum==(size_t)0);\r
}\r
\r
-size_t pgCSVFile::GenMoreFilePreview(wxString *pvstr)\r
+wxFileOffset pgCSVFile::GenMoreFilePreview(wxString *pvstr)\r
{\r
size_t readlen = (size_t)0, buflen = (size_t)0, convlen, pvcurbufsz;\r
char readbuf[READBUFSZ];\r
if (!pvstr)\r
delete genstr;\r
\r
- return buflen;\r
+ return (wxFileOffset)buflen;\r
}\r
\r
void pgCSVFile::ReparseFilePreview()\r
return wxInvalidOffset;\r
\r
const wxChar *filedata = m_pvfilecont.GetData();\r
- size_t parsedrs, curcolnr, parsedoffset = m_pvparsedoffset, filelinenum;\r
+ wxFileOffset parsedrs;\r
+ size_t curcolnr, parsedoffset = m_pvparsedoffset, filelinenum;\r
bool isfileeof = Eof(), incolparsing, inquotedblk;\r
size_t *tmpcolsnums;\r
wxString *fileline, **tmpcsvlines, **parsedvals, ***tmpcolsvals;\r
m_maxcolsnum = (size_t)0;\r
}\r
\r
-size_t pgCSVFile::MB2str(wxCSConv *txtconv, wxString *bufstr, char* inbuf, const size_t bufos, size_t& datlen)\r
+wxFileOffset pgCSVFile::MB2str(wxCSConv *txtconv, wxString *bufstr, char* inbuf, const size_t bufos, size_t& datlen)\r
{\r
- size_t convlen;\r
+ wxFileOffset convlen;\r
\r
int decr;\r
for (decr=0 ; decr < 4 ; decr++)\r
wxInvalidOffset mean need more data\r
*/\r
wxString **pgCSVFile::ParseLine(const wxChar *csvdata, size_t *parsedoffset, bool hasmore,\r
- wxString **parsedvals, size_t *curcolnr, size_t *rsval, wxString *linedata)\r
+ wxString **parsedvals, size_t *curcolnr, wxFileOffset *rsval, wxString *linedata)\r
{\r
wxASSERT(csvdata[*parsedoffset]);\r
\r
\r
while (*curcolnr<m_widthdlmsnum)\r
{\r
- if (m_widthdlm[*curcolnr]==NULLWIDTHDELIMITER)\r
+ if ((int)m_widthdlm[*curcolnr]==NULLWIDTHDELIMITER)\r
parsedvals[*curcolnr] = NULL;\r
else if (m_widthdlm[*curcolnr])\r
break;\r
\r
while (*curcolnr<m_widthdlmsnum)\r
{\r
- if (m_widthdlm[*curcolnr]==NULLWIDTHDELIMITER)\r
+ if ((int)m_widthdlm[*curcolnr]==NULLWIDTHDELIMITER)\r
parsedvals[*curcolnr] = NULL;\r
else if (m_widthdlm[*curcolnr])\r
break;\r
{\r
while (*curcolnr<m_widthdlmsnum)\r
{\r
- if (m_widthdlm[*curcolnr]==NULLWIDTHDELIMITER)\r
+ if ((int)m_widthdlm[*curcolnr]==NULLWIDTHDELIMITER)\r
parsedvals[*curcolnr] = NULL;\r
else if (m_widthdlm[*curcolnr])\r
break;\r
*/\r
wxString **pgCSVFile::ParseLine(const wxChar *csvdata, size_t *parsedoffset, const bool hasmore,\r
wxString **parsedvals, size_t *curcolnr, bool *incolparsing, bool *inquotedblk,\r
- size_t *rsval, size_t *filelinenum, wxString *linedata)\r
+ wxFileOffset *rsval, size_t *filelinenum, wxString *linedata)\r
{\r
wxASSERT(csvdata[*parsedoffset]);\r
\r
m_parsedoffset = 0;\r
if (m_firstrowisheader)\r
{\r
- size_t parsedrs, curcolnr = (size_t)0, parsedoffset = (size_t)0;\r
+ wxFileOffset parsedrs;\r
+ size_t curcolnr = (size_t)0, parsedoffset = (size_t)0;\r
wxString **parsedvals;\r
if (m_delimitedbychar)\r
{\r
if (!filedata[m_parsedoffset] && Eof())\r
return true;\r
\r
- size_t parsedrs, curcolnr = (size_t)0, parsedoffset = m_parsedoffset, convlen;\r
+ wxFileOffset parsedrs;\r
+ size_t curcolnr = (size_t)0, parsedoffset = m_parsedoffset, convlen;\r
wxString **parsedvals = NULL;\r
char* readbuf = NULL;\r
bool incolparsing = false, inquotedblk = false;\r