table1 textdatei nicht lesen sondern Schreiben



  • Habe durch in mit suche leider nichts gefunden. Und bin nicht in DAtenbank gegangen da es denke ich zu normalen Programmierart eher passt.

    Hi, also ich habe eine Textdatei *.txt und eine tabellenzuordnung *.sch habe im Programm die Tabellenzuordnung auch defienert. Mit auslesen aus der Textdatei funktioniert auch alles wunderbar.

    Edit1->Text = Field1->Value;

    Umgekehrt funktioniert es teilweise auch
    also

    Table1->Edit();
    Field1->Value = Edit1->Text;
    Und wenn ich es wieder auslese klappt es.

    nur beim Beenden wirts so nicht gespeichert und wenn ich am Ende noch Table1->EditRangeEnd(); einfüge dann wirds zwar gespeichert aber es verschiebt sich irgendwie alles.

    Im Endeffekt habe ich 12 Zeichen.

    Quell datei besteht also z.b. " 1000" diesen wert Subthaieren ich mit z.b. " 600" als ergebnis kommt dann "400" da vermute ich muss ich das irgendwie mit Leerzeichenaffüllen. Oder gibts eine bessere Möglichkeit diese Problem zu lösen. Und evt die ganze Tabelle Editierbar machen nicht das ich vor jedem Editierbefehl Table1->Edit(); schreiben muss.

    Danke

    mfg
    Killer



  • Öhm...irgendwie ist die ganze Sache verwirrend. Was willst du machen? Hast du Beispielcode? Weil wir/ich kann/können nicht erkennen was du meinst.



  • TableC->Edit();

    QtyCompC->Value = StrToInt(QtyCompA->Value) - StrToInt(QtyCompB->Value);

    TableC->EditRangeEnd();

    // Das sind jetzt jeweils die ersten 2 Zeilen von den DAteien bzw Tabelen die ich einlsee:

    _____QtyComp Field2 Field3 Field4 Field5 Field6
    A.txt
    1000 0 664 0 53246 0
    21 0 21 0 0

    B.txt
    600 0 664 0 53246 0
    21 0 21 0 0
    // Bei dieser DAtei gebe ich mal 2 einmal die Ist datei wie ich es schaffe und einmal die soll DAtei

    C_ist.txt
    400 0 664 0 53246 0
    21 0 21 0 0

    C_soll.txt
    400 0 664 0 53246 0
    21 0 21 0 0

    hoffe das ist jetzt etwas verständlicher



  • NAS4Killer schrieb:

    Habe durch in mit suche leider nichts gefunden.

    Zumindest in diesem Unterforum wirst du mit Sicherheit nichts finden. Weder Datenbanken noch Oberflächen sind Bestandteil von ANSI C++. Grundlegend kann man auch an den wenigen was du angibst nicht auf das verwendete Framework zurückschließen.

    Konkretere Angaben sind nötig:
    a) Welcher Compiler/IDE (mit einer *.sch kann zumindestens ich nichts anfangen)
    b) Welches Framework/Bibliothek
    c) Genauere Informationen und Fragen wären auch nicht verkehrt, mit etwas mehr Codebeispiel

    cu André



  • NAS4KillerLo schrieb:

    QtyCompC->

    Lass mich raten: Framework ist QT?

    Wenn ja, gehören deine Fragen in das entsprechende Unterforum. Aber bitte nicht jetzt erneut posten, der Thread wird mit Sicherheit früher oder später verschoben.



  • Sorry wegend er verschmutzung des BEitrag hier jetzt aber das klappt nicht im nicht eingeloggtem zustand zu editieren und die formatierung ging hla tnicht.

    Versuche es zu erklären. Tabelendarstellung kriege ich irgendwie nicht hin.

    Es geht einfach darum das z.b. wennd as ergebenis 400 ist also 3 stellig müssen davor wohl bei isgesammt 12 Zeichen 12-3 = 9 Leerzeichen und das halt variable da beim ergebnis 1000 wären 12-4 = 8 Zeichen notwändig.

    Könnt ihr jetzt besser versethen ?

    C++ Builder 6 merh weis ich auch nicht



  • Also das klingt für mich so, dass du etwas, wie strings suchst. 😉

    #include <sstream>
    #include <string>
    ..
    int zahl = 234;
    std::string zahl_als_string;
    
    std::stringstream s;
    s << zahl;
    s >> zahl_als_string;
    

    Nun kannst du mit zahl_als_string die Anzahl stellen auslesen und gegebenenfalls noch erweitern mit dem, was du willst (Leerzeichen z.B).



  • NAS4Killer schrieb:

    C++ Builder 6 merh weis ich auch nicht

    Okay. Dann ist die VCL wohl das Framework, vermutlich mit einer BDE-Datenbankverbindung (?).

    Eine aktuellere kostenlose Alternative mit der VCL wäre Turbo C++ (Ein kostenloser Ableger vom C++ Builder 2006). Dort kannst du aber keine weiteren Komponenten hinzufügen.

    Das richtige Unterforum wäre hier.

    Jetzt wären vielleicht doch noch mehr Details interessant. Welcher Typ von Tabelle ist es (Beispielsweise: TSQLTable), wie sind die Verbindungseinstellungen...

    Grundsätzlich: Du Verwendest wohl Textformate mit fixer Länge, und es kann durchaus sein, das die Tabellenobjekte grundsätzlich abschneiden. Du kannst ja mal folgendes Ausprobieren:

    a) Vor dem Zurückschreiben das Ergebnis als String interpretieren und um die entsprechende Anzahl von Zeichen ergänzen.
    b) Falls der Dateiaufbau nicht vorgegeben ist mal mit anderen Formaten (z.B. Kommaseparierte Liste ohne fixe Länge) ausprobieren.

    cu André



  • danke euch erstmal. Ich habe dadurhc nur wieder einige möglichkeiten und experimentiere etwas rum.

    mfg
    Killer 🙂


Anmelden zum Antworten