Viele fragen zu Listview



  • Hallo leute!
    Ich habe einige nüzliche sachen schon mit der suchfunktion gefunden jedoch bei einigen falschen quelltext o.ä. deshalb wollte ich mal die wichtigsten fragen (auch wenn sie für euch dumm sind denn ich bin kein c++ guru) stellen.

    1. Ich möchte wenn man in meinem style vsReport oben auf ein Thema klickt, nach diesem thema alphabetisch diese spalte geordnet wird. es gab hier ein thema indem ein beispiel war jedoch leider fehlerhaft... das thema das ich meine ist folgendes: ListView in Report-Ansicht sortieren

    2. Wenn ich den inhalt der Listview drucken möchte (den kompletten inhalt) mit einem printdialog...mit nem memofeld kein problem...mit dem listview aber leider schon...

    3. Ich möchte den kompletten inhalt in eine .txt datei z.b. speichern, und natürlich laden können...ja irgend ein paar forschleifen etc...nur wie...???

    4. welche eigenschaft muss ich aktivieren um einzelne zellen in dem grid markieren zu können?? bzw. dafür gibt es dann auch sicher eine methode in der ich dann wiederum sagen kann editiere diese spalte/zeile oder?

    5. ich habe in meinem ersten formular ein kleines login gemacht das auch wunderbar funktioniert. nur sobald ich dann das zweite formular aufrufe falls die richtigen daten eingetragen wurden bleibt das login fenster im hintergrund. sobald ich dieses schliesse werden alle fenster geschlossen...wenn ich es auf hide stelle ist es nur versteckt aber ich kann es dann logischerweise auch nicht schliessen..dafür auch ne lösung??

    ich weiss leute viele fragen und um ehrlich zu sein ich bin ein c++ n00b also bitte nicht zu komplizierte antworten und wenns geht mit quelltext da ich sonst GAR NIX checke...

    lob an euer board nach dem was ich bisher gesehen habe 🙂

    und thx 4 help im vorraus.

    greetz defjam01



    den fehler findest du auch alleine. der wird im 2. posting doch beschrieben!

    2. noch nicht gemacht

    2 schleifen anlegen
    über alle zeilen gehen
    dann für jede zeile alle subitems durchgehen

    jedes item einer zeile kannst du zum beispiel in eine TStringList schreiben (getrennt durch komma oder semikolon) und am ende mit SaveToFile in ner Datei speichern.

    schau die mal MultiSelect an

    du hast dein hauptformular als login-fenster missbraucht. besser ist es, wenn du ein 2. formular anlegst du im oncreate des hauptformulars dieses anzeigst (musst du dann natürlich schon vorher erzeugt haben (in der WINMAIN z.b.)). wenn dann der login falsch ist, machste ein Terminate() und schiesst die anwendung wieder ab.

    quellcode gibts keinen. das bekommst du auch so hin. musst du dich halt ein bissel mit der materie auseinander setzen. alle anderen machen das genauso!



  • Original erstellt von defjam01:
    Ich habe einige nüzliche sachen schon mit der suchfunktion gefunden jedoch bei einigen falschen quelltext o.ä. deshalb wollte ich mal die wichtigsten fragen (auch wenn sie für euch dumm sind denn ich bin kein c++ guru) stellen.

    Das ist schon richtig so. Aber grundsätzlich gehört eigentlich pro thema ein Thread erstellt.

    1. Ja, die Quelle ist fehlerhaft, der Ansatz allerdings richtig. bist du denn den hinweisen die dir der Thread liefert shcon nachgegangen? Man muss kein Guru sein um lesen zu können(...)

    3. Schonmal die Hilfe zum Thema ListView befragt? wenn man doch nur wüsste was "SpeichereInDatei" auf englisch heisst hmm? (:

    4. Nein gibt es nicht. Dann müsstest du auf ein TStringGrid zurückgreifen wenn du sowas implementieren wolltest.

    5. a) Hat diese Frage nix mit dem ListView zu tun (siehe meine einleitende bemerkung)
    b) Schau dir http://www.bytesandmore.de/rad/ hier mal den Artikel zum Spalsh-Screen an. Was ähnlcihes könntest du auch mit dem Login-Form realisieren.

    Original erstellt von defjam01:
    ich weiss leute viele fragen und um ehrlich zu sein ich bin ein c++ n00b also bitte nicht zu komplizierte antworten und wenns geht mit quelltext da ich sonst GAR NIX checke...

    Ich hoffe die Antworten sind nicht allzu kompliziert.

    Was den Quelltext anbelangt, so ist das eigentlich nicht der übliche Weg. Normaler weise beschäftigt der der das Problem hat sich mit der Lösung des Problems und geht den Hinweisen die er kriegt nach. Hat er was nicht verstanden hakt er nach.

    Die Tatsache dass du ein c++ neuling bist, sollte dich nicht davon abhalten etwas zu recherchieren und so. Ich glaube auch nicht, dass du gar nix checkst. Du solltest dein Licht nicht so stark unter den Scheffel stellen...

    -junix

    <edit>damn, sunday war mal wieder schneller (:
    @Sunday: Wieso 3. so kompliziert lösen? (:
    Das unter 4. ist nicht dein Ernst oder? Mir war eigentlich dass das nicht geht?
    </edit>

    [ Dieser Beitrag wurde am 06.03.2003 um 13:26 Uhr von junix editiert. ]



  • soso...
    zu 1.

    void __fastcall TForm1::ListView1ColumnClick(TObject *Sender, TListColumn *Column)

    {
    ColumnToSort = Column->Index;
    ((TCustomListView *)Sender)->AlphaSort();
    }

    void __fastcall TForm1.ListView1Compare(TObject *Sender, TListItem *Item1, TListItem *Item2, int Data, int &Compare)
    {
    if (ColumnToSort == 0)
    Compare = CompareText(Item1->Caption,Item2->Caption); // das funktioniert noch!
    else
    {
    int ix = ColumnToSort – 1;
    Compare = CompareText(Item1->SubItems[ix], Item2->SubItems[ix]); // hier ist der Fehler!
    }
    }

    und überall wo SubItems[ix] steht mit SubItems[index] tauschen ???????
    -> das habe ich aus der antwort dieses oben angegebenen threads verstanden...

    Zu 3:

    "Schonmal die Hilfe zum Thema ListView befragt? wenn man doch nur wüsste was "SpeichereInDatei" auf englisch heisst hmm? (:" <--- ja nur da gibt es keine möglichkeit für den LISTVIEW! für treeview etc. gibts das unter savetofile.



  • @junix

    ohja stimmt, damit da kann man ja ne schleife weglassen

    naja Multiselect ermöglicht mehrfachauswahl (aber glaub bloss der caption und nicht von subitems). dafür sollte man dann doch eher StringGrid nehmen.

    @defjam01

    SubItems -> Methoden

    hast du den 2. post (dort wo du die sortierung her hast) immer noch nicht gelesen??


Anmelden zum Antworten