Exemple #1
0
bool ResultLog::SaveAvailabilityResults( wxString filename, bool _export )
{
	// The availability results
  Result *r = GetResults( wxString(wxT("availability")) );

	wxFileOutputStream output_avail( filename );
	wxTextOutputStream text_avail( output_avail );

	int ColumnCount = (_export ? r->GetColumnCount() -2 : r->GetColumnCount());

	wxString strHeader;
	if( _export )
	{
	  this->m_SaveDelimiter = wxT(",");
		StringValueList *header = r->GetHeader();
		int countheader = 0;
		for( StringValueList::Node *node = header->GetFirst() ; node && countheader++ < ColumnCount ; node = node->GetNext() )
		{
			strHeader << *node->GetData() << m_SaveDelimiter;
		}
		strHeader.SetChar( strHeader.Length()-1, wxT('\n') );
	}
	else
	{
	  m_SaveDelimiter = wxT("\t");
	}

	text_avail.WriteString( strHeader );

	for( int i = 0 ; i < r->GetRowCount() ; i++ )
	{
		StringValueList *row = r->GetRow( i );

		wxString line;

		int countcolumn = 0;
		for( StringValueList::Node *node = row->GetFirst() ; node && countcolumn++ < ColumnCount  ; node = node->GetNext() )
		{
			line	<< *node->GetData() << m_SaveDelimiter;
		}

		line.SetChar( line.Length()-1, wxT('\n') );

		text_avail.WriteString( line );
	}

	return true;
}