mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.programmare.win32
Titolo: dbgrid e controllo data in VB

Un saluto a tutti
Ho il solito form in cui stavolta sono presenti un controllo data, una
textbox e un dbgrid.
Inizialmente il dbgrid mostra l'intero db (e fin qui tutto ok), come posso
fare per far vedere nel dbgrid soltanto una parte dell'intero db utilizzando
come criterio per la selezione cio' che l'utente ha scritto nella textbox?
In particolare come associo la query di selezione creata in modo da
visualizzare nel dbgrid solo le celle che soddisfano la mia selezione?
ciao e grazie anticipatamente a tutti
e.

ciao e grazie anticipatamente a tutti
it.comp.lang.visual-basic
--
CyberWalkie - walkietalkie(at)
libero.it

Newsgroup: it.comp.programmare.win32
Titolo: Variabile in DLL.

Ciao a tutti, avrei un quesito!
Come faccio a rendere disponibile ad un mio programma, una variabile
contenuta in una dll e viceversa?
Ho creato una dll che elabora casualmente dei dati ma non riesco ad
esportare tali dati (che poi sono variabili) nel mio programma. E poi,
è possibile fare anche l'inverso?
Grazie per la risposta eventuale.



...Dimenticavo, uso VC++ (non MFC).
Grazie

 > contenuta in una dll e viceversa?
Nella DLL:
__declspec(dllexport) int LaTuaVariabile;
Nell'exe:
__declspec(dllimport) int LaTuaVariabile;
Comunque in generale e` sbagliato "esporre" direttamente i dati fra moduli.
Molto meglio scriversi una funzione che li restituisca in un buffer del
modulo chiamante.
---
Bye! Lorenzo Lutti
http://antani.virtualave.net/

modulo chiamante.
...
Grazie, ho provato e funziona.
E per fare l'inverso, cioè spedire una variabile dal programma alla
dll?
E poi, mi faresti un esempio del tuo metodo, cioè quello di una
funzione che restituisce in un buffer del modulo chiamante?
Grazie in anticipo per l'eventuale risposta.

dll?
Usa delle funzioni di interfacciamento, sia x l'uno che per
l'altro scopo.
--
CyberWalkie - walkietalkie(at)
libero.it

Newsgroup: it.comp.programmare.win32
Titolo: Video Mixing Renderer 9 [bizzarro]

ciao a tutti,
sto impazzendo sul seguente codice:
#define DXCHECK(x) if (FAILED(hr=(x))) {return hr;}
....
CComPtr<IVMRFilterConfig9> pVMR_FC;
CComPtr<IVMRWindowlessControl9> pVMR_WC;
 
DXCHECK(pVideoRenderer->QueryInterface(IID_IVMRFilterConfig9,(void**)&pVMR_FC)); // <-- OK
DXCHECK(pVideoRenderer->QueryInterface(IID_IVMRWindowlessControl9,(void**)&pVMR_WC)); // <-- E_NOINTERFACE !!!
dove pVideoRenderer č definito
CComPtr <IBaseFilter> pVideoRenderer;
....
DXCHECK(CoCreateInstance(CLSID_VideoMixingRenderer9, NULL, CLSCTX_INPROC, IID_IBaseFilter, (void**)&pVideoRenderer));
cosa mi sfugge secondo voi?
ciao e buona serata,
l

Ciao, macheath!
Il giorno 01/12/2003 alle ore 18:41 hai scritto:
 m> DXCHECK(pVideoRenderer->QueryInterface(IID_IVMRFilterConfig9,(void**)&pV
 m> MR_FC)); // <-- OK
 m> DXCHECK(pVideoRenderer->QueryInterface(IID_IVMRWindowlessControl9,(void*
 m> *)&pVMR_WC)); // <-- E_NOINTERFACE !!!
[...]
 m> cosa mi sfugge secondo voi?
Devi prima mettere il VMR in modalita' windowless per poter avere
l'interfaccia WindowlessControl.
Bye
Newsgroup: it.comp.programmare.win32
Titolo: file di dimensioni > 4GB

Ciao,
    dovrei accedere, in ambiente NT con MSVC++ 6.0, ad un file di testo di
lunghezza maggiore di 4 GByte.
    Ho qualche difficolta' ... :)
    Qualche idea ?
Grazie anticipatamente
Fabio

     Qualche idea ?
Le API di Win32 ti permettono di farlo: SetFilePointer accetta
DUE LONG per dirgli dove vuoi settare il punto d'inizio di una
lettura, quindi sino a 8 miliardi di miliardi di byte sei a posto.
ReadFile non legge piu` di 4 miliardi di byte alla volta, perche`
non avresti posto in memoria per metterli, ma se non hai una
riga MOOOOLTO lunga, non dovrebbe essere un dramma...
Non c'e` il concetto di "file di testo", quindi eventuali elaborazioni
tipo cambiare \r\n nel solo \n dovrai fartele tu, ma spero che
il problema non sia questo.
Quali sono le difficolta`, in specifico...?
Alex

Newsgroup: it.comp.programmare.win32
Titolo: ADO e VISUAL C++

sto iniziando a programmare in VC++ e per impararmi ho comprato il manuale
ufficiale microsoft sul framework mfc
Purtroppo il libro ha più di due anni (è l'unica edizione che ho trovato) e
non parla dell'accesso ai dati tramite ado
Ora ho saputo che esiste questa possibilità (non so se è vera) di utilizzare
ado.
E' vero?
Se si ,dato che sicuramente mi faranno utilizzare ado al lavoro, dove posso
trovare materiale su ado e VC++?
Ciao e grazie in anticipo!!!

E' vero?
Si' e' vero, ma e' sconsigliabile usare ADO da VC a meno che tu non
stia creando un'applicazione COM, quindi con il supporto implicito
di OLE. 
Se vuoi evitarti grossi problemi, utilizza DAO che e' MOOOOOLTO piu'
efficiente in questo senso.
Vedi 
http://www.soft-land.org/articoli/daomfc.html
Davide

 efficiente in questo senso.
Quando leggo un messaggio come questo, penso che forse stiamo esagerando
acronimi e sigle...
Massimo

acronimi e sigle...
Come, non hai letto "I 10.000 ATL ?" (ATL=Acronimi di Tre Lettere)
:P
Il guaio e' che il numero di combinazioni possibili con 3 lettere
e' un po' limitato, e MS li sta' esaurendo abbastanza rapidamente...
Davide

 e' un po' limitato, e MS li sta' esaurendo abbastanza rapidamente...
...dici che ce la faranno a finirne 17576 (26^3) ? ;-)
E poi si stanno evolvendo, dalle 3 lettere... già COM+ sconfina ;-)
Massimo
P.S.
Il problema invece è con le estensioni dei files, non si sa più che
inventarsi...

...esiste davvero un libro simile ?!? :-)))
No era un articolo, l'ho letto sul C/C++ System Journal di qualche
tempo fa'... molto divertente.
P.S. sara' meglio chiudere qui' perche' dall'OT stiamo andando
nell'ULTRA-OT...
Davide

 inventarsi...
numeri, o estensioni oltre i 3 caratteri (.class, .java, .mpeg (storpiato in
.mpg insieme a jpg), .jfif
--
ciao
..::[xaero]::..
Newsgroup: it.comp.programmare.win32
Titolo: C e Win32

Ho una piccola domanda da fare... Sto usando il C(non il C++) per
richiamare alcune finestre predefinite di Windows, come ad esempio
quella per la scelta dei font e quella per la scelta dei colori. Vorrei
sapere perchè le varie voci, compresi i bottoni Ok e Annulla appaiono
scritti in neretto; sembra Win 3.1 anzichè Win95. Nessuno sa come
aggirare il problema?



 ha scritto nel messaggio
news:38A03083...@tin.it...


Newsgroup: it.comp.programmare.win32
Titolo: TMenuItem

So come creare un nuovo item a runtime, ma come faccio ad associargli
l'evento onclick a runtime?
Ad esempio il classico caso: Devo aggiungere un item che corrisponda
all'ultimo file aperto.
Dopo che lo aggiuno devo assegnare all'evento on click il codice:
Shellexecute(nome del file scritto sul caption)
Come si puo fare?

>come faccio ad associargli l'evento onclick a runtime?
item->OnClick = nome_evento;
dove nome_evento è una funzione dichiarata secondo il prototipo degli altri
eventi OnClick nella sezione __published della classe.
--
Stefano Tempesta
TSoft - 
www.tempesta.org
in...@tempesta.org

Newsgroup: it.comp.programmare.win32
Titolo: Monitorare le DLL e le chiamate

Ciao a tutti,
  come dovrei fare da codice per monitorare tutte le chiamate che il
sistema fa a una particolare funzione di una particolare dll?
Ho visto che ad esempio il debugger Softice è in grado di settare un
breakpoint su una particolare chiamata di una particolare dll. Ma se io
volessi fare tutto questo da codice di cosa mi dovrei servire? La
setWindowsHookEx andrebbe bene o serve solo per monitorare i messaggi?
Inoltre se io guardo il taskmanager per quanto riguarda le dll non vedo
nemmeno quali sono attive e quali non. Esiste un software già pronto
che visualizza le dll in uso sul sistema, come il taskmanager fa per
gli eseguibili?
Grazie

 [...]
ti ho risposto su it.comp.programmare; non era il posto più adatto, ma mi
sono accorto dopo che avevi postato anche qui.
ciao
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
Newsgroup: it.comp.programmare.win32
Titolo: Codice x gestire gli sms dai telefonini.

Salve ragazzi,
tempo fà mi sembra di aver letto che qualcuno disponeva di alcuni esempi
di codice, non ricordo in quale linguaggio, che pilotasse i telefoni gsm
(nokia?) per la gestione dell'invio e della ricezione degli sms.
Poichè devo affrontare il problema di fare inviare ad un nokia collegato
al PC col relativo cavetto alcuni sms sto cercando un po' di materiale a
proposito.
Grazie a tutti.
--
Saluti,
Danilo!
* Per risposte in e-mail elimina "-rimuovi" dall'indirizzo *

 degli sms.
Usando un po' Altavista, non farai nessuna fatica a trovare dei siti
dedicati ai Nokia che contengono tutto il materiale necessario
(adattatore BDM-seriale e programmi). I possessori di Nokia sono
alquanto fortunati, perche` l'interfaccia BDM dei cellulari di tale
marca e` una semplicissima seriale... quindi si possono pilotare con un
terminale o poco piu`.
Di siti precisi non ne conosco, ma qui dei link dovresti trovarne a
bizzeffe:
www.epanorama.net
---
Bye! Lorenzo Lutti
http://www.geocities.com/SiliconValley/Peaks/6258/
Newsgroup: it.comp.programmare.win32
Titolo: (ot) aiuto

Ho formattato il computer, tutto bene fino a quando non si e bloccato.
Ora il monitor non si accende, e ricevo 9 bip dal bios, cosa posso fare?

 Ora il monitor non si accende, e ricevo 9 bip dal bios, cosa posso fare?
1 - Non è che sei OT, hai proprio sbagliato Newsgroup!
2 - Il bios non fa bip
3 - Il problema è a livello hardware (controlla sk video e ram)
--
- Carlo -
c.b...@libero.it

 Ora il monitor non si accende, e ricevo 9 bip dal bios, cosa posso fare?
Hai approvato ad aggiornare il bios? Mi sa che te lo sei
giocato...
Bow-wow
Killer

Newsgroup: it.comp.programmare.win32
Titolo: [DLL] Problema con typename

Usando Dev C++ 4, ma anche con altri compilatori "standard" non posso creare
un dll del tipo:
template <typename T,size_t Size,size_t Size2>
extern __declspec(dllexport) int __stdcall
conf(T(&Ar1)[Size],T(&Ar2)[Size2])
{
      if(Size!=Size2)
            return 0;
      else
            return !memcmp(Ar1,Ar2,Size*sizeof(T));
}
Cioč la compila tutta, perņ nel file def non c'č *NULLA*
Come posso fare una DLL di quel tipo con Dev C++ o VCC o BCP.
Grazie
Ciao
--
Timothy Redaelli

 }
Non credo che i template si possano esportare. Esiste la direttiva export,
ma a quanto mi risulta non è supportata quasi da nessun compilatore. Il
Borland C++ possiede un'opzione "export templates" ma non l'ho mai usata e
non so se faccia al caso tuo.
Marco

Newsgroup: it.comp.programmare.win32
Titolo: Compatibilita Win vs Win

Salve a tutti,
qualcuno può darmi una risposta al seguente quesito:
Sto scrivendo una applicazione Windows utilizzando Visual C/C++ ma senza
alcun FrameWork, solo con Api di Windows documentate in MSDN.
I computer che generalmente uso per lo sviluppo sono: WinXPPro/PIV
WinXPPro/PII WinXPHome/ToshibaSatellite_PIV.
Quelli su cui l'ho installato (un exe con 4 dll + una reg_entry) non
hanno dato problemi (Win98, 2000, xp, ME con Celeron, pentium, 486 ecc
ecc) tranne due PC con Windows ME che mi danno un errore di protezione
generale.
Premettendo che il software è ottimizzato anche con l'aiuto di tools
come BoundChecker per il corretto utilizzo della memoria, cosa devo
fare? Come si procede in questi casi?
Tecnicamente io cosa faccio e di conseguenza cosa dico al cliente?!?
Un grazie a tutti!
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

fare? Come si procede in questi casi?
Prova a generare l'exe con la libreria di boundschecker sulla macchina
di sviluppo, poi ti installi boundschecker anche su quella che da
problemi, in qs modo dovresti avere qualche informazione in piů.
Stefano "HappyMan" (Lago Maggiore - NO)
--
Personal Web 
http://www.sgr.info
Email happyman69 (at) 
libero.it

 Un grazie a tutti!
Ad occhio e croce dovrebbe essere proprio un problema di accesso
scorretto
alla memoria.
Non conosco BoundsChecker, ma con altri prodotti e' possibile ottenere
informazioni dettagliate dopo un crash impostando una qualche variabile
d'ambiente. 
Prova a controllare meglio la documentazione e a fornire al cliente
il programma compilato con le librerie di BoundsChecker...
C:\>iao Angelo


Newsgroup: it.comp.programmare.win32
Titolo: Keyboard Hook




Newsgroup: it.comp.programmare.win32
Titolo: [HELP] 256 colori in CTreeCtrl

Come cavolo si fa ad averli!
Mi carico la bitmap a 256 colori dalla risorsa e la aggiungo alla 
imagelist...
....
  CBitmap bm;
  HBITMAP hbm = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),
    MAKEINTRESOURCE(IDB_STATUS256),
    IMAGE_BITMAP,
    0,0, // cx, cy
    LR_CREATEDIBSECTION | LR_DEFAULTCOLOR );
 
  bm.Attach(hbm);
.....
  m_ImageList.Create(16,16,ILC_MASK | ILC_COLOR8,0,0);
  m_ImageList.Add(&bm,RGB(255,255,255));
.....
Purtroppo il CTreeCtrl a cui passo m_ImageList mi mostra correttamente 
ed unicamente le prime 2 icone (in realta IDB_STATUS256 ne contiene 10).
Dove sbaglio?
-- 
Luc

 Dove sbaglio?
Ops... trovato... Ho messo la bitmap sbagliata nelle risorse... ;) 
-- 
Luc

Newsgroup: it.comp.programmare.win32
Titolo: chat

Ciao a tutti;
vorrei scrivere una piccolo programma che faccia da chat interna in una
piccola rete di computer, mandando un mesaggio si apre una finestrella sul
desktop del computer remoto, il tutto in VC++6, qualcuno sa darmi dei
suggerimenti su come affrontare il problema?
Grazie

 ha scritto:

Io ho fatto una cosa del genere in un mio programma che gestisce anche la posta elettronica e i newsgroup. Se ti interessa e' free, lo puoi scaricare da 
www.geminisoft.com
.
Venendo alla tua domanda: puoi usare le socket per stabilire connessioni tra i PC e scambiare dati. Cerca su MSDN socket e troverai le funzioni che ti servono. In breve il programma deve andare in ascolta su una porta. Il chiamante esegue una connect verso il nome della macchina che vuole chiamare e il programma del chiamate risponde ed inizia il colloquio.
Le funzioni da usare sono: socket, listen, accept, connect, recv, send, closesocket, bind.
Antonio
Newsgroup: it.comp.programmare.win32
Titolo: chimate di sistema in visual c++

programmazione in Visual C++
1 - Come faccio a cancellare un file senza che compaia la noisa finestra di
DOS, cioe:
utilizzando la funzione system("del ..") all'interno di un programma questa
cancella il file desiderato, ma per fare cio apre la finestra di DOS, fa
eseguire il comando e la chiude. Io vorrei poter utilizare direttamente le
chiamate di windows.
2- Come faccio ad aggiornare il contenuto di finestra, cioè: devo aggiornare
periodicamente il  valore di una variabile che mi compare in una finestra,
ma utilizzando UpdateData() questo aggiornamento lo fa solo quando esce
dalla funzione chiamante
3- Quali funzioni devo usare per far comparire una finestra di attesa per il
periodo di elaborazione
grazie a tutti
ciski

 periodo di elaborazione
Non so cosa sia una "finestra d'attesa".  Puoi fare comparire
una finestra in tantissimi modi, naturalmente; ad esempio,
con un dialogo non modale.  Vedi punto 2 per UpdateWindow.
Alex

 con un dialogo non modale.  Vedi punto 2 per UpdateWindow.
Per "finestra d'attesa" intendevo un finestra stupidissima con scritto
"attendi sto eleborando"
che durasse per il tempo di elaborazione delle informazioni per poi sparire
automaticamente al termine dell'eleborazione, mi chiedevo se ci fosse già
una messagebox prevista con questa funzionalita o se devo crare un finestra
per poi gestirmi un evento che la chiuda al termine dell'elaborazione.
grazie
Michele

CreateDialog(...); // per creare la dialog non modale
// fai qualcosa nel frattempo (prendi un caffe' magari)
DestroyWindow(....);
Se non vuoi che l'utente interagisca con la finestra sottostante 
utilizza una "modal window" con un timer, oppure "sub-classa" la
parent window gestendoti tutti gli eventi, oppure crea un thread 
all'interno di una modal dialog oppure ... oppure..
Con un po' di fantasia ne troverai altri di metodi.
Fausto


 per poi gestirmi un evento che la chiuda al termine dell'elaborazione.
La seconda che hai detto -- una message box, o altro dialogo
modale, ti bloccherebbe l'elaborazione (potresti in realta`
lavorare con OnIdle, o in un thread separato, ma non e` la
soluzione piu` semplice in questo caso, mi pare).
Alex

Newsgroup: it.comp.programmare.win32
Titolo: [MFC] Due domande...

1) Come si fa ad impedire che vengano avviate più istanze di un programma?
2) Come si ottiene la cartella o il percorso completo del file exe
dell'applicazione?
grazie
Yugo Amaryl
yugo . amaryl @ jumpy . it

 dell'applicazione?
GetModuleFileName()
-- 
Luc
Newsgroup: it.comp.programmare.win32
Titolo: [C++ Builder] Errore molto strano con TMemo

Salve,
in un mio programma, che compila senza problemi, ho bisogno di mettere un 
TMemo. Non appena piazzo il componente sulla form e compilo mi dice che non 
trova la classe TMemo e non compila. Come è possibile se tale componente, 
come tanti altri, sono da subito disponibili?
Ciao 

Ho anche notato che non trova ne CheckBox ne RadioButton mentre invece trova 
Label e Button probabilmente perché ce ne sono già alcuni... 

 sono già alcuni...
Quasi sicuramente è stato fatto casino con i packages. 
Reinstalla BCB.
HTH,
-- 
Stefano Frosio
www.esse-effe.com

 Quasi sicuramente è stato fatto casino con i packages. Reinstalla BCB.
Ma se faccio un nuovo progetto i componenti ci sono.
E non credo di aver fatto niente di particolare. 

 E non credo di aver fatto niente di particolare.
Ah, nemmeno io :-).
-- 
Stefano Frosio
www.esse-effe.com

 prendendoli dal progetto che già hai.
Infatti ho fatto un nuovo progetto e ho incollato i componenti e il codice 
relativo e ho risolto.
Penso sia un bug del programma.
Ciao

Newsgroup: it.comp.programmare.win32
Titolo: Chiusura finestra child in mfc

Qualcuno sa dirmi come faccio ad intercettare il messaggio della chiusura di
una finestra child creata con il CMultiDocTemplate in MFC (VC++.Net)?
Grazie a tutti
Giorgio

 MFC (VC++.Net)? Grazie a tutti
la finestra child non è una classe che deriva da CMultiDocChildFrame o 
qualcosa del genere? fai l'override del metodo WndProc (WindowProc?), 
gestisci il messaggio WM_CLOSE e passa tutti gli altri all'ancestor
-- 
 < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
     Don't stand, REACT!      version 0.0.20. C, C++ and ASM developers
                              and beta testers are welcome!
Newsgroup: it.comp.programmare.win32
Titolo: winboard

ho bisogno di far comunicare due programmi come avviene tra winboard e i
vari GNUChess, ecc.
ho scaricato i sorgenti di winboard e ho visto, nel file backend.c, il
richiamo alla funzione SendToProgram(), pero' non trovo la definizione
della funzione.
Nessuno sa dove sta il sorgente di questa funzione?
grazie
-- 
Massimiliano Cialdi
cia...@control.dsi.unifi.it
cia...@firenze.net

 Nessuno sa dove sta il sorgente di questa funzione?
Non saprei esattamente, ma posso dirti questo: se hai gia' implementato la
funzione StartChildProcess(), che avvia il processo figlio (il motore) e
ridirige gli standard Input/Output dello stesso, allora tutto quello che ti
serve per la comunicazione e' una normale lettura/scrittura su STDIN/STDOUT,
in particolare:
Dal lato "interfaccia":
il lettura - ReadFile usando come handle il valore salvato in cp->hFrom
in scrittura - WriteFile usando come handle il valore salvato in cp->hTo
Dal lato "motore" e' ancora piu' semplice in quanto non ti serve nessun
codice tipo StartChildProcess() ma soltanto:
il lettura - ReadFile usando come handle STD_INPUT_HANDLE
in scrittura - WriteFile usando come handle STD_OUTPUT_HANDLE
Ciao
--
Luca Dormio - 
luca....@tin.it
________________________________
FICS ID: LarsenB, LarsenVB(C)
http://digilander.iol.it/larsenvb

 della funzione.
Nel secondo caso, che mi pare piu' probabile, avendo affrontato
recentemente un problema simile, ti consiglio la lettura del documento di
Tim Mann sul protocollo xboard per la comunicazione tra interfaccia e
motore:
http://www.tim-mann.org/xboard/engine-intf.html
Io ci ho imparato un sacco di cose e se anche il caso fosse il primo
potrebbe esserti utile per qualche chicca sulle comunicazioni
interprocessi (se non sei gia' esperto, come non lo ero io).
Ciao,
Paolo Violini

Newsgroup: it.comp.programmare.win32
Titolo: [?] VB & MPEG con API

Come posso gestire completamente un filmato MPEG da VB?
Intendo che voglio poter sapere (oltre ad una gestione del filmato
compresi gli STEP frame per frame) le informazioni tipo Frame al secondo
e sapere a che numero di frame mi trovo e/o a che tempo dall'inizio.
Con le API sono riuscito a farlo con gli AVI, ma con gli MPEG non so da
dove cominciare.
grazie
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


MPEG non è un formato con AVI che è "nativo" di windows...
Non ne sono sicuro (spero di no) ma mi sa che ti devi scrivere un
decodificatore e usare un po' le DirectDraw per disegnare su schermo
quello che fai...
Io lo fari cosi ma l'algoritmo MPEG e un po' troppo per me...
Il Razziatore,
The Only Good Windows in an uninstalled Windows
-----------------------------------------------
E-MAILs : IlRazziat...@NOSPAMnetscape.net
WEB     : 
http://www.razziatore.dns2go.com/
ICQ     : 67552596
Newsgroup: it.comp.programmare.win32
Titolo: STAMPARE UN FILE

Premetto che sto programmando in C standard e ho fatto un'applicazione in
API e non in MFC
la questione è questa:
devo stampare un file di testo che ho prodotto, su una stampante, l'unica
che ho configurato nella cartella
stampanti, come faccio da codice a dare in pasto il file a questa stampante
e a farmelo stampare direttamente senza che apra nessuna applicazione?
chiunque abbia una risposta per me, per favore mi aiuti :°°°°
ringrazio anticipatamente

 ha scritto nel messaggio
news:aqttn1$jen$1...@newsreader.mailgate.org...

Metodo semplice:
ShellExecute(hWnd, TEXT("print"), TEXT("file.txt"), blah blah blah);
Metodo complesso (molto piu' complesso):
Ti scrivi tutto il codice per gestire la stampa. Non e' impossibile
(soprattutto se hai solo testo), ma e' decisamente + complesso del caso
precedente. Sul Petzold c'e' qualcosa, ma va integrato ad esempio con un
ottimo tutorial preso dal sito dei James Brown (non ricordo l'indirizzo, se
non lo sai quando torno a casa te le posto qui).
Luca

Newsgroup: it.comp.programmare.win32
Titolo: extension dll

Il mio problema è questo:
Base.dll:
ClasseBase.h
class AFX_EXT_CLASS CBDDMView : public CScrollView
{
public:
 // Generated message map functions
 file://{{AFX_MSG(CBDDMView)
 afx_msg void OnViewZoom();
 afx_msg void OnMouseMove(UINT nFlags, CPoint point);
 file://}}AFX_MSG
 DECLARE_MESSAGE_MAP()
};
ClasseBase.cpp
BEGIN_MESSAGE_MAP(CBDDMView, CScrollView)
 file://{{AFX_MSG_MAP(CBDDMView)
 ON_COMMAND(ID_VIEW_ZOOM, OnViewZoom)
 ON_WM_MOUSEMOVE()
 file://}}AFX_MSG_MAP
END_MESSAGE_MAP()
Derivata.dll:
ClasseDerivata.h
class CGRIDView : public CBDDMView
{
public:
 // Generated message map functions
 file://{{AFX_MSG(CGRIDView)
 file://}}AFX_MSG
 DECLARE_MESSAGE_MAP()
};
ClasseDerivata.cpp
BEGIN_MESSAGE_MAP(CGRIDView, -----CScrollView------)
 file://{{AFX_MSG_MAP(CGRIDView)
 file://}}AFX_MSG_MAP
END_MESSAGE_MAP()
Tutto qui, non riesco a dichiarare CBDDMView al posto di CScrollView
(evidenziato dai trattini!).
Ciao comunque grazie.

 wrote in message
news:96217954...@eva.enter.it...

Newsgroup: it.comp.programmare.win32
Titolo: Uso delle DLL

Creare una DLL in VC++ è abbastanza semplice, ma supponendo di averla 
realizzata, come faccio ad utilizzarla in un'applicazione VC++? In 
particolare, se all'interno della DLL sono definite delle classi esportabili 
o 
delle funzioni, come faccio ad indirizzarle per poterle utilizzare?
Consigli e suggerimenti sono bene accetti (anche esempi).
     Grazie
       Massimo
------------------------------------------------------------
 Get your FREE web-based e-mail and newsgroup access at:
 
http://MailAndNews.com
 Create a new mailbox, or access your existing IMAP4 or
 POP3 mailbox from anywhere with just a web browser.
------------------------------------------------------------

Se hai il Visual Studio (la DLL la crei con l' AppWizard vero?)  hai anche
MSDN...
    buon lavoro,
|:|DoZeR|:|
Massimo Bonanni <massimo...@MailAndNews.com> wrote in message
3A8F...@MailAndNews.com...


Insieme alla DLL viene creato anche un file LIB. Nei project settings del
progetto da cui vuoi usare la DLL devi segnalare al compilatore che vuoi
usare anche quel file LIB (nel campo Object/library modules), poi piazzi la
DLL in un posto "noto" (come c:\winnt\system32 o la directory dell'exe) e
puoi utilizzare tutte le funzioni esportate.
Ricorda di mettere il file LIB in qualche directory in cui il compilatore
possa trovarla!
Bye,
Fra.

 =====

------------------------------------------------------------


Personalmente ho sempre esportato solo intere classi da "Extension DLL" per
MFC ma penso che la sintassi possa essere facilmente cambiata per DLL
qualunque
Nella dichiarazione della tua classe all'interno della DLL utilizza la
sintassi:
class __declspec(dllexport) Nomeclasse
{
...
}
Quando invece inserisci il file header nel progetto del client, quest'ultimo
dovrebbe essere modificato come segue
class __declspec(dllimport) Nomeclasse
{
...
}
Francamente non so se questa modifica sia effettivamente necessaria poichè
utilizzando solo DLL che estendono le MFC anzichè aggiungere __declspec(...)
durante la definizione della classe basta utilizzare la macro AFX_EXT_CLASS:
class AFX_EXT_CLASS Nomeclasse
{
...
}
La macro viene interpretata come __declspec(dllexport) quando viene
compilata la DLL (se sono cioè definiti _AFXDLL e _AFXEXT), mentre viene
interpretrata come __declspec(dllimport) quando compili il client che
utilizza la DLL (cioè quando è definito solo _AFXDLL). Ti ricordo che
comunque nell' MSDN questo discorso viene fatto unicamente per le "Extension
DLL". Per le altre prova a guardarci.
Saluti
Damianò

        Massimo
E comunque quando crei la DLL usando l'APPWizard crea un file .h da distribuire
all'applicazione che ne fa uso con tutte le define già settate a dovere e con 3 esempi:
* esportare una funzione
* esportare una variabile
* esportare una classe
Perciò usa il Wizard del VC...
Newsgroup: it.comp.programmare.win32
Titolo: Metodo Api

Salve a tutti , con il compilatore Mingw quale api
o funzione serve per visualizzare sullo schermo la finestra
che permette di scegliere un disco/cartella di destinazione
per copiare una cartella/file.
Grazie
Ciao


Ti serve una libreria per la Graphical User Interface. O utilizzi 
direttamente le librerie di sistema di windows, oppure se vuoi librerie 
free puoi usare le wxWidgets.
E.

"Jtrqw" <Jtrqw@Jtrqw> ha scritto:

Scelta cartella -> SHBrowseForFolder
Scelta file -> GetOpenFileName

 E.
Grazie
Ciao

Newsgroup: it.comp.programmare.win32
Titolo: [OT] - Generare numeri casuali

Salve a tutti,
Ho realizzato una funzione che genera numeri casuali in un certo intervallo
e che consente anche di indicare se i  numeri da generare avranno o meno una
parte decimale. La funzione è la seguente:
 bool decimal_ON = false;
   float max = 9.;
   float min = 1.;
   int num_ele;
   float Number, decimal_1, decimal_2, Err;
   num_ele = (int)(max - min + 1);
   srand( (unsigned)time( NULL ) );
   for (int i=1; i<=10; i++)
   {
        // Contribbuti decimali
         decimal_1 = (float)( (rand() % 10) * 0.10364 );
          decimal_2 = (float)( (rand() % 20) * 0.02064 );
         if (decimal_ON)
          {
            // Numeri casuali con parte decimale
            Number = min + (rand() % num_ele) + decimal_1;
            if (Number>max)
                {
                     Err = Number - max;
                     Number = Number - (Err+decimal_2);
                }
          }
     else     Number = min + (rand() % (num_ele));
      printf( "  %6f\n", Number);
   }
Il problema è che  se l'intervallo è troppo piccolo ( Es: [-0.2  ,  0.2] ),
il programma non funziona. Purtroppo mi ritorna sempre "-0.2".
Qualcuno sa indicarmi come posso risolvere questo problema ?
Grazie anticiatamente a tutti.
--
------------------------
Antonio Baldassarre
Alenia Marconi Systems - RT&O
Progettazione Software - Giugliano
Circumvallazione Esterna di Napoli
80014 Napoli
Tel: +39(81) 8180 476
e-mail: 
abalda...@amsjv.it
------------------------

     else     Number = min + (rand() % (num_ele));
succede che sommi a min il modulo di un numero diviso 1 che ovviamente
fa sempre zero e quindi Number assumerà sempre il valore di min...
Ciao
Francesco

 ha scritto nel messaggio
news:a8sal4$d3b$1...@e3k.asi.ansaldo.it...

Newsgroup: it.comp.programmare.win32
Titolo: Allocazione o non allocazione dinamica? Questo è il problema!

Salve a tutti,
vorrei un consiglio su una questione che č la seguente:
ho un file di record (piccolo DB proprietario) di questo tipo:
typedef struct
{
	int nID;
	int nIDSensor;
	time_t tTime;
	float fValue;
} MEASURE;
Devo creare una lista di record da esaminare. Il file potrebbe
accumulare circa 20000 record l'anno.
Che considerazioni dovrei fare riguardo l'allocazione di memoria? Non č
meglio creare la lista di record estratti dal primo file semplicemente
come un ulteriore file temporaneo tipo SelectionFileTemp?
Mi date qualche consiglio?
Grazie a tutti.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 come un ulteriore file temporaneo tipo SelectionFileTemp?
Se vuoi fare le cose in modo fico, usa i file mapping (cfr.
CreateFileMapping() e amiche).
-- 
Lorenzo

Newsgroup: it.comp.programmare.win32
Titolo: [BCB] Componenti per Touch-Screen

C'e' qualcuno che conosce una qualche libreria VCL specifica per
applicazioni touch screen (pulsanti grandi slider a portata di dito ecc.)
Anche Commerciale.
Grazie
Giuseppe


non basta ingrandire i pulsanti e gli slider che hai gia?

 ha scritto nel messaggio
news:01c17e6e$42d8eea0$c9080a3e@hal9000...


 Giuseppe
Io cambio semplicemente l'aspetto di Windows dalle proprietą dello
schermo.
Non so perņ come farlo via codice.
Luca

Newsgroup: it.comp.programmare.win32
Titolo: Informazione

Ho iniziato da circa un anno a programmare in Visual C++ e si può dire che
riesco a scrivere qualche riga di codice funzionante......Io ho avuto sempre
il desiderio di riuscire a creare una specie di video game.....
Cercando notizie ho sentito che il migliore manipolatore video che si può
usare su Windows è DirectDraw....
Potrei sapere dove trovare un elenco delle funzioni di DD e il loro
rispettivo funzionamento in Italiano
In attesa di una risposta invio tanti saluti a tutto il NG è mille grazie a
chi mi aiuterà
PS.:aiutatemi a realizzare il mio sogno by TN'84

 ha scritto

Le DirectX non sono affatto semplici.
Ad ogni modo se te la senti visto che "riesco a scrivere qualche riga di
codice funzionante" allora credo che l'unico modo per imparare non solo le
DirectX, ma anche a programmare videogames (semplici ed in 2D) sia quello di
acquistare Windows Game Programming for Dummies che trovi solo in versione
inglese pero'.
Alex

Scaricati l'SDK di directx 8.0a dal sito della microsoft (spero sia ancora
online) per una documentazione completa.
Cerca su Internet uno dei tantissimi siti di programmazione di VideoGames e
leggiti i vari tutorials, ce ne sono per tutti i palati.
Tanto per citarne 2 che consulto quotidianamente, ecco i link:
http://www.flipcode.com
http://www.gamedev.net
Newsgroup: it.comp.programmare.win32
Titolo: [OT] - Serialize

Ho disperato bisogno di trovare informazioni sulla serializzazione di
oggetti non appartenenti a MFC (oggettti fatti da me).
Nessuno puo' darmi uno spunto.
Grazie anticipatamente a tutti e scusatemi se sono OT.
--
------------------------
Antonio Baldassarre
Alenia Marconi Systems - RT&O
Progettazione Software - Giugliano
Circumvallazione Esterna di Napoli
80014 Napoli
Tel: +39(81) 8180 476
e-mail: 
abalda...@amsjv.it
------------------------

 Grazie anticipatamente a tutti e scusatemi se sono OT.
Non sei ot. Se l'oggetto non deriva da CObject ti devi implementare tu la 
'serializzazione', altrimenti la classe che ti serve è la CArchive.
-- 
Luc.

 wrote in message
news:a6prh9$cot$1...@e3k.asi.ansaldo.it...

Prova a cercare il "Serializer Pattern" di Dirk Riehle.
Ciao.

Newsgroup: it.comp.programmare.win32
Titolo: [BCB5] fare servizio web con Borland 5 IIS e SQL2k

Dovrei fare un servizio web per un intranet (consultazione dell' archivo a
livello locale). Ho pensato di usare IIS5 e il borland 5.0 in mio possesso.
Visto che sono neofita mi chiedo se ci sono cose a cui stare attenti prima
di inziare.
Grazie
Giuseppe Monteleone

 di inziare.
Non mi viene in mente nulla di particolare.  Con BCB5 (grazie al
cielo) non c'č ancora IntraWeb, che secondo me va evitato.  Con la
tecnologia WebBroker puoi fare facilmente quello che vuoi, come CGI
normale, Win-CGI, o estensione ISAPI/NSAPI.

 livello locale). Ho pensato di usare IIS5 e il borland 5.0
in mio possesso.
Se con "servizio web" intendi un WebService allora BCB5 non
li supporta nativamente. E' una novità (forse la principale)
di BCB6. Se invece si parla di un'applicazione Web (quindi
webserver) nessun problema e ci sono varie strade per
realizzarla.
==========================
Stefano Frosio
http://www.esse-effe.com
==========================
Newsgroup: it.comp.programmare.win32
Titolo: Aiuto per download di documenti in HTTP

Un saluto a tutti. Io programmo con il Visual C++ 6.0 della Microsoft,
utilizzando le MFC 4.2. Ho necessità di realizzare un'applicazione in
grado di effettuare il download via HTTP di documenti html da
internet.
Sono riuscito a far funzionare il tutto utilizzando la classe
CInternetSession chiamando la sua funzione OpenURL. In questo modo
tutto va, ma non riesco ad accedere ad un server HTTP che richiede una
userid ed una password. Ho provato la sintassi
http://userId:password@indirizzo, ma non funge per colpa del
particolare server al quale devo connettermi.
Ho deciso allora di seguire un'altra strada: utilizzo sempre la classe
CInternetSession, chiamando la sua funzione GetHttpConnection, la
quale oltre al nome del server prevede due parametri per indicare
appunto userId e password, ma mi sono imbattuto in un problema per cui
vi scrivo. Nella stessa funzione è necessario passare come argomento
il numero che identifica la porta TCP/IP da usare sul server. Che
faccio? Ho fatto le seguenti ipotesi:
1) Metto un numero a casaccio.
2) La porta TCP/IP da usare è sempre la stessa per tutti i server e io
non so qual'è.
3) Devo ottenere dal server stesso tale numero di porta e io non so
come si fa.
Ho spulciato tutti i documenti a disposizione nell'help, ed ho anche
individuato una pagina su internet che descrive le "well known ports"
di un server, senza trovare accenno ad una dedicata al download o al
TCP/IP. Perdonate la mia ignoranza. Sento che la risposta è semplice
ma non so come andare avanti.
Ah... visto che ci sono. La funzione GetHttpConnection ritorna un
puntatore ad un oggetto CHttpConnection, con il quale chiamare la
funzione OpenRequest. So che poi bisogna chiamare SendRequest e poi
non lo so più... insomma che devo fare concettualmente? Mi è parso di
capire preparare una richiesta, inviarla, e poi? Ho visto anche
EndRequest, serve? Che sono gli header che passeggiano qua e là
nell'help? Avrei bisogno di un'infarinatura su 'ste cose, ma non so
che argomento siano, né dove pescarle. In realtà non provo per esse
alcun interesse, quindi mi basterebbe anche un pezzo di codice per
ottenere un file da un server che richiede userId e password.
Rringrazio a priori chiunque legga e/o risponda e di nuovo un saluto a
tutti.
Ciao, Piero.

 faccio?
La porta di default del protocollo HTTP e` la 80.
---
Bye! Lorenzo Lutti
http://antani.virtualave.net/

>faccio? Ho fatto le seguenti ipotesi:
La porta standard per l'HTTP e' la 80. Se il server usa una porta diversa
puoi capirlo perche' nella url e' specificata con questa sintassi:
http://www.sito.com:82
a n t o n i o
www.geminisoft.com
Newsgroup: it.comp.programmare.win32
Titolo: Bitmap

Pensavo di avere risolto il problema, invece ancora non funziona.
Ho bisogno di creare una bitmap, di modificarla in modo diretto, e 
quindi di disegnarla.
Inizialmente creo la bitmap:
	BITMAPINFO bi;
	memset(&bi, 0, sizeof(bi));
	COLORREF *d;
	bi.bmiHeader.biSize = sizeof(bi);
	bi.bmiHeader.biWidth = dx;
	bi.bmiHeader.biHeight = dy;
	bi.bmiHeader.biPlanes = 1;
	bi.bmiHeader.biBitCount = 32;
	bi.bmiHeader.biCompression = BI_RGB;
	HBITMAP hbmp = CreateDIBSection(0, &bi, DIB_RGB_COLORS, (void **)&d, 0, 0);
e quindi disegno con:
	memset(d, 0, SCREEN_DX*SCREEN_DY*4);
	// drawing...
	GdiFlush();
	HDC ndc = CreateCompatibleDC(hdc);
	SelectObject(ndc, hbmp);
	RECT r;
	GetClientRect(window, &r);
	BitBlt(hdc, 0, 0, r.right-r.left, r.bottom-r.top, ndc, 0, 0, SRCCOPY);
	DeleteDC(ndc);
Ovviamente mancano delle parti e il codice è un po' diverso.
Sbaglio o, per default, l'origine è in basso a sinistra?
Comunque il problema è che non riesco a determinare le caratteristiche 
della bitmap. Ogni linea dovrebbe essere lunga dx*dy*4 byte, ma a quanto 
pare non è così.
Kiuhnm

 pare non è così.
ogni linea è lunga dx*4 byte
puoi usare anche SetDIBitsToDevice per copiare direttamente il vettore d
su hdc
ciao

 ogni linea è lunga dx*4 byte
Sì, intendevo dx*4.
Ricontrollando il codice ho trovato l'errore. Ho invertito dx e dy per 
fare una prova e poi devo essermene dimenticato.
Kiuhnm

 Sě, intendevo dx*4.
la lunghezza linea delle bmp
č la seguente
WidthByte = (Width*BitCount+31)/32*4
BitCount sono i bit per pixel
1,4,8,24,32

Newsgroup: it.comp.programmare.win32
Titolo: raw socket

come si fa ad inviare tramite socket dei pacchetti totalmente
personalizzati, header ip incluso? (uso vc6)
--
Pela

 personalizzati, header ip incluso? (uso vc6)
Premessa: questo puo` essere fatto soltanto sotto a Windows 2000, e fra un
po' a Windows XP. Fra l'altro Steve Gibson (
http://grc.com
) sta conducendo
una battaglia per la soppressione di questa funzionalita`, che aumentera` in
modo sensibile i danni da attacchi DDoS.
In ogni caso tempo fa su 
sourceforge.net
 ho scaricato un'interessantissima
libreria per VC6 che fa proprio questo, implementando i socket raw con
classi in stile MFC. Sul file .txt e` riportato questo indirizzo:
http://www.komodia.com
Se non la trovi dimmi qualcosa, che la metto online da qualche parte
(presumo che sia free, io come ti ho detto l'ho scaricata da sourceforge).
--
Bye! Lorenzo Lutti

 
In realtà non vuole eliminare in toto la funzionalità, solo limitarla 
agli utenti "root" (per usare le sue parole) ed eliminarla dalla 
versione "Personal" di XP che non  ha alcuna gestione dei privilegi 
utente (o meglio in cui tutti gli utenti hanno il livello massimo di 
privilegi).
Il rischio che sottolinea (a ragione) Gibson è che un trojan anche molto 
semplice (quelli che i mass media chiamano con faciloneria "e-mail 
virus" e si basano, sostanzialmente, più sulla dabbenaggine degli utenti 
che su meccanismi propri di replicazione e propagazione) possa infettare 
un numero di PC sufficiente per causare un DDos di un sito (per farlo 
con connessioni "regolari" è necessario infettare molti più PC) e da cui 
non è semplice difendersi in modo efficace (anche se un DDos limita 
solamente la possibilità degli utenti di connettersi al sito e non 
intacca in alcun modo i dati eventualmente custoditi sul server).
Quello che Gibson vuole evitare è che questa "tecnica" possa diventare 
patrimonio anche degli "script kiddies" (i ragazzetti che si limitano a 
sfruttare exploit già noti e utilizzare tools "preconfezionati" per 
generare trojan, worm e virus) che oggi attaccano soprattutto sistemi 
9X/ME.
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

 patrimonio anche degli "script kiddies"
He he, ora sono sicuro che hai letto anche tu quell'articolo. Vero che e`
appassionante? :)
--
Bye! Lorenzo Lutti

 
Preoccupante è forse l'aggettivo più giusto :)
Già ci sono molti server amministrati da admin "all'incontrario", non è 
il caso di aggiungerci pure i PC domestici.

Newsgroup: it.comp.programmare.win32
Titolo: [OT] [REGGIO EMILIA] MSDN, VC++, VB, VJ, VS ORIGINALI VENDO

Causa passaggio a versioni superiori (o altri tool) vendo:
MSDN Library 6.0a italiano (2 CD)
MSDN Library 6.0a tedesco (2 CD)
MSDN Library January 1999 inglese (3 CD)
MSDN Library April 1999 inglese (3 CD)
MSDN Library July 1999 inglese (1 DVD-ROM)
MS Visual C++ 1.52c inglese
MS Visual C++ 4.0 Professional Edition inglese
MS Visual C++ 5.0 Professional Edition inglese
MS Visual Basic 4.0 Edizione Professional italiano
MS Visual Basic 4.0 Edizione Enterprise italiano
MS Visual Basic 5.0 Edizione Professional italiano
MS Visual Studio 6.0 Professional Edititon tedesco
MS Visual J++ 6.0 tedesco
MS Internet Business Development Kit inglese (4 CD)
Inoltre posso vendere vecchi CD sampler di MS, Internet Pack, CD
dimostrativi...
Vendo anche le seguenti utilities
MS Scenes Undersea Collection 2.0
MS Publisher 2.0
MS Publisher StyleLine Design Pack 2.0 [ottimo anche come semplice raccolta
di clipart]
MS Works 3.0
Tombola Karaoke
Vendo anche i seguenti giochi, tutti su cd e tutti originali, con manuali e
scatole:
The Secret of Monkey Island 1
Le Chuck's Revenge - Monkey Island 2
The Curse of Monkey Island 3
Indiana Jones and the Fate of Atlantis
Fifa97
Warcraft II Tides of Darkness
Warcraft II Beyond the Dark Portal - Espansione
Warcraft II More War The Return of the Horde - Espansione
MS Golf Multimedia Edition
Vendo anche i seguenti CD Audio, originali:
883 - Nord Sud Ovest Est
Ligabue - Buon Compleanno Elvis
AA. VV. - Mixing in Action
Simply Red - Greatest Hits
Beethoven - Sinfonia n.9 in Re Minore op 125 Corale [ lire 3.000 !!!]
Vendo pure le seguenti audiocassette:
883 - Hanno ucciso l'uomo ragno
AA. VV. - Panorama Indimenticabili n.1 [ lire 500 !!!]
AA. VV. - Panorama Indimenticabili n.2 [ lire 500 !!!]
AA. VV. - Panorama Indimenticabili n.3 [ lire 500 !!!]
Preferibilmente zona RE.
fran...@yahoo.it

 wrote in message 816gbu$i4j$4...@nslave2.tin.it...


 dimostrativi...
dovrebbero essere GRATIS, altro che vendere! Ho anche forti sospetti su
altri CD elencati, ma nel dubbio...
--
Alessandro Monti

Esiste 
ab...@yahoo.it
 vero?
--
Diego "1985" Pettenò
per gli spammer la mail è
diego...@hotmail.com
ATTENZIONE: rispondo ai messaggi di pubblicità indesiderata
su TiscaliNet con un bel messaggio al provider di competenza!
per i messaggi seri è
diego....@tiscalinet.it

Riguardo al CD di Beethoven non mi interesserebbe sapere
il nome del direttore e dell'orchestra, grazie
Faber

Newsgroup: it.comp.programmare.win32
Titolo: Borland C++ Builder 5 vs Visual C++ 6

Salve
Devo decidere cosa prendere
Visual C++ 6
Borland C++ Builder 5
Quale scelgo e perche?
Grazie mille
Maxy
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.303 / Virus Database: 164 - Release Date: 24/11/2001

 wrote in message
news:FnuN7.203062$sq5.9...@news.infostrada.it...


Dipende se vuoi seguire lo standard usa VC++
???
-- 
                    Marco Barisione (ICQ 84277092)
Se sei interessato alla creazione di un newsgroup generico in cui si
possa parlare di quei linguaggi di programmazione senza un gruppo
apposito vota per it.comp.lang su it.news.votazioni.

 Dipende se vuoi seguire lo standard usa VC++
Mah... veramente dei due, l'unico aderente all'ultimo standard ANSI/ISO C++
č il Borland.
L'altro č rivisto e (s)corretto da M$ ed č quindi un fenomeno commerciale
(seppur importante).
A me personalmente da molta piů soddisfazione programmare col Borland...
anche se perň... lavorando per "terzi"... l'altro č piů richiesto.

 (seppur importante).
Con standar VC++ intendevo proprio questo: di fatto uno standard commerciale
molto supportato (purtroppo).
In particolare molti si riferiscono alle MFC e pur essendo anche il borland
dotato di MFC non ho mai capito
in che termini si possa, debba usarle.
Giuseppe

Non mi sembra che siano aderenti allo standard nessuno dei due. Forse il
Borland è un pelino meno peggio, ma per il VC esistono un sacco di librerire
adattate ad essere compilate ad esso. Il gcc (che è gratis) ed il Comeau
sono meglio. Soprattutto l'ultimo è probabilmente il migliore, anche se ha
una filosofia un po' particolare.
Ciao,
    Luigi
--
Luigi Bianchi
http://www.luigibianchi.com
n...@luigibianchi.com
Programming, C++, OWL, VCL, SDK, Dfm2API
Newsgroup: it.comp.programmare.win32
Titolo: L'indirizzo di IP

Premetto che non mi intendo per nulla di networking... ma ho bisogno di
implementare una funzione in un mio programma: devo sapere l'indirizzo di IP
corrente del computer su cui gira il mio programma. Ho dato una rapita
scorsa nel Platform nelle sezione relative, ma non ci ho capito granché.
Grazie anticipatamente,
Lorenzo
---
"...un tipo perso dietro le nuvole e la poesia..."
Lorenzo "Loz" Novara
E-Mail: 
l...@iol.it
Web: 
http://loz.freeweb.org

gethostname ti da il nome
gethostbyname ti da l'IP, pero' se sei sconnesso, restituisce il relativo di
127.0.0.1, altrimenti quello che ti passa il provider (almeno cosi' funziona
con il mio PC)
ciao
Lorenzo Novara ha scritto nel messaggio ...


Ho un po' di problemi... innanzitutto gethostbyname mi restituisce un
puntatore a HOSTENT, struttura che non ho capito granché. Comunque, facendo
una prima prova, ho un crash dell'applicazione:
#include <winsock2.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                   LPSTR lpCmdLine, int nCmdShow)
{
  char FAR szHostName[256];
  PSTR szAppName = "MyIP";
  LPHOSTENT lphe;
  if(!gethostname(szHostName, sizeof(szHostName)))
    MessageBox(NULL, "Errore!", szAppName, MB_ICONERROR);
  else {
    lphe=gethostbyname(szHostName);
    MessageBox(NULL, szHostName, szAppName, MB_ICONINFORMATION);
    MessageBox(NULL, lphe->h_name, szAppName, MB_ICONINFORMATION);
  }
  return 0;
}
cioč, mi mostra dapprima una msg dialog vuota, e poi, prima di mostrare la
seconda, crasha (immagino perché il puntatore punta a qualcosa di
inesistente). Probabilmente il mio errore č molto basilare, ma come ho detto
ignoro tutto e anche di piů sulla programmazione del winsock...
Dove sbaglio?
Ciao,
Lorenzo

     MessageBox(NULL, szHostName, szAppName, MB_ICONINFORMATION);
Non controlli che  lphe  sia non nullo.
prova con questo codice. Il passaggio per SOCKADDR_IN non e'
necessario, ma quella struttura e' utile per molte funzioni
WinSock. (E poi fare Cut and paste era piu' semplice)
        HOSTENT * pHostent;
        pHostent=gethostbyname(pName);
	if (pHostent)
	{
		SOCKADDR_IN saddr;
		saddr.sin_family=AF_INET;
		saddr.sin_port = htons((SHORT)dwPort);
                memcpy(&saddr.sin_addr.S_un.S_addr,
                       pHostent->h_addr,pHostent->h_length) ;
		printf("addr %d.%d.%d.d\r\n",
                       saddr.sin_addr.S_un.S_un_b.s_b1,
                       saddr.sin_addr.S_un.S_un_b.s_b2,
                       saddr.sin_addr.S_un.S_un_b.s_b3,
                       saddr.sin_addr.S_un.S_un_b.s_b4);
      }
Sent via Deja.com 
http://www.deja.com/
Share what you know. Learn what you don't.