und noch ein paar fragen



  • hi
    also ich hab in einer unit eine directorylistbo und eine filelistbox und ich will das über einen knopf in eine listview einfügen (ich hab ein subitem in der liste).
    von daaus wollte ich das mit einem button starten ( wollte das mit Shellexecute machen, weiss aber nicht wie man parameter da ein baut)

    Kann mir bitte einer helfen

    danke im voraus



  • Zu ShellExecute findest du tausende Threads mit Beispielcode hier im Forum (Suchfunktion benutzen!).

    Über TFileListBox::ItemIndex bzw. ::Selected bekommst du den Index des bzw. der selektierten Items. Mit diesem Index kannst du dir den zugehörigen String aus TListBox::Items::Strings holen.

    In Zukunft bitte die Faustregel beachten: ein Thema pro Thread, ein Thread pro Thema. Dann fällt es dir auch leichter, eine aussagekräftige Überschrift zu formulieren.
    Danke!



  • uuups..
    sorry

    trotzdem danke



  • hmmm...
    jetzt hab ich das dar stehen

    void __fastcall TForm3::Button1Click(TObject *Sender)
    {
    AnsiString j = ".exe";
    ListView1->Columns->Dir->Add(j);
    }
    

    dann kommt der fehler

    'Dir' ist kein element von TListColumns
    

    wenn ich stat 'Dir' '0' hinsetzte kommt der Fehler

    Element bezeichner erwartet
    


  • okay geht jetzt aber dann steht da nur .exe ich wollte aber den ganzen pfad mit .exe haben.



  • Hallo

    naja, du must natürlich einen Pfad in j schreiben.
    Wenn du eine FileListBox hast, kannst du es ja soch machen

    void __fastcall TForm3::Button1Click(TObject *Sender)
    {
    ListView1->...->Add(FileListBox1->FileName);
    }
    

    bis bald
    akari



  • cool danke klappt
    und wie bekomme ich das hin das der das zu ner anderen Unit packt???



  • majin schrieb:

    und wie bekomme ich das hin das der das zu ner anderen Unit packt???

    'Wer' soll 'was' in welche 'andere Unit' packen?

    Verwirrung = Max_Verwirrung;
    if (Verwirrung == Max_Verwirrung)
       ShowMessage("Frage ist unklar!\nBitte Frage neu formulieren.");
    


  • ich meine wie ich texte in eine listview aus einer anderen form Hinzufüge



  • Siehe FAQ unter "Forms - Variablenübergabe an andere Form".

    Und bitte o.g. Faustregel beachten!



  • Oh man es klappt einfch nicht
    ich hab das schon tausend mal probiert

    Form1->ListView1->Columns->Item[0]->Add(Edit1);
    

    dann kommt der fehler

    'Item' ist kein Item von 'ListColumns'
    

    was ist denn daran falsch??

    danke im voraus



  • Hallo,

    Bei Columns handelt es sich um Spaltenköpfe :

    Das fügt eine neue Spalte hinzu :

    TListColumn *NeuColumn;
    NeuColumn          = Form1->ListView1->Columns->Add();
    NeuColumn->Caption = Edit1->Text;
    

    Das füllt eine vorhandene Spalte aus :

    TListColumn *TestColumn;
    TestColumn          = Form1->ListView1->Column[0];
    TestColumn->Caption = Edit1->Text;
    

    Das fügt eine neue Zeile hinzu :

    TListItem *NeuItem;
    NeuItem          = Form1->ListView1->Items->Add();
    NeuItem->Caption = Edit1->Text;
    NeuItem->SubItems->Add(Edit2->Text);  // Zweite Spalte
    

    Das füllt eine vorhandene Zeile aus :

    TListItem *TestItem;
    TestItem          = Form1->ListView1->Items->Item[0];  // Erste Zeile ... oder...
    TestItem          = Form1->ListView1->Selected;        // Markierte Zeile
    if (TestItem != NULL)
    {
      TestItem->Caption = Edit1->Text;
      if (TestItem->SubItems->Count > 0)
        TestItem->SubItems->Strings[0] = Edit2->Text;
    }  // if (TestItem != NULL)
    

    Bis dann denn,
    🙂
    Nash



  • Ja thx jetzt klappt alles

    Danke an alle



  • hab nicht gefunden wo ich danach gesucht hab und ein neuen thread wollte ich auch nicht aufmachen
    ------------------------------------------------------------------
    ich hab Edit1 und Button1 wie kann ich das programm mit den parametern die ich in edit1 reingeschrieben habe starten?

    ich hab das mal so ausprobiert

    '+Edit1->Text+'
    

    funzt aber nicht

    thx im voraus



  • Hallo

    etwas zum Umgang mit AnsiStrings :

    AnsiString x;
    x = Edit1->Text;
    x = x + Edit2->Text;
    

    bis bald
    akari



  • majin schrieb:

    hab nicht gefunden wo ich danach gesucht hab und ein neuen thread wollte ich auch nicht aufmachen

    Zum dritten Mal: ein Thema pro Thread, ein Thread pro Thema! Dann fällt es dir auch leicht(er), eine sinnvolle Überschrift zu formulieren.

    Scheinbar hilft nur die harte Tour ;), deshalb mach ich hier mal zu.


Anmelden zum Antworten