|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
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);
)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
|
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
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) |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12862
|
Personalmente ti consiglio di usare C#
|
|
|
|
|
|
#5 |
|
Senior Member
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 |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
Quote:
Codice:
USING: io io.directories ; "c:\\" directory-files [ print ] each
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
Quote:
http://www.boost.org/doc/libs/1_39_0.../doc/index.htm
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
|
|
|
|
|
|
#8 |
|
Senior Member
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! |
|
|
|
|
|
#9 |
|
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... |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
anch'io in una riga:
Codice:
Directory.GetFiles(@"c:\temp").ToList().ForEach(Console.WriteLine);
__________________
|
|
|
|
|
|
#11 |
|
Senior Member
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. |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
quella è la + semplice e corta.
Codice:
dir c:\temp
__________________
|
|
|
|
|
|
#14 | ||||
|
Senior Member
Iscritto dal: Sep 2002
Città: Ischia
Messaggi: 5295
|
Quote:
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:
Quote:
Quote:
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
|
||||
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
A proposito di:
Quote:
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) |
|
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
Codice:
Directory.GetFiles(@"c:\temp").ToList().ForEach(Console.WriteLine);
__________________
|
|
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 4907
|
|
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
Mi pare ufficientemente chiaro a parte il ToList che mi sta sulle balle (e che si può comunque evitare con una Extension)..
__________________
|
|
|
|
|
|
|
#19 | ||
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 4907
|
Su questo non posso esprimermi, essendo il C# il mio linguaggio "principale" sarei imparziale.
Quote:
Ripeto, meglio leggibile che corto. Quote:
|
||
|
|
|
|
|
#20 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Codice:
import os print os.listdir(r'C:\\') Per gli amanti della singola riga di codice: Codice:
import os; print os.listdir(r'C:\\') Quote:
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 |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:23.










)











