warcraft9105
Erfahrenes Mitglied
Hallo, habe ein problem mit einer sogenannten(vs sagt es
) nicht statischen Memberfunktion.
Erst mal den Code:
Das DelmitideFile ist ein Header mit Funktionen. Hier der Ausschnitt mit der Funktion writeToFile():
Der genaue Fehlertext ist der Name dieses Themas... Hilfe
![Wink ;) ;)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f609.png)
Erst mal den Code:
Code:
private: System::Void spieler1_senden_Click(System::Object^ sender, System::EventArgs^ e)
{
.
.
.
else if(restliche1_int == geworfen1_int)
{
MessageBox::Show(spieler1->Text + " hat ausgemacht!");
if(spielernamen->readFromFile("spieler.txt", ';'))
{
for(int j = 0; j < spielernamen->getCount(); j++)
{
if (spielernamen->getFieldValue(j,0) == spieler1->Text)
{
int akt_siege1 = Int32::Parse(spielernamen->getFieldValue(j,1));
akt_siege1++;
String^ akt_siege1_string = akt_siege1.ToString();
spielernamen->setFieldValue(j,1,akt_siege1_string);
DelimitedFiles::DelimitedFile::writeToFile("spieler.txt");
Fehler--------------------> if(DelimitedFiles::DelimitedFile::writeToFile("spieler.txt"))
MessageBox::Show("Sieg wurde gespeichert!","Herzlichen Glückwunsch");
}
}
}
.
.
.
Code:
bool writeToFile(String^ FileName)
{
if (! Lines->ExtendedProperties->ContainsKey(DataChangedExtProp))
return true;
else
{
char ReplaceDelimiterBy;
if (Delimiter == ' ')
ReplaceDelimiterBy = '.';
else
ReplaceDelimiterBy = ' ';
StreamWriter^ SW = nullptr;
String^ Delim = gcnew String(Delimiter, 1);
// suche letzte nicht-berechnete Spalte
int maxCol = Lines->Columns->Count - 1;
while (maxCol > 0 && Lines->Columns[maxCol]->Expression->Length > 0)
maxCol--;
try
{
SW = gcnew StreamWriter(FileName, false, System::Text::Encoding::GetEncoding("windows-1250")); ///UTF8);
for (int i = 0; i < Lines->Rows->Count; i++)
{
String^ Line = "";
for (int col = 0; col <= maxCol; col++)
{
DataColumn^ AktCol = Lines->Columns[col];
if (AktCol->Expression->Length == 0)
{
String^ AktValue = Lines->Rows[i][AktCol]->ToString();
Line += AktValue->Replace(Delimiter, ReplaceDelimiterBy)->Replace('\r', ' ')->Replace('\n', ' ');
if (col < maxCol)
Line += Delim;
}
}
SW->Write(Line);
if (i < Lines->Rows->Count - 1)
SW->WriteLine();
}
SW->Close();
RegisterChange(Lines, false);
return true;
}
catch (Exception^)
{
return false;
}
finally
{
if (SW != nullptr)
SW->Close();
}
return false;
}
}