LLpresident Geschrieben 4. September 2003 Geschrieben 4. September 2003 hey. ich hab wieder mal ein problem. ich will in eine CheckListBox eine kommplette Zeile einfügen. das sieht momentan so aus: void __fastcall TForm1::App_Filter_Checked() { Zaehler = 0; Pos=0; ifstream Makiert("c:\\Programme\\Borland\\CBuilder5\\Projects\\LogAuswerter_Abschluss\\Programm\\application_checked.txt", ios::in); while(!Makiert.eof()) { Zaehler++; //Pos++; Makiert.get(Zeichen); Zeile[0] = Zeile[1]; Zeile[1] = Zeile[2]; Zeile[2] = Zeichen; if(Zeichen == EndOfLine) { if(Zeile[0] == Checked[0] && Zeile[1] == Checked[1] && Zeile[2] == Checked[2]) { ifstream::pos_type pos = Makiert.tellg(); pos = pos - Zaehler; Makiert.seekg(pos); Makiert.get(Zeichen); while(Zeichen != EndOfLine) { Makiert.get(Zeichen); clbApp_Gef_Fehler->Items->Append(Zeichen); } } if(Zeile[0] == UnChecked[0] && Zeile[1] == UnChecked[1] && Zeile[2] == UnChecked[2]) { ifstream::pos_type pos = Makiert.tellg(); pos = pos - Zaehler; Makiert.seekg(pos); Makiert.get(Zeichen); while(Zeichen != EndOfLine) { Makiert.get(Zeichen); clbApp_N_Gef_Fehler->Items->Text = (Zeichen); } if(Zeichen == EndOfLine) { Makiert.get(Zeichen); clbApp_N_Gef_Fehler->Items->Text = (Zeichen); Zeichen = '\r'; clbApp_N_Gef_Fehler->Items->Text = (Zeichen); } } Zaehler = 0; } } } mein problem ist: wenn ich text nehme zeigt er zwar an das er eine neue zeile hat, in dieser steht aber leider nichts drin. wenn ich add oder append nehme macht er für jedes zeichen eine neue zeile. ich wolte jetzt über getline die gesamte zeile in einen string einlessen und diesen dann einfügen. dabei kommt er aber mit der fehlermeldung string kann nicht in ansistring umgewandelt werden. wie kann ich es schaffen das er die komplette zeile bis zum \n einliest? Zitieren
LLpresident Geschrieben 4. September 2003 Autor Geschrieben 4. September 2003 ok.hab es jetzt hinbekommen das er die meldungen zeilenweisse schreibt. sieht wie folgt aus: void __fastcall TForm1::App_Filter_Checked() { Zaehler = 0; int Index; Index = 0; String EinString; TStringList* Liste=new TStringList; ifstream Makiert("c:\\Programme\\Borland\\CBuilder5\\Projects\\LogAuswerter_Abschluss\\Programm\\application_checked.txt", ios::in); while(!Makiert.eof()) { Zaehler++; Makiert.get(Zeichen); Zeile[0] = Zeile[1]; Zeile[1] = Zeile[2]; Zeile[2] = Zeichen; if(Zeichen == EndOfLine) { if(Zeile[0] == Checked[0] && Zeile[1] == Checked[1] && Zeile[2] == Checked[2]) { Index = 0; ifstream::pos_type pos = Makiert.tellg(); pos = pos - Zaehler; Makiert.seekg(pos); Makiert.get(Zeichen); while(Zeichen != EndOfLine) { Makiert.get(Zeichen); Liste->Insert(Index, Zeichen); Index++; EinString=Liste->Text; } clbApp_Gef_Fehler->Items->Append(EinString); } if(Zeile[0] == UnChecked[0] && Zeile[1] == UnChecked[1] && Zeile[2] == UnChecked[2]) { Index = 0; ifstream::pos_type pos = Makiert.tellg(); pos = pos - Zaehler; Makiert.seekg(pos); Makiert.get(Zeichen); while(Zeichen != EndOfLine) { Makiert.get(Zeichen); Liste->Insert(Index, Zeichen); Index++; EinString=Liste->Text; } clbApp_N_Gef_Fehler->Items->Append(EinString); } Zaehler = 0; } } } hab jetzt blos noch das problem das er zwichen jedes zeichen ein trennzeichen setzt. weiss einer von euch wie ich diese trennzeichen weg bekomme? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.