mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: Nuovi libri ...

ciao a tutti ... mi servirebbero nuovi consigli su dei libri che dovrei 
comprare, mi potreste consigliare su libri che avete gia' letto o che sapete per 
certo ottimi ???
a) programmazione concorrente, thread
b) programmazione avanzata C
d) programmazione avanzata C++ (ho gia' il think e il BJ.Stroustrup)
e) design pattern
ringrazio tutti quelli che riescono a darmi dei consigli
ciao

 b) programmazione avanzata C
Non posso dirti per certo che sia ottimo, dato che non l'ho letto, ma 
sugli autori non ho alcun dubbio (dato che sono quasi tutti 
frequentatori di comp.lang.c, nel quale fanno sfoggio di *grande* 
competenza).
Il titolo e` `C Unleashed' (
http://users.powernet.co.uk/eton/unleashed/
 
- qui puoi vedere anche gli argomenti di cui tratta).
La cosa interessante e` che tutto il codice del libro e` scritto in C 
standard, quindi assolutamente portabile.
Vedi anche la recensione su ACCU 
(
http://www.accu.org/bookreviews/public/reviews/c/c002280.htm
).
Questo sara` di certo uno dei miei prossimi acquisti.
-- 
Enrico `Trippo' Porreca


Io ho apprezzato moltissimo Effective C++ e More Effective C++ di Scott
Meyers.
Ciao

 e) design pattern
Ovviamente Il "Design Pattern" di Gamma, ecc...
http://www.gorilla.it/gorilla/product.asp?sku=0201633612&dept%5Fid=
Anzi, lo vuoi in inglese (usato ma perfetto) che me lo prendo
in italiano (io preferisco, anche se in fondo è la stessa cosa...)?
E, ancora, il già citato libro di Alexandrescu
ciao
-- 
Gerolamo
www.overweb.it

 in italiano (io preferisco, anche se in fondo è la stessa cosa...)?
non lo so nenache che libri prendo ... non ho soldi da buttare via e mi sa che 
ne posso prendere solo 3-4 quindi devo ponderare bene la scelta ... ti faccio 
sapere magari ... cmq sono piu' propenso per libri nuovi ...
ciao

 e) design pattern
Qui ho letto qualche cosa, ma evito di consigliarti un libro, c'e' gente che
che su questo argomento ha letto molti piu' libri di me..... (anche se alla
fine credo che i migliori siano i soliti 2 o 3....)
Tommy

 ha scritto nel messaggio
news:blcrbv$tcf$2...@news.ngi.it...


 e) design pattern
7) Design Patterns
Se non puoi acquistarli tutti ti consiglio di prendere perlomeno i numeri
1,2,4 e 7.
ciao Anto
-- 
"Computer science is not about computers any more than astronomy
is about telescopes." -- EW Dijkstra

 1,2,4 e 7.
grazie mille !!! vedo se ci riesco a prenderne 4 ... :-)
Newsgroup: it.comp.lang.c++
Titolo: operazioni multiple in c++

Salve avrei un problema con il c++ riguardo la realizzazione di un banale
programma che trasformi i secondi immessi in ore, minuti ,secondi.
/*questo programma dati i secondi riporta in ore, minuti e secondi*/
#include <iostream.h>
int o,m,s,ts;
int main ()
{
 cout<<"Inserire i secondi: ";
 cin>>s;
 o= s/3600;
    m= (s - o * 3600) / 60;
 ts= s - m - o;
 cout<<"Tempo in ore, minuti, secondi: "<<o,m,ts;
 return 0;
}
Il problema è che mi stampa solo le ore e non mi stampa ne i minuti ne i
secondi. Eppure l'algoritmo è giusto perchè ho visto un programma in visual
basic tale e quale, mi chiedevo se il c++ sia in credo di eseguire opeazioni
del tipo (s - o * 3600) / 60 o vanno scritturate in diverso modo.
Grazie per le delucidazioni al riguardo.

del tipo (s - o * 3600) / 60 o vanno scritturate in diverso modo.
Prova a modificarlo cosi':
/*questo programma dati i secondi riporta in ore, minuti e secondi*/
#include <iostream.h>
int o, m, s, ts;
int main ()
{
	cout<<"Inserire i secondi: " << endl;
	cin >> s;
	// pulisce il buffer
	cin.clear();
	s = 4830;
	o = s/3600;
    m = (s - o * 3600) / 60;
	ts = s - (m * 60) - (o * 3600);
	cout << endl;
	// versione originaria
	cout << "Tempo: " << o,m,ts;
	cout << endl;
	// versione corretta
	cout << "Tempo: " << o << ':' << m << ':' << ts ;
	cout << endl;	
 return 0;
}
-- 
ciao, hal

 ts= s - m - o;
dovrebbe essere forse:
ts= s - m*60 - o*3600;
o qualche cosa del genere!
Tommy
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 }
Tommy


Grazie ho risolto.

perche' l'hai lasciata? E' palesemente una cosa non voluta, un errore.
Per far risaltare la differenza senza dover rileggere il post
iniziale.
-- 
ciao, hal

 dati ;-)
Si, avevo capito... poi ti sei dimenticato di toglierlo... capita ;-)
Tommy
Newsgroup: it.comp.lang.c++
Titolo: equivalente C++ della funzione sleep

Ciao a tutti. Potete dirmi se esiste in C++ l'equivalente della funzione 
sleep del C? Grazie. 

 
Su che piattaforma lavori? Comunque non esiste la "funzione c++" sleep, 
come non eiste la "funzione C" sleep. Avrai una libreria che implementa 
sleep().
Ad esempio su windows le winapi hanno
VOID WINAPI Sleep(__in  DWORD dwMilliseconds);
Requirements
Client 	
Requires Windows Vista, Windows XP, or Windows 2000 Professional.
Server 	
Requires Windows Server 2008, Windows Server 2003, or Windows 2000 Server.
Header 	
Declared in Winbase.h; include Windows.h.
Library 	
Use Kernel32.lib.
DLL 	
Requires Kernel32.dll.
Ciao


Una libreria è un contenitore di funzioni, e sleep e una funzione, o 
sbaglio? Comunque sto lavorando su windows. Ho provato con:
#include<iostream>
#include<stdlib.h>
#include <unistd.h>
#include<windows.h>
ma ugualmente il compilatore mi dice:
 `sleep' undeclared (first use this function)
Posto una parte del codice:
void contatori::secondi2()
{
 {
 int sec=0;
 while(sec<60)
 {
  if(sec>9)
  {
   printf("\r");
   printf("00:00:%d",sec);
   printf("\b\b");
  }
  else
  {
   printf("00:00:0%d",sec);
   printf("\r");
  }
 sleep(1000);
 fflush(stdout);
 sec++;
 }; //chiusura while 

  `sleep' undeclared (first use this function)
Forse è Sleep
P.S.
Metti l'header <windows.h>
per primo (a me funzionava sol così...boh)

 sleep del C? Grazie.
Né in C, né in C++ esiste una funzione sleep() standard. In questi
linguaggi esistono funzioni standard e funzioni non standard ed una
eventuale funzione sleep() è tipicamente dipende dal compilatore/
piattaforma. Per cui la presenza, il nome e l'uso di tale funzione
dipende strettamente dall'ambiente con cui stai lavorando. Se stai
lavorando sotto UNIX/Linux esistono le Posix sleep()/usleep()/
nanosleep(), se stai lavorando sotto Windows esiste la Sleep() o
SleepEx().

 
Ma tu non hai detto "funzione di libreria" hai detto "funzione C" o 
"funzione C++".
Messa in questo modo sbagli. E ripeterai l'errore con la prossima 
funzione se, anziche' cercare la funzione di libreria che implementa la 
funzionalita' richiesta, cercherai "dentro" un linguaggio.
Max

 ha scritto nel messaggio 
news:c97d5a49-0c70-47e3...@56g2000hsm.googlegroups.com...


funzione di libreria? 
Non esistono "funzioni del linguaggio" che non siano "funzioni di
libreria". Esiste la differenza tra le funzioni messe a disposizione
dalla piattaforma (e che tipicamente estendono in linguaggio con
propaggini specifiche per la macchina su cui stai sviluppando) e
quelle fornite in maniera standard con la libreria del linguaggio (e
che comunque, sulle diverse piattaforme, si interfacciano a basso
livello con le API del s.o.).
Per esempio, se consideri la malloc(): utilizzandola sicuramente rendi
il tuo codice portabile, ma la libreria che accompagna ciascun
compilatore implementerà la malloc() "wrappando" l'API specifica del
sistema operativo (VirtualAlloc() sotto WIndows, tanto per fare un
esempio).
Newsgroup: it.comp.lang.c++
Titolo: Dev C++ BloodShed + Sondaggio

Cosa ne Pensate del Dev C++ BloodShed????
E dato che tutti tirano le somme all'inizio dell'nuovo anno...
Secondo voi qul è il miglior programma, IDE, Compilatore Etc.. per C++.
Buon anno a tutti!!!!
Thanx

 voi qul è il miglior programma, IDE, Compilatore Etc.. per C++.
Io avrei fatto un altra domanda...
qual'è il compilatore che rispetta di più lo standard ANSI/ISO?
-- 
AccessDenied
*A messengers Of Fear*
Visite My Syte at 
http://accessdenied85.cjb.net

Credo sia il Borland. No?

 Credo sia il Borland. No?
Quello che rispetta di più lo standard? No. Non è il primo della lista.
Però è fra i primi ... se leggi la lista partendo dal fondo.
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

Però è fra i primi ... se leggi la lista partendo dal fondo.
Purtroppo i vari siti che forniscono i test sull'aderenza allo
standard dei vari compilers presentano risultati incredibilmente
discordi e non é facile farsi un'idea chiara basandosi su di essi,
bisognerebbe conoscere molto bene sia lo standard che i compilatori(
cosa non facile). Il compilatore della Borland effettivamente non é
mai fra i primi posti della lista, ma consideriamo anche che in quella
lista ci sono compilatori per piattaforme poco conosciute.
Il Ghenio
---------
These are my parting words to you:
those who give up are doomed!

Newsgroup: it.comp.lang.c++
Titolo: Cerco OCX o qualcuno che me lo faccia.

Vorrei realizzare un applicazione in VB che contiene un WebBrowser che
quando ha finito di scaricarmi la pagina mi compili un ListBox, o meglio un
TreeView, che contenga i link della pagina, e mi consenta di selezionare
quali files voglio scaricare,e mi chieda in che folder li voglio salvare.
Quando ho finito la navigazione clicco su un pulsante che mi esegua il
download di tutti i files che ho selezionato.
Vorrei sapere se qualcuno ha gia' prodotto qualcosa del genere o in
alternativa se vi sentite in grado e avete voglia di realizzarmelo inviatemi
un preventivo via e-mail.
Grazie
LongBlade

 Vorrei realizzare un applicazione in VB che contiene un WebBrowser che
Questo post e` OT in it.comp.lang.c++, dove si parla di C++ standard;
chiedi invece su it.comp.programmare.win32, il gruppo specificamente
dedicato alla programmazione della piattaforma di tuo interesse.
Alex

Newsgroup: it.comp.lang.c++
Titolo: info su ng

salve e la prima volta che entro in questo ng.
vorrei sapere se qui si parla solo di c++ o se anche di c?
altrimenti sapete indicarmi un ng di c?
grazie per la risposta

roberto corrieri wrote:
it.comp.lang.c
--
Ivan Molella
__LINUX__ the choice of the __GNU__ generation
icq# 97960484
Newsgroup: it.comp.lang.c++
Titolo: consiglio su libro OOD

Ciao a tutti,
conosco abbastanza il C++ ma il problema piu' grosso quando devo scrivere un
nuovo programma e' la parte di progettazione (o maglio di analisi). Uso
spesso l'UML per la definizione delle classi e la loro interazione ma
qualche volta, in particolare con progetti parecchio complessi, mi trovo poi
a dover combattere con problemi di errato disegno dell'applicativo (con
conseguente "imbruttimento" del codice scritto).
Qualcuno saprebbe consigliarmi un buon libro che affronti (in modo pratico,
senza perdersi in troppi giri di parole) queste problematiche?
Sarebbe bello se ci fosse qualcosa paragonabile a "Thinkink in C++" ma per
la parte di software engineering piu' che per il linguaggio in se.
Grazie

Un ottimo testo che pero` non parla di OOD in generale e`
"Design patterns - elements of reusable object oriented
software" di E. Gamma, R Helm, R. Johnson, J Vlissedes
edito da Addison Wesley.
Paolo
-----------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------

...

"Object-Oriented Design", P.Coad, E.Yourdon, L. 80.000, Pag. 197, Prentice Hall
Dovrebbe essere un riferimento più che autorevole.
Inquadra l'OOD fin dalle sue basi.
Ciao
AB
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Andrea Baruzzo
Via Circonvallazione, 26
Muzzana del Turgnano (UD) - Italy
e-mail: 
andrea....@ud.nettuno.it
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Premetto che il libro non l'ho letto, ma ho due perplessita':
- Non e' un po' vecchio?
- Gli autori sono alfieri dell'approccio strutturato: non ci sono forse
  altri autori meno "compromessi" (posto che questo sia poi un
  problema)?
Il libro che consiglierei io e' "Object Oriented Analysis and Design
with Applications" , 2 ed. di G. Booch. In realta' anche questo libro e'
vecchiotto. Purtroppo il suo autore, che era uno dei guru dell'OO, mi
pare che ultimamente si sia un po' troppo orientato al marketing...
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: visualc++

Salve,
qualcuno sa indicarmi un ng su visualc++ ?
grazie
  francesco

qualcuno sa indicarmi un ng su visualc++ ?
In it.* non esiste, ne dovrebbe esistere uno in free.it.*, ma la
gerarchia free è poco veicolata.
Fra i ng di it.* esiste però it.comp.programmare.win32 in cui si può
parlare anche di quello.
-- 
Marco Barisione (ICQ 84277092)

Newsgroup: it.comp.lang.c++
Titolo: Classe data.

Esiste un tipo standard per la gestione dei tipi riguardante la data e
l'ora?
Sul Lippman non esiste neppure un riferimento piccolo piccolo, mi faccio una
classe tutta mia?
Ciao Grazie.

 classe tutta mia?
Si. Prova a incapsulare quanto il C ti da'.

 l'ora?
No. Ipotizzo che sia cosi` perche` esistono diversi calendari.
Peraltro c'e` qualcosa in Boost:
http://www.boost.org/libs/date_time/doc/index.html
-- 
   |   \    \  | ___|_  |_  | ianezz a casa sua... :-)
   |  _ \  | \ | _|    /   /  Visita il LinuxTrent a
  _|_/  _\_|  _|____|___|___| 
http://www.linuxtrent.it

Newsgroup: it.comp.lang.c++
Titolo: compilazione bcc55 e g++ con risultati diversissimi

Vengo al dunque. Ho diligentemente svolto un progetto per l'esame di
Algoritmi e Strutture Dati con il BCC55. Deve funzionare sotto linux ma
siccome si doveva usare solo la libreria standard ho pensato che avrei
potuto sviluppare il progetto sotto windows e poi compilarlo sotto linux con
il g++ (obbligato).
Con il bcc55 funziona tutto bene ma quando ho provato a compilare sotto
linux ho ricevuto una marea di errori che mi informavano che alcuni membri
di una classe in particolare in realtà con lo erano. Ora mi ritrovo con un
progetto perfettamente funzionante sotto windows che però non riesco a
compilare con il g++.
Dov'è l'errore... sinceramente non lo trovo! Su cosa il compilatore g++ è
più fiscale?
Credo che sia una piccola cosa ma proprio non riesco a coglierla.
Allego il sorgente
Vi prego aiutatemi.

 ha scritto nel messaggio
news:8kg47p$69e$1...@lacerta.tiscalinet.it...


 wrote in message
8khghu$6...@dante.italia.com...


 in questi casi per default assegna int che era poi quello che serviva a
me.
Questo dimostra quanto sia utile compilare con *tutti* i warning attivati!
Daniele.

 in questi casi per default assegna int che era poi quello che serviva a
me.
Comunque lo standard prevede che il tipo debba essere specificato
esplicitamente (NON esiste piu`, da anni, il default a int) e un compilatore
Standard *DEVE* segnalare l'errore se il tipo viene omesso (non e`
questione di livello di warning...).  Quindi, questa mi pare un'altra
violazione
dello standard da parte di la-ditta-che-ogni-tanto-cambia-nome.
Alex

in questi casi per default assegna int che era poi quello che serviva a me.
Come Alex martelli ti ha fatto notare, il compilatore non e` standard
in questo punto, tuttavia pur non segnalando errore, almeno la
versione 5.02 segnala una bella warning (meglio che niente)...
Bisogna stare attenti anche a quelle.
Paolo
Newsgroup: it.comp.lang.c++
Titolo: vorrei degli esempi

di lettura e scrittura di un comando tramite usb, mi aiutate??

Ciao,
Questo newsgroup si occupa del linguaggio di programmazione C++. Per
questo non e' il posto piu' adatto per porre domande come la tua. Ti
invito a cercare un gruppo il cui argomento sia piu' rispondente alle
tue esigenze. Avrai maggior probabilita' di risolvere il tuo problema ed
eviterai perdite di tempo a chi consulta it.comp.lang.c++ .
Grazie,
Nicola Musatti
Newsgroup: it.comp.lang.c++
Titolo: Considerazioni sulle funzioni

Mi era venuto in mente un dubbio circa il beneficio apportato dall'utilizzo
delle funzioni. Non ho dubbi che siano un gran bella cosa riducendo di molto
il lavoro, però pensavo: se ad es. in un mio programma ho bisogno di creare
una tabella 500 volte, mi creo la funzione e tutto è ok ma... se invece il
codice lo scrivessi 500 volte nei punti in cui mi serve il programma non
sarebbe più veloce visto che risparmia 500 chiamate alla funzione?
Ovviamente diventa molto più oneroso per il programmatore, ma dal punto di
vista della velocità di compilazione e esecuzione, nel programma suddetto,
le funzioni non avrebbero un'effetto controproducente?
Grazie.
--
Non è stato rilevato nessun bug nel sistema.
Si desidera crearne uno?
-- 
Posted from [151.39.48.6] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 le funzioni non avrebbero un'effetto controproducente?
Infatti esistono le funzioni inline proprio per questo... se tu scrivi ad
esempio
inline int incrementa(int i)
{
    return(i++);
}
il compilatore sostituirà il codice della funzione ad ogni sua chiamata, ma
per il programmatore la chiamata rimane invariata.
Massimo

Si.. conoscevo questa particolaritą, ma ad es. in Pascal (credo che non
esista la funzione inline) per velocizzare il programma, conviene riscrivere
il codice?
Grazie
--
Non č stato rilevato nessun bug nel sistema.


il codice?
Beh, qui finiamo OT ... comunque, in generale, se una funzione esegue un
compito non banale, è lunga e magari anche difficile da scrivere, è meglio
lasciarla come funzione. E' chiaro che se una funzione esegue il banalissimo
compito di incremetare un contatore (o poco più), magari all'interno di un
ciclo for eseguito 2000 volte, si risparmia molto tempo scrivendo
direttamente il codice.
Domenico Barra

 le funzioni non avrebbero un'effetto controproducente?
Per l'appunto esiste la dichiarazione inline.
EMG

 Massimo
Ma rendere una _grossa_ funzione inline è considerata cattiva programmazione
e spesso (sempre ?) il compilatore ignora la direttiva inline.
A me pero' potrebbe interessare l'efficienza del codice a discapito delle
dimensioni dell'eseguibile...
Insomma...perchè è sbagliato fare funzioni inline di grandi dimensioni?
grazie
Franz

 Insomma...perchè è sbagliato fare funzioni inline di grandi dimensioni?
Beh' tieni presente che non sempre un codice inline e' piu' efficente di 
uno NON inline. La cache codice ha una dimensione finita, per cui a volte 
e' meglio "pagare" una chiamata a funzione, piuttosto che avere codice 
fuori cache. 
Come caso estremo ho un sorgente fortran di 3 MEGABYTE; con il g77 dopo 3h 
ancora non l'aveva compilato ( e sono arrivato a 300 e passa mega di 
memoria occupata !! ). Chiaramente e' il risultato di un altro programma in 
maple.
E per girare non ci mette poco !
Forse se il codice fosse stato scritto direttamente in fortran con delle 
librerie apposite si avrebbe avuto tempi di compilazione/esecuzione minori. 
Certo ne avrebbe pagato il tempo di sviluppo ...
Newsgroup: it.comp.lang.c++
Titolo: Funzione che restituisce la data di oggi: ma come funziona?

Salve atutti innanzitutto, ho questa funzione che dovrebbe restituire (ed in
effetti lo fa) la data del giorno.
Tuttavia non so come funziona e, volendola usare in un compito d'esame devo
conoscerne i dettagli in moda da saper rispondere ad eventuali domande del
professore.
Qualcuno potrebbe commentare le righe che non mi sono chiare (dall'inizio
fino a  "//da qui in poi è chiaro  " )?
Grazie a tutti, max;-)
string orologio::date()
{
 //RICAVO LA DATA LOCALE//
 //restituisce una copia in quanto la data e' locale alla funzione
 time_t TIME;
 tm* T;
 time(&TIME);
 T=localtime(&TIME);
//da qui in poi è chiaro
 ostringstream ostr;
 ostr<<1900+T->tm_year<<'/'<<1+T->tm_mon<<'/'<<T->tm_mday;
 return ostr.str();
}

 fino a  "//da qui in poi è chiaro  " )?
Dal momento che sono chiamate standard, qui puoi trovare le informazioni
che cerchi:
http://www.dinkumware.com/htm_cpl/index.html
Ciao,
Nicola
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c++
Titolo: PS gruppi

non c'entra molto ma non so dove domandarlo: conoscete qualche altro
modo per scrivere sui gruppi oltre a google? google impiega molte ore
per scrivere i messaggi, quindi per chiedere chiarimenti alle
risposte, o magari per avvisare se sono riuscita a compilare un
programma ci vorrebbero settimane.
m.l.


di solito il  provider ha anche un newsserver dedicato
ai suoi utenti.
Quindi se per esempio usi l'accesso gratuito di libero,
puoi collegarti al newsserver di libero etc.etc.
ciao,
g.

...

sono collegata dall'università ;-(
c'è il web, la posta e poche altre cose, per esempio niente ftp ;-(

On 5 Feb 2004 08:35:15 -0800


Non c'entra il protocollo ftp.
Il protocollo delle news e' nntp.
E' utilizzato da molti programmi di e-mail.
Il problema e' trovare il server, perche' molti server nntp consentono
l'accesso solo ai propri abbonati.
-- 
	Carlo Milanesi
 
http://digilander.libero.it/carlmila

 l'accesso solo ai propri abbonati.
Bisognerebbe anche sapere se il firewall dell'universita' lascia
passare nntp (tralasciando il fatto che un'universita' dovrebbe avere
un news server interno).
Un buon server pubblicamente accessibile e':
http://news.individual.net/
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: Parte di codice in assembly.

Ciao, girovagando per vecchie riviste ho trovato un codice c++ che sviluppa una
classe con 2 float per fare un numero a precisione >. (e quindi , spero, tempo
di calcolo minore)
Pero nel codice ci sono delle funzioni assembler. Ma il compilatore C++ (visual
6) se le trova, che fa?
-----------------------
Perche guardare la marcuzzi?
Semplice costa meno dell'eroina ed e legale!
GYps!

6) se le trova, che fa?
Se e' inline assembly, pensato per il modo protetto a 32 bit, lo compila
(assembla) senza problemi. Se e' pensato per DOS le cose cambiano...ma
trattandosi di calcolo numerico non credo avrai conseguenze negative (al
massimo un po' di penalita' per le istruzioni che lavorano su registri a 16
bit).
Davide Marcato.
----------------------------------------------------
| -- Freelance International Consultant
| -- Win32/MFC/COM Development & Training
| -- Technical Writer & Speaker
----------------------------------------------------
| -- Email: 
mar...@programmers.net
| -- Web: 
http://www.DavideMarcato.com
----------------------------------------------------
Newsgroup: it.comp.lang.c++
Titolo: come disegnare un cerchio in QLabel implementato da form ui di QT Designer?

Prima di studiare in maniera approfondita QT mi piacerebbe sapere come 
disegnare un cerchio o un semplice puntino a partire da un form ui 
creato con QT Designer. Inserendo un QLabel nel form come posso usarlo?
Ho già implementato una classe che eredita quella generata dal form. Non 
so però come "accedere" al QLabel...
Grazie!
Armando


Ciao,
per disegnare qualsiasi cosa in QT (un cerchio, un quadrato, etc.
etc.)  devi reimplementare il metodo paintEvent() delle classi
derivate da QWidget, QLabel è una di queste.
Nel tuo caso specifico, devi fare in modo che Designer inserisca nella
form una tua classe derivata da QLabel. Per fare questo, dal Designer,
devi cliccare con il tasto destro sulla tua QLabel e nel menù
contestuale cliccare sul "promote..". Qui dovrai configurare il nome
della tua classe (che deve ereditare da QLabel) e il nome dell'header
in cui si trova la dichiarazione.
Ora , nella tua implementazione, puoi ridefinire il metodo
paintEvent() e attraverso la classe QPainter disegnare qualsiasi
oggetto.
Spero di esserti stato d'aiuto,
Ciao
GG

 in cui si trova la dichiarazione.
[...]
Chiarissmo ma non trovo alcun comando promote in QT Designer.
Devo forse usare QT4?
Grazie ancora!
Armando

Newsgroup: it.comp.lang.c++
Titolo: dynamic_cast

Ciao a tutti,
ho provato a compilare ed eseguire con Vc++ 6 il seguente codice con l' RTTI
flag dei settings abilitato per utilizzare il dynamic_cast.
// file test.cpp
class Base
{
    virtual  ~Base() {} // per rendere la classe polimorfica
};
class Derived : public Base
{
};
int main()
{
    Base *pB = new Derived;
    Derived *pD = dynamic_cast<Derived *>(pB);
    // continuazione di codice dove utilizzerei pD
    // ...
    return 0;
}
Con il debugger, a tempo di esecuzione si verifica che alla linea in cui
faccio il dynamic_cast, si ha un'eccezione (non sono sicuro se si tratti di
una "Non RTTI object exception").
Chi mi spiega l'errore e l'eventuale modifica?
Grazie
Maurus


Sembra tutto giusto a meno di sviste, prova a fare:
try {
    Base *pB = new Derived;
    Derived *pD = dynamic_cast<Derived *>(pB);
}
catch(std::exception& e) {
    std::cerr << "Error: " << e.what() << std::endl;
}
catch(CException& e){        //con quelli di M$ non si sa mai
    TCHAR  szCause[255];
    ex.GetErrorMessage(szCause, 255);
    std::cerr << "Error (M$): " << szCause << std::endl;
}
catch(...){
    std::cerr << "Error: unknown"<< std::endl;
}
e vedi cosa dice.
Ciao
Gaetano
-- 
Posted from 
nts-03.mm.eutelsat.org
 [194.214.173.15] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c++
Titolo: fare le stesse cose di c# con .net in ambiente web con il c++

Ciao,
una domanda:
la programmazione in c++
fatta nell'ambiente .net con
visual studio 2005, mi permette
di sviluppare *applicazioni web*
con le stesse potenzialita' e funzioni
disponibili con il c#?


sei OT devi domandare nei forum o ng microsoft
Newsgroup: it.comp.lang.c++
Titolo: cerco un buon programmatore

sono il titolare di una azienda informatica non molto grande è sono in cerca
di un programmatore disponibile a viaggiare in ungheria non più di qualche
volta per sviluppare un programma nel mondo ingegneristico strutturale
grazie

 ha scritto nel messaggio
news:KvV68.20981$3J1.6...@news2.tin.it...


 > di un programmatore disponibile a viaggiare in ungheria non piů di


Newsgroup: it.comp.lang.c++
Titolo: Array e Struct

Salve a tutti,
supponiamo che ho una struttura come di seguito : 
______________________________________
typedef struct _PIPPO{
int      a;
char   nome[20];
int     b;
} PIPPO;
PIPPO pippo[] = {{1, "Ciccio", 1},
                      {2, "PLUTO",2},
                      {3, "PIPPO",3},
                      {0, "",0}
};
______________________________________
Come faccio a determinare il numero di elementi dell'array pippo ? per 
capirci se volessi fare un for : 
for (i = 0; i<????; i++)
{
....
}
Potete aiutarmi ? 
ciao a tutti.

int iSize = sizeof(pippo)/sizeof(pippo[0]);
Occhio però che se trasformi da pippo[] a *pippo2 perdi questa
caratteristica! E se passi l'array pippo a una funzione che ha come
parametro pippo[] lo stesso non pui calcolare la lunghezza da dentro la
funzione.
Ma noto che tu hai inserito una specie di "terminatore"... Quindi potresti
fare anche un ciclo "mentre a != 0 && b!= 0 && pippo[x].nome[0] != 0"

Newsgroup: it.comp.lang.c++
Titolo: File intestazioni senza .h

Dove posso trovare un elenco delle intestazioni delle librerie con .h con le
corrispondenti intestazioni senza .h?
Grazie.

 corrispondenti intestazioni senza .h?
cosa intendi? Per caso questo:
iostream.h -> iostream
vector.h -> vector
list.h -> list
stdio.h -> cstdio
stdlib.h -> cstdlib
beh... se e' questo e' semplice, se e' stata introdotta dal C++ allora togli
semplicemente il .h:
iostream.h -> iostream
se invece e' stata ereditata dal C allora togli il .h e fai precedere da una
c:
stdio.h -> cstdio
Potrebbe esserci qualche caso che non segue questa regola, non me ne vengono
in mente,ma in generale e' cosi'.... occhio a quelli che sembrano "doppi",
ad esempio string e cstring sono in realta' diversi!!!
Per una lista completa:
algorithm
bitset
complex
deque
exception
fstream
functional
iomanip
ios
iosfwd
iostream
istream
iterator
limits
list
locale
map
memory
new
numeric
ostream
queue
set
sstream
stack
stdexcept
streambuf
string
typeinfo
utility
valarray
vector
cassert
cctype
cerno
cfloat
ciso646
climits
clocale
cmath
csetjmp
csignal
cstdarg
cstddef
cstdio
cstdlib
cstring
ctime
cwchar
cwctype
Tommy
Newsgroup: it.comp.lang.c++
Titolo: LIbrerie Grafiche DOS in C++

Esistono delle librerie anche semplici per fare una emplice interfaccia
grafica sotto DOS, grazie a chi mi puo' aiutare.
Felice:-))

Dipende dal compilatore... ci sarebbe la famosa Allegro (credo per il
Djgpp), e anche la Xlib (gira meglio sul Borland C++, ma con un po' di
pazienza anche su altri). Dipende da cosa vuoi fare...



Sono librerie free ?
Dove si possono trovare ?
Ciao
---------------------------------------
Email: sostituire "nospam" con "netsis"

 grafica sotto DOS, grazie a chi mi puo' aiutare.
a oggetti c'e' la GUILIB, una lavor vecchio ma ancora molto 
interessante, compila con Borland Turbo C++ 1.0 per dos
** Email replies to 
md7...@mclink.it
 **
visit my homepage at: 
http://www.volftp.tin.it/IT/IT/ITALIANI/rullo/index.htm
 

Dove si possono trovare ?
Dunque, se non ricordo male l'Allegro 3.0 l'ho scaricato qui:
http://www.talula.demon.co.uk/allegro/
 (dovrebbe essere l'home page) mentre
l'xlib 6.12 credo qua:
http://sunsite.lanet.lv/ftp/mirror/x2ftp/msdos/programming/xlib/
 (o un altro
mirror di X2Ftp). Per ciň che riguarda il freeware: sě, sono freeware e ci
sono pure i sorgenti in entrambe (anche se per Allegro ci vuole il Djgpp).
Newsgroup: it.comp.lang.c++
Titolo: Dubbio strano

Poichč non sono molto informato, mi era sorto il seguente dubbio. Ma Bjarne
Stroustrup ha creato il C++ dal punto di vista sintattico, o ha anche
scritto un compilatore?
Se lo ha scritto qual'č?
--
Non č stato rilevato nessun bug nel sistema.
Si desidera crearne uno?
-- 
Posted from [151.39.48.6] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Se lo ha scritto qual'č?
Stroustrup non e' partito direttamente con quello che oggi e'
conosciuto come C++, ma con un "C con classi", una specie di derivato
dal Simula67. Nel tempo il linguaggio si e' evoluto, distaccandosi
sempre piu' dal C (o meglio, racchiudendolo) e arricchendosi di nuove
caratteristiche, fino allo standard del '97. E' chiaro che all'intero
dell' AT&T sono state scritte diverse versioni di compilatori C++.
--
Andrea Laforgia (ICQ 87230455)
------------------------------ 
#exclude <windows.h>

Scusa, ma cosa intendi per AT&T ?
--
Non è stato rilevato nessun bug nel sistema.


 Scusa, ma cosa intendi per AT&T ?
 
http://www.att.com/

Scusa, ma cosa intendi per AT&T ?
Ashton Tate & T., la societa' telefonica americana (leggi Laboratori
Bell) ovvero dove B.S. lavora.


 Bell) ovvero dove B.S. lavora.
Giusto per curiosità, ma non era "American Telephone & Telegraph" ?
Massimo

Giusto per curiosità, ma non era "American Telephone & Telegraph" ?
Urgh ! che dubbio amletico !
Ho sempre pensato che significasse Ashton Tate & T !...

 Giusto per curiosità, ma non era "American Telephone & Telegraph" ?
Si. Ashton Tate era la ditta che ha realizzato il dBase III, poi
acquisita dalla Borland.
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: Connessioni e autentificazione

Ciao a tutto il NG
Volevo farvi una semplice domanda:
Ho una rete LAN collegata ad una ADLS tramite Router, e da un computer mi
devo connettere ad un altro computer in rete ADLS e leggermi dei file.Di
questo computer conosco l'indirizzo IP, user id e pwd;
Ma facendolo da windows e digitando \\indirizzo ip si connette chiedendomi
l'utente e password
questo passaggio lo voglio evitare collegandomi stesso da codice del mio
programma
Ho visto un po le classi CInternetSession,CFtpConnection, CGropherConnection
e altre ancora, ma nessuna mi sembra opportuna
Sapete dirmi voi come fare?
Il risultato dovrà risultare il seguente:
  avere come path il nome del computer+Cartella\elenco file, es.
\\nomehost\Dati\nomi file.....
  così da poter leggere i file di quel computer.
Grazie e buon Lavoro

Qui sei OT. Prova a chiedere su it.comp.programmare.win32 .
Ciao,
Nicola

Ho Trovato, era la funzione SDK AddConnection(\\server)
Grazie e buon Lavoro
Roberto

Newsgroup: it.comp.lang.c++
Titolo: c++ & backdoor

Ciao a tutti...
Qualcuno mi sa dire dove posso trovare un tutorial sul c++ finalizzato
alla realizzazione di un backdoor (o che mi premetta poi di
programmarlo!) che funzioni da riga di comando?
Ciao, hendley

hendley wrote:

LAMER :P
Newsgroup: it.comp.lang.c++
Titolo: Casting

Riformulo la domanda in modo più diretto e immediato. L'ultimo post era un
po' fumoso.
In quali circostanze conviene o è necessario usare un reinterpret_cast o un
const_cast invece che uno static_cast?
La vecchia notazione di casting del C/C++prestandard corrisponde a quale
parola chiave nel nuovo standard?
Perfino il Lippman confonde le idee, si limita ad avvertire della
pericolosità del reinterpret_cast ma le differenze tra le varie notazioni
restano piuttosto oscure, perlomeno a me.

 parola chiave nel nuovo standard?
Ci sono anche i cast function-style come int(), MioTipo(), etc.
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg


Grazie. Mi sembra abbastanza chiaro.

 Lo static_cast corrisponde al vecchio C-style cast.
Il vecchio C-style cast e` piu` potente e pericoloso, e puo`
comportarsi anche da const_cast o reinterpret_cast.
        Mauro

 comportarsi anche da const_cast o reinterpret_cast.
Giusto! Grazie della precisazione.


Newsgroup: it.comp.lang.c++
Titolo: [Forse OT] - Compilare nello stesso progetto file .cpp e file .c

Salve a tutti,
per prima cosa mi scuso nel caso fossi OT.
Vorrei compilare su piattaforma WinNT con Visual C++ un semplice progetto
composto da
sorgenti .c e da sorgenti .cpp
A primo impatto sembra che questa cosa non sia possibile mentre io sono
convinto del contrario e penso che sia necessario solo modificare o a limite
eliminare qualche flag nel pannello delle impostazioni di compilazione.
Qualcuno sa come č possibile risolvere questo problema?
Grazie anticipatamente  a tutti
Saluti

 per prima cosa mi scuso nel caso fossi OT.
si, lo sei perche' non riguarda il c++ ma un compilatore particolare su una
piattaforma particolare.
inoltre e' considerata cosa brutta crosspostare.
comunque e' possibile. pensa solo questo: non potresti mai usare una printf
in codice c++ altrimenti.
guarda come e' fatta ad es. stdlib.h
non c'e' bisogno di cambiare impostazioni, pero' ricorda che vc te lo
compilera' come c++
ciao


 compilera' come c++
Sbagliato! Se il file ha estensione .c, in automatico lo trattera' (e
compilera') come file C, se ha estensione C++, in automatico lo trattera'
come C++ (e' possibile pure intervenire).
Tommy

 ha scritto nel messaggio
news:b7379p$ph7$1...@hercules.btinternet.com...


 dover ogni volta rinominare l'estensione dei file.
Umh!?!
A presto,
Tommy
Newsgroup: it.comp.lang.c++
Titolo: differenze tra Borland C++ Builder 3.0 e 4.0

Me ne elencate alcune ?
Ciao
Grazie

 
Le trovi sul sito della Borland.
Fausto.

Newsgroup: it.comp.lang.c++
Titolo: Nome del server DDE per IE3.X

Qual'e' il nome del server DDE per Internet Explorer 3.X ?
Internet Explorer 4.X e' compatibile DDE ?
--
----------------------------------------------------
 Marco Maroni  mailto:
m.ma...@esa-group.it
 Analista/Programmatore
 ESA Software S.p.A. 
http://www.esa-group.it
 via Draghi, 39  tel. +39 541 368.111
 47900 Rimini (ITALY) fax  +39 541 368.268
----------------------------------------------------

Marco Maroni wrote:

Qual'e' il nome del server DDE per Internet Explorer
3.X ?

Internet Explorer 4.X e' compatibile DDE ?

Il nome del servizio DDE di Internet Explorere è IEXPLORE; i topics
DDE resi disponibili da IEXPLORE dovrebbero essere i seguenti:


 - www_OpenURL

 - www_ShowFile

 - www_Activate

 - www_ListWindows

 - www_GetWindowInfo

 - www_Exit


Sembra che funzioni sia con IE 3.0 che con 4.0.

-------

Ho realizzato un programma in Win32 per la gestione dell'help utilizzando
l'HTML e IE come Help Viewer.

Conosci un sistema migliore (Microsoft Help Workshop) che mi consenta
di riutilizzare tutta la documentazione HTML già scritta ?


Ciao e buon lavoro!


Roberto Mantovani

CNI Controlli Numerici Industriali


Personal E-MAIL : 
rmant...@racine.ra.it


Work E-MAIL     : 
cni...@tin.it

Newsgroup: it.comp.lang.c++
Titolo: Pagine HTML a tutto schermo

Salve a tutti.
Spero che qualche anima buona possa darmi qualche suggerimento. Premetto che
sto usando il Visual C++ 6.0 e che ho creato (praticamente ha fatto tutto il
Visual) e sto continuando a migliorare, un banalissimo browser per la
lettura di pagine html. Purtroppo ho bisogno di implementare alcune
particolarita' (comandi/opzioni da disabilitare...) che non riesco a fare:
1. visualizzare la pagina html a tutto schermo (senza cornici, menu, tasto
di chiusura, barre a scomparsa...)
2. disabilitare il tasto destro del mouse sulla pagina html (che puo' aprire
per es. il sorgente)
Tutto questo per permettere la navigazione delle pagine solo ed
esclusivamente attraverso i link visualizzati.
Vi ringrazio fin da ora per il tempo che vi ho rubato.
Iacopo


Newsgroup: it.comp.lang.c++
Titolo: Problema di derivazione (e compilazione) in C++

Salve,
nel corso della realizzazione di un mio progetto si e` verificata
la necessita` di estendere le funzionalita` di alcune classi
di libreria. Fin qui` niente di strano, se non fosse che il
modo di funzionare e le relazioni gerarchiche delle classi di libreria
mi ha creato qualche difficolta`.
Ecco il problema:
Delle classi di libreria due sono una derivata (pubblicamente) 
dall'altra
    TDecoratedFrame <--- TDecoratedMDIFrame
(la seconda eredita dalla prima NON VIRTUALMENTE)
Quello che ho fatto (ma che per la verita` non mi convince al
100%) e` stato definire una classe che inglobasse le nuove
funzionalita` al fine di estendere le classi di libreria
mediante ereditarieta` multipla.
L'ideale sarebbe stato di estendere solo TDecoratedFrame e
ricompilare la libreria, ma la ricompilazione sarebbe stata
molto onerosa (e non e` detto che riesca al primo tentativo,
inoltre dovrei ricompilarla piu` volte per ottenerne le
varie versioni che mi occorrono).
La via che ho seguito a questo punto e` stata quella di
scrivere un nuovo modulo (header file + cpp file) in cui
estendo separatamente le due classi (ottenendo cosi`
le classi TCustomDecoratedFrame e TCustomDecoratedMDIFrame), questo 
pero` spezza la relazione di parentela tra le classi derivate.
la nuova situazione sarebbe cioe` 
 TDecoratedFrame   <----   TDecoratedMDIFrame
               \                                               /
                \             TOwner               /
                 \            /            \            /
                  \         /     TCustomDecoratedMDIFrame
                   \      /
                TCustomDecoratedFrame
Il problema non sembra molto grave poiche` generalmente si
usa una sola classe tra TDecoratedFrame e TDecoratedMDIFrame
(esse rappresentano oggetti finestra contenenti tool bar
e/o barra di stato) e quindi presumibilmente in futuro
si utilizzera` una sola tra le TCustomDecoratedxxxxx.
Inoltre non ci dovrebbero essere problemi nell'integrazione con
OWL (ancora non posso testarle) perche` solo il nuovo codice
utilizzera` le nuove funzionalita`, quello di OWL invece per
via dei casting a compile e run time vedra` sempre le
sottoclassi di partenza. Questa scelta` oltre a sembrarmi non
molto O.O. ha lo svantaggio di costringermi a scrivere un po'
di codice in piu` (alcune versioni overloaded dei metodi
che usano le classi TCustomDecoratedxxxx, al fine di
supportare le due possibili scelte).
Le domande a questo punto sono:
1) Dato che il problema e` dovuto alla mancata parentela delle
   due nuove classi, non c'e` una alternativa (che non comporti
   la ricompilazione) che mi permetta di mantenerla?
2) Se non e possibile mantenere la relazione di parentela,
   voi come avreste agito?
Aspetto vostri commenti e consigli,
Paolo

Paolo
Ciao,
Angelo.

A me non viene in mente nulla; io avrei fatto esattamente come te.
Era questo che volevo sapere, non essendomi mai trovato in una
simile soluzione volevo sepere se la mia era una decisione
accettabile oppure era meglio seguire un'altra strada (se c'e`).
Paolo
Newsgroup: it.comp.lang.c++
Titolo: *** messaggi ***

Ciao a tutti.
Il programmino che segue visualizza una finestra e 
stampa il messaggio
*messaggio n.1*. Il programma visualizza una
sola volta il messaggio.
Provate a scommentare la riga commentata
nella funzione messaggi( ) (quella con il messaggio
n.2) e guardate un po' cosa succede.
Perché ?
Grazie.
                                         Milla
---------------------------------------------
#define STRICT
#include<windows.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
void messaggi(char *);
int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPreInst,
		   LPSTR lpszCmdLine,int nCmdShow)
{
	HWND hWnd;
	MSG lpMsg;
	WNDCLASS wcApp;
if(!hPreInst)
{
	wcApp.lpszClassName="ProgName";
	wcApp.hInstance=hInst;            
	wcApp.lpfnWndProc=WndProc;          
	wcApp.hCursor=LoadCursor(NULL,IDC_ARROW);  
	wcApp.hIcon=0;                             
	wcApp.lpszMenuName="Directory";                      
	wcApp.hbrBackground=((HBRUSH)GetStockObject(WHITE_BRUSH)); 
	wcApp.style=CS_HREDRAW | CS_VREDRAW;
	wcApp.cbClsExtra=0;
	wcApp.cbWndExtra=0;
	if(!RegisterClass(&wcApp))
		return 0;
}
	hWnd=CreateWindow("ProgName","Prova messaggi",
		              WS_OVERLAPPEDWINDOW|WS_VSCROLL,
	                  CW_USEDEFAULT,
		              CW_USEDEFAULT,
		              CW_USEDEFAULT,
		              CW_USEDEFAULT,
		              (HWND)NULL,(HMENU)NULL,
		              hInst,(LPSTR)NULL);
	ShowWindow(hWnd,nCmdShow);
	UpdateWindow(hWnd);
	while(GetMessage(&lpMsg,NULL,0,0)) 
	{
		TranslateMessage(&lpMsg);    
		DispatchMessage(&lpMsg);       
	}
	return(lpMsg.wParam);
}
LONG WINAPI WndProc(HWND hWnd,UINT messg,
			 UINT wParam,LONG lParam)
{
	HDC hdc;
	PAINTSTRUCT ps;
	switch(messg)
	{
	case WM_PAINT:	 
  	hdc=BeginPaint(hWnd,&ps);
            messaggi("stringa");
	ValidateRect(hWnd,NULL);
	EndPaint(hWnd,&ps);
 
	break;
	case WM_DESTROY:
	PostQuitMessage(0);
	break;
	default:
	return(DefWindowProc(hWnd,messg,wParam,lParam));
	}
	return(0);
}
void messaggi(char *mess)
{
	HWND hWnd;
       MessageBox(hWnd,"messaggio n.1",mess, MB_OK); 
//	   MessageBox(hWnd,"messaggio n.2",mess, MB_OK); 
}

       MessageBox(hWnd,"messaggio n.1",mess, MB_OK); 
Stai passando come 1o parametro a MessageBox una
variabile non inizializzata, il che puo` causare comportamenti
assolutamente arbitrari.  Non so se e` la causa del tuo
problema, ma intanto puoi provare a correggere questo
errore (usa magari 0 come 1o arg di MessageBox).
Alex

                                          Milla
il motivo e' perche' la messagebox e' dentro alla wm_paint e durante il
passaggio da uno all'altro invalida
la wnd sottostante generando un successivo wm_paint e cosi' via.
soluzione:
togli la messagebox dalla wm_paint e x controllare se passa di lě usa la
macro TRACE( ... ) che ti manda
il testo nella finestra di output del devstudio.
ciao zec.
Newsgroup: it.comp.lang.c++
Titolo: Voglio Imparare La Grafica

Qualcuno sa, per cortesia, indicarmi qualche sito o qualsiasi altro posto
dove posso trovare degli esempi di programmazione grafica mediante Visula
C++ visto che non riesco nemmeno a inizializzare una finestra di Windows.
Grazie a chiunque mi risponda.

C++ visto che non riesco nemmeno a inizializzare una finestra di Windows.
Potresti votare per il nuovo gruppo proposto it.comp.programmare.win32
(trovi la Call For Votes, con 
www.dejanews.com
 e relativa Power Search,
ad es su it.news.votazioni); se passa, posterei volentieri sul nuovo gruppo
un mio piccolo tutorial a puntate, appunto su come cominciare a programmare
con le API di Windows (a 32 bit), scritto sulla mailing list GIDA.
Alex

Newsgroup: it.comp.lang.c++
Titolo: Uso di DLL scritta in VC++4 con VB4

Salve a tutti,
 un problema mi affligge! :(
Ho realizzato con VC++4 una dll che richiama un'altra dll. Ho
realizzato anche un programma in VC++4 che richiama la prima
dll e da qui vedo che tutto funziona bene.
Il problema sorge quando cerco di fare un programma in VB4
che richiami la prima dll.  Se richiamo una dll da VB4 e questa dll
fa dei calcoli e ritorna un risultato tutto ok. Ma se questa dll
richiama a sua volta una dll (tramite un run-time dynamic linking)
il tutto si inceppa nel momento in cui il controllo ritorna al VB4.
Se qualcuno ha esperienza di comunicazioni tra VC e VB, per
favore, si metta in contatto (via mail o news) anche per
suggerire eventuali altre vie.  GRAZIE!
Luca Dionisi   e-mail: 
thetait...@ntt.it

il tutto si inceppa nel momento in cui il controllo ritorna al VB4.
Le funzioni della DLL che intendi chiamare da VB *devono* essere
definite con la keyword __stdcall (e se vuoi chiamarle anche da VC
servono ulteriori provvedimenti). Altrimenti dovrai fare i conti con
uno stack corrotto. Succede anche quando hai generato l'eseguibile, o
soltanto con il debugger?
Anche se la documentazione MS consiglia di esportare le funzioni con
__declspec (dllexport), causa problemi di "convivenza" con __stdcall,
ho seguito il metodo piu' "tradizionale" di definire gli export in un
file .DEF
HTH,
Luis
--
My e-mail address is:
j l s @ a c m . o r g
Newsgroup: it.comp.lang.c++
Titolo: Aprire un documento di help (html) da una dialog di VisualC

 
Ciao.
Chiedo un cortese aiuto su questo dilemma:
All'interno di un progetto VisualC che usa MFC
dovrei inserire un pulsante per l'hepl.
Quindi, quando l'utente preme il bottone,
si deve aprire la pagina che visualizza il documento di hepl ad una certa
posizione.
Parto da un documento .doc che posso far diventare html.
Quale controllo è capace di aprire un browser ed aprire uno specificato
documento?
ps. Ho provato con il controllo "Microsoft Web Browser" ma, passandogli
l'URL, nn riesco a fargli aprire la pagina.
Grazie mille
	Roberto:)
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Ciao,
Questo newsgroup si occupa del linguaggio di programmazione C++. Per
questo non e' il posto piu' adatto per porre domande come la tua. Ti
invito a cercare un gruppo il cui argomento sia piu' rispondente alle
tue esigenze. Avrai maggior probabilita' di risolvere il tuo problema ed
eviterai perdite di tempo a chi consulta it.comp.lang.c++ .
Grazie,
Nicola Musatti

Newsgroup: it.comp.lang.c++
Titolo: data types conversion

Salve a tutti,
vi pongo un quesito sul Visual C++.
Un 'float' ed un 'int' occupano ciascuno 4 byte.
Come faccio a mettere un 'float' in un array di 'int' ?
Esempio:
int pippo[]={0,1,2,3,(float)4.,5,6,7};
Se faccio come sopra in realta' lui (il C++) ci mette (int)4 nell'array
e non (float)4. perche' riesegue la conversione da float a int (e magari
da' anche un warning con 'possible loss of data').
Io al posto del (float)4. vorrei metterci i 4 bytes che mi occuperebbe
(float)4. in modo da avere in pippo[4] la rappresentazione 'float' di 4.
Qualcuno ha un'idea di come si potrebbe fare ?
Ho dato un'occhiata anche alle MACRO (vedi RGB(r,g,b)) ma non ho cavato
qualcosa di utile.
Grazie a tutti
CIAO
Lorenzo


Prova a vedere cosa ti da come risultato il seguente codice:
union {
  float fl;
  int    in;
} fltoin;
fltoin.fl = 4.0;
printf("%d\n",
fltoin.in
);
Dovrebbe fare quello che chiedi, ma non ne sono completamente sicuro. So che
spesso usavo questo sistema per dividere un int nei 4 byte che lo formano,
mettendo nella union un array di 4 char.
Fammi sapere se funziona.
   Saluti
  Andrea Perazzolo
 
han...@bandit.sci.univr.it