Textdatei als Datenbank



  • Peter schrieb:

    ...(z.B. mit den Methoden von AnsiString)

    naja das ist meine Frage wie ich das zerlege 😉



  • Jede Zeile anhand des Semokolons in 2 Teile zerlegen (z.B. mit den Methoden von AnsiString)

    Boah 😮 bist Du schnell, in einer Minute alle Methoden von AnsiString durchgeschaut 👍
    Überleg doch mal, wie würdest Du die Teilerei "von Hand" erledigen wollen.
    Also ich würde die Position das Semikolon suchen und dann das linke und das rechte Teilstring (SubString) ausschneiden und in die Editfelder pinseln.



  • Nun ja... Ich würde dir ne TStringList empfehlen... speziell wegen der Eigenschaft DelimitedText...



  • ODBC Treiber für Textdateien nehmen 😃

    Is zwa... komisch aber möglich xD

    Nein nehmt mich besser nicht ernst 😉



  • hey cool, also soweit hab ichs jetzt:

    TStringList*datenbank;
    datenbank=new TStringList;
    datenbank->LoadFromFile(".\\datenbank.txt");
    AnsiString lesen=datenbank->Strings[0];
    
    int x=lesen.AnsiPos(";");
    x=x-1;
    lesen=lesen.SubString(1,x);
    
    Name->Text=lesen;
    

    Nur Wie mache ich es wenn meine Textdatei so aussieht "Name;Vorname;Adresse"?
    Wie lese ich die Adresse aus?
    Mit "int x=lesen.AnsiPos(";");" findet er nur das 1. Zeichen";"



  • neobanz. schrieb:

    hey cool, also soweit hab ichs jetzt:

    TStringList*datenbank;
    datenbank=new TStringList;
    datenbank->LoadFromFile(".\\datenbank.txt");
    AnsiString lesen=datenbank->Strings[0];
    
    int x=lesen.AnsiPos(";");
    x=x-1;
    lesen=lesen.SubString(1,x);
    
    Name->Text=lesen;
    

    Nur Wie mache ich es wenn meine Textdatei so aussieht "Name;Vorname;Adresse"?
    Wie lese ich die Adresse aus?
    Mit "int x=lesen.AnsiPos(";");" findet er nur das 1. Zeichen";"

    ich könnte natürlich für jede Position ein anderes Zeichen einfügen ";"","." usw., wollte nur nochmal wissen ob es auch einfacher geht 😃 ?!



  • Nur so als Anmerkung,
    wenn ich einen String, z.B. "1;22;45;ABC;99", in seine einzelnen Teile zerlegen will (Trenner ist Semikolon) mache ich das mit Pointern. Geht viel schneller aber das würde hier wohl zu weit führen, denke ich 😉



  • @Peter: ja, überforder die armen Anfänger nicht. C++ lernt man offensichtlich heutzutage nicht mehr, bevor man sich an die GUI-Programmierung traut... Lernt man dann doch automatisch mit. Die PISA-Studie beweist das doch. 🙂

    AnsiString hat auch noch die Funktion Delete. Damit könnte man, nachdem man den Namen herausgeholt halt, alles, bis einschließlich des ersten Semikolons, löschen....



  • @Joe_M.
    Wollte eigentlich nur nen Anreiz geben, sich vielleicht doch mit C zu beschäftigen und nicht nur mit der VCL. Wenn man die Eigenschaften von C nicht nutzt kann man ja gleich Pascal oder Basic nehmen. Aber gut, ist meine persönliche Meinung 😉



  • Ach Peter, Du Optimist, meine Erfahrungen in diesem Forum zeigen, das dem nicht so ist... Das man die VCL ohne C / C++ Kenntnisse gar nicht nutzen kann, merken die meisten nicht mal... 😮



  • Weiß ich, aber man soll ja die Hoffnung nicht aufgeben ...


Anmelden zum Antworten