Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - [Visual C++ - MFC] Problema ListBox e lettura file CFile
Forum - C/C++ - [Visual C++ - MFC] Problema ListBox e lettura file CFile

Avatar
xxmarco94 (Normal User)
Rookie


Messaggi: 28
Iscritto: 07/02/2010

Segnala al moderatore
Postato alle 11:26
Domenica, 18/07/2010
Ciao a tutti, vi spiego velocemente il mio problema:
Io ho creato un programma che deve caricare una lista di file e inserirla in una ListBox e caricare una lista di cartelle e inserirle in una ComboBox.

Il primo problema è con l'inserimento del nome delle cartelle nella combobox.

Posto il codice che uso per popolare la combobox:
Codice sorgente - presumibilmente C/C++

  1. void CGestioneMagazzinoDlg::PopulateCombo()
  2. {
  3.         c_combo.ResetContent();
  4.         c_combo.Dir(DDL_DIRECTORY | DDL_READWRITE,
  5.         CString("C:\\Users\\Marco\\Desktop\\Gestione Magazzino\\Prodotti\\Tipo\\*.*"));
  6. }


La comboBox vieme popolata con il nome di tutte le cartelle, ma il problema è che quando voglio scegliere il nome di una certa cartella non si vede come (per esempio) "CARTELLA_DI_PROVA"  ma si vede "[CARTELLA_DI_PROVA]", praticamente aggiunge le due parentesi quadre.
Come posso fare in modo di non vederele?

Il secondo problema è forse il più difficile. Vi spiego:
in questo programma c'è una listbox che contiene il nome di alcuni file e quando ne seleziono uno, su delle caselle di modifica, posso leggere il contenuto del file.

In questo file ci sono più dati da destinare a più caselle, e sono scritti in righe diverse (es. per i dati della casella uno leggo la prima riga, per la casella due la seconda riga).

Ora io devo fare in modo di leggere il file riga per riga in modo di poter assegnare ogni riga ad una variabile corrispondente ad una casella di modifica.

Ecco come ho fatto, solo che scrive tutto il contenuto del file in una sola casella.
Codice sorgente - presumibilmente C/C++

  1. CString indirizzo;
  2.         UINT BytesRead;
  3.         char buffer[512];
  4.  
  5.         indirizzo = CString("C:\\Users\\Marco\\Desktop\\Gestione Magazzino\\Prodotti\\Nome\\") + CString(NomePrdSel);
  6.  
  7.         m_desc = indirizzo;
  8.  
  9.         CFile prodotto(indirizzo, CFile::modeRead);
  10.  
  11.         while(BytesRead = prodotto.Read(buffer, sizeof(buffer)))
  12.         {              
  13.                 buffer[BytesRead] = NULL;
  14.                 m_nome = CString(buffer);
  15.         }
  16.                 prodotto.Close();
  17.        
  18.         UpdateData(false);


PM Quote