Newsgroup: it.comp.programmare.win32
Titolo: Introduzione alla programmazione Win32 & Libri: MFC, API, C#

Conosco piuttosto bene il C++ standard (e altri linguaggi) e devo rendere
pratiche le mie conoscenze utilizzandole sotto Windows per lo sviluppo di
una serie di progetti per la gestione di database locali e/o distribuiti.
Volevo chiedere le seguenti cose:
Dovendo scegliere quale linguaggio utilizzare, ipotizzando che io conosca
ugualmente bene entrambi i linguaggi (falso: il C# non so neppure come sia
fatto) scegliereste il Visual C++ (con API, MFC e quant'altro) oppure il
framework .net sviluppato con il C#?
Se doveste imparare a programmare in C++ sotto Windows approfondireste il
discorso delle API o delle librerie MFC? Quale delle due č piů importante
conoscere per una efficace, efficiente ed elegante programmazione di
software Win32?
Esistono altri gruppi di discussione italiani relativi alla programmazione
in Visual C++, MFC, API, C# piů specifici di quello in cui scrivo oppure
questo č l'unico ed il piů adatto fra i vari gruppi di discussione per tutte
le precedenti tematiche?
Dovendo sviluppare un progetto "serio" in Visual C++, il 6.0 risulta
sufficiente alle esigenze oppure suggerite di procurarsi la versione piů
recente distribuita insieme ai compilatori DotNet?
Quali libri comprereste per approfondire il C# e/o la programmazione in
Visual C++ Win32 (API e/o MFC).
Grazie a tutti per le risposte.

Visual C++ Win32 (API e/o MFC).
Su questo ti consiglio di leggere altri post su questo ng, ce ne sono
stati tanti.
Ciao
Stefano "HappyMan" (Lago Maggiore - NO)
--
Personal Web 
http://www.sgr.info
Email happyman69 (at) 
despammed.com


Le MFC sono classi create utilizzando le API di Windows. Il lavoro (immane)
fatto dai programmatori Microsoft per la realizzazione dell MFC è tutto
disponibile e lo puoi utilizzare. Il consiglio è di studiarti comunque anche
le API di Windows, anche per capire meglio come agiscono e come operano le
MFC.
A livello di libri le due "bibbie" in materia sono sicuramente
"Programming Windows" di Charles Petzold (Microsoft Press), giunto ormai
alla sua quinta edizione
"Programming Windows with MFC" di Jeff Prosise (Microsoft Press), edito
nella seconda edizione
Sono due tomi di quasi 1300 pagie ciascuno, in cui trovi tutto, ma proprio
tutto quello che c'è da sapere, e che puoi anche utilizzare come "reference
guide". Allegato trovi un cd rom con gli esempi e con una versione
elettronica consultabile in formato help di windows di tutto il libro, molto
utile se non vuoi portarti appresso sempre con te quei 5 chili di carta
stampata.
Il Petzold è stato pure tradotto in italiano (credo dalla Jackson), ma il
consiglio, se sai l'inglese, è di leggerli in lingua originale.
Io li ho comprati da Amazon un mesetto fa. Presi insieme ti fanno lo sconto
e, comprensivo di spese di spedizione, il tutto mi è costato intorno ai 100
dollari.
Ciao
Johnny

 dell'interfaccia utente, lo trovi su 
www.sgr.info/windev
), 
grazie per aver messo a disposizione il tuo framework! lo vado a 
guardare :) 
bye
Dan

Grazie mille a tutti.

 necessita' di usare OLE/COM.
Quale ritieni che sia il sistema piu' immediato? In termine di rapporto
risultato/codice (ovviamente relativo alle cose 'superficiali' come
l'interfaccia)?
-- 
A.
'...sei TROPPO mendozesco...' MM.
'Mesa Boogie è come Leonardo' (cit.)
'If you don't like Mesa you're not my friend' (cit.)

 come agiscono e come operano le MFC.
A livello di logica quindi le MFC sono un livello di astrazione
superiore? Al giorno d'oggi un programmatore che non sia veramente
masochista sceglie le MFC piuttosto che le API, immagino - ci si perde
qualcosa?
-- 
A.
'...sei TROPPO mendozesco...' MM.
'Mesa Boogie č come Leonardo' (cit.)


 dell'interfaccia utente, lo trovi su 
www.sgr.info/windev
),
Hai mai provato wxWindows? Io ancora no, ma sarei intenzionato a
gettargli uno sguarda nell'immediato futuro ..
--
ale
http://www.sen.it

 consiglio, se sai l'inglese, č di leggerli in lingua originale.
Comprai il Petzold tanti anni fa', in versione originale, ed č ancora
oggi un gran bel libro. Dopo qualche anno ho comprato la versione
Italiana del Richter (Advanced Windows), e la traduzione č orrenda
(anche se devo ammettere che il compito dei traduttori era alquanto
improbo, dato i soggetti discussi).
--
ale
http://www.sen.it



Certo, prodotto valido ma con troppi file da includere...
Anche per quello ho deciso di farmi una mia libreria da UN solo file
.cpp :-)
Stefano "HappyMan" (Lago Maggiore - NO)
--
http://www.sgr.info
Email happyman69 (at) 
libero.it

l'interfaccia)?
Non saprei dirti, non avendo usato MFC non posso fare paragoni.
Sicuramente l'immediatezza di un RAD come VB6 o VB.Net te la scordi se
usi il C++ con o senza MFC.
Inoltre poiche' il resource editor di VC++ e' lo stesso per i progetti
MFC o "pure" Win32 _forse_ una gran differenza non c'e', nello
specifico caso dell'interfaccia utente.
Stefano "HappyMan" (Lago Maggiore - NO)
--
http://www.sgr.info
Email happyman69 (at) 
libero.it

Buttati sul Borland C++ Builder 6 che è come il Vb(nel senso di RAD) ma è
C++.
Secondo me è molto + visuale del VC++ e piu produttivo, nullatogliendo al
fatto che la gUI la fai in 2 minuti ma il motore sotto e tutto lavoro tuo.
Cmq a tutto quello che serve, Lib x DB, Internet, Office Automation........

 qualcosa?
Direi che non ti perdi niente, anzi, ci guadagni. Tra l'altro, se hai 
bisogno di chiamare le API di Windows per qualche funzione non 
incapsulata in MFC, puoi farlo facilmente. Le MFC sono davvero ben 
integrate con le API Win32.
Se poi non ti serve tutta la potenza di MFC (es.: non ti interessa OLE), 
direi che il framework C++ gentilmente postato su questo NG da Stefano 
Happyman e' molto valido, e ti permette di ottenere programmi piu' 
snelli di quelli che richiedono MFC (ovvio, dato che MFC e' stato 
progettato per risolvere problemi piu' complessi, es.: OLE). [Pero' devi 
poi considerare anche il tipo di licenza del framework di Happyman... le 
applicazioni che sviluppi usando MFC le puoi anche vendere, non so 
invece se quel framework e' GPL, LGPL o altro...]
Happy coding :)
Ciao,
Dan

 ha scritto nel messaggio
news:YXFBb.185499$hV.69...@news2.tin.it...

Uhm.. questo è molto interessante.
A livello di compatibilità dello standard siamo sopra o sotto il VC++7?
A livello di librerie per internet e gestione database (che sono le due cose
che mi interessano) siamo sopra o sotto il VC++7?
Mi date qualche impressione in più sul Borland?
Grazie.

invece se quel framework e' GPL, LGPL o altro...]
Ops, devo aggiornare la pagina web se non e' chiaro :-)
Ho scritto in fondo alla pagina
"You can download it, use it where you want, but not upload it in some
internet library by changing the author's name :-) "
In pratica potete farci quello che volete dove volete tranne che
metterlo su qualche libreria (es. 
codeguru.com
) spacciandolo per
vostro :-)
Che tipo di licenza e' ? 
Stefano "HappyMan" (Lago Maggiore - NO)
--
Personal Web 
http://www.sgr.info
Email happyman69 (at) 
despammed.com

 specifico caso dell'interfaccia utente.
Ok, grazie. Riguardo al tuo framework, cosa mi permette di fare?
perdona la domanda stupida ma sono veramente niubbissimo...


 Che tipo di licenza e' ? 
Credo che si chiami 'fa come te voret'. A questo punto mi ci metto,
visto che mi sfizia non poco. Due domande: la documentazione e'
acclusa, no? Esistono altre cose del genere (ovviamente a free) di
buono spessore? Grazie in anticipo
-- 
A.
'...sei TROPPO mendozesco...' MM.
'Mesa Boogie è come Leonardo' (cit.)


 stato progettato per risolvere problemi piu' complessi, es.: OLE).
Grazie mille, sei stato chiarissimo (dato che, per inciso, per ora di
OLE non mi interezza nulla)
-- 
A.
'...sei TROPPO mendozesco...' MM.
'Mesa Boogie è come Leonardo' (cit.)


buono spessore? Grazie in anticipo
Beh wxWindows (
http://www.wxwindows.org/
) e' di ben altro spessore, ma
come ho scritto per i miei gusti fa "troppo" e con troppi files da
includere...
Ciao :-)


perdona la domanda stupida ma sono veramente niubbissimo...
In pratica semplifica e di molto la scrittura di interfaccie utente
usando le API Win32, senza dover includere troppi file nel tuo
progetto (sono due: windev.h e windev.cpp) o librerie esterne.
In pratica puoi scrivere codice nella forma (esempio veloce)
ComboBoxObject combo; 
combo.Create(x,y,width,height,StyleVisible|StyleBorder,id,this); 
combo.Font.Set("Arial",FontNormal,10); 
combo.Colors.SetForecolor(RGB(0,0,255)); 
combo.Items.Add("Item 1"); 
combo.Items.Add("Item 2"); 
combo.Tooltip.Set("My combo"); 
combo.Tag.Set("Address"); 
invece che dover gestire messaggi, handle e quant'altro.
Il tutto incapsulando nel modo piu' leggero possibile i controlli di
Windows (beh non tutti ma i piu' importanti, almeno per me) ma
cercando un minimo di essere indipendente da esso (ho voluto
ridefinire gli stili delle finestre) perche' ho intenzione di farne il
porting anche su Linux (a maggio avevo fatto una prova con quello che
era la cellula iniziale della libreria e aveva funzionato).
Il codice viene linkato e quindi non hai dipendenze da dll o librerie
esterne.
Il tutto l'ho sviluppato perche' dopo anni di puro Win32 avevo la
necessita' di essere un po' piu' produttivo (cioe' diminuire i tempi
di sviluppo) per i miei progetti C++.
Infine dovrebbe essere abbastanza semplice per essere
espanso/modificato in base alle necessita' dello sviluppatore (alla
fine basta saper leggere codice C++ che fa uso di classi derivate e
basta)
Visto che il mio sito in signature e' down per qualche giorno il
materiale e' reperibile qui
http://ps11.pesaroservice.com/sgrinfo/windev/
Ciao !
Stefano "HappyMan" (Lago Maggiore - NO)
--
Personal Web 
http://www.sgr.info
Email happyman69 (at) 
despammed.com

Stavo accordando la mia chitarra quando ho notato che Kleidemos ha
scritto:

Questo e' interessante anche per me! A livello di controlli
includibili, come siamo? Non me ne intendo proprio, io...


 includere...
Ma quello che ne viene fuori e' standard (nel senso almeno del
look/feel) e leggero (almeno in termini di memoria)?


look/feel) e leggero (almeno in termini di memoria)?
Ti consiglio di andare sul loro sito, sicuramente ci sono maggiori
info rispetto a quelle che posso darti io (che l'ho provato mesi fa e
non mi ricordo quasi piu' niente).


 
In entrambi, nell'edizione originale, nel Cd allegato si trova la 
versione elettronica del libro?
Nella versione italiana del Prosize purtroppo non mi sembra che ci sia!
Infatti anch'io sto impazzendo per trovarlo ( finora sfrutto prestiti da 
biblioteche, ma visto che mi è piaciuto ed è un bel libro volevo 
acquistarlo).
Grazie,
Vittorio

 Che tipo di licenza e' ? 
Non lo so... non sono esperto giuridico di queste cose :)
[mi piace la programmazione, piu' che gli aspetti giuridici delle varie 
licenze :)]
Bye
Dan

 look/feel) e leggero (almeno in termini di memoria)?
In termini di leggerezza, credo che il framework di HappyMan sia 
imbattibile, dato che si tratta di un leggero (e comodo!) strato che 
wrappa alcune API e controlli Windows (almeno, cosi' mi pare).
Se vuoi la portabilita' forse ti puoi orientare su wxWindows, o 
attendere il porting del fw...

wrappa alcune API e controlli Windows (almeno, cosi' mi pare).
Ho trovato un fan :-) Poi mi dici quanto ti devo :-P


 Ho trovato un fan :-) Poi mi dici quanto ti devo :-P
:))

 attendere il porting del fw...
Mmmh visto che ho in ballo anche un paio di idee che hanno bisogno di
essere portabili... ma mi sa che aspettero' che finiscano con il
porting per MacOsX :)
