Ganze Zeilen Einlesen *HILFE*



  • Guten Morgen.
    Ich habe hier ein Problem

    2005-07-08 13:17:25 (MD-JADE) [2856]: Using workspace "Default"
    2005-07-08 13:17:26: Using workspace "Default"
    2005-07-08 13:17:31: Starting MD-JADE v2.14  -  Build 46 (Di 05.07.2005).
    2005-07-08 13:17:31: Current workspace Default on host MP276JWB
    2005-07-08 13:17:42: Using workspace "Default"
    2005-07-08 13:17:42: Using workspace "Default"
    2005-07-08 13:17:43: Logging in user admin@MP276JWB [Default]
    

    wie ist es möglich, die komplette zeile einzulesen?
    und dann auszuwerten?
    dank

    tim



  • Mit einer TSTringList -> LoadFromFile



  • ich probiere es mal 🙂



  • darauf komm ich voll nicht klar

    und wie gebe ich die stringliste denn aus?
    oder wie kann ich sie überprüfen?
    da bringt die hilfe auch nicht viel 😞



  • einlesen mit LoadFromFile

    Zugriff

    String text=liste->Strings[i];

    Greift auf die Zeile i zu

    int Anzahl= liste->Count;

    ergibt die Anzahl der Zeilen

    Daraus folgt:

    for(x=0;x<list->Count;x++)
    text=liste->Strings[x];

    um alle durchzugehen



  • TStringList *log;
    log = new TStringList;
    log->LoadFromFile(LogPfad);
    String text;
    int Anzahl= log->Count;
    
            for(int i=0; i<Anzahl ; i++)
            {
                    text=log->Strings[i];
                    Ausgabe->Lines->AddStrings(text);
            }
    

    das geht ja net 😞 wo ist denn der fehler?

    Ausgabe->Lines->AddStrings(log->Strings[i]);
    

    geht auch net 😞



  • text=log->Strings[i];
    Ausgabe->Lines->Add(text);

    so ist es richtig 🙂

    wie greife ich jetzt auf das 20. zeichen zu?

    if(text[20] == " ") geht net 😞



  • String zeichen =text.SubString(20,1);

    Mal in die Hilfe schauen



  • so langsam kriege ich den dreh raus

    supi^^



  • Christian211 schrieb:

    String zeichen =text.SubString(20,1);

    Mal in die Hilfe schauen

    wieso nicht einfach

    char zeichen = text[20];
    

    ist doch wesentlich schöner
    und wieso einen ganzen String anlegen für 1 char?

    mfg
    BigNeal



  • Warum?

    Unterschied zwischen

    if(test[4]=="w") -> Fehler
    und
    if(test[4]=='w')

    Ein einzelnes Zeichen aus eine String wird als char angesehen und kann nur so auch verglichen werden '' statt ""

    Vielleicht will er dann noch was mit machen und hat, da es ebenfalls String ist, dann keine Probleme

    So hat er den Befehl Substring kenengelernt.



  • Ist warscheinlich ansichtssache, aber von den beiden Beispielen:

    String zeichen =text.SubString(20,1); 
    if(zeichen == "A")
    {
    
    }
    
    char zeichen = text[20];
    if(zeichen == 'A')
    {
    
    }
    

    gefällt mir das 2 wesentlich besser
    1. resourcenfreundlicher
    2. man weiss sofort, dass man nur 1 zeichen hat(was ja bei String nicht der fall sein muss)
    3. man kann einfacher/schönere if/switch abfragen machen

    char zeichen = text[20];
    if(zeichen == 0x40)
    {
    
    }
    
    switch(zeichen)
    {
       case 'A':
          ...
          break;
       case 'B':
          ...
          break;
       case 0x03:
          ...
          break;
       ...
    }
    

    mfg
    BigNeal


Anmelden zum Antworten