Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Abbiamo provato per dieci giorni la Hyundai IONIQ 5 N, con 650 CV, 770 Nm e uno 0-100 km/h in 3,4 secondi. Il suo punto forte è N e-Shift, che simula un cambio a otto rapporti con suoni da motore termico e perfino un bang supersonico
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale
La prima tappa italiana della Road to CES porta a Milano i vertici della Consumer Technology Association, con una nuova griglia di lettura dei trend tecnologici e una posizione netta su dazi e regolamentazione dell'IA
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP
Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP
OPPO ha appena lanciato sul mercato la nuova serie Find X10, che ha come smartphone premium il Find X10 Pro Max, uno smartphone completo, che fa del comparto fotografico il suo vero punto di forza. Ma sono tante le novità, tra cui l'AI che adesso diventa agentica. Ma andiamo a vedere nel dettaglio questo nuovo smartphone.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 31-07-2008, 11:28   #1
Barbalbero
Registered User
 
Iscritto dal: Aug 2006
Messaggi: 305
[C++] Visual Studio 2005. Principiante

Io arrivo dalla programmazione in Java e in particolar modo dall'ambiente Netbeans.
Sto sperimentando problemi nella semplice creazione di una applicazione MFC con Visual Studio.
Mi servirebbero dei chiarimenti...
Creo il progetto "prova" come applicazione di dialogo MFC.
E fin qui nessun problema.
Ora esisteranno
prova.cpp
provaDlg.cpp
prova.rc

Io apro prova.rc e IDD_PROVA_DIALOG che è il form che visual studio mi crea di default. A destra ho la mia casella degli strumenti.
E fin qua tutto tranquillo, come in java.
Inserisco ad esempio uno Static Text che chiamerò TESTOESEMPIO.
Ora ho il form con dentro l'etichetta TESTOESEMPIO.
Creo un tasto che chiamerò TASTO, faccio doppio click e definisco la funzione che voglio eseguire quando clicco su TASTO.

Voglio che quando clicco il tasto TESTOESEMPIO.Caption = "FUNZIONA!

In Java avrei fatto TESTOESEMPIO.Caption = "FUNZIONA!"
ma qui la storia è diversa. Innanzitutto TESTOESEMPIO è un oggetto che non riesco a capire in che file sia dichiarato. Sapere questo risolverebbe il 50% dei miei problemi.
Insomma...è solo una riga di codice che devo scrivere, ma non so come inventarla....
mi date una mano per favore?
Barbalbero è offline   Rispondi citando il messaggio o parte di esso
Old 31-07-2008, 12:52   #2
Barbalbero
Registered User
 
Iscritto dal: Aug 2006
Messaggi: 305
Devo convertire una Cstring in const char *

Ho provato così:

Codice:
const char * tmp = (LPCSTR)path;
ma mi da questo errore

error C2440: 'cast di tipo': impossibile convertire da 'CString' a 'LPCSTR'
Nessun operatore di conversione definito dall'utente è disponibile o è impossibile chiamare l'operatore

Ho provato così:

Codice:
const char * tmp = _T(path);
ma da questo errore:

error C2065: 'Lpath': identificatore non dichiarato


Ho provato ad usare questo
Codice:
const char * tmp = path.GetBuffer(path.GetLength);
ma mi da questo errore:

error C3867: '&ATL::CSimpleStringT<BaseType,t_bMFCDLL>::GetLength': chiamata di funzione senza elenco di argomenti; utilizzare 'ATL::CSimpleStringT<BaseType,t_bMFCDLL>::GetLength' per creare un puntatore al membro
with
[
BaseType=wchar_t,
t_bMFCDLL=true
]

Come faccio?
Barbalbero è offline   Rispondi citando il messaggio o parte di esso
Old 31-07-2008, 13:14   #3
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
usare il metodo GetString()?
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 31-07-2008, 13:17   #4
Barbalbero
Registered User
 
Iscritto dal: Aug 2006
Messaggi: 305
Quote:
Originariamente inviato da tomminno Guarda i messaggi
usare il metodo GetString()?
Codice:
const char * tmp = path.GetString();
Errore:
error C2440: 'inizializzazione': impossibile convertire da 'const wchar_t *' a 'const char *'
Barbalbero è offline   Rispondi citando il messaggio o parte di esso
Old 31-07-2008, 13:31   #5
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da Barbalbero Guarda i messaggi
Io arrivo dalla programmazione in Java e in particolar modo dall'ambiente Netbeans.
Sto sperimentando problemi nella semplice creazione di una applicazione MFC con Visual Studio.
Mi servirebbero dei chiarimenti...
Creo il progetto "prova" come applicazione di dialogo MFC.
E fin qui nessun problema.
Ora esisteranno
prova.cpp
provaDlg.cpp
prova.rc
Complimenti per... la pessima scelta.
Penso che di tutte le librerie grafiche disponibili per il C++ le MFC siano le peggiori.

Quote:
Io apro prova.rc e IDD_PROVA_DIALOG che è il form che visual studio mi crea di default. A destra ho la mia casella degli strumenti.
E fin qua tutto tranquillo, come in java.
Inserisco ad esempio uno Static Text che chiamerò TESTOESEMPIO.
Ora ho il form con dentro l'etichetta TESTOESEMPIO.
Creo un tasto che chiamerò TASTO, faccio doppio click e definisco la funzione che voglio eseguire quando clicco su TASTO.

Voglio che quando clicco il tasto TESTOESEMPIO.Caption = "FUNZIONA!

In Java avrei fatto TESTOESEMPIO.Caption = "FUNZIONA!"
ma qui la storia è diversa. Innanzitutto TESTOESEMPIO è un oggetto che non riesco a capire in che file sia dichiarato. Sapere questo risolverebbe il 50% dei miei problemi.
Insomma...è solo una riga di codice che devo scrivere, ma non so come inventarla....
mi date una mano per favore?
Per prima cosa ti conviene associare una variabile al controllo che disegni con l'editor (altrimenti devi andare di GetDlgItem), lo fai con il tasto destro e "Add Variable", poi per impostare il testo usi il metodo SetWindowText.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 31-07-2008, 13:33   #6
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da Barbalbero Guarda i messaggi
Codice:
const char * tmp = path.GetString();
Errore:
error C2440: 'inizializzazione': impossibile convertire da 'const wchar_t *' a 'const char *'
Perchè hai un progetto con caratteri unicode.
Se vai tra le proprietà del progetto alla voce General troverai il campo Character Set, devi impostarlo su not set.
Altrimenti usi wchar_t e la macro _T per convertire le strighe costanti.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 31-07-2008, 13:49   #7
Barbalbero
Registered User
 
Iscritto dal: Aug 2006
Messaggi: 305
Ho messo not set e ora oltre agli errori di prima mi da questi due warning

warning C4651: '/D_UNICODE' specificato per l'intestazione precompilata ma non per la compilazione corrente
warning C4651: '/DUNICODE' specificato per l'intestazione precompilata ma non per la compilazione corrente

Forse devo impostare not set anche altrove...


Quote:
Complimenti per... la pessima scelta.
Penso che di tutte le librerie grafiche disponibili per il C++ le MFC siano le peggiori.
Beh guarda...non è stata proprio una scelta. Io devo usare le libererie openCV e il primo "ambiente" (non so come si definisce visual studio in termine tecnico e non voglio rischiare di essere aggredito dai "saccenti" come spesso accade) che mi è capitato sotto mano, l'ho usato.
Se hai consigli migliori, ben venga, visto che per ora non sono riuscito ancora a combinare niente (a parte due o tre righe copiate e incollate) e ho ancora un mese e mezzo di tempo
Barbalbero è offline   Rispondi citando il messaggio o parte di esso
Old 31-07-2008, 14:04   #8
Barbalbero
Registered User
 
Iscritto dal: Aug 2006
Messaggi: 305
OOH! Ho cambiato. Ho dismesso MFC e ho fatto un' "applicazione windows".

Ora il form è in un file.h e la presentazione grafica modifica direttamente il file.h esattamente come avviene con Java.
Barbalbero è offline   Rispondi citando il messaggio o parte di esso
Old 31-07-2008, 14:05   #9
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da Barbalbero Guarda i messaggi
Ho messo not set e ora oltre agli errori di prima mi da questi due warning

warning C4651: '/D_UNICODE' specificato per l'intestazione precompilata ma non per la compilazione corrente
warning C4651: '/DUNICODE' specificato per l'intestazione precompilata ma non per la compilazione corrente

Forse devo impostare not set anche altrove...
Ricompila l'intero progetto.

Quote:
Beh guarda...non è stata proprio una scelta. Io devo usare le libererie openCV e il primo "ambiente" (non so come si definisce visual studio in termine tecnico e non voglio rischiare di essere aggredito dai "saccenti" come spesso accade) che mi è capitato sotto mano, l'ho usato.
Se hai consigli migliori, ben venga, visto che per ora non sono riuscito ancora a combinare niente (a parte due o tre righe copiate e incollate) e ho ancora un mese e mezzo di tempo
La vedo dura in un mese e mezzo prendere confidenza con delle librerie grafiche e un ambiente del tutto sconosciuto.
Io ho usato le OpenCV con le wxWidgets, ma visto la ristrettezza dei tempi che hai a questo punto puoi pure continuare con le MFC.
Cosa devi fare di preciso?
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 31-07-2008, 14:08   #10
Barbalbero
Registered User
 
Iscritto dal: Aug 2006
Messaggi: 305
Devo creare un'applicazione che partendo da un face detector già fatto (utilizzerò quello d'esempio con le openCV), estragga le caratteristiche quali occhi e bocca e riconosca l'espressione facciale. La teoria me la sono già assorbita tutta, ora devo metterlo in pratica.
Barbalbero è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato WoW Forever provato: il MMORPG che la community ...
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita TCL P80 Ultra: con un display AMOLED opaco &egra...
Frontier impiega 7.536 GPU AMD per tracc...
I problemi di ULA Vulcan Centaur e il ri...
L'alta disponibilità è fac...
NetSuite affida agli agenti di IA il lav...
Gemini Notebook si gestisce dalla chat, ...
Pearla Revela è su Mac: foto e video sul...
Intel APX arriva su Windows 11, in attes...
Un file nella cartella Download pu&ograv...
DLSS 5 troppo pesante? Un modder trova i...
L'India punta sul metano: ISRO sviluppa ...
EA guarda al futuro: Star Wars Battlefro...
Nikkor Z 120-300mm f/2.8 atteso il 28-29...
Sviluppare con l'AI non significa softwa...
Apple crede in iPhone Duo: la produzione...
Un cane robot usa i piedi come mani e ri...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:03.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v