mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: liste di elementi variabili

qualcuno mi ha detto che usare una variabile membro per controllare di
che tipo è un oggetto è una cosa che si può evitare praticamente
sempre, fare una cosa del genere è quasi sempre un errore di
progettazione...
però mi chiedo, se io ho una lista di oggetti... poniamo che sto
facendo un videogioco e ho una lista di tutti gli oggetti che sono
presenti sullo schermo, che possono essere nemici, pozioni magiche,
armi, alberi, ecc. a ogni tipo di oggetto corrisponde una classe
(derivate dalla classe TOggettoDelMioGioco), come faccio a capire di
che oggetto si tratta se non con una variabile che me lo indica?
ah, per "lista di oggetti" intendevo una lista di puntatori a
TOggettoDelMioGioco, che poi in realtà sono TNemico, TPozioneMagica,
ecc.
anzi, mi verrebbe di mettere la variabile indicatore di tipo
direttamente nella lista, una lista di pair<int, TOggettoDelMioGioco*>
che ne dite?
]\/[ad]\/[age
"Un Maestro nell'arte della vita, non fa nessuna precisa distinzione tra lavoro
e gioco, fatica e riposo, mente e corpo, educazione e ricreazione. 
Insegue semplicemente la sua visione di Eccellenza attraverso qualunque cosa sta facendo e lascia agli altri decidere se sta lavorando o giocando. A lui sembra sempre che sta facendo entrambe le cose." - Anonimo.
.-~-.-~-. 
www.madmagelab.cjb.net
 .-~-.-~-.

che oggetto si tratta se non con una variabile che me lo indica?
Dipende cosa vuoi farci, in teoria potresti anche non sapere cosa sono
gli oggetti, ma ad esempio chiami una funzione membro disegnati per
fare in modo che si disegnino o raccogli in modo che vengano raccolti.
-- 
Marco Barisione (ICQ 84277092)
Su it.news.gruppi si sta discutendo della creazione di it.comp.lang
dove si parlerà dei linguaggi senza un proprio newsgroup e dei
confronti fra i diversi linguaggi.
Se sei interessato unisciti alla discussione.

fare in modo che si disegnino o raccogli in modo che vengano raccolti.
č vero, non c'avevo pensato! :-P grazzzziie


 che oggetto si tratta se non con una variabile che me lo indica?
A cosa ti serve sapere di che tipo e'?
Ammesso che ti serva puoi ad esempio (il primo che mi viene in mente)
fare una funzione virtuale (pura magari) su TOggettoDelMioGioco e poi
implementarla adeguatamente nelle derivate.
Che so:
class TOggettoDelMioGioco {
    TipoOggetto cheTipoSei() const = 0;
};
Ciao
Gaetano.
-- 
Posted from 
dell-01.mm.eutelsat.org
 [194.214.173.17] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

fare in modo che si disegnino o raccogli in modo che vengano raccolti.
Questo ti rende anche più facile l'aggiunta di nuovi oggetti senza
dover modificare un pezzo di codice qua e un pezzo di codice là.


 };
I casi sono due. O fai in modo che non ti serva saperlo o usi l'RTTI che
è fatto apposta. Rifare a mano meccanismi di identificazione mi sembra
veramente inutile e soggetto ad errori.
--
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
Newsgroup: it.comp.lang.c++
Titolo: Matrice di caratteri

Come si carica una matrice di caratteri da input?

Ciao michele!
Sono Giuseppe!
Senti mi dai un bel programma da fare? Naturalmente entro quello che abbiamo
fatto in Elementi 1!!!
Ciao

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

Vorrei avvicinarmi al C++ e chiedevo se esiste in rete un compilatore C++
anche molto terra-terra da scaricare shareware o (magari!) freeware.
Grazie delle future risposte
--
Luca Paganelli
ICQ# 52629494
Cercami su C6 --  Nick: PAGA4U
                        |- e-mail: 
luca...@tin.it
Home Page (in progress.....!!)
http://digilander.iol.it/lucapaga/index.htm

 anche molto terra-terra da scaricare shareware o (magari!) freeware.
Gioverebbe sapere per che ambiente.  Sotto Unix, c'e' gcc 2.95.1;
ftp://ftp.oasi.gpa.it/pub/gnu/gcc/gcc-2.95.1.tar.gz
 .
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

 anche molto terra-terra da scaricare shareware o (magari!) freeware.
Si. C'è il DJGPP per MS-DOS all'indirizzo 
http://www.delorie.com/djgpp
.
EMG
Newsgroup: it.comp.lang.c++
Titolo: Primo programma C++....help me!!

::basic_ifstream( std::string&)' 
*/usr/include/c++/3.3.4/iosfwd:89: error: candidates are:
std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(const
std::basic_ifstream<char, std::char_traits<char> >&) 
*/usr/include/c++/3.3.4/fstream:519: error: std::basic_ifstream<_CharT,
_Traits>::basic_ifstream(const char*, std::_Ios_Openmode) [with _CharT =
char, _Traits = std::char_traits<char>] 
*/usr/include/c++/3.3.4/fstream:504: error: std::basic_ifstream<_CharT,
_Traits>::basic_ifstream() [with _CharT = char, _Traits =
std::char_traits<char>] 
Grazie a tutti
Ciao
Paolo


Ciao,
gli errori che fai te li ha già indicati il compilatore..
Il compilatore ti dice che non esiste
  "std::basic_ifstream<char, std::char_traits<char>::basic_ifstream(
std::string&)"
cioè non esiste la possibilità di fargli accettare "ifstream in( inp_file
);" dove inp_file sembra essere una std::string.
Oltre a dirti che non ha e non conosce il prototipo di questo metodo che
dovrebbe accettare std::string come unico parametro ti fa presente che
esistono altri metodi che invece accettano stringhe in stile C (char *).
Quindi o fai le chiamate alla maniera di quelle che non ti danno errori:
 ofstream o( "path_del_file_da_collegare" );
Oppure nel tuo caso è meglio:
 // .c_str() restituisce puntatore costante a stringa in stile C da
std::string inp_file
 ofstream o(inp_file.c_str());
Saluti,
fabiomdf
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 fabiomdf
Grazie sei stato gentilissimo.
Ciao
Paolo
Newsgroup: it.comp.lang.c++
Titolo: MessageBox^2

Allora, se uso questa sintassi:
 #include <winuser.h>
  int k = 0;
  MessageBox(NULL, k, NULL, "MB_OK");
il compilatore mi segnala i seguenti due errori:
1) c:\programmi\microsoft visual studio\vc98\include\winuser.h(39) : error
C2146: syntax error : missing ';' before identifier 'HDWP'
(specifico che la riga 39 è vuota);
2) c:\programmi\microsoft visual studio\vc98\include\winuser.h(39) : fatal
error C1004: unexpected end of file found
Non riesco in alcun modo a far funzionare MessageBox :(
OS

   MessageBox(NULL, k, NULL, "MB_OK");
Io non vedo stringhe. Anzi ne vedo una sbagliata "MB_OK".
Cmq sei OT qui. Va in it.comp.programmare.win32.
--- bye

Beh, se è probabile che io sia OT è sicuro che tu sei un maleducato.
Stammi bene.

 Beh, se è probabile che io sia OT è sicuro che tu sei un maleducato.
E' sicuro che sei OT, ed anche che la programmazione non è l'hobby 
giusto per te. 
-- 
Luc

Questo newsgroup si occupa del linguaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni. Per questo non e' il
posto piu' adatto per porre domande specifiche come la tua.
Potresti avere piu' fortuna su uno dei seguenti gruppi:
Per Win32 (95, 98, NT): it.comp.programmare.win32
Per Dos/Win 3.x: it.comp.os.dos
Per Linux: it.comp.os.linux.development
Per C++Builder: i gruppi borland.public.cppbuilder.*, disponibili sul
server 
newsgroups.borland.com
 (prevalentemente in
inglese, ma si puo' postare anche in italiano)
Grazie,
Andrea Laforgia

Ti ringrazio molto.
Il tuo post dimostra come, con un minimo d'educazione, si possa dire quasi
tutto.

 tutto.
Guarda che è un post per cosi dire "automatico" per tutti quelli che non 
ci arrivano... :-PPP 
-- 
Luc

Si vede che persino la macchina riesce ad essere più educata di te :)

 Si vede che persino la macchina riesce ad essere più educata di te :)
Che hobby hai scelto al posto della programmazione? 
-- 
Luc

leggerti :)))

Newsgroup: it.comp.lang.c++
Titolo: Tesi: come lanciare un'applicazione da codice con C++ Builder 5

Salve a tutti.
Devo lanciare, dall'interno del codice, un'applicazione esterna al mio
programma scritto con C++ Builder 5: come posso fare ?
Ringraziandovi per le risposte.
Corrado Ciocca


Sei OT.
Luc.


prova con execxxx e spawnxxx (dove le x sono lettere varie per il tipo
di exec)
-- 
Ciao, gengisdave
http://digilander.iol.it/gengisdave
Newsgroup: it.comp.lang.c++
Titolo: Domanda su "Design patterns"...

In realtà la domanda che devo fare è più generica, ma mi è venuta in
mente leggendo Design Patterns:
parlando della differenza trà ereditarietà di classe o di interfaccia
(pag. 17) si dice che in C++ la prima si ottiene ereditando
privatamente, mentre la seconda ereditando pubblicamente.
Capisco che per l'eredità di interfaccia sia necessaria un'eredità
pubblica (per garantire appunto la stessa interfaccia...), ma non
capisco perchè l'ereditarietà di classe debba essere necessariamente
privata. 
Qualcuno mi potrebbe spiegare qual'è il motivo?
GRAZIE
Daniele

privata. 
A me sembra che gli autori non asseriscano che l'ereditarieta` di implementazione
deve essere con l'ereditarieta` privata, ma che PUO` essere approssimata con l'ereditarieta`
privata ("...class inheritance CAN be approximated with private inheritance."
Credo che quello che si voglia esprimere sia che in generale quando si e`
interessati alla pura ereditarieta` di implementazione, di solito si ricorre
all'ereditarieta` protetta (per non esporre l'interfaccia della classe base).
Paolo
----------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
  e-mail: 
mar...@cli.di.unipi.it
 
----------------------------------------------------------

Qualcuno mi potrebbe spiegare qual'è il motivo?
Se vuoi ereditare SOLO l'implementazione, SENZA permettere a
normale codice-cliente di usare sulla classe derivata l'interfaccia
della classe base, devi farlo privatamente.
Se vuoi fare un miscuglio di eredita`, allo stesso tempo d'interfaccia
E di implementazione, l'ottieni con l'eredita` pubblica.  Il testo si
limita a far osservare che questo frequente escamotage e` appunto
un miscuglio di due concetti "puri" -- magari pragmaticamente comodo,
ma non certo il massimo dell'eleganza in termini di progetto.  E questo
ci riporta al thread corrente sulla eredita` d'implementazione (con
titolo "Vorrei imparare").
Alex

all'ereditarieta` protetta (per non esporre l'interfaccia della classe base).
                               ^^^^^^^^^
Sorry, intendevo privata (spero si fosse capito).

Newsgroup: it.comp.lang.c++
Titolo: Dovevo inizializzare il Vector prima di usarlo?

QUALCUNO SA DIRMI COME FACCIO A RIEMPIRE UN VECTOR (Vert) CON I VALORI
CHE HO MESSO PRECEDENTEMENTE IN UNA STRUTTURA (appVerts) ???
HO PROVATO A FARE COSI' MA FUNZIONA SOLO AL PRIMO GIRO DEL CICLO
INFATTI LEGGE SEMPRE CORRETTAMENTE DAL FILE QUINDI CORRETTAMENTE METTO
I DATI IN appVerts MA SOLO IL PRIMO ELEMENTO DI Vert CONTIENE VALORI
ESATTI TUTTI GLI ALTRI SONO VALORI CASUALI...CHE COSA STO SBAGLIANDO?
vector<struct vertex> Vert;
struct vertex *appVerts = (struct vertex*)GlobalAlloc( GPTR,
(DWORD)sizeof (struct vertex));
int iVertex = 0;
do{
   fscanf( fpModel, "%d %f %f %f",&appVerts[0].d_level,
			&appVerts[0].x, &appVerts[0].y, &appVerts[0].z );
   Vert.push_back(*appVerts);
 
   iVertex++;
 
}while (iVertex < nVerts);
DOVE:
struct vertex				// Generic Vertex
{
	float x,y,z;			// Vertex coordinates
	int d_level;
};

 ESATTI TUTTI GLI ALTRI SONO VALORI CASUALI...CHE COSA STO SBAGLIANDO?
Inanzitutto ad urlare,
secondo sei sicuro che la lettura da file sia corretta?
hai provato a stampare a video cio' che leggi da file?
io ho fatto questo sulla falsa riga del tuo pg
<code>
#include <iostream>
#include <vector>
#include <cmath>
struct vertex				// Generic Vertex
{
	float x,y,z;			// Vertex coordinates
	int d_level;
};
int main() {
	std::vector<struct vertex> Vert;
	const int nVerts=10;
 
	srand(time(0));
	int iVertex = 0;
	struct vertex* pv=new struct vertex;
	do {
		pv->d_level=rand()%100;
		pv->x=rand()%50;
		pv->y=rand()%50;
		pv->z=rand()%50;
		Vert.push_back(*pv);
		iVertex++;
	}while(iVertex<nVerts);
 
	std::vector<struct vertex>::iterator i=Vert.begin();
	while(i!=Vert.end()) {
		std::cout << i->d_level << "/" << i->x << "/" << i->y << "/" << i->z 
<< std::endl;
		i++;
	}
}
</code>
e funge normalmente....
una domanda la faccio io pero',
il gcc version 3.2 (mingw special 20020817-1)
non mi accetta #include <math>
dicendomi che non riesce a trovare il file math
e' giusto? non e' inserito tra gli header standard?
grazie

 grazie
Bisogna aggiungere l'opzione di compilazione -ml.
Almeno mi pare.

>e' giusto? non e' inserito tra gli header standard?
Hai provato a scrivere #include<math.h> (con il .h) ?
Poi quando compili devi (di solito) aggiungere un -lm (meno elle emme)
per linkare la libreria matematica. (Ma questo chiaramente non
c'entra con l'errore a tempo di compilazione).
ciao.
g.

 e' giusto? non e' inserito tra gli header standard?
Prova con
#include <cmath>
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
Newsgroup: it.comp.lang.c++
Titolo: MFC & UI Threads

Sto cercando di utilizzare due thread user interface per effettuare la
registrazione e la riproduzione da sound blaster, avrei quindi
necessita' di ricevere i messaggi che la sound blaster.
Non riesco a capire perche' se tento di definire i messaggi nella
mappa e i relativi handle il compilatore mi da un errore di cast
puntatore errato sulla dichiarazione ON_MESSAGE(nome_messaggio,
nome_funzione).
Vorrei trovare un esempio che utilizzi i thread UI gestendo qualche
messaggio in modo da capire come si fa, qualcuno puo' aiutarmi?
Grazie
Luca Bascetta
ta...@comm2000.it

messaggio in modo da capire come si fa, qualcuno puo' aiutarmi?
con il Visual C++ ci sono un paio di esempi, sono molto istruttivi ma
un po' incasinati.
Comunque il punto fondamentale e' che ogni finestra DEVE essere creata
dal thread con cui si intende gestirne i messaggi, se viene a mancare
questo presupposto il meccanismo non funziona.
Gianpaolo Bottin
- The truth is out there -

questo presupposto il meccanismo non funziona.
Non ho problemi di questo tipo, infatti non gestisco messaggi generati
da una finestra ma che mi arrivano dalla sound blaster.
Grazie, ciao
Luca Bascetta
ta...@comm2000.it

da una finestra ma che mi arrivano dalla sound blaster.
ok, pero' la sound blaster come fa a sapere che li deve mandare a quel
thread ? Non ho ben presente il tuo problema, comunque se ti vengono
mandati dei messaggi tu dovrai in qualche modo indicargli la finestra
o il thread a cui devono essere inviati, o sbaglio ?


Newsgroup: it.comp.lang.c++
Titolo: boost bind

spettacolo:
    std::for_each(participants_.begin(), participants_.end(),
        boost::bind(&chat_participant::deliver, _1, boost::ref(msg)));
ma a cosa serve boost::ref()? La funzione deliver accetta di già un
reference:
	class chat_participant
	{
	public:
	  virtual ~chat_participant() {}
	  virtual void deliver(const chat_message& msg) = 0;
	};
E.
(scusate la sfilza di messaggi...)

 reference:
boost::bind fa una copia degli argomenti che vengono passati. Se non usassi
boost::ref, ti ritroveresti con una copia di 'msg' (ammettendo che 'msg'
sia copiabile). 
Con boost::ref, il riferimento a 'msg' viene incapsulato in un oggetto
temporaneo (di tipo 'boost::reference_wrapper<chat_message>'), che può
essere tranquillamente copiato.
Max
Newsgroup: it.comp.lang.c++
Titolo: Come avere una "delay" in Visual C++ ?

Salve a tutti,
sono un utente novizio di Visual C++ 4.0 e  per quanto abbia consultato manuali libri e altro non
sono ancora riuscito a capire come fare a implementare un attesa regolabile (su tempi brevi,
ossia centesimi o millesimi di secondo) in un normale programma C, scritto appunto con 
Visual C++, tutto cio' beninteso, in modo che non si consumi tempo di CPU, (altrimenti tanto vale
fare un ciclo for).
 Ad esempio nel vecchio Turbo C++ 1.0 x DOS Borland vi era una istruzione 
delay (<numero millisecondi>), che faceva propio questo.
Purtroppo non posso usare questo C che ha compilati a 16 bit che non funzionano col mio Web server.
Qualcuno mi puo' dire se esiste e come si chiama una funzione che fa' cio' in Visual C++ e mandarmi
l' header file da includere per usarla e meglio ancora un  semplice esempio di utilizzo della
stessa?
Grazie a tutti coloro che mi potranno dare una mano
                                                                                  Alberto Veneziani
P.S. :  Preferirei, se vi e' possibile, avere risposta anche al mio indirizzo:
 
vene...@verbania.alpcom.it

fare un ciclo for).
esiste una funzione di win32: 
VOID Sleep(
    DWORD dwMilliseconds 	// sleep time in milliseconds 
   );
Per maggiori dettagli consulta la guida on-line del VC. Attenzione a
due cose: 1) la risoluzione minima della sleep e' di 10ms in NT mentre
in win95 e' maggiore non ricordo esattamente quanto ma mi pare sia sui
55ms 2) durante l'attesa il tuo thread non occupa tempo di cpu ma non
processa nemmeno eventuali messaggi che dovessero arrivare nel
frattempo.
Gianpaolo Bottin
- Live Long and Prosper -

Newsgroup: it.comp.lang.c++
Titolo: eh non e' possibile

prima che bestemmi qualcuno mi spiega perche' quel for (messo anche
nel costruttore) mi manda in palla il VC++ ???
grazie e ciao,
              Enrico B.A.
------------
#include <iostream.h>
//class definitions
class cards{	
	public:
		cards(void);
		~cards(){};
		int mazzo();
		int value[3][12];  //value[sign][number]		
};
class player{
	public:
		int money;		
};	
//class implementations
cards::cards(void){
};
int cards::mazzo(){
	for (int x=0;x<4;x++){
		for (int i=0;i<13;i++){
		   value[x][i]=0;  //carte nel mazzo
		   cout <<" "<< x <<" "<< i<<"\n";
		}
		cout<<", \n";	}
return 0;
}
int main(void){
	cards* card=new cards();
	card->mazzo();
        delete card;
}

 		int value[3][12];  //value[sign][number]		
Ai miei tempi i semi (in inglese suits, non sign) erano quattro, e le
carte 13...  Forse e' per quello che "ti va in palla"?
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Dept. of Physics, Univ. of Padova, Italy          loreti at pd dot infn dot it

 carte 13...  Forse e' per quello che "ti va in palla"?
Infatti l'ho visto poco dopo... chissa' a che pensavo. Grazie cmq. non
ricordavo "suits".
Ciao,
   Enrico B.A.
Newsgroup: it.comp.lang.c++
Titolo: visual c e dos

č possibile compilare un applicativo dos 16-bit con il visual C++ 6?

> č possibile compilare un applicativo dos 16-bit con il visual C++ 6?
Per quanto ne so puoi sģ fare un applicativo dos, ma a 32 bit...

Newsgroup: it.comp.lang.c++
Titolo: E' arrivato!!IN edicola GNUWin32

Stamattina č arriavto finalmente.
Ho comprato la rivista , mi sono installato nel mio Hard DISK tutto la
popo di roba di questo compilatore C, ma non riesco a compilare i miei
file che ho creato.
Scrivo : GCC [nomemiofile] -o [nomefilemionuovo], ma poi mi dice
Cannot 'Exec' cpp , cosa vuol dire??

 Stamattina è arriavto finalmente.

Vuol dire letteralmente: Non posso eseguire cpp...
"cpp" e` il preprocessore... sei sicuro di averlo installato?
E se lo hai installato e` nel PATH?
P.S. il GNU-gcc lo uso sotto Linux, non so nulla della sua 
implementazione sotto Win...
Ciao!
-- 
+---------| Linux: The choice of a GNU generation! |---------+
|  Franco Sarli -- 
http://www.geocities.com/HotSprings/5058
  |
|    E-mail: 
sp0...@it.net
          FidoNet: 2:334/708.5    |
+--| Pgp key available, mail me with subject: get_pgp_key |--+

Stamattina č arriavto finalmente.

Newsgroup: it.comp.lang.c++
Titolo: Linkare librerie in VC++6

Come si fa a linkare in un progetto una libreria altrui in VC++6.0?
Io sono andato su Project->Settings->Link ed ho aggiunto nella rige
dei file *.lib la libreria in questione. Basta questo ( perchè mi da
errori in fase di compilazione) ?
Ciao
Giacomo

 wrote in message
38d25ce5...@news.tiscalinet.it...

Fase di compilazione, o di linkaggio?  Quel che tu hai fatto basta
(se hai dato l'intera path della libreria, o se essa e` in directory
altrimenti reperibile) per il linker, ma non ha nulla a che vedere
con il compilatore vero e proprio (che vuole vedere, ovviamente,
le _dichiarazioni_ relative a cio` che usi di quella libreria altrui
nel tuo codice -- presumibilmente, ci sara` un qualche .h fornito
assieme alla libreria che le presenta, e dovrai #include're).
Alex

Newsgroup: it.comp.lang.c++
Titolo: www.librinformatica.it... sigh

Cercando per caso su internet ho trovato questo fantastico link
www.librinformatica.it
 libreria online specializzata nei libri di
informatica, che ti spedisce GRATIS a casa i libri scontandoteli pure e con
tutte le forme di pagamento (non solo carta di credito). tra l'altro c'è
anche una sezione con indicate le prossime pubblicazioni in
arrivo........più di così..... Ho saputo che a Settembre dovrebbe uscire la
2a ediz. del libro "C++  Guida Completa" di H. Schildth......... sigh......
ma io ho comprato nemmeno 2 mesi fà la 1a ediz........ l'avessi trovato
prima stò link.......
---------
Lello Mele
Via San Sebastiano, 22
84036 Sala Consilina (SA)
P.Tel.:0347/643.35.25
HOMEPAGE: 
http://come.to/tcp
    (rivista The Coder's Primer)
eMAIL:  
v...@vipnet.it
           (principale)
 
v...@freemail.it
         (alternativa)
 
lello...@hotmail.com
  (    "  "   )
 
t...@freemail.it
         (per la rivista)

prima stò link.......
Ian
mc2...@SmcPliAnkM.it
Everything but the SPAM in the email address is ok.
------------------------------------------------------
If I knew where I was going, I'd probably be scared.
Newsgroup: it.comp.lang.c++
Titolo: domanda compilatore gcc

ho una domanda sulle opzioni per ottimizzare il codice generato dal
compilatore gcc. 
chi mi sa dire qual è il gruppo + indicato x domande di questo tipo?
-- 
Davide Cavallari


gcc -O2 mio.cpp
Il gruppo: it.comp.programmare
Ciao
Gaetano
--
#exclude <windows>
printf("\t\t\b\b\b\b\b\b");.
printf("\t\t\b\b\b\b\b\b");
-- 
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: conversione "doppia"

 convert `"prova"' to `const Prova&'
le conversioni doppie non vengono fatte, per cui mettici un costruttore per
const char*
-- 
Pela

 }
Non e' necessario aggiungere un costruttore, puoi sostituire l'ultima
istruzione con la seguente:
    f(string("prova"));
oppure con la seguente
    f(Prova("prova"));
Infatti, per evitare "sorprese" al programmatore, il linguaggio bandisce
le conversioni implicite doppie.
-- 
	Carlo Milanesi
 
http://digilander.libero.it/carlmila

 le conversioni implicite doppie.
Io utilizzo Borland C++ Builder ed ho notato che in alcuni casi il
linguaggio permette ed esegue le conversioni implicite doppie.

Newsgroup: it.comp.lang.c++
Titolo: CONOSCERE VARIBILI DI ALTRI ....

salve, stò programmando sotto DOS e mi interessava sapere se era
possibile conoscere il valore di una variabile di un'altro programma
in uso contemporaneamente :
programma1            
variabile intera1
programma2
variabile intera2 che ha come valore la   variabile intera1       
è possibile ?
 
<--------------------------------------------------->
messaggio by: credici
mailtome    : 
cre...@infinito.it
my home     : 
http://credici.supereva.it
 
visitate subito : 
http://www.city3000.it/athenet
e non ve ne pentirete mai 
<--------------------------------------------------->

 è possibile ?
Perche' no?  Puoi usare shared memory o qualche altra forma di
interprocess communication; non ho pero' idea di quali di queste forme
siano disponibili sotto DOS.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

 siano disponibili sotto DOS.
...sotto DOS mi sa ben poche, mancando il multitasking ;-)
Al limite sotto Windows...
Massimo
Newsgroup: it.comp.lang.c++
Titolo: Vettore di puntatori

è corretto, con un vettore di puntatori a classe, utilizzare le funzioni
membro nella seguente maniera?
crtGioc[1]->strTornaNome()
considerare che:
crtGioc è un vector<*carta>
carta è una classe, e strTornaNome ne è una funzione membro
grazie in anticipo
--
Lupin85© - FILSer #2
Founder di #fils
-*Sign in allestimento*-


si :)

_<
uffa, allora perché non mi compila, il tutto?
vabbé, ci lavoro un altro po'.. grazie ^_^


 crtGioc č un vector<*carta>
 vector< carta* >
Max

  vector< carta* >
giusto, ho sbagliato a scrivere.
c'è differenza tra vector<carta*> e vector< carta* >?


 c'č differenza tra vector<carta*> e vector< carta* >?
Nessuna, gli spazi attorno ai parametri dei template (e delle
funzioni) non contano.
L'unico caso in cui lo spazio conta e` quando si chiudono due o piu`
template di segiuto:
  vector<vector<int> >
e` un vettore di vettori, mentre
  vector<vector<int>>
e` un errore perche` il ">>" finale viene interpretato come un
operatore di shift e non come la fine dei parametri.
        Mauro
Newsgroup: it.comp.lang.c++
Titolo: Problema linking funzioni template

Sto sperimentando le mie nuove conoscenze a proposito delle funzioni
template ed ho incontrato dei problemi quando cerco di separare la
dichiarazione della template dalla sua definizione:
se infatti metto entrambe in un unico header file il tutto fila liscio,
viceversa separando le varie parti come segue
file: mytemp.h
template <typename Type> int func(Type parametro);
file: mytemp.cpp
export  template<typename Type> int func(Type parametro)
{
    /* Definizione */
}
file: user.cpp
include "mytemp.h"
/* chiamata di func */
durante il linking vengono visualizzati i seguenti messaggi di errore:
error C2143: syntax error : missing ';' before ''template<''
error C2501: 'export' : missing storage-class or type specifiers
Io ho seguito la sintassi indicata dal testo che sto seguendo (C++ Primer -
Lippman), che è aderente allo Standard C++. Il problema risiede forse nel
compilatore(utilizzo VC++ 6.0) che adotta un'altra sintassi o che altro?.
Vi ringrazio anticipatamente dell'aiuto.
Marco

Non puoi separare la dichiarazione dalle definizioni.
Il compilatore necessita` di tutto il codice sorgente al
momento in cui deve istanziare il template.
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------


Come mai allora il testo suggerisce questa soluzione? (nel resto del libro
dichiarazione e definizione sono sempre poste nell'header file, ma solo per
semplicità di lettura a quanto leggo).
Grazie

semplicità di lettura a quanto leggo).
Ti posso dire solo 2 cose...
1) Con normali classi in cui non usi i template non ci sono
     problemi.
2) In teoria pare che sia possibile fare qualcosa anche con
    i template (ma io non ci scommetterei troppo). Ad ogni
    modo gli attuali compilatori non digeriscono questa suddivisione
    quando vengono utilizzati i template.
Quindi o usi la OOP invece della programmazione generica (o di un
mix dei due) oppure rinunci a separare le dichiarazioni di template dalla
loro implementazione.



Non in questo caso! Probabilmente l'autore si riferiva alla stragrande maggioranza di
esempi che includeva nel libro. Spesso una tale affermazione si fa nella prefazione del
testo. Poi, magari, c'è un capitolo che fa eccezione. I più precisi lo menzionano,
evidenziando la differenza. Gli altri no.
Andrea

Come tu supponi il VC++6 non supporta la keyword export, come la maggior
parte dei compilatori in giro.
Toccherà adottare una delle soluzioni che altri ti hanno suggerito, o
aspettare...
---
Livio Cavallo

Newsgroup: it.comp.lang.c++
Titolo: serializzazione di un oggetto in un DB

Salve a tutti,
dovrei serializzare un oggetto in un database attraverso C++.
Non l'ho mai fatto, se non in java, usandola tecnologia jdbc e jsp. come
faccio in C++?
grazie infinite a tutti coloro che mi presteranno attenzione,
delio
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 delio
Prova a dare un occhio a questa libreria
http://www.boost.org/libs/serialization/doc/index.html

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

Ciao a tutti, sto facendo un progetto in università e mi servirebbero
i codici sorgenti delle opengl, ho già provato su 
opengl.org
 ma non ho
trovato nulla, cmq dovrebbero essere open source percui da qualche
parte dovranno essere, se qualcuno di voi mi sa aiutare lo ringrazio
immensamente.
saluti a tutti Luca


Non esistono i codici sorgenti di OpenGL per il semplice motivo che non 
si tratta di un software, ma di una specifica di libreria.
Esistono numerose implementazioni di tale specifica e alcune sono open 
source.
Tieni percio' conto che un'implementazione e' composta da almeno due moduli:
- la libreria a cui si linka l'applicazione;
- il driver del controllore grafico, chiamato dalla libreria.
La libreria normalmente fa parte del sistema operativo o comunque e' 
indipendente dall'hardware grafico, ma e' dipendente dal sistema 
operativo e dalla CPU.
Il driver, oltre che dipendere dal sistema operativo e dalla CPU, 
dipende anche dal controllore grafico. Pertanto normalmente sono i 
produttori del controllore grafico a produrre il driver.
Puoi trovare un'implementazione open source di OpenGL al seguente 
indirizzo: 
http://www.mesa3d.org/
Il tutto comunque non ha niente a che fare con il C++.
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila

Luca ha scritto:

OpenGL NON e' opensource ma GPL, puoi usare la librearia liberamente ma 
i sorgenti sono proprietari.
ciaoK
Newsgroup: it.comp.lang.c++
Titolo: Uso di string + Variabile numerica

Ciao,
sto iniziando a usare la variabile string al posto di un'array di char ma 
non riesco a
capire come fare a creare una stringa che contenga una frase + una variabile 
numerica;
ho scritto:
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
  string Testo;
  int Numero;
  Numero = 540;
  Testo = "Il mio numero č: " + Numero; // <- non valida
  cout<<Testo;
  system("PAUSE");
  return 0;
}
ma a seconda del numero fa cose diverse, cosa fa il compilatore quando alla 
riga
evidenziata? come posso risolvere il mio problema? ho provato anche itoa() e 
sprintf()
ma restituiscono *char che non riesco a concatenare a un tipo string.
So che probabilmente la risposta č ovvia ma non riesco ad arrivarci,
grazie per l'aiuto 

 ha scritto:
Testo = "Il mio numero č: " + Numero; // <- non valida
Non puoi sommare string e int, devi convertire uno o l'altro tipo. In questo
caso da int a string.
Se comunque il tuo problema si risolve semplicemente stampando, usa questa
sintassi:
cout << "Il mio numero e' " << Numero << endl;
Ad es. ecco il codice della funzione che converte un int in una string. E'
molto semplice quindi te lo scrivo:
string IntToString (int n) {
 int r = 0;
 string s = "";
 while (n > 0) {
  r = static_cast<int>(n / 10);
  s = static_cast<char>((n - r * 10) + 48) + s;
  n = r;
 };
 return s;
}
Tramite questa funzione il tuo precedente codice potrebbe essere:
Testo = "Il mio numero e' " + IntToString(Numero);
cout << Testo << endl;
Ciao

 cout << "Il mio numero e' " << Numero << endl;
Se come output stream al posto di cout usa un output *string* stream, 
ottiene cio' che vuole (poi c'e' anche la gloriosa itoa() :)
 
Dan

 ottiene cio' che vuole (poi c'e' anche la gloriosa itoa() :)
itoa non è standard, poco gloriosa!
-- 
sbi

 ha scritto nel messaggio
news:MPG.1c701893c...@powernews.libero.it...

Si, ma non mi ricordo la sintassi, puoi dirmi quale libreria usare e quale
oggetti?
In ogni caso il problema sostanzialmente e' quello di poter convertire un
int in una stringa.
Ciao

 int in una stringa.
        #include<sstream>
        using namespace std;
        int main() {
            ostringstream o;
            o << 1; // nonsolointeri
            string s = o.str();
            cout << s << endl;
        }
-- 
int

         }
Ecco, il problema e' che ho un compilatore troppo vecchio :( e invece
sstream c'e' strstream per questo non mi compilava il programma.
Ciao

#include <sstream>
std::ostringstream ss << "Il mio numero e' " << Numero;
std::string s = ss.str();
Ciao,
Nicola

 itoa non č standard, poco gloriosa!
Si' in effetti avrei dovuto scrivere "gloriosa" ;)
[tra virgolette...]

 std::string s = ss.str();
Perfect :)
Newsgroup: it.comp.lang.c++
Titolo: Compilare le librerie TCl/Tk

Salve a tutti, mi sapete consigliare della
documentazione in italiano su come compilare
ed usare le librerie grafiche Tcl/Tk?
Grazie a tutti
Ciao

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: approssimare

Ho un problema, dovrei approssimare un input (col cin), per l'euro (es. se
immetto 123.167) lui deve darmi 123.17.
E' possibile?
Ciao



#include <iostream>
int main()
{
    double imp_euro;
    std::cout << "Importo in euro (non arrotondato): " ;
    std::cin >> imp_euro;
    imp_euro = ((unsigned long)(imp_euro * 100.0 + 0.5)) 
               / 100.0;
    std::cout << "Importo in euro (arrotondato)    : " 
              << imp_euro;
    char c;
    std::cin >> c;
    return 0;
}
-- 
Andrea Laforgia - walkietalkie(at)
libero.it
"Meglio cieco che negro" (Stevie Wonder)
Newsgroup: it.comp.lang.c++
Titolo: Aggiornarsi all' Iso

Mi è stato detto (a ragione) che devo aggiornarmi all' Iso.
Dov'è che posso farlo? Qualche link da segnalare?
Sono rimasto un po' indietro....

 Sono rimasto un po' indietro....
http://www.iso.ch/
dopo di che cerchi lo standard del C++, il 14882 e dovrebbe darti la
possibilita' di comprarlo online in formato PDF (e credo anche CD-ROM).
Tommy

 possibilita' di comprarlo online in formato PDF (e credo anche CD-ROM).
Lo standard e' del 98, ma il file che scaricherai sara' tipo: ISO/IEC
14882:2003
Nel 2003 hanno rilasciato una nuova versione con qualche correzione.... ma
e' sostanzialmente identica alla versione rilasciata nel 1998.
Altrimenti per aggiornarti all'ISO (come dici tu...) basta che ti compri un
libro di C++ abbastanza aggiornato. I libri spesso sono piu' leggibili.
Tommy

 e' sostanzialmente identica alla versione rilasciata nel 1998.
Beh, è possibile scaricare un file con le differenze fra la versione
originale e quella revisionata, ma è di circa 300 pagine. Direi che le
correzioni non sono proprio poche...
Ciao.
-- 
BSD is for UNIX lovers -- linux is for Windows haters.

 correzioni non sono proprio poche...
Quali diff ci sono?????
Ma il proximo C++ sara nel 2008(2003 + 5 anni)?
-- 
Kleidemos
C++ Programmer

 correzioni non sono proprio poche...
Beh, quello che e' stato emesso nel 2003 viene definito "Technical
Corrigendum"....
Evidentemente nel 1998 avevano prodotto un documento pieno di "minor errors"
ed "inconsistencies" ;-)
Tommy

Qualcosa di gratis niente eh?.... :-)
Anche di più veloce di centinaia di pagg in inglese...
Il punto è che io "saicchio" il C++ dall'università,
poi ho lavorato con altri linguaggi.
Adesso ho di nuovo bisognodel C++. Ma nel frattempo alcune cose sono
cambiate.
Non voglio diventare un Mega-Guru del C++
vorrei solo poter utilizzare un compilatore recente tipo
l' a-mio-parere-ottimo Dev-Cpp e non essere costretto ad utilizzare
un vecchio compilatore e generare del codice "preistorico".
Vorrei utilizzare gli stream standard, le classi per l'accesso al file, le
funzioni per le stringhe ecc.
Solo che come facevo prima non va più bene...
Non se se mi capite.

 Quali diff ci sono?????
Non ne ho idea, ho scaricato l file da parecchio ma non ho avuto ancora
il tempo di leggerlo.
Non credo perň (ma potrei benissimo sbagliare) che si tratti di 
differenze nel linguaggio ma solo di chiarimenti e correzioni.


 ed "inconsistencies" ;-)
Bene, questo confermerebbe la mia risposte ad un altro post.

Newsgroup: it.comp.lang.c++
Titolo: [credo OT] Sorgenti di KDE e TheGimp

Visto che non sono riuscito a trovarli... vi chiedo il link per scaricare i
sorgenti di KDE e di TheGimp.
Ho chiesto qui poichè i sorgenti (credo) siano in C++.
Bye,
P.s.: Di KDE non mi interessa tanto la GUI che si interfaccia al Kernel, ma
il source dei vari "programmini" come KGet, KWrite, KEdit e via discorrendo.
--
Carmine ( 
pikachu...@gmail.com
 (Togli la scritta NOSPAM) )
Webmaster di The Total Site (
http://www.tekkentag.altervista.org/
 )
Webmaster di SceptilePage (
http://www.sceptilepage.altervista.org/
 )
Account Messenger: 
thetot...@msn.com
MyBLOG (NEW!!) 
http://spaces.msn.com/members/itanet/

 sorgenti di KDE e di TheGimp.
google (o anche solo un po' di cervello) no?
http://www.kde.org/download/
http://www.gimp.org/downloads/
AFAIK gimp e' scritto in c
-- 
Uno studente durante il corso di filosofia di Morris Cohen chiese al
professore: "Come faccio a sapere di esistere?".
Il professor Cohen rispose: "Chi sta facendo questa domanda?".

 
http://www.gimp.org/downloads/
Ok, trovato.
Bye,


 download dei sorgenti è disponibile...
ritenta, sarai piu' fortunato, e comunque funziona perfettamente, almeno
il mirror di napoli, quello di milano (se ti connetti da un' universita'
credo *decisamente* ti convenga questo) e da quello ufficiale.


 credo *decisamente* ti convenga questo) e da quello ufficiale.
Vabè,
Forse avevo sbagliato link...


Newsgroup: it.comp.lang.c++
Titolo: Come si fa?!????

Qualcuno sparebbe indicarmi come si usava la componente grafica del c++ in
ambiente dos???!????
Avete presente quella con quei comandini rectangle(x1,y1,x2,y2) ..... mi
serve per abbellire un progetto per l'università....ma non mi ricordo più
come si inizializza.....! :-)   Grazie a tutti!!!!!!!
--
  Filippo Agostini
amit...@yahoo.it

 ambiente dos???!????
Il C++ non ha alcuna componente grafica. Probabilmente ti riferisci a
qualche estensione non standard fornita dal tuo compilatore. In questo
caso temo tu debba cercare un newsgroup in cui si parla espressamente di
quel compilatore.
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

Ciao,
Questo newsgroup si occupa del linguaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni. Per questo non e' il
posto piu' adatto per porre domande specifiche come la tua.
Potresti avere piu' fortuna su uno dei seguenti gruppi:
Per Win32 (95, 98, NT): it.comp.programmare.win32
Per Dos/Win 3.x: it.comp.os.dos
Per Linux:	it.comp.os.linux.development
Per C++Builder:	i gruppi borland.public.cppbuilder.*, disponibili sul
		server 
newsgroups.borland.com
 (prevalentemente in 
		inglese, ma si puo' postare anche in italiano)
Grazie,
Nicola Musatti

 ha scritto nel
messaggio news:3E65DF0B...@emagsoftware.it...


 della serie "init graph..."
Confermo: era il Borland Turbo C o C++ (initgraph() e compagnia, la BGI
- Borland Graphics Interface).

Newsgroup: it.comp.lang.c++
Titolo: Pop Question

Una domandina al volo su un fatto piuttosto fastidioso.
Antefatto:
Ho in pratica creato una finestra con diversi controlli edit figli su
cui l'utente inserisce dei valori. Uscendo da un particolare controllo
edit (rispondendo quindi al messaggio WM_KILLFOCUS) visualizzo un
messaggio di avvertimento in una ::MessageBox(..., MB_YESNO) a cui
l'utente è obbligato a rispondere.
Il problema è:
se l'utente utilizza il mouse per uscire da questo controllo la finestra
edit che riceve il focus riceve anche un messaggio WM_LBUTTONDOWN; poi
l'utente molla il tasto del mouse, ma a quel punto la finestra attiva è
la MessageBox e quindi la finestra che ha ricevuto il focus continua a
pensare che l'utente stia tenendo spinto il tasto del mouse e quindi il
movimento del mouse evidenzia le lettere come se stessi selezionando del
testo.
Quando ho capito il problema ho pensato di risolverlo facilmente facendo
inviare un messaggio WM_LBUTTONUP alla finestra che riceve il focus dopo
aver visualizzato la MessageBox ma, non so perché, non funziona.
Qualcuno conosce un modo per risolvere questo problema senza dover
subclassare tutti i controlli edit che possono ricevere il focus?
Ringrazio chiunque sappia risolvermi il problema o trovi il tempo per
esprimermi un messaggio di solidarietà (mi sento molto stupido)
                                     FBF.

,

Stavi tentando di fare una cosa del genere?
switch (msg){
case WM_KILLFOCUS:
    MessageBox(hWnd,"foo","bar",MB_OK);
    SendMessage((HWND)wParam,WM_LBUTTONUP,0,0);
}
Mi pare che la SendMesssage sulla finestra che ricevera'
il focus non possa essere eseguita se non dopo che la
MessageBox() ha ritornato.
Altrimenti non ho ben afferrato.
Comunque, come fai a processare il KillFocus di un controllo EDIT?
Devi averlo comunque subclassato (tu o il framework che stai usando).
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/
       Search, Read, Discuss, or Start Your Own
Newsgroup: it.comp.lang.c++
Titolo: Domanda su Borland compile

Ho scaricato il Borland 5.5 compiler, non riesco a farci niente...
Deve essere usato insieme a un altro programma?

Deve essere usato insieme a un altro programma?
Per farlo funzionare la prima operazione da fare è quella di creare
all’interno della directory "\bin" i due file necessari al compilatore
e linker per individuare le directory i file necessari. Tali file
devono chiamarsi bcc32.cfg e ilink32.cfg rispettivamente. 
Per bcc32.cfg:
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
 
mentre per ilink32.cfg:
-L"c:\Borland\Bcc55\lib"
Inoltre devi aggiungere il percorso completo della directory "\bin" al
path esistente all’interno del file AUTOEXEC.BAT
scrivi cosi':
 
PATH=c:\Borland\Bcc55\bin;%PATH%
Poi se vuoi avere a che fare con operazioni piu' semplici ti crei
questo file batch (cc.bat)
----------cc.bat---------------
@echo off
if "%1"=="?" goto showarg
if "%1"=="" goto enoarg
if not "%7"=="" goto emaxarg
bcc32 %1 %2 %3 %4 %5 %6
goto esci
:showarg
bcc32 | more
ilink32 | more
goto esci
:emaxarg
echo * errore * : massimo 6 argomenti con il file batch
goto esci
:enoarg
echo Uso: cc [opzioni] nomefile[.c,.cpp]
echo ‘cc ?’ per leggere l’aiuto di linea
:esci
echo on
------------cc.bat--------------------------
In questo modo per compilare un programma ti bastera' scrivere
cc nomeprog.cpp
e il gioco e' fatto :-)
ciao
Bun]{er
-> Home: 
http://bunkersite.cjb.net
-> E-mail: scorp...@NOSPAMtin.it

 Deve essere usato insieme a un altro programma?
-- 
Ciao, gengisdave
http://digilander.iol.it/gengisdave

Newsgroup: it.comp.lang.c++
Titolo: AIUTO:Devo nascondere un gruppo di edit

Grazie a chiunque si interessi al mio problema.........
Io ho una Group Box contenente 3 campi di Edit con le relative Static.
Vorrei riuscire a nascondere tutta la Group Box (cioe' anche le Edit e le
Static contenute) digitando il seguente comando una sola volta senza
ripeterlo per ogni oggetto da nascondere :
pWnd=CWnd::GetDlgItem(IDC_GROUPBOX);
pWnd->ShowWindow(FALSE);
Ringrazio in anticipo per qualsiasi tentativo di soluzione.

ripeterlo per ogni oggetto da nascondere
Non puoi farlo perché la GroupBox non è un oggetto "contenitore", bensì un
controllo come gli altri (per essere precisi è un controllo della classe
BUTTON). E' quindi necessario nascondere i controlli singolarmente (sia la
GroupBox che gli edit e gli static).
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
---------------------------------------------------------------------------
Newsgroup: it.comp.lang.c++
Titolo: cercasi riferimenti su stl!

si utilizza spesso la stl,  ma avendo la stl standard della gnu, l'help di
riferimento è praticamente inesistente!
Dove posso trovare una documentazione, + di riferimento che altro, per i vari
algoritmi standard, classi etc?
10x
-- 
Wave++, member of EventOrizon software
http://members.xoom.it/wavexx

 algoritmi standard, classi etc?
http://www.dinkumware.com/htm_cpl
http://www.dinkumware.com/htm_stl/_index.html
Nicolai Josuttis: "The C++ standard library: a tutorial and a
reference", Addison-Wesley
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

 algoritmi standard, classi etc?
Dal sito della Borland si può scaricare B5SCL.ZIP che mi pare abbastanza
ben fatto.
EMG
Newsgroup: it.comp.lang.c++
Titolo: Esempio funzionante di PeekMessage

Qualcuno ha un esempio completo e funzionante di " PeekMessage" pronto per
essere compilato?
Grazie  in anticipo.
Fulvio

Ciao Fulvio,
il frammento di codice sotto riportato, consente di svuotare
la coda dei messaggi.
void emptyQueue()
{
 MSG msg;
 while (PeekMessage(&msg, null, 0, 0, PM_REMOVE | PM_NOYIELD))
 {
  TranslateMessage(&msg);
  DispatchMessage(&msg);
 }
}
La funzione ritorna dopo aver svotato la coda.
ciao, Franco.
--
Posted from [194.184.225.66] by way of 
law2-oe18.hotmail.com
 [216.32.180.122]
via Mailgate.ORG Server - 
http://www.mailgate.org

Ci risiamo, ma non mi arrendo!
Ogni volta ottengo questo errore:
 la funzione non ha prototipo:
 PeekMessage
 TranslateMessage
  DispatchMessage
ec..
Simbolo indefinito:
PM_REMOVE
PM_NOYIELD
msg;
 Ho provato anche altri esempi trovati nella guida ma il risultato è sempre
uguale, non è che devo usare qualche "#include"?
Cosa devo aggiungere... immagino manchi qualcosa?
Sinceramente: perdonate la mia ignoranza, ma non posso studiare tutto il
c++! Mi basta una funzione "funzionante! "
Saluti Fulvio.
(altro esempio, non funzionante )
#include <stdio.h>
int main(void)
{
   for( ;; )
   {
      while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
      {
         if (msg.message == WM_QUIT)
            return TRUE;
         TranslateMessage(&msg);
  DispatchMessage(&msg);
      }
      BackgroundProcessing();
    }
}

Ciao Fulvio,
se stai programmando in ambiente windows, l'unico
include che devi fare e' "windows.h".
Se stai lavorando in dos, che ci fai con PeekMessage() ?
ciao, Franco.
--
Posted from [194.184.225.66] by way of 
law2-oe11.hotmail.com
 [216.32.180.115]


La PeekMessage e` definita in winuser.h,
quindi accertati che tale header sia incluso.
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------

 wrote in message
1999062307390...@hotmail.com...
