Newsgroup: it.comp.programmare.win32
Titolo: Sviluppare solo con apiWin32 pure e C

Salve a tutti,
in questi giorni sto cercando di costruire una mia piccola libreria che mi
permetta con facilità (si fa per dire) di costruire piccole applicazioni 
sotto windows.
La mia necessità principale è però di programmare il tutto in C puro e
di non utilizzare possibilmente nessuna libreria di terze parti (quindi
solo dll microsoft già disponibili in windows e nell'SDK....)
Non ho molta conoscenza di sviluppo sotto ambinete Windows, ma ho notato
che per un porgrammatore C non è poi così difficile organizzarsi per
sviluppare con il solo uso della Api win32.....
Ho notato poi che sull'MSDN on-line tutti gli esempi di programmazione
sono per mia fortuna in C.....
Purtroppo in alcuni casi l'MSDN non mi aiuta (soprattutto perchè sono un
principiante dei concetti Win32) o è troppo complesso da navigare...
Sarebbe per me interessantte avere altri punti di riferimento (links,
documenti, sorgenti) per poter imparare più in fretta ciò che mi serve...
Cercando con Google mi riesce difficile cercare esmpi di codice o
documentazione che riguardi lo sviluppo in C con il solo uso di api Win32...
(nessuno ha mai notato che i motori di ricerca ignorano abilmente parole
di meno di 3 lettere o di soli numeri?!?!?)
Qualcuno ha suggerimenti e/o link da consigliarmi.... O sa per caso di una
applicazione esistente di cui siano disponibili i sorgenti (free) fatta
completamente in C e sfruttando più o meno solo le api base di windows
(quindi niente librerie per la gestione di GUI addizionali quali
wxWindows, Gtk, Toad, XForms, OpenGL, o simili...)???
Grazie a tutti,
Luca

> Qualcuno ha suggerimenti e/o link da consigliarmi....
Qui ci sono 2 guide/tutorial fatti abbastanza bene per qaunto riguarda le
api di win32.
http://www.programmazione.it/index.php?entity=earticlelist&idCategory=25&idE
ntity=6&idArea=3
Ciao!


wrote:
Posso darti un consiglio da programmatore Win32 "puro" ? Passa almeno
al C++, usandone al minimo le caratteristiche come la creazione di
classi.
Puoi utilizzare il codice C che trovi nei vari tutorial (es.
http://www.relisoft.com/win32/
) e incapsularlo in una tua classe,
senza per questo usare ocx o framework vari.
Ti dico questo perché dopo aver programmato per moltro tempo in C e
Win32 il passaggio al C++ è stato tremendamente utile.
Puoi tranquillamente "mischiare" parte di codice in stile "Win32
classico"  come la gestione della window procedure con oggetti C++
esempio:
static MyObject o;
case WM_CREATE:
   o=new MyObject;
   o.Init();
...bla  bla..
case WM_CLOSE:
   o.Close();
   delete o;
etc.
Ciao
Stefano "HappyMan" (Lago Maggiore - NO)
--
http://www.sgr.info
Email happyman69 (at) 
libero.it

 Salve a tutti,
Io programmo in Windows da diversi anni usando solo le Api e il C++ (ma puoi
usare anche il C "normale") e, piu' che i link, ti consiglio di iniziare
leggendoti il libro Programmare Windows di Charles Petzold.
Ciao.

Ciao,
grazie per i vari links ed i consigli su come utilizzare il C++ come una
sorta di C espanso.....
In realtà io so programmare in C++, è che per vari motivi il mio preferito
(anche in termini di efficenza finale...) rimane il semplice C (che negli
anni ha comunque guadagnato ufficialmente molti aspetti positivi del
C++....)
Attualmente uso delle struct molto articolate con agganci dinamici per
funzioni ed altre strutture non predefinite che mi permettono di simulare
abbastanza bene l'idea delle classi..... e perchè no, anche parte della loro
eleganza, senza per
questo scomodare un compilatore C++ e rimanendo padrone delle idea che
stanno alla base di tutto il mio codice... :)
Inoltre così non faccio inorridire i puristi che dicono che un linguaggio OO
deve essere usato per implementare concetti OO!!
I link che mi avede mandato mi sno utili, ma sono comunque (forse a questo
punto) di applicazioni o di Forum che siano ispirati
dal mio stesso tipo di necessità...... Cioè programmare solo in C e non
usare null'ltro di quello che il SO ti mette a disposizione.... E magari
fare il tutto in modo da rimanere il più indipendente possibile dall'uso di
tool di sviluppo proprietari...
Attualmente io sviluppo semplivemente usando DevC++ 4.9.8.1 (ma solo per il
C) con agganciato un bel GCC 3.3.1 e mingw3.0.0. oltre ad un bel VIM6 per
win32 che mi segue sempre su qualunque mio PC..... :)
Riesco a fare già molte cose, come aprire finestre, creare bottoni, listbox,
campi edit, label varie, e alcuni menu il tutto a runtime
senza scomodare i file .rc che tanto piacciono a Microsoft..... (anche a me
miacciono, ma di portabile non hanno proprio nulla...)
Il mio scopo finale è quello di riuscire ad apprendere così bene come
sviluppare GUI sotto win32 che poi possa condensare questa conoscenze in una
libreria scritta in puro Ansi C che possa essere almeno cross-platform tra
unix+X11 e Windows
con tutti i pro e contro che ciò può comportare....(sotto X11 ho fatto una
piccola cosa del genere anni fa usando solo Xlib e neppure Xtlib ed il
risultato non è venuto affatto male.... oltre che essere molto semplice da
usare per molti...).
Ecco fatto... Tutto qui.....
Se qulacuno vuole darmi due consigli ben vengano...
Saluti, Luca


usare per molti...).
Se il tuo scopo è puramente didattico non ho nulla da eccepire
(anch'io tempo fa ho iniziato un mini framework in C++ che fosse
portabile tra Windows e Motif per pura ricerca ma poi il tempo libero
è calato...) ma di framework (in C++) cross platform ce ne sono molti
in giro, te ne cito uno che mi è sembrato valido: wxWindows 
Ciao
Stefano "HappyMan" (Lago Maggiore - NO)
--
Personal Web 
http://www.sgr.info
Email happyman69 (at) 
libero.it


Non ho visto se te l'hanno gia' consigliato oppure no, ma devi assolutamente
comprare "Programming Windows" di Charles Petzold (5a edizione) edito da
MSPress.
Per il materiale on line puoi cominciare dal tutorial di TheForger qui:
http://www.winprog.org/tutorial/
E poi magari dare un'occhiata al sito di James Brown:
http://www.catch22.uk.net
Poi visita anche il sito di John dedicato all'LCC-Win32:
http://
http://www.btinternet.com/~john.findlay1/
 (ci trovi anche qualche
esempietto mio)
Poi ovviamente scaricati il Platform SDK (se gia' non l'hai fatto), piu' che
per i file .h e .lib, che tanto non sono compatibili con i compilatori non
MS (a meno di non mettere mano e modificare qua e la) per la documentazione
completa delle API.
Luca.

 qualche esempietto mio)
Scusa, l'URL non sempra essere piu' valida. Usa questa:
http://www.john.findlay1.btinternet.co.uk/
Luca

Ciao ti ringrazio per gli ottimi link che mi hai suggerito.
Ho trovato soprattutto molto utile i tutorial di James Brown in quanto
sono quasi tutti basati sul C e non il C++, cioè proprio quel che cercavo.
Inoltre sono anche disponibili applicazioni complete di sorgenti in parte
anche spiegate pezzo per pezzo nei vari tutorial... Perfetto!
Sono nuovo alla programmazione di GUI sotto win32, ma non digiuno di
programmazione in generale.... grazie anche alla mia laurea in Informatica
e a molti anni di pratica di programmazione c, java, c++ ed
anche un po' di assembler....
Questi tutorial ad un neofita in realtà potrebero sembrare un po' troppo
spiccioli, che danno troppe cose per scontato.... Ma per me in realtà
sono l'ottimo... I particolari che non dicono a le api che non spiegano,
so benissimo che posso andarmele a cercare su MSDN on-line (o anche sul
doc dell'SDK microsoft....)
Per quanto riguarda il Petzold (5a edizione), ho a disposizione il libro
ridotto in formato PDF originale.... E' molto buono, ma (premetto che non
conosco l'edizione cartacea perchè a Genova le librerie non lo hanno in
prontaconsega da vedere un attimo) trovo che sia forse un po' troppo
semplicistico e che volendo affrontare un argomento così vasto come la
programmazione sotto windows tenda ad approfondire poco gli argomenti
dimenticandone altri...
Ad esempio prova a cercare quanto parla di programmazione DDE nel
volume.... ... Cosa....argomento vecchiotto e poco usato oramai??? Be non
direi proprio....
Io lavoro nell'ambito della borsa e dei vari strumenti per la trattazione
ed analisi dei dati di borsa in realtime.... Tanto per citare alcuni
programmi anche recentissimi che non possono fare a meno della DDE
(perchè oramai uno standard consolidato in questo strano mondo):
Realtick, Metastock, Tradestation, SellaExreme, Excel, MFFainex,
Bloomberg, Reuter....
Comunque ora sulla DDE a forza di tantissimi esperimenti so'
abbastanza.... anche se non tutto :(
I vari interfacciamenti OLE, RTD ed altro che nel tempo si sono "rubati la
scena" nell'ambito della comunizione tra processi, nonostante incredibili
miglioramneti, non sono mai riusciti a scavalcare la semplicità (si fa
per dire) di DDE usato in certi ambiti. In compenso la documentazione su
tecnolgie supportate ancora da microsoft, ma "fuori moda" non vengono più
commentate da nessun esperto scrittore.....
Per ora ho abbastanza materiale... Ma se qualcuno ha ancora latri link da
suggerirmi, sono ben accetti.....
In seguito se avrò ancora problemi (spero più tecnici e precisi) spero
di poter avere ancora persone come voi disponibili nell'aiutarmi....
Se poi qualcuno avrà bisogno di me, chieda pure, quel che posso....
Saluti,
Luca Landi



Luca

Ti ringrazio ancora per gli innumerevoli consigli.
Molto probabilmente il personaggio che aveva iniziato un post sulla DDE
sotto windows ero proprio io....
Non conosco il "Richter" ma vedrň se riesco a trovarlo in qualche
libreria di Genova... In generale compro molti libri, ma spesso li sfrutto
poco.. piů che altro perchč comprandoli un po' alla cieca (cioč senza
prima averli in mano), mi pento un po'.... (visto anche quanto costano)
Per quel che riguarda il compilatore LCC (di cui noto il tuo forte
attaccamento) lo ho provato ed usato per un po'. Mi sono trovato bene, ma
alla fine ho fatto una amara scoperta: Lo stesso codice originale
microsoft compilato sotto LCC e GnuGCC (MinGW) ha comportamenti diversi
quando si usa la DDE, cioč con LCC la dde non funge!!! O meglio compila
perfettamente senza errori ma poi non fa un bel tubo!!! non si connette a
nulla e non genera nulla!!!! Semplice.... :)
Cosě ora da un po lavoro con Dev+C++ con GCC 3.3.1 e MinGw-3.0.0....
Anche qui in alcuni casi per utilizzare api proprietarie di WindowsXP o
Windows 2000 ho dovuto ricrearmi le librerie .a e modificare alcuni
header, ma adesso ho una piattaforma ottima per le mie esigenze.
Grazie,
Luca

 wxWindows, Gtk, Toad, XForms, OpenGL, o simili...)???
Ma XForms è una libreria esterna, o sono una serie di funzioni da includere
come sorgente ? Dovrebbero esistere anche su Linux mi sembra... e
interagiscono direttamente con la XLib (non male come compattezza).
Saluti.
--------------------------------
Inviato via 
http://usenet.libero.it

 ha scritto nel messaggio
news:u7dkkvkg4abocgfqq...@4ax.com...


 principalmente per LCC (ma facilmente adattabile).
Conosco BCX, per un po' lo ho usato proprio con lo scopo da te
suggeritomi... Ora uso una delle ultime versioni (per avere codice
migliore) e devo ammettere che si impara moltissimo dall'analisi dei
sorgenti .C così generati...
... Mi chiedo dove abbiano trovato tanta documentazione gli autori del
BCX... Comunque stanno facendo un ottimo lavoro e lo sviluppo è molto
attivo!
Grazie,
Luca Landi