Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Renault Twingo E-Tech Electric: che prezzo!
Renault Twingo E-Tech Electric: che prezzo!
Renault annuncia la nuova vettura compatta del segmento A, che strizza l'occhio alla tradizione del modello abbinandovi una motorizzazione completamente elettrica e caratteristiche ideali per i tragitti urbani. Renault Twingo E-Tech Electric punta su abitabilità, per una lunghezza di meno di 3,8 metri, abbinata a un prezzo di lancio senza incentivi di 20.000€
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media
Nel Formula 1 Technology and Media Centre di Biggin Hill, la velocità delle monoposto si trasforma in dati, immagini e decisioni in tempo reale grazie all’infrastruttura Lenovo che gestisce centinaia di terabyte ogni weekend di gara e collega 820 milioni di spettatori nel mondo
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica
Il nuovo gimbal mobile DJI evolve il concetto di tracciamento automatico con tre modalità diverse, un modulo multifunzionale con illuminazione integrata e controlli gestuali avanzati. Nel gimbal è anche presente un'asta telescopica da 215 mm con treppiede integrato, per un prodotto completo per content creator di ogni livello
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: 12862
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


Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
Recensione Pura 80 Pro: HUAWEI torna a stupire con foto spettacolari e ricarica superveloce Recensione Pura 80 Pro: HUAWEI torna a stupire c...
Opera Neon: il browser AI agentico di nuova generazione Opera Neon: il browser AI agentico di nuova gene...
Google lancia l'allarme: attenzione ai m...
Primo test drive con Leapmotor B10: le c...
'Non può essere un robot': l'uman...
Monopattino elettrico Segway Ninebot Max...
Syberia Remastered è disponibile:...
Sony scopre che tutti i modelli AI hanno...
Amazon nasconde un -15% su 'Seconda Mano...
Due occasioni Apple su Amazon: iPhone 16...
Verso la fine della TV tradizionale? I g...
Cassa JBL a 39€, portatili, smartphone, ...
Cometa interstellare 3I/ATLAS: la sonda ...
Jensen Huang e Bill Dally di NVIDIA prem...
Il futuro della birra è green: H...
ECOVACS GOAT G1-2000: il robot tagliaerb...
Allarme sui bus elettrici cinesi: centin...
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: 16:23.


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