Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design
OnePlus 15 nasce per alzare l'asticella delle prestazioni e del gaming mobile. Ma non solo, visto che integra un display LTPO 1,5K a 165 Hz, OxygenOS 16 con funzioni AI integrate e un comparto foto con tre moduli da 50 MP al posteriore. La batteria da 7.300 mAh con SUPERVOOC 120 W e AIRVOOC 50 W è la ciliegina sulla torta per uno smartphone che promette di offrire un'esperienza d'uso senza alcun compromesso
AMD Ryzen 5 7500X3D: la nuova CPU da gaming con 3D V-Cache per la fascia media
AMD Ryzen 5 7500X3D: la nuova CPU da gaming con 3D V-Cache per la fascia media
Vediamo come si comporta il Ryzen 5 7500X3D, nuovo processore di casa AMD che fonde 6 core Zen 4 con la tecnologia 3D V-Cache, particolarmente utile in scenari come il gaming. Annunciato a un prezzo di listino di 279€, il nuovo arrivato sarà in grado di diventare un riferimento per i sistemi budget? Ecco cosa ne pensiamo.
SONY BRAVIA 8 II e BRAVIA Theatre System 6: il cinema a casa in formato compatto
SONY BRAVIA 8 II e BRAVIA Theatre System 6: il cinema a casa in formato compatto
Bravia 8 II rinnova l’eredità dell’A95L con maggiore luminosità e colori più precisi. Il taglio da 55” offre un’esperienza cinematografica immersiva anche in spazi ridotti, amplificata dalla soundbar Sony Theatre System 6
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


Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design   Recensione OnePlus 15: potenza da vendere e batt...
AMD Ryzen 5 7500X3D: la nuova CPU da gaming con 3D V-Cache per la fascia media AMD Ryzen 5 7500X3D: la nuova CPU da gaming con ...
SONY BRAVIA 8 II e BRAVIA Theatre System 6: il cinema a casa in formato compatto SONY BRAVIA 8 II e BRAVIA Theatre System 6: il c...
KTC H27E6 a 300Hz e 1ms: come i rivali ma a metà prezzo KTC H27E6 a 300Hz e 1ms: come i rivali ma a met&...
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare Cineca inaugura Pitagora, il supercomputer Lenov...
Etica e software libero protagonisti a S...
Il reattore che ricarica le batterie sca...
AMD FSR Redstone: la nuova tecnologia ba...
Meta Quest 3S a un prezzo senza preceden...
Rischio per gli SSD? I driver chipset AM...
Quanto sono 'woke' le intelligenze artif...
Rockstar rilancia Red Dead Redemption su...
Blue Origin centra l'obiettivo: New Glen...
Regali di Natale spendendo poco con il B...
Windows 11/10: Microsoft chiude per semp...
Speciale CMF Nothing: smartphone, smartw...
Cooler Master presenta MasterFrame 400 M...
ChatGPT lancia le chat di gruppo collabo...
Galaxy S25 Ultra a un prezzo pazzesco: i...
Lenovo e NVIDIA GeForce RTX Serie 50: co...
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: 15:01.


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