Strings aus Datei lesen



  • Hi,

    bin noch grün hinter den Ohren und schlage mich mit folgendem Problem herum.
    Textdatei hat die Form:
    String1 = "String2";
    oder
    String1 = Interger;
    usw.
    Suche nun nach geigneter Methode, um zunächst String1 in der Datei zu finden und im zweiten Schritt den zugewiesenen String2 bzw. Interger an einen Parameter im
    Program übergeben zu können. Schwierigkeit: Dateiaufbau nicht änderbar, Zeilen-
    position kann für den selben String immer andere sein, die Position der obigen
    Zeichenketten innerhalb der jeweiligen Zeile ist unbekannt. Arbeite mit C++Builder5.0.
    Hat jemand 'nen Tipp?



  • Hallo

    TIniFile oder TStringList mit den AnsiString-Methoden (Pos, SubString...)

    bis bald
    akari



  • Ich habe damals so gemacht...

    //---------------------------------------------------------------------------
    //+++++
    //8-4-2003
    //
    #include <vcl.h>
    #pragma hdrstop
    
    #include "dicUnit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TDictionary *Dictionary;
    int i, Index;
    AnsiString adresse[2];
    //---------------------------------------------------------------------------
    __fastcall TDictionary::TDictionary(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TDictionary::BtnSuchenClick(TObject *Sender)
    {
    if(ChkDeutsch->Checked)//wenn Chkdeutsch geclick ist
    {
    TStringList * daten = new TStringList;   //wird neue Tstringlist angelegt
    daten->LoadFromFile("Deutsch-English.txt");//hier wird die Wörter(Stringlist)geladet
    
    for (i = 0; i<= 402 ; i++) // eien arrays für 400 wörter
    
    {
    //die Stringliste wird hier gelesen  und gesucht
    if(EdtGer->Text == daten->Strings[i]) EdtEng->Text = daten->Strings[i+1];
    
    }
    delete daten;
    }
    
    if (ChkEnglisch->Checked)
    {
    TStringList *daten = new TStringList; //wird neue Tstringlist angelegt
    daten->LoadFromFile("Deutsch-English.txt");//hier wird die Wörter(Stringlist)geladet
    
    for (i = 0 ; i<=402 ; i++) // eien arrays für 400 wörter
    
    {
    ////die Stringliste wird hier gelesen,
    if(EdtEng->Text == daten->Strings[i]) EdtGer->Text = daten->Strings[i-1];
    }
    delete daten;
    }
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TDictionary::BeendenClick(TObject *Sender)
    {
    Close();
    }
    //---------------------------------------------------------------------------
    void __fastcall TDictionary::FormCreate(TObject *Sender)
    {
    lblDate->Caption="";
    lblDate->Caption =" Heute und Jetzt : " + Now();
    }
    //---------------------------------------------------------------------------
    

    Gruß,
    nuam



  • Danke für die Hinweise - werd's mal versuchen.

    Grüße
    Ifs



  • Hallo,

    also akari hat es bereits angesprochen; ich verwende eigentlich nur noch TIniFile (#include <IniFiles.hpp> nicht vergessen!). Schön zum Schreiben und Auslesen, zudem die Mögklichkeiten der Handhabung der verschiedenen Variablentypen mittels z.B. TIniFile::ReadBool() und TIniFile::WriteBool().

    mfg cb


Log in to reply