Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-07-2009, 15: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, 15: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, 16: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, 16:16   #4
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 13043
Personalmente ti consiglio di usare C#
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 16: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, 17: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, 17: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, 17: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, 17: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, 17:30   #10
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12113
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, 17: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 17:54.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2009, 17:52   #12
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12113
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, 17: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, 18: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, 18: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, 18:54   #16
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12113
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, 19:36   #17
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4908
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, 19:39   #18
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12113
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, 19:56   #19
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4908
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, 20: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 REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
IA militare e nucleare: esperti USA e ci...
Dieci mini-reattori nucleari in Europa d...
CONTROL Resonant su PC: Path Tracing, Ra...
ColorOS 17 arriva su circa 90 dispositiv...
GTA VI, il multiplayer potrebbe debuttar...
Aggiornamento KB5002914 rompe Excel: ecc...
Processo Huawei a Brooklyn: l'FBI mostra...
WhatsApp introduce nuovi temi per le cha...
NVIDIA, Google e Emerald AI uniscono le ...
iPhone 18 Pro Max, il test sulla vapor c...
Fine estate in giardino: le proposte sco...
Batterie allo stato solido dietro l'ango...
Gears of War: E-Day raggiunge la fase Go...
GTA 6 avrà un'edizione fisica, ma...
Pangram arriva su Gmail per identificare...
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:25.


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