Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
ASUS Expertbook PM3: il notebook robusto per le aziende
ASUS Expertbook PM3: il notebook robusto per le aziende
Pensato per le necessità del pubblico d'azienda, ASUS Expertbook PM3 abbina uno chassis particolrmente robusto ad un pannello da 16 pollici di diagonale che avantaggia la produttività personale. Sotto la scocca troviamo un processore AMD Ryzen AI 7 350, che grazie alla certificazione Copilot+ PC permette di sfruttare al meglio l'accelerazione degli ambiti di intelligenza artificiale
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Abbiamo provato per diversi giorni una new entry del mercato italiano, la Gowow Ori, una moto elettrica da off-road, omologata anche per la strada, che sfrutta una pendrive USB per cambiare radicalmente le sue prestazioni
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-07-2009, 16:35   #1
ChriD
Senior Member
 
L'Avatar di ChriD
 
Iscritto dal: Sep 2002
Città: Ischia
Messaggi: 5295
Perchè C++ sotto Windows diventa così complicato!

Volevo scrivere una semplice applicazione sotto windows in c++ per pare alcune modifiche ai dei files radicati in una specifica directory!
Ho scaricato Visual C++ Express! L'applicazione lavora tramite console per il momento, poi in futuro vedrò di realizzare qualcosa di grafico!

In Java l'avrei fatto in poco tempo ma sotto windows "MAMMA MIA"!!!

Già solo ottenere la lista dei files in una directory diventa un casino....

Ho trovato un pò di codice in rete

Codice:
WIN32_FIND_DATA mydata;
HANDLE myHandle=FindFirstFile("c:\\prova",&mydata);
Questo servirebbe per leggere il primo file e piazzarlo in mydata! Il problema è che già quel "c:\\prova" non lo vuole perchè dice che non riesce a fare una conversione da const char* a LPCWSTR (ma che roba è )

Premetto che di C++ non me ne intendo molto ma ho masticato parecchio C sotto linux (sono laureato in informatica) e solo un pochino di c++!

Successivamente per leggere tutti i files potrei fare un ciclo invocando il metodo FindNextFile e controllare fin quando non ritorno al file di partenza!

Il discorso è che mi mancano le conoscenze sulle API Win32 e l'ambiente .net! Tuttavi per il programmino (mi vergono anche a chiamarlo così) che voglio realizzare non credevo ci volesse tutta questa conoscenza... boh

Mi date una mano
__________________
Ryzen 1700X - Asus Crosshair VI X370 - DDR4 16 GB G.Skill Trident 3400 CL16 - NZXT Kraken X62 (Arctic Freezer 7 replacing ) - Samsung SSD 850 EVO 512GB - Corsair AX850 Gold - Phanteks Enthoo EVOLV Temperated Glass - LG 34UC88
ChriD è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 16:52   #2
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da ChriD Guarda i messaggi
Il discorso è che mi mancano le conoscenze sulle API Win32 e l'ambiente .net! Tuttavi per il programmino (mi vergono anche a chiamarlo così) che voglio realizzare non credevo ci volesse tutta questa conoscenza... boh
Il problema è questo.
Interfacciarsi con le API Win32 per scrivere un'applicazione (magari con tanto di GUI) è sicuramente più complesso che realizzare l'equivalente in Java o in .NET.

Soprattutto quando in Java hai già lavorato e invece in C++ su Windows sei alle prime armi. Direi che è normale "sentire un certo sbalzo", in questi casi.
Percui sì: ci vuole "tutta quella conoscenza".

Se vuoi ricevere aiuti specifici dovresti postare domande specifiche e/o spezzoni di codice sul quale hai dubbi; se qualche utente esperto in materia ti legge avrai la possibilità di ricevere un aiuto specifico.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 17:15   #3
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Qui trovi una soluzione ufficiale:

http://msdn.microsoft.com/en-us/libr...00(VS.85).aspx
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 17:16   #4
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12869
Personalmente ti consiglio di usare C#
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 17:34   #5
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Io gli consiglio di usare un linguaggio "agile". In 3 righe di codice:
Codice:
Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> for File in os.listdir(r'C:\\'):
...   print File
...
Boot
bootmgr
BOOTSECT.BAK
Documents and Settings
grldr
Ice-3.2.0
IcePy-3.2.0
MSOCache
pagefile.sys
PerfLogs
Program Files
Program Files (x86)
ProgramData
Programmi
ProjectTemplates
Python25
PythonForDelphi
System Volume Information
Temp
tmp
Users
Windows
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 18:01   #6
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Io gli consiglio di usare un linguaggio "agile". In 3 righe di codice:
Codice:
Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> for File in os.listdir(r'C:\\'):
...   print File
...
In 2 righe
Codice:
USING: io io.directories ;
"c:\\" directory-files [ print ] each
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 18:07   #7
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Quote:
Originariamente inviato da ChriD Guarda i messaggi
Il discorso è che mi mancano le conoscenze sulle API Win32 e l'ambiente .net! Tuttavi per il programmino (mi vergono anche a chiamarlo così) che voglio realizzare non credevo ci volesse tutta questa conoscenza... boh

Mi date una mano
Sei obbligato ad usare le API Win32? Perchè altrimenti potresti considerare una libreria più sana di mente, tipo...
http://www.boost.org/doc/libs/1_39_0.../doc/index.htm
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 18:11   #8
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
1 riga:

(FileDirectory on: 'z:\\') fileNames do: [:x|Transcript show: x;cr.].
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 18:18   #9
javaboy
Registered User
 
Iscritto dal: May 2005
Città: far away from home
Messaggi: 1038
Anche in c++ puoi fare queste cose comodamente.
Basta usare Qt o boost o qualche altra libreria...
javaboy è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 18:30   #10
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
anch'io in una riga:
Codice:
Directory.GetFiles(@"c:\temp").ToList().ForEach(Console.WriteLine);
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 18:51   #11
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
manca solo la versione in batch...

E comunque dubito che possa usare Python, Factor, Squeak o C#...
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 24-07-2009 alle 18:54.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 18:52   #12
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
manca solo la versione in batch...
quella è la + semplice e corta.
Codice:
dir c:\temp
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 18:55   #13
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
su Unix se non sbaglio è anche più corta:

ls laCartella

__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 19:02   #14
ChriD
Senior Member
 
L'Avatar di ChriD
 
Iscritto dal: Sep 2002
Città: Ischia
Messaggi: 5295
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Alla faccia e del bicarbonato di sodio

Quote:
Originariamente inviato da WarDuck Guarda i messaggi
Personalmente ti consiglio di usare C#
Mi piacerebbe impararlo ma ho paura di confondermi ancora più le idee.... Già la programmazione a oggetti del c++ la devo ancora digerire bene....

Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Io gli consiglio di usare un linguaggio "agile". In 3 righe di codice:
Codice:
Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> for File in os.listdir(r'C:\\'):
...   print File
...
Boot
bootmgr
BOOTSECT.BAK
Documents and Settings
grldr
Ice-3.2.0
IcePy-3.2.0
MSOCache
pagefile.sys
PerfLogs
Program Files
Program Files (x86)
ProgramData
Programmi
ProjectTemplates
Python25
PythonForDelphi
System Volume Information
Temp
tmp
Users
Windows
Mammamia.... codice python all'università non ne abbiamo mai visto.... effettivamente non pensavo fosse così ridotto al minimo! Quasi quasi....

Quote:
Originariamente inviato da shinya Guarda i messaggi
Sei obbligato ad usare le API Win32? Perchè altrimenti potresti considerare una libreria più sana di mente, tipo...
http://www.boost.org/doc/libs/1_39_0.../doc/index.htm
No non sono obbligato... sto dando un'occhiata alla liberia che mi hai linkato, grazie

Quote:
Originariamente inviato da javaboy Guarda i messaggi
Anche in c++ puoi fare queste cose comodamente.
Basta usare Qt o boost o qualche altra libreria...
Ammetto la mia completa ignoranza su queste librerie (ma ne ho sentito parlare)! Anche a queste darò un'occhiata

Grazie a tutti..... appena ho tempo mi rimetto a lavoro e nel caso avessi nuovamente bisogno mi rifarò vivo
Mi fa piacere che sia nata questa "sfida" nel rendere il codice quanto più ridotto possibile
__________________
Ryzen 1700X - Asus Crosshair VI X370 - DDR4 16 GB G.Skill Trident 3400 CL16 - NZXT Kraken X62 (Arctic Freezer 7 replacing ) - Samsung SSD 850 EVO 512GB - Corsair AX850 Gold - Phanteks Enthoo EVOLV Temperated Glass - LG 34UC88
ChriD è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 19:09   #15
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
A proposito di:
Quote:
Originariamente inviato da ChriD Guarda i messaggi
Mi piacerebbe impararlo ma ho paura di confondermi ancora più le idee.... Già la programmazione a oggetti del c++ la devo ancora digerire bene....

...

Mammamia.... codice python all'università non ne abbiamo mai visto.... effettivamente non pensavo fosse così ridotto al minimo! Quasi quasi....
Se puoi scegliere un linguaggio di programmazione per facilitarti la vita in generale potrebbe essere meglio sceglierlo di alto livello.

Se pensi che imparare C# sia più difficile che C++, bhe, forse è il caso che leggi questo articolo.

Fidati che è più facile imparare la programmazione OO con C# (o Python o Java o SmallTalk) che non con C++.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 19:54   #16
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da ChriD Guarda i messaggi
Mammamia.... codice python all'università non ne abbiamo mai visto.... effettivamente non pensavo fosse così ridotto al minimo! Quasi quasi....
...ma guarda che questo è C#:
Codice:
Directory.GetFiles(@"c:\temp").ToList().ForEach(Console.WriteLine);
e mi pare assolutamente confrontabile come lunghezza al python...
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 20:36   #17
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Quote:
Originariamente inviato da ChriD Guarda i messaggi
Mi fa piacere che sia nata questa "sfida" nel rendere il codice quanto più ridotto possibile
Sarebbe meglio rendere il codice più leggibile, non più ridotto.
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 20:39   #18
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da ||ElChE||88 Guarda i messaggi
Sarebbe meglio rendere il codice più leggibile, non più ridotto.
Il mio è chiarissimo, mi faccio dare la lista dei file dall'oggetto directory, la converto in lista (questa è l'unica cosa che non mi piace perchè l'iterable non supporta direttamente il foreach) e su ogni file lancio la stampa.
Mi pare ufficientemente chiaro a parte il ToList che mi sta sulle balle (e che si può comunque evitare con una Extension)..
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 20:56   #19
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
Il mio è chiarissimo
Su questo non posso esprimermi, essendo il C# il mio linguaggio "principale" sarei imparziale.
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
mi faccio dare la lista dei file dall'oggetto directory, la converto in lista (questa è l'unica cosa che non mi piace perchè l'iterable non supporta direttamente il foreach)
Più che altro è un po' uno spreco convertire l'array in lista, in questo caso un foreach normale ci sarebbe anche stato bene.
Ripeto, meglio leggibile che corto.
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
Mi pare ufficientemente chiaro a parte il ToList che mi sta sulle balle (e che si può comunque evitare con una Extension)..
Lo penso anch'io, ancora meglio se fatta per supportare la concatenazione (basta un semplice return ).
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 21:19   #20
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Codice:
import os
print os.listdir(r'C:\\')
Ditemi se non è leggibilissimo questo.

Per gli amanti della singola riga di codice:
Codice:
import os; print os.listdir(r'C:\\')

Quote:
Originariamente inviato da ChriD Guarda i messaggi
Mammamia.... codice python all'università non ne abbiamo mai visto.... effettivamente non pensavo fosse così ridotto al minimo! Quasi quasi....
[...]
Grazie a tutti..... appena ho tempo mi rimetto a lavoro e nel caso avessi nuovamente bisogno mi rifarò vivo
Mi fa piacere che sia nata questa "sfida" nel rendere il codice quanto più ridotto possibile
L'importante è risolvere il problema, non buttare sangue su un listatone quando con un altro linguaggio puoi fare la stessa in molto meno tempo.

Produttività in primis.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
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 ...
Crollo del 29% nelle vendite dirette: Ub...
Black Friday anticipato su Amazon: NARWA...
Disastro WhatsApp: esposti 3,5 miliardi ...
Hatsune Miku per tutti: ASUS ROG present...
La Definitive Edition di Tomb Raider sba...
Sicurezza PC: Microsoft punta sui chip d...
Gemini 3 Pro disponibile ora: è i...
Super sconti robot aspirapolvere: ECOVAC...
DOOM: The Dark Ages si espande con Ripat...
EA SPORTS annuncia il futuro della serie...
Tutte le TV già in offerta defini...
Meta non ha un monopolio nel settore dei...
L'amministrazione Trump presta 1 miliard...
Continua la rivoluzione interna in Intel...
Lenovo Legion 5i, gaming senza compromes...
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: 12:44.


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