ListBox tabelarisch anlegen ?



  • also , hab grad ListView mal probiert, gefällt mir auch besser,
    nur wie füge ich meinen Datensatz da ein ?

    ListView->Items->Add(Zeile);
    

    geht ja nicht ? .... oder wie mach ich das mit den einzelnen Spalten ?

    Basiert den die Adressverwaltung auf einer regularen Datenbank?
    hmm .... kannst du mir erklären was ein reguläre Datenbank ist ?

    Danke
    chris



  • Weil du nach 2 Minuten rumprobieren keine fixfertige Lösung hast kommst du gleich wieder hier an!? Wie wär's erstmal mit einem gründlichen Blick in die Hilfe sowie der Benutzung der Suchfunktion hier? Da findest du etlich Beispiel zum Umgang mit TListView.

    Wir helfen gern, aber nur dann, wenn auch ein wenig eigener Einsatz erkennbar ist.



  • hi,
    ja hatte gehofft das mir das jemand sagen kann...oder ließt du nur Bücher und Hilfen ? .. hattest du nie eine Vorlesung oder so , wo der Prof einem was erzählt hat ....
    wenns so einfach wäre was aus Büchern zu lernen bräuchten wir ja dann aber nach der Grundschule keine Schulen mehr ... denn danach kann ja jeder lesen oder ?? ...
    wenn ich das was in der Hilfe dazu steht verstehen würde,oder einfach aus alten Foren-Beiträgen mir selber erklären könnte wie das so Funktioniert dann hätt ich nicht gefragt...
    Weist du wenn ich weis wie es geht und es dan in einem Buch lesen ist das ja alles leicht und verständlich ... nur einer der das eben net kann bevor er ins Buch schaut der tut sich da halt ein bischen schwerer ....
    .. ich mein, ich finds auch scheiße wenn einer hier mit seinen Hausaufgaben ankommt und sich beschwert wenn's net schnell oder überhaut net gelöst wird ....
    nur ich bin mit ner Frager gekommen die in meinem Horizont liegt, TListBox,
    die kannte ich also wollte ich es mit der machen , von ListView hab ich noch nie was gehört ... natürlich will ich's jetzt mit der machen weils eben auch schöner aussieht ... aber ich mein .. bevor ich mich jetzt nen Tag mit der TlistView beschäftige scheiß ich auch auf das Aussehen .... mir hat man beigebracht das es funktionieren muss was man programmiert nicht wie es aussieht ...
    und wenn ihr glücklich seid das ihr es könnt, und meint das müsste jeder selber aus einem Buch lernen, dann nehmt euer tolles wissen mit ins grab ....
    nur ich frag mich was das dann hier ist ?? .. . ein FORUM !!! ... hier kann man herkommen wenn man Probleme hat, nur schon komisch ... wenn ich mit einen scheiß kleinen Problem komme, wie Füge ich zB einen Eintrag in eine TListView ein dann kommt ihr uns sagt ... hey schau dch in die Hilfe....
    komm ich mit einem Programm das nen riesen Quellcode hat .... da werden einem dann geholfen die if-Bedingngung zu veschönern .. oder die for-Schleife zu verbessern... auf das echte Problem weiß keiner ne Antwort weil niemand sich in den Quellcode reindenken will ....... also schon irgendwie lächerlich ....

    Könnte man meinen Beitrag net in die FAQ aufnehmen ?
    "Warum könnte ich die Frage trotzdem beantworten, obwohls in der Hilfe steht ?"

    MfG
    Chris



  • Wenn du uns geld dafür gibst, dir aus der Borland-Hilfe und den darin enthaltenen BEISPIEL-CODE vorzulesen, dann lässt sich das einrichten.
    Viele hier sind aber Menschen mit real-life ((echt, sowas gibts) die keine Zeit haben, jedem hochnäsigen Kleinkind allen scheiß zu erklären.
    Natürlich weiß niemand alles und genau darum gibt es Foren. Damit Menschen sich bei PROBLEMEN helfen, aber dieses Forum ist nicht dazu gedacht, dir das Lesen beizubringen....
    Zieh dir mal rein, wie groß die Borland Hilfe ist... willst du jede Zeile von uns noch mal genannt bekommen?
    Wo du schon mal mit der Uni kommst: Hast du schon mal eine von innen gesehen? Ich glaube fast nicht. So ein toller Proff ließt nur aus dem Skript vor. Genau so, als würdest du selber in der Hilfe lesen. Verstehen kann der Proff das aber für dich nicht, das musst du zuhause selber machen.

    Also: Lies die Hilfe und wenn du ein KONKRETES PROBLEM hast kannst du dich vertrauensvoll wieder an uns wenden. Aber bitte nicht arrogant und von oben herab!
    Hier ist niemand verpflichtet dir zu helfen. wir machen das freiwillig weil wir so nett sind. Also benimm dich auch entsprechend...

    PS: Die Hilfe ist wirklich gut, es gibt hier sogar ein Tut um sie richtig zu nutzen, solltest du nicht mit ihr zurechtkommen, wir sind schließlich alle mal klein angefangen.

    PPS: Ja, ich habe mein Wissen so gut wie nur duch lesen von Büchern und der Hilfe erlangt (ich will aber nicht behaubten, das es umfassend ist 😉 )



  • chri5, dein Selbstmitleid beeindruckt nicht. Eine positive Ausstrahlung hingegen wird dir weit eher zu konstruktiven Antworten verhelfen.



  • Hallo,

    TListView... da hatte ich doch letztens erst drauf geantwortet... 😕
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-103465.html

    Übrigens, woher sollte man sein Wissen nehmen, wenn nicht aus Büchern ?
    In der Uni bekommt man die Grundzüge beigebracht, den Rest sollte man schon alleine machen. 🙂

    Bis dann denn,
    🙂
    Nash



  • @-=]xXx[=-
    Probleme dafür is das Forum da ? ja ... nur das sind eben meine Probleme ... wenn du's halt drauf hast und eben schwerere Sachen deine Probleme sind dann is das gut für dich ... wir stehen hier halt net alle auf einer Stufe mit dem Wissen.....
    dein "Hast du schon mal eine von innen gesehen? Ich glaube fast nicht" kannstu du dir sparen ... das is ja unterstes niveau oder habe ich jemanden persöhnlich Angegriffen ?

    @Nash
    sehr vielen Dank

    Ich frag mich wo die sind die hier mal kurz auf ne schnell Antwort hoffen,
    und jede Stunde noch entäuschter werden weil Sie ständig jemand drauf hinweist .. "schau doch in die Hilfe" ....
    unterstützt mich hier keiner ?

    Chris



  • Oh.... tut mir natürlich furchtbar leid, das ich dir nicht sofort in den **** gekrochen bin um dir umschweifend und allumfassend aus der Hilfe zu zitieren. Es ist natürlich vollkommen richtig, das ein Forum dazu geschaffen wurde Probleme zu lösen, sein sie auch noch so banal und schon tausendfach behandelt. Zu dem ist es natürlich auch von uns (der elitären Guru-Oberschicht, zu deren Anführer ich mich gerade selbst gewählt habe) eine Sauerei, dir armen Würstchen nur die Hilfe als Hinweis zu geben. Schließlich könnten wir diese ja dann missbrauchen, um sie als standard-antwort auf deine nächsten 50 Fragen zu benutzen!

    Es wurde dir mit deinem Problem weiter geholfen! Es gab ganz klar einen Hinweis auf die Hilfe. Es wurde dir sogar ein Stichwort (TListView) genannt.
    Das nennt sich dann Hilfe zur Selbsthilfe. Warum sollten wir hier (wobei ich hiermit expliziet mal dem Jansen für seine vielen vielen Beiträge danken möchte) 3 mal am Tag die gleiche Frage beantworten, wenn in der Hilfe sogar ein Beispiel (QUELLTEXT , CODE, Copy & Paste!!!!) für genau dein Problem steht.
    Ich habe mir mal die Mühe gemacht und dir diesen echt extrem schwer zu findenden Beitrag rausgesucht:

    Für dieses Beispiel wird lediglich ein leeres Formular benötigt. Die anderen Objekte (TListView, TListColumns, TListItems) werden zur Laufzeit dynamisch erstellt. Sie müssen #include <comctrls.hpp> am Anfang der Unit einfügen.

    void __fastcall TForm1::FormCreate(TObject *Sender)
    
    {
      const char Names[6][2][10] = 
       {{"Rubble","Barny"},
        {"Michael", "Johnson"},
        {"Bunny", "Bugs"},
        {"Silver", "HiHo"},
        {"Simpson", "Bart"},
        {"Squirrel", "Rocky"}};
    
      TListColumn  *NewColumn;
      TListItem  *ListItem;
      TListView   *ListView = new TListView(this);
    
      ListView->Parent = this;
      ListView->Align = alClient;
      ListView->ViewStyle = vsReport;
      NewColumn = ListView->Columns->Add();
      NewColumn->Caption = "Last";
    
      NewColumn = ListView->Columns->Add();
      NewColumn->Caption = "First";
      for (int i = 0; i < 6; i++)
      {
        ListItem = ListView->Items->Add();
        ListItem->Caption = Names[i][0];
        ListItem->SubItems->Add(Names[i][1]);
      }
    }
    

    Und das du so stinkig auf mich bist, weil ich dir die Uni-Geschichte unterstellt habe.... Ich kanns nicht verstehen.... Schließlich hast du mit billiger Polemik angefangen: Wie es in den Wald ruft, so schallt es wieder heraus.

    Ich will dir hier eigendlich wirklich nicht ans Bein pissen (ok, eigendlich tue ichs ja gerade 😉 ) aber mich hat die dreistigkeit deiner Antwort auf Jansens Tip mit der Hilfe doch schon entsetzt...

    Und du brauchst jetzt auch nicht jede Stunde enttäuschter werden: Standard Frage, Standard Antwort. Der Tip mit der Hilfe war wirklich gut gemeint. Es sollte vor allem dir Helfen, zu verstehen, was du da machst und wie du dir in zukunft auch schnell und einfach selbst helfen kannst. Mit schwierigen Problemen bist du hier immer herzlich willkommen. Wobei schwierig das ist, was nicht (oder nicht auf den ersten Blick) in der Hilfe oder der FAQ zu finden ist. Genauso kannst du hier auch fragen: "Ich will das und das machen. Wie packe ich das am besten an?" Hier sind immer Menschen mit guten Ideen unterwegs. Aber diese erwarten auch, das sie freundlich behandelt werden und man ihnen eine gewisse dankbarkeit für ihre Hilfe entgegenbringt, schließlich machen sie das alles kostenlos.
    Also, vergessen wir das ganze jetzt am besten und einigen uns darauf, das wir es nicht böse mit dir gemeint haben und du uns und unsere Intention falsch gedeutet hast.



  • hi,
    danke ... ja vergessen wirs ...
    also hab das jetzt so gemacht.

    Daten Pers;
     ListView1->Items->Add();
     x = ListView1->Items->Count-1;
     ListView1->Items->Item[x]->Caption = Pers.Name;
     ListView1->Items->Item[x]->SubItems->Add(Pers.Adr);
     ListView1->Items->Item[x]->SubItems->Add(Pers.Str);
    

    Daten ist ein sruct mit AnsiStrings Name, Adr usw.

    das funktionier so weit auch...
    doch bevor ich euch jetzt frag wie das abspeichern geht schau ich mir das selber erst mal an 😉 .... danke soweit ...
    chris



  • Du kannst dir die sache noch etwas vereinfachen:

    TListItem* it;
    for(int i=0; i..)
    {
      it=ListView1->Items->Add();
      it->Caption = Pers.Name;
      it->SubItems->Add(Pers.Adr);
      it->SubItems->Add(Pers.Str);
    }
    

    Das kannste dann nutzen, wenn du z.B. alle Personen in einem Vector hast. Dann kannst du den Vector durchgehen und alle Personen anzeigen.
    ListView1->Items->Add() liefert dir nämlich den Zeiger auf das erstellte Element zurück.

    Und für das abspeichern kannst du entweder eine Datenbank nehmen, oder wenns nicht so gewaltig sein soll, mit fstream in eine Datei schreiben ( z.B. eine Zeile, ein Datensatz) oder du kannst auch TIniFile vergewaltigen...


Anmelden zum Antworten