Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [DELPHI]prendere item e subitem da listview

    Ciao
    sto impazzendooo
    ho una listview che viene popolata da un TOpenDialog in questo modo
    Codice PHP:
      for := 0 to openDialog1.Files.Count-do
        
    begin
      ListItem 
    := ListView1.Items.Insert(i);
      
    ListItem.Caption := ExtractFileName(openDialog1.Files[i]);
      
    ListItem.SubItems.Text := ExtractFilePath(openDialog1.Files[i]);
      
    end
    e fino a qui tutto ok... carica il tutto...
    adesso dovrei una volta popolata al click concatenare i item e subitem e mandarli ad una variabile..
    il problema è che di subitem viene preso solo il primo carattere
    questo il codice
    Codice PHP:
       mp3File := 
       
    Listview1.Items[Listview1.ItemIndex].SubItems.text[1+Listview1.ItemIndex]+
       
    Listview1.Items[Listview1.ItemIndex].Caption
       

    VVoVe:

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    premetto che non ho dimistichezza con listview

    questo il mio dubbio:

    quando assegni i valori fai cosi:
    codice:
      ListItem := ListView1.Items.Insert(i);
      ListItem.Caption := ExtractFileName(openDialog1.Files[i]);
      ListItem.SubItems.Text := ExtractFilePath(openDialog1.Files[i]);
    quando li leggi fai cosi:
    codice:
       Listview1.Items[Listview1.ItemIndex].SubItems.text[1+Listview1.ItemIndex]+
       Listview1.Items[Listview1.ItemIndex].Caption
    perche sommi 1??? SubItems.text[1 +Listview1.ItemIndex]

  3. #3
    perchè stranamente se non parto da +1 mi da errore

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    non saprei che dire, dovrei fare delle prove...

    metto un listview su una form... posta il codice per caricare il listview e per effettuare la selezione

  5. #5
    Codice PHP:
    //apro finestra dialogo per caricare file
    procedure Tappsong.OpenDialog1CanClose(SenderTObject; var CanCloseBoolean);
    var 
    i:integer;
        
    ListItemTListItem;

    begin
      
    for := 0 to openDialog1.Files.Count-do
        
    begin
      ListItem 
    := ListView1.Items.Insert(i);
      
    ListItem.Caption := ExtractFileName(openDialog1.Files[i]);
      
    ListItem.SubItems.Text := ExtractFilePath(openDialog1.Files[i]);
      
    end;
      if 
    openDialog1.Files.Count<>0 then
        begin
          countSong
    ;
          
    enablePopMenu(true);
        
    end;
    end;


    //al click apro una canzone
    procedure Tappsong.songListClick(SenderTObject);
    begin
       mp3File 
    := mp3File ' - ' +
       
    Listview1.Items[Listview1.ItemIndex].SubItems.text[1+Listview1.ItemIndex]+
       
    Listview1.Items[Listview1.ItemIndex].Caption
       
    ;
       
    totSong.Caption := mp3File;
    end
    la listview non la creo runtime
    Codice PHP:
      object ListView1TListView
        Left 
    8
        Top 
    81
        Width 
    601
        Height 
    137
        Columns 
    = <
          
    item
            AutoSize 
    True
            Caption 
    'Nome File'
          
    end
          item
            AutoSize 
    True
            Caption 
    'url'
          
    end
          item
            Caption 
    'durata'
          
    end>
        
    ColumnClick False
        ReadOnly 
    True
        RowSelect 
    True
        TabOrder 
    8
        ViewStyle 
    vsReport
        OnClick 
    songListClick
      end 

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    mancano troppe cose per poter utilizzare questo codice...
    es.: totSong ... countsong

    non riesco a fare una prova cosi.

    e poi io sto facendo confusione che componente e' TlistItem e il TListview.

    non mi e' chiara.....

    io per caricare il listview farei una cosa del genere...
    codice:
      for i := 0 to openDialog1.Files.Count-1 do
        begin
         ListView1.Items.Add;
         ListView1.Items[ListView1.Items.Count-1].Caption:=ExtractFileName(openDialog1.Files[i]);
         ListView1.Items[ListView1.Items.Count-1].SubItems.Text:= ExtractFilePath(openDialog1.Files[i]);
      end;

  7. #7
    cmq il problema non è nell'inserire (quello fa il suo dovere).. ma nel prendere quello che inserito

  8. #8
    risolto....
    Codice PHP:
       Listview1.Items[Listview1.ItemIndex].SubItems.[0]+
     
    // NON COSì  Listview1.Items[Listview1.ItemIndex].SubItems.text[1+Listview1.ItemIndex] 
    In quel modo non specificavo quale subitems

  9. #9
    scusate... ma come si disabilita il beep al click di una riga?

  10. #10
    per disabilitare il beep di sistema
    Codice PHP:
    SystemParametersInfo(SPI_SETBEEP0nilSPIF_SENDWININICHANGE); 

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.