Newsgroup: it.comp.lang.c++
Titolo: Da Visual Basic a c++ .NET

Salve,
sono anni che conosco il vb, ora vorrei passare al c++. Sto cercando qualche
guida su internet, ne ho trovate molte, ma da queste ho imparato solo la
sintassi perché non dicono nulla riguardo alle applicazioni windows.
Non so se qualcuno di voi conosce anche il vb (sicuramente), lì l'approccio
era molto immediato, interfacciare il tutto con windows (con i dialog ecc.)
era semplicissimo..
In c++ come si fa? Potreste consigliarmi qualche guida, qualche sorgente da
spulciare, o magari al massimo qualche libro (che non costi troppo, visto
che studio senza fini di lucro ;) )?
Ho visto che qualche thread fa, avete mandato Luca su un altro ng, ci sono
andato anch'io ma gli hanno consigliato solamente un libro, se poteste darmi
una mano vi sarei molto grato..
ciao e grazie
Paolo

 se poteste darmi una mano vi sarei molto grato..
Se conosci gia` bene il C++ e vuoi scrivere applicazioni con
interfaccia grafica sotto windows, leggi il libro (o cercane di
migliori con google se non ti piace), e se hai dubbi specifici chiedi
nel newsgroup giusto (che NON e` questo).
Se "vorresti passara al C++" come dici all'inizio del messaggio,
dimenticati completamente di finestre, bottoni, e simili almeno per
qualche mese, comincia a studiare il C++ su uno dei soliti libri
riconsigliati ogni 2-3 giorni, poi quando saprai programmare bene in
C++ potrai pensare anche alle finestre.
        Mauro

         Mauro
Paolo

 i dialog ecc.) era semplicissimo..
[..]
ciao,
tieni presente che VB e C++ sono due linguaggi molto diversi perche' creati
con scopi diversi.
Quindi "passare" dall'uno all'atro non penso sia un termine azzeccato, nel
senso che non c'e' corrispondenza tra i due linguaggi perche' il tipo di
programmazione e' diversa.
IMHO non c'e un altro linguaggio da cui si possa dire "siccome so questo,
posso passare al C++", mentre questo e' falso per tutti gli altri
linguaggi.
 
VB e' un linguaggio di scripting e mira a fornire strumenti per lo sviluppo
veloce di applicazioni: e' per questo che fornisce strumenti per creare
applicazioni grafiche in Windows in modo veloce.
C++ non e' uno scripting ma un system language, mirato a creare piu' che
altro sistemi, pittaforme, librerie ecc.
Per questo non troverai facili strumenti in C++ per creare applicazioni
grafiche in modo veloce come in VB.
Per citarne un punto, il C++ non ha una libreria grafica standard.
Detto questo io ho letto "the c++ programming language" di Strousturp.
Ma se vuoi avere un'infarinatura prima di fare l'investimento, leggia
uqalsiasi tutorial che trovi online. Mano a mano saprai giudicare da solo
se e' ben fatto o no.
In bocca al lupo.
michele

]
:-)
Purtroppo io on line ho trovato più schifezze che tutorial ben fatti.
ciao,
salvo
-- 
#!/usr/bin/perl
print "NeXT tip => /me == (~§alvomi©~ @ddress) - (Alfa kai Omega) \n";

 Purtroppo io on line ho trovato più schifezze che tutorial ben fatti.
possibile, magari meglio prendere articoli su singoli argomenti piuttosto
che tutorial completi. O codice sorgente...
ciao,
michele

mi rispondo da solo per ringraziarvi tutti :)
leggerņ qualche tutorial sulla rete per capire cosa posso realizzare col
c++, evitando quelle guide in cui main non restituisce int ;)
ciao e grazie ancora

> CUT
NB: sono Paolo con il mio nick ;)

 questa cosa, prima di acquistare un libro.
A sboccio direi che non ti conviene. C++ e` un linguaggio difficile, che
va capito a fondo per poterne usare tutta la potenza (che e` tanta, ma
davvero tanta).
C++ e` molto di piu` che un affare per disegnare interfacce ed
appiccicarci su qualche linea di codice.
Ora, io se vuoi imparare, guarda il C++.
La programmazione ad oggetti, la gestione delle eccezioni, la libreria
standard, i contenitori standard, gli algoritmi standard, ereditarieta`,
templates... tutte queste cose.
Poi penserai alle interfacce grafiche. Perche` un interfaccia senza
sotto un'ottima logica non vale nulla. E tanto vale rimanere con il VB.
E i libri che ho visto per C++ in ambiente MS, dicono due stupidate in
croce sul C++, e poi parlano della libreria MS. Cosa giusta, perche` e`
il loro argomento, solo non pensare che con questi libri impari il C++.
Il C++ lo devi conoscere di tuo, e poi puoi imparare sotto MS.
E comunque sei OT perche` tu vuoi sapere come interfacciarti a Windows.
E Windows non e` parte della libreria standard del C++. 
C++ e` cross-platform.
-- 
RiK0
Non credo negli schemi non vincenti.

 C++ e` cross-platform.
Di più.
Direi che è platformless :-)
-- 
Gerolamo

 Direi che �platformless :-)
 
platformless = "senza piattaforma"
ossia senza una piattaforma che lo supporta????? 
preferisco cross-platform ;-)

 ossia senza una piattaforma che lo supporta?????
senza una piattaforma di riferimento.
-- 
Gerolamo


Fai prima a vedere cosa NON puoi realizzare con C++ (praticamente
nulla)
--
Ciao!
Luca Menegotto

"Paolo" <asdff...@asfasfsdf.safsd> wrote

Putroppo la learning-curve e' molto piu' lunga per il Visual C++ che non lo
sia per il Visual Basic.
Ti conviene imparare prima il C++ standard, datti almeno 2 mesi, continuare
ad imparare il C++ mentre inizi la programmazione win32, che sia con le
Win32 APIs, MFCs o .NET (o altro).
Per il C++ esiste un libro gratuito fatto molto bene che si chiama "pensare
in C++":
http://pensareincpp.altervista.org/
se sai l'inglese ti consigli pero' la versione originale di Bruce Eckel
(Thinking in C++).
Tommy

Bhe Paolo, secondo me hai bisogno di chiarirti le idee..
Il c++ non è un linguaggio per lo sviluppo di applicazioni per windows 
(Grafiche), infatti compilatori sono disponibili per linux/unix
MAC OS e così via. Quello che puoi fare per ora con il c++ su windows, 
sono applicazioni in modalita console, (prompt del dos).
Ti consiglio di impararlo bene in modalità console (cioè di fatto il 
C++), una volta che conoscerai il paradigma di programmazione ad oggetti 
del c++ e lo saprai maneggiare + che bene potrai passare 
all'apprendimento della API Win32
Che di fatto è la API che ti permette di usare il C++ (ma anche il C per 
esempio) per scrivere applicazioni stile windows(finestre e menù come in 
visual basic).
Per chiarirti le idee di quello che intendo ti includo un sorgente (API 
Win32) che crea una finestra come quella che in Visual basic potresti 
creare
Con il semplice click su "new Form".
--------------------C++ Win32 API----------------------
#include <windows.h>
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    PSTR szCmdLine, int iCmdShow)
{
     static TCHAR szAppName[] = TEXT ("HelloWin") ;
     HWND         hwnd ;
     MSG          msg ;
     WNDCLASS     wndclass ;
     wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
     wndclass.lpfnWndProc   = WndProc ;
     wndclass.cbClsExtra    = 0 ;
     wndclass.cbWndExtra    = 0 ;
     wndclass.hInstance     = hInstance ;
     wndclass.hIcon         = LoadIcon (NULL, IDI_APPLICATION) ;
     wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW) ;
     wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
     wndclass.lpszMenuName  = NULL ;
     wndclass.lpszClassName = szAppName ;
     if (!RegisterClass (&wndclass))
     {
          MessageBox (NULL, TEXT ("This program requires Windows NT!"),
                      szAppName, MB_ICONERROR) ;
          return 0 ;
     }
     hwnd = CreateWindow (szAppName,                  // window class 
name
                          TEXT ("The Hello Program"), // window caption
                          WS_OVERLAPPEDWINDOW,        // window style
                          CW_USEDEFAULT,              // initial x 
position
                          CW_USEDEFAULT,              // initial y 
position
                          CW_USEDEFAULT,              // initial x size
                          CW_USEDEFAULT,              // initial y size
                          NULL,                       // parent window 
handle
                          NULL,                       // window menu 
handle
                          hInstance,                  // program 
instance handle
                          NULL) ;                     // creation 
parameters
     ShowWindow (hwnd, iCmdShow) ;
     UpdateWindow (hwnd) ;
     while (GetMessage (&msg, NULL, 0, 0))
     {
          TranslateMessage (&msg) ;
          DispatchMessage (&msg) ;
     }
     return msg.wParam ;
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM 
lParam)
{
     HDC         hdc ;
     PAINTSTRUCT ps ;
     RECT        rect ;
     switch (message)
     {
     case WM_CREATE:
          PlaySound (TEXT ("hellowin.wav"), NULL, SND_FILENAME | 
SND_ASYNC) ;
          return 0 ;
     case WM_PAINT:
          hdc = BeginPaint (hwnd, &ps) ;
          GetClientRect (hwnd, &rect) ;
          DrawText (hdc, TEXT ("Hello, Windows 98!"), -1, &rect,
                    DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
          EndPaint (hwnd, &ps) ;
          return 0 ;
     case WM_DESTROY:
          PostQuitMessage (0) ;
          return 0 ;
     }
     return DefWindowProc (hwnd, message, wParam, lParam) ;
}
...questo crea una "Form1" del visual basic.
Comunque ricordati che la Win32 è destinata inesorabilmente a sparire 
con l'avvento di Longhorn che usa codice Managed
(gestito).
Secondo me dovresti orientarti sullo studio del framework .NET e sul C# 
che è anch'esso un lang OO.
Comunque sia buono studio.
                                             Ed.
"Paolo" <asdff...@asfasfsdf.safsd> wrote in message 
news:H5%Uc.121571$
OR2.6...@news3.tin.it
:


 senza una piattaforma di riferimento.
si... cosi` suona bene.
platform-less effettivamente chiama echi negativi, anche se poi
riflettendosi ci si rende conto che e` un bene.
