Definition at line 100 of file ss.cpp.
References TChA::Clr(), TVec< TVal, TSizeTy >::Empty(), TSIn::Eof(), Fail, TStr::Fmt(), forever, TSIn::GetCh(), TVec< TVal, TSizeTy >::IsIn(), New(), TFIn::New(), PVec< TVal >::New(), ntInfo, ntWarn, TNotify::OnNotify(), TNotify::OnStatus(), ssfCommaSep, ssfSemicolonSep, ssfSpaceSep, ssfTabSep, and ssfVBar.
Referenced by TTimeNet::LoadBipartite(), TGnuPlot::LoadTs(), and TKronMtx::LoadTxt().
108 int X=0;
int Y=0;
int PrevX=-1;
int PrevY=-1;
109 char Ch=SIn->GetCh();
TChA ChA;
113 if (IsQStr&&(Ch==
'"')){
117 while ((!SIn->Eof())&&(Ch!=
'"')){
118 ChA+=Ch; Ch=SIn->GetCh();}
121 if (Ch==
'"'){ChA+=Ch; Ch=SIn->GetCh();}
127 while ((!SIn->Eof())&&(Ch!=
'\t')&&(Ch!=
'\r')&&((Ch!=
'\n')||IsExcelEoln)){
128 ChA+=Ch; Ch=SIn->GetCh();
132 while ((!SIn->Eof())&&(Ch!=
',')&&(Ch!=
'\r')&&((Ch!=
'\n')||IsExcelEoln)){
133 ChA+=Ch; Ch=SIn->GetCh();
137 while ((!SIn->Eof())&&(Ch!=
';')&&(Ch!=
'\r')&&((Ch!=
'\n')||IsExcelEoln)){
138 ChA+=Ch; Ch=SIn->GetCh();
142 while ((!SIn->Eof())&&(Ch!=
'|')&&(Ch!=
'\r')&&((Ch!=
'\n')||IsExcelEoln)){
143 ChA+=Ch; Ch=SIn->GetCh();
147 while ((!SIn->Eof())&&(Ch!=
' ')&&(Ch!=
'\r')&&((Ch!=
'\n')||IsExcelEoln)){
148 ChA+=Ch; Ch=SIn->GetCh();
156 if ((MxY!=-1)&&(Ss->CellStrVV.Len()==MxY)){
break;}
158 int Recs=Ss->CellStrVV.Len();
163 if (AllowedColNV.
Empty()||AllowedColNV.
IsIn(X)){
164 Ss->CellStrVV[Y]->V.Add(ChA);
171 X++; Ch=SIn->GetCh();
174 X++; Ch=SIn->GetCh();
177 X++; Ch=SIn->GetCh();
179 if ((SsFmt==
ssfVBar)&&(Ch==
'|')){
180 X++; Ch=SIn->GetCh();
183 X++; Ch=SIn->GetCh();
186 if ((PrevX!=-1)&&(X!=PrevX)){
188 PrevX=X; X=0; Y++; Ch=SIn->GetCh();
189 if ((Ch==
'\n')&&(!SIn->Eof())){Ch=SIn->GetCh();}
193 if ((PrevX!=-1)&&(X!=PrevX)){
195 PrevX=X; X=0; Y++; Ch=SIn->GetCh();
196 if ((Ch==
'\r')&&(!SIn->Eof())){Ch=SIn->GetCh();}
203 int Recs=Ss->CellStrVV.Len();
bool IsIn(const TVal &Val) const
Checks whether element Val is a member of the vector.
bool Empty() const
Tests whether the vector is empty.
static PSIn New(const TStr &FNm)
virtual void OnNotify(const TNotifyType &, const TStr &)
virtual void OnStatus(const TStr &)
static TStr Fmt(const char *FmtStr,...)
static TPt< PVec< TVal > > New()