Text in Zeile ändern



  • Hallo Anita.
    Was hast du denn genau gemacht? Versuchst du das gerade in eine Header-Datei zu binden? Musst mich einwenig aufklaeren 🙂



  • Eric Cartman schrieb:

    Hallo Anita.
    Was hast du denn genau gemacht? Versuchst du das gerade in eine Header-Datei zu binden? Musst mich einwenig aufklaeren 🙂

    In meine "aendern()" Funktion habe ich sie 1:1 übernommen.

    Und diese rufe ich dann im main(), per Switch Funktion auf, oder hatte das jedenfalls vor.



  • Was genau hast du uebernommen? Welchen Teil des Codes?
    Ich geh mal davon aus du meinst eine Funktion um den text zu aendern:

    void SetLine(string& inhalt, string inhaltneu)
    {
    	for (size_t a=inhaltneu.size(); a<CHARNUM; a++)	// ggf. Leerzeichn hinzufuegen
    		inhaltneu += " ";
    
    	while (inhaltneu.size() > CHARNUM)	// falls String zu lang ist - dann abschneiden
    		inhaltneu.erase(inhaltneu.end()-1);
    
    	inhalt = inhaltneu + GetRest(inhalt);
    }
    

    Gruss
    Cartman



  • Eric Cartman schrieb:

    Was genau hast du uebernommen? Welchen Teil des Codes?
    Ich geh mal davon aus du meinst eine Funktion um den text zu aendern:

    void SetLine(string& inhalt, string inhaltneu)
    {
    	for (size_t a=inhaltneu.size(); a<CHARNUM; a++)	// ggf. Leerzeichn hinzufuegen
    		inhaltneu += " ";
    
    	while (inhaltneu.size() > CHARNUM)	// falls String zu lang ist - dann abschneiden
    		inhaltneu.erase(inhaltneu.end()-1);
    
    	inhalt = inhaltneu + GetRest(inhalt);
    }
    

    Gruss
    Cartman

    Ja genau, ich habe einfach meinen Inhalt gelöscht, der ja sowieso nicht richtig funktionierte und habe deine ganzen Zeilen rüber kopiert.

    War das nicht so gedacht? 🙂



  • Ich hab mir mal die Muehe gemacht, das ganze etwas mehr "einzupacken". Ich hoffe dadurch wird einiges klarer.
    Aus Platzgruenden und der Uebersichtlichkeit halber hab ich einfach so ne Code-Paste-Seite genommen.

    die "funcs.h"-Headerdatei:
    http://rafb.net/p/3LJZZS88.html

    die "funcs.cpp"-Datei:
    http://rafb.net/p/JQL7CP51.html

    Und hier ein Beispiel wie du das ganze einsetzen kannst:
    http://rafb.net/p/8eVpB539.html

    Gruss
    Cartman

    //edit
    lol, jetzt hab ich als Nickname bei der Seite nen Nickname ausmm anderen Forum genommen 😃



  • Eric Cartman schrieb:

    //edit
    lol, jetzt hab ich als Nickname bei der Seite nen Nickname ausmm anderen Forum genommen 😃

    Und jetzt ist der sauer...? 🙂

    Hey jetzt hats mir funktioniert, toll. Vielen Dank.

    Leider zählt es mir jetzt jede Zeile ab, also nicht wie vorhin, dass ich die Nummer eingeben kann.
    Kann ich da vielleicht das alte rüber kopieren, verträgt sich das?

    Gruss



  • Anita80 schrieb:

    Leider zählt es mir jetzt jede Zeile ab, also nicht wie vorhin, dass ich die Nummer eingeben kann.
    Kann ich da vielleicht das alte rüber kopieren, verträgt sich das?

    Gruss

    Eine gute Möglichkeit und Übung den Code verstehen zu lernen. 😉
    Du kannst es ja mal versuchen und wieder posten, wenn du nicht mehr weiterkommst..



  • drakon schrieb:

    Anita80 schrieb:

    Leider zählt es mir jetzt jede Zeile ab, also nicht wie vorhin, dass ich die Nummer eingeben kann.
    Kann ich da vielleicht das alte rüber kopieren, verträgt sich das?

    Gruss

    Eine gute Möglichkeit und Übung den Code verstehen zu lernen. 😉
    Du kannst es ja mal versuchen und wieder posten, wenn du nicht mehr weiterkommst..

    Ok ich versuche es mal zu ändern, kann ja seine dass ich mal Glück habe... 😃



  • Hast du mir nochmals Zeit drauf zu schauen, finde einen Fehler noch nicht, und zwar löscht es mir immer alle Zeilen, bis auf die, die ich eingegeben habe.

    Speichert es die anderen nicht mehr?

    Hier mal der abgeänderte code.

    unsigned int nr;
        ifstream inp; ofstream outp;
    	string temp, neuinhalt; vector<string> inhalt;
    	string line;
    	char linechange = ' ';
    
    	inp.open("Ablage.txt", ios::binary | ios::in);
    	if (!inp)
    	{
    		cerr << "Fehler beim oeffnen!"; return -1;
    	}
    
    	while (!inp.eof())
    	{
    		getline(inp, temp);
    		inhalt.push_back(temp);
    	}
    
    	inp.close();
    
    	outp.open("Ablage.txt", ios::binary | ios::out);
    
    	if(!outp)
    	{
    		cerr << "Fehler beim schreiben!";
    		return -1;
    	}
    
        while (getline(inp, line)) 
    
      {
    
        inhalt.push_back(line);
    
      }
    
      cout << Abst << Abst << Abst << "Zeilennummer (1-" << inhalt.size()-1 << "): ";
    
      if (cin >> nr && nr >= 1 && nr <= inhalt.size()) 
    
      {
    
        --nr;
        cin.ignore(1 << 13, '\n');
    
      } 
                     else 
                     {
    
                     return 1;
    
                     }
    
      cout << Abst << Abst << Abst << "Aktueller Inhalt der Zeile" << line 
      << ": " << inhalt[nr] << endl;
    
    			cout << "\nNeuer Inhalt: ";
    			getline(cin, neuinhalt);
    			SetLine(inhalt[nr], neuinhalt);
    
    		outp << inhalt[nr] << '\n';
    		linechange = ' ';
    
    	outp.close();
    
        return 0;
    }
    

    Gruss



  • Ich habe den Fehler 😃

    Auch ein blindes Hunh findet mal ein Korn....

    Haha, besten Dank dir Eric, ohne dich wäre ich jetzt im .....

    Super das es noch so Menschen wie dich gibt.

    Ich wünsche dir noch einen schönen Abend!

    Gruss


Anmelden zum Antworten