Auswertungens programm (eingabe, und auswertung)



  • Hallo C-plusplus user,

    Ich will ein Programm schreiben da so aussehen soll: http://www.id-network.de/da.gif der link soll einfach nurdazu sein um euch bildlich zu zeigen wie es aussehen soll ich möchte einfach erst mal nur einen namen und eine nummer eingben und die an das MEMO weiter geben aber das besondere ist halt das die beiden sachen name und Nummer zusammen weiter gegeben werden und nachher auch zusammen ausgewertet werden können sprich wenn ich nachher noch was dazu schreibe z.b eine suchfunktion das er mir wenn ich den name eingeb die nummer finde.

    ich hoffe jemand kann mir erklären wie ich das am beste mache.

    schon mal Danke für alle tips

    mfg

    |23|



  • bekommt man in der Ausbildung zum Fachinformatiker denn keine Algorithmierung beigebracht?
    Das Bisschen sollte doch nicht all zu schwierig sein, oder? Denk nochmal drüber nach.



  • Nimm einfach nen AnsiString.

    komplett=Edit1->Text+"|"+Edit2->Text;
    Memo->Lines->Add(komplett);

    Nun hast beides in dein Memo,und auswerten musst du nur mal nen AnsiString Funtion angucken. Ich glaube das dort genügend Funktion vorhanden sind,die helften dürfen.



  • Was the_hero99 wahrscheinlich sagen wollte: du sollst dir in der Hilfe die Methoden der Klasse AnsiString ansehen. Da gibt es zahlreiche, die die Stringmanipulation sehr erleichtern.



  • Was sagt ihr dazu ?? ist das so richtig ??

    struct liste
    {
       AnsiString Telnr;
       AnsiString Name;
    };
    
    void __fastcall TForm1::Button3Click(TObject *Sender)
    {
    liste EingabeName;
    EingabeName.Name = EditName->Text;
    
    liste EingabeNummer;
    EingabeNummer.Telnr = EditNummer->Text;
    
    AusgabeMemo1->Lines->Add(EingabeName.Name+" "+EingabeNummer.Telnr);
    }
    


  • ja das müsste gehen!
    Allerdings umständlich wegen den Funktionen!

    the_hero99 schrieb:

    komplett=Edit1->Text+"|"+Edit2->Text;
    Memo->Lines->Add(komplett);

    Das würd ich noch in

    AnsiString Edits=Edit1->Text+" "+Edit2->Text;
    Memo1->Lines->Add(Edits);
    

    [edit] ändern

    wieso nimmst du ausgerechnet ne Struct!?
    Das is doch der längste Code, den du bei der Variante nehmen kannst Oo



  • jow,

    bin halt noch Anfänger und das dass nicht das Non Plus Ultra ist, ist mir schon Klar. Naja, jetzt habe ich die eingabe diese wird in einem Memo geschrieben und in einen test.txt gespeichert.

    Wie mach ich das nun am besten: Ich will z.b in ein Edit-feld einen namen eingeben und er soll mir alle einträge +nummer die er in der test.text hat in die memo ausgeben. gibst da ne Methode ?



  • ähm versuchs mal so, bin mit allerdings nicht sicher:

    FILE *f;
    TStringList *input=new TStringList();
    String buffer;
    if((f=fopen("test.txt","r")!=NULL)){
      input->Strings->LoadFromFile("test.txt");
      for(int i=0;i<input->Lines->Count;i++){
        buffer=input->Strings[i];
        if(buffer==Edit1->Text)
          Memo1->Lines->Add(input->Lines[i];
      }
    }
    

    ähm sag mir, wenns klappt *g*
    ich glaube, da is so ziemlich was falsch



  • sorry geht glaub ich nicht,
    ich werd daraus auch ned schlau 😞 😞

    aber danke für die arbeit



  • Hast Du schonmal über

    Memo1->Lines->AddObject(const AnsiString S, System::TObject* AObject);
    

    nachgedacht?
    Das könnte Dein Problem auf elegante Weise lösen.

    Gruß
    DM



  • Pseudo-Code:

    StringList->LoadFromFile("text.txt");
    for (alle Einträge der StringList)
    {
      String str = aktueller Eintrag;
      if (str.Pos(Edit-Text) > 0)
        Memo->Add(str);
    }
    

    Wie gesagt, du sollst dir die AnsiString-Methoden ansehen!
    AnsiString ist eine der wichtigsten Klassen der VCL, die solltest du in- und auswendig kennen.



  • Guck doch mal SaveToFile an.

    Die Funktion speichert den kompletten Memo in einer Datei ab.

    Musst nur mal gucken wo die reinpasst,da ich nicht weiss ob du auf Knopfdruckspeichern willst oder in OnClose etc.



  • ich glaub, hier ist noch etwas grundlegende lernarbeit in sachen C/C++ angesagt.
    das problem würde sich schnell mit ein bisschen dateizugriff, schleifen und STL sachen klären.
    nur find ich es nicht besonders gut, wenn er alles fast fertig vorgesetzt bekommt. dabei hat er nix gewonnen.

    ansonsten sollte ne lösung doch aus den bisherigen posts möglich sein...



  • Danke für die ganze posts.
    c.rackwitz hast vollkommen recht das fählt mir wirklich noch bin ja auch am arbeiten. Kannst mir jemand beantrorten was STL sein soll ?



  • Also ich habe s selber geschaft schaut es euch an und sagt was dazu 😃

    struct liste
    {
       AnsiString Telnr;
       AnsiString Name;
    };
    
    AnsiString Filename = "D:\\C++\\übungen\\Auswertung\\test.txt";
    
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    
    AusgabeMemo1->Lines->LoadFromFile(Filename);
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
    AusgabeMemo1->Lines->SaveToFile(Filename);
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::EingabeClick(TObject *Sender)
    {
      AnsiString Edits;
    
      liste EingabeName;
      EingabeName.Name = EditName->Text;
    
      liste EingabeNummer;
      EingabeNummer.Telnr = EditNummer->Text;
    
      Edits= EingabeName.Name+" "+EingabeNummer.Telnr;
    
      AusgabeMemo1->Lines->Add(Edits);
    
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button3Click(TObject *Sender)
    {
    AusgabeMemo1->Lines->Delete(StrToInt(Edit1->Text)-1);
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button4Click(TObject *Sender)
    {
    
     for (int i=0; i<=AusgabeMemo1->Lines->Count; i++)
    
       if (AusgabeMemo1->Lines->Strings[i].Pos(SucheEdit1->Text))
    
             Memo1->Lines->Add(AusgabeMemo1->Lines->Strings[i]);
    }
    


  • ja sehr gut!!
    für einen anfänger ist das echt gut!


Anmelden zum Antworten