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# / VB.NET - [Visual C++ - MFC] Problema ComboBox e lettura file con CFile::Read()
Forum - C# / VB.NET - [Visual C++ - MFC] Problema ComboBox e lettura file con CFile::Read()

Avatar
xxmarco94 (Normal User)
Rookie


Messaggi: 28
Iscritto: 07/02/2010

Segnala al moderatore
Postato alle 22:57
Sabato, 17/07/2010
Questo topic è stato chiuso dal moderatore

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# / VB.NET

  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# / VB.NET

  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);


Ultima modifica effettuata da xxmarco94 il 17/07/2010 alle 22:59
PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2764
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 1:12
Domenica, 18/07/2010

credo tu abbia sbagliato sezione :)

inoltre riguardo ai tuoi "problemi", cos'è hai un db su file? usi mfc nel 2010? se è un nuovo progetto sei sulla strada sbagliata :)


Ingegnere Informatico
https://ldlagency.it
PM
Avatar
xxmarco94 (Normal User)
Rookie


Messaggi: 28
Iscritto: 07/02/2010

Segnala al moderatore
Postato alle 10:43
Domenica, 18/07/2010
ok allora io uso mfc sul visual studio 2010 e il file non è un file database ma un semplice file .txt.
Se questa è la sezione sbagliata, mi potreste dire dove dovrei postare la mia domanda?

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2764
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 10:50
Domenica, 18/07/2010
Testo quotato

Postato originariamente da xxmarco94:

ok allora io uso mfc sul visual studio 2010 e il file non è un file database ma un semplice file .txt.
Se questa è la sezione sbagliata, mi potreste dire dove dovrei postare la mia domanda?



la sezione è quella C++ :)

cmq non ha senso sviluppare nel 2010 un nuovo software con una tecnologia (MFC) ormai deprecata e obsoleta. Molto meglio investire il proprio tempo (e denaro) nello studio di .NET, e in particolare sul C# :k:


Ingegnere Informatico
https://ldlagency.it
PM
Avatar
xxmarco94 (Normal User)
Rookie


Messaggi: 28
Iscritto: 07/02/2010

Segnala al moderatore
Postato alle 11:24
Domenica, 18/07/2010
Ok seguirò il consiglio e studioerò anche il .NET ma per ora voglio finire questo programma in MFC anche perchè non mi manca molto per finirlo.

Mi sposto in C++.

PM