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

Avrei bisogno di un algoritmo per la visita di
un filesystem (linux).
Che mi elenchi tutte le directory e i file.
Sapete dove posso trovarne uno in internet?
Grazie,ciao.

 writes:
rem> Avrei bisogno di un algoritmo per la visita di un filesystem
rem> (linux).  Che mi elenchi tutte le directory e i file.
rem> Sapete dove posso trovarne uno in internet?
rem> Grazie,ciao.
E` il colmo cercare su un sistema open souce una cosa cosi` semplice.
Algoritmo... esagerato, e` una semplice visita dei nodi di un albero,
le directory le esplori con opendir() e readdir()
Da come ti esplimi probabilmente puoi fare ancora piu` semplicemente
cio` che ti serve gia` con la miriade di parametri del programma find
Saluti,
MARco   
http://mar.i.am/#icl16467.63942
-- 
x(t),y(t) = th(3t-34.5)*e^[-(3t-34.5)^2]/2-4.3+e^(-1.8/t^2)/(.8*atg(t-
3)+2)(t-1.8)-.3th(5t-42.5),(1.4e^[-(3t-34.5)^2]+1-sgn[|t-8.5|-.5]*1.5*
|sin(pi*t)|^[2e^(-(t-11.5)^2)+.5+e^(-(.6t-3.3)^2)])/(.5+t)+1  ; 0<t<14

Newsgroup: it.comp.lang.c++
Titolo: dividere una stringa

come faccio a dividere una stringa in altre stringhe ogni volta che incontro
un certo carattere?
esempio
io ho:
string base="parola1/parola2/parola3/";
string w1, w2, w3;
e voglio ottenere:
w1="parola1";
w2="parola2";
w3="parola3";
spero di essere stato chiaro...
grazie, ciao
-------------
DevarajA
-------------

 w3="parola3";
strtok. (Non è una parolaccia. Cerca su un manuale di C). Cmq è un esercizio
elementare.
Spiegazione con un po' di C++ di come si fa senza usare la strtok (in
linguaggio pseudonaturale):
int iInizio = 0;
for (int iPos = iInizio; iPos < base.length(); i++)
{
    se base[iPos] == '/' {
        int iFine = iPos;
        string wx(base, iPos, iFine - iInizio); // copia in wx i caratteri
dal carattere iPos per un numero di caratteri pari a iFine - iInizio
        iInizio = iFine + 1;
    }
}
--- bye

 un certo carattere?
Una cosa tipo questa?
#include <iostream>
#include <string>
#include <vector>
int main()
{
 std::vector<std::string> vs; // vettore dove mettere i pezzi di stringa
 std::string s = "cippo|lippo|pippo|za|"; // stringa da spezzare
 std::string::size_type sPos1=0, sPos2=0;
 // cerca le sottostringhe e riempie il vector
 while ((sPos1=s.find_first_of('|', sPos1)) != std::string::npos )
 {
  vs.push_back(s.substr(sPos2, sPos1-sPos2));
  sPos2 = ++sPos1;
 }
 // mostra il contenuto del vector
 std::vector<std::string>::iterator vIter;
 for(vIter=vs.begin(); vIter!=vs.end();++vIter)
 {
  std::cout << *vIter << std::endl;
 }
}
-- 
Gerolamo
www.overweb.it
Newsgroup: it.comp.lang.c++
Titolo: dallo SPECCY al C++

pongo una domanda e ringrazio in anticipo chi mi risponderà.
come si ottiene, in un programma in C++, il risultato che col basic
del sinclair spectrum si otteneva con questi comandi?
RANDOMIZE - generava un numero a caso.
PAUSE n [dove n è un numero intero] - faceva aspettare un certo numero
di giri di clock (se così si può dire) prima di continuare
l'esecuzione del programma.

 l'esecuzione del programma.
Non mi pare ci sia una cosa equivalente. Dovresti simularla con un loop
e la funzione clock(), time() o analoghe. Ma sulle piattaforme moderne
forse non è una buona idea. Meglio utilizzare qualche API di sistema
come la Sleep() sotto Windows.
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

        ### Sono sempre RiK0
Dal punto di vista del programmatore, un utente e' una periferica 
che scrive ogni volta che si effettua una richiesta di read.
(Peter Williams)

Newsgroup: it.comp.lang.c++
Titolo: ho ancora confusione sull'uso dei template

Salve,
sto giocando un poco con i template e mi sono bloccato in fase di 
compilazione su questo esempio. Cosa c'ï¿œ che non lo fa compilare?
Ovviamente l'esempio ï¿œ banale ma mi serve per capire il funzionamento
delle parole chiave.
 
grazie a tutti
 
#include <iostream>
#include <string>
 
using std::cout;
using std::cin;
using std::endl;
using std::string;
using std::ostream;
 
template <class T>
     class My_class
     {
         public:
             My_class(T & obj);
 
             template <class T>	// errore di compilazione
             friend ostream & operator<<(ostream &,
					const My_class<T>&);
 
         private:
             T itsobj;
     };
 
template <class T>
     My_class<T>::My_class(T & obj): itsobj(obj)
     {}
 
template <class T>
     ostream & operator<< (ostream & stream, const My_class<T> & cl)
     {
         stream << cl.itsobj;
 
         return stream;
     }
 
int main(int argc, char* argv[])
{
     string s = "io ho";
     int i = 37;
 
     My_class<string> as(s);
     My_class<int> ai(i);
 
     cout << as << ai << " anni.";
 
	return 0;
}

 const My_class<T>&);
 
cambia nome al parametro della funzione membro template:
 
              template <class U>	// ok
              friend ostream & operator<<(ostream &, 
const My_class<U>&);
 

 cambia nome al parametro della funzione membro template:
 
ops, in realtà non è membro, ma poco cambia.
Newsgroup: it.comp.lang.c++
Titolo: Pascal2C++

Come si converte da Pascal a C++ questo codice:
type
MyArray = Array [1..6] of byte;
MyType = (io, tu);
var
x : MyArray;
y : MyType
io ho provato con
typedef unsigned char MyArray [6];
typedef enum MyType {
          io,
          tu
};
MyArray x;
MyType y;
ma non funziona, mi da errore di compilazione.
Grazie
--
Posted from [195.223.215.6] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 
<snip>
Per prima cosa, quando hai un errore di compilazione e chiedi aiuto
ad un altro, devi dare non solo il codice ma (piu' importante) l'errore!
L'errore e' nell'uso del typedef. Deve essere:
typedef <typename> <typetag>;
quindi la prima e' giusta (Myarray e' il nome di un tipo unsigned char
array), la seconda non ha il typetag: in pratica non definisci il nome
simbolico per il tipi enum Mytype.
questo codice compila:
typedef unsigned char MyArray [6];
enum MyType {
          io,
          tu
};
typedef enum MyType t;
MyArray x;
t y;

 wrote :
[...]
per mantenere la semantica del pascal, e' meglio:
typedef enum {io, tu} MyType;
| typedef enum MyType t;
|
| MyArray x;
MyType y;

 typedef enum {io, tu} MyType;
In C++ per definire un enum si usa la forma
  enum MyType { io, tu };
Le altre forme con typedef vari ci sono per compatibilita'
con il C ma non ha senso usarle in nuovi programmi.
	Mauro

 wrote in message
39A6B7AC...@iperbole.bologna.it...

Bah, io le uso per chiarezza, specie all'interno delle classi,
specie se poi gli enum sono utilizzati in funzioni.
Cmq, hai ragione. Tranne che il senso potrebbe essere nella leggibilita',
per chi e' abituato al codice esistente.

 per chi e' abituato al codice esistente.
Non e' meglio imparare una volta per tutte la sintassi propria del C++,
se e' questo il linguaggio che si vuole adoperare?
Ciao,
Nicola


Per chi inizia, certamente. Ma se programmi da un po', o da un bel po' :(,
e' dura... ci sono abituato, e quando scrivo di getto mi viene il typedef
enum {} nome; per l'altra dovrei pensarci, e preferisco pensare alle cose +
significative.

 significative.
Capisco perfettamente il problema, pero' mi pare una cosa importante.
Negli ultimi anni la filosofia del C++ si e' molto discostata dal C. E'
chiaro che l'uso del typedef e' un elemento secondario, ma lo sforzo per
fare le cose nel modo "piu' C++ che si puo'" e' importante, soprattutto
se si collabora con altri.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: funzioni con array come argomento

Ciao! Ho un problema nel creare una funzione che mi calcoli la media
su dei valori contenuti in un array. il fatto è che ne vorrei crare
una generale che mi permetta di poterla utilizzare in piu occasioni
richiamandola da un file di risorse (per esempio "miefunzioni.h"). per
farlo però avrei bisogno di una fuzione che prenda come argomento un
array o un puntatore, ci ho provato ma non ci riesco.. qualcuno può
spiegarmi come fare e mi può fare un ESEMPIO!!?? grazie mille!! ciao!
;-]

 array o un puntatore, 
In C++ c'e' una classe apposita, chiamata std::valarray (std:: e' il 
namespace della libreria standard), che e' molto utile per rappresentare 
un array di valori numerici (ci sarebbe anche std::vector, che pero' e' 
piu' "general purpose"...)
Siccome siamo in C++, il mio consiglio e' che lasci perdere i puntatori, 
e usi una di queste classi (cosi' il tuo codice tendera' ad essere piu' 
robusto).
L'uso e' semplicissimo...
Supponendo che i tuoi valori siano memorizzati come double, i prototipi 
della ipotetica funzione "media" sono:
// Media dei valori contenuti nell'array "v"
double media( const std::valarray<double> v );
// Versione con puntatori - sconsigliata
double media( const double * v );
L'implementazione dovrebbe essere molto semplice:
double media( const std::valarray<double> v )
{
  // Sommatoria dei valori (v.sum()),
  // divisa per il loro numero (v.size())
  return ( v.sum() / ((double)v.size()) );
}
Spero sia stato utile.
Ciao,
Dan

 double media( const std::valarray<double> v );
 
ma :
double media( const std::valarray<double> & v );

 Ciao! Ho un problema nel creare una funzione che mi calcoli la media
[...]
Suppongo ti serva per comprendere il funzionamento dei puntatori ad array,
altrimenti come ti e' gia' stato suggerito, usa std::valarray ;)
ti posto un semplice esempio:
#include <iostream>
float fnc(const int* vlar,int sz)
{
        float tot=0;
        for(int i=0;i<sz;++i)
            tot+=vlar[i];
        return tot/sz;
}
int main()
{
        int ar[]={8,6,33,65,1,2,7};
        std::cout<<fnc(ar,7)<<std::endl;
}
Fai caso che ho usato un semplice puntatore ad intero, ed ho passato alla
funzione fnc come argomento semplicemente ar, che viene convertito a
puntatore al primo elemento di ar.
Era questo che cercavi di fare? 
Saluti

 float fnc(const int* vlar,int sz)
...pero' tanto vale fare "const float *" (anche se IMHO e' meglio 
double, oppure si usa un template...)
Ciao,
Dan

 }
.... mhhh ....
template<typename IterType,typename InitType>
InitType
media(IterType b,IterType e, InitType init)
{
   return std::accumulate(b,e,init) / std::distance(b,e);
}
-- 
sbi

 }
Complimenti, ...anche se troppo sofisticato per i miei gusti :)
Newsgroup: it.comp.lang.c++
Titolo: stile e namespace

Ciao a tutti!
Supponiamo che io debba scrivere una libreria di classi e funzioni in C++.
Siccome includo tutte le dichiarazioni relative alla mia libreria in un
namespace nuovo, č legale usare identificatori il cui nome esiste gią nel
namespace std o in altri scope. Quello che mi chiedo č: oltre ad essere
legale, č anche una pratica corretta? Faccio qualche esempio.
Le eccezioni della libreria standard sono tutte derivate da std::exception.
Supponendo che la mia libreria usi il namespace pippo, č corretto definire
come pippo::exception la base della mia gerarchia di eccezioni? Oppure
dovrei usare qualcosa del tipo pippo::pippo_exception per non confondersi
con std::exception?
Se poi devo definire altre classi o funzioni, posso dare loro un nome
generico (come ad esempio error, state, initializer, ecc.), il cui
riferimento logico alla libreria "pippo" resta implicito nel namespace?
Il mio primo istinto era effettivamente quello di sfruttare l'appartenenza
al namespace specifico per eliminare gli odiosi prefissi tipici del C
(pippo_error, pippo_initializer, oppure pippoError, pippoInitializer, ecc.).
In effetti usare il riferimento del namespace sarebbe a mio avviso la cosa
migliore per avere un codice pulito e logicamente coerente, ma se poi
l'utilizzatore della libreria si mettesse a scrivere una cosa orribile del
tipo "using namespace pippo", allora succederebbe un casino...
Cosa mi consigliate?
Un saluto,
    Marco

legale, č anche una pratica corretta? Faccio qualche esempio.
E` corretto, i namespace sono stati introdotti apposta, perņ IMHO č
meglio evitare collisioni con nomi usati da altre librerie che devono
lavorare con il tuo programma.
Quindi tu puoi chiamare una tua funzione pippo::foo senza doverti
preoccupare di chiamarla in qualche modo come pippo_foo.
-- 
Marco Barisione (ICQ 84277092)

Newsgroup: it.comp.lang.c++
Titolo: Salvare l'eseguibile del programma

E' possibile salvare l'eseguibile del programma in esecuzione?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

E' possibile salvare l'eseguibile del programma in esecuzione?
Cosa intendi esattamente?
-- 
Marco Barisione (ICQ 84277092)

Quando compili e quindi linki il programma viene creato l'eseguibile del
programma. Guarda tra le opzioni del compilatore per vedere dove l'exe
viene salvato.

Newsgroup: it.comp.lang.c++
Titolo: Conversioni "estreme"

Ciao a tutti,
    sto cercando di conciliare del codice C++ con altro scritto in C ma mi
sono arenato in un problema di conversione (VC++6).
    Nella parte in C ho una struct e (altrove) un puntatore a funzione
cosi':
struct TheStruct{ ... };
void (*FuncPtr)( TheStruct* );
e nella parte in C++ una classe con una funzione membro:
class TheClass: public TheStruct{
    void MemberFunc();
    };
Ora, per quanto ne so dovrebbe essere possibile assegnare MemberFunc a
FuncPtr, per via di quell'argomento di tipo TheStruct* che compare in
FuncPtr, solo che fino ad ora non sono riuscito ad eseguire la conversione
senza che il compilatore protestasse perche' non puo' eseguire il cast.
    I casi sono tre: o sto facendo una svista madornale, o bisogna usare
qualche accorgimento, oppure non e' tecnicamente possibile (ma di questo non
vedrei alcuna spiegazione).
Grazie a chiunque mi sapra' dare qualche suggerimento,
    Al

FuncPtr, per via di quell'argomento di tipo TheStruct* che compare in
Credo non sia possibile assegnare a FuncPtr l'indirizo della funzione
membro TheClass::MemberFunc ,in quanto il tipo di questo puntatore
dovrebbe essere  void (TheClass::*)(void) e richiamabile solo con un
oggetto della classe .
Solo dichiarando 'static'  TheClass::MemberFunc credo sia possibile
effettuare l'assegnamento che richiedevi .
~~~~~~~~~~~~~~~~~
MAINARDI Gianfranco
Burago di Molgora (MI)
Italia
Email : 
main...@rete039.it
ICQ# number : 31334916
~~~~~~~~~~~~~~~~~

Non capisco...
    ma TheClass::MemberFunc() non viene trasformata in fase di compilazione
in una TheClass_MemberFunc( TheClass* ) ? E allora dove sta il problema ?
Dovrei poterlo assegnare ad una comune funzione globale! E quando passo come
argomento una TheStruct*, in realta' passo il this della classe. Why not?
    Al
PS: grazie della risposta.

 vedrei alcuna spiegazione).
La spiegazione č che il C++, pur essendo un linguaggio permissivo, non č cosě
permissivo come il C. Alcune cose particolarmente "pericolose" non le permette.
Tra queste cose c'č il cast da puntatore a funzione membro ad altri tipi
(interi, puntatori a funzioni normali ecc.). Quindi per ottenere ciň che vuoi,
devi assoggettarti a una chiamata a funzione in piů:
class TheClass : public TheStruct
{
public:
    static void CInterface(TheStruct* aClassPtr)
    {
        static_cast<TheClass*>(aClassPtr)->MemberFunc();
    }
    void MemberFunc();
};
A questo punto puoi assegnare direttamente CInterface:
    FuncPtr = TheClass::CInterface;
La funzione CInterface potrebbe anche essere esterna, inserirla nella classe
come statica mi sembra piů ordinato.
Newsgroup: it.comp.lang.c++
Titolo: Dubbi su new e delete.

Ciao.
Chiedo due cose:
1)
Avendo due puntatori che delimitano un array:
const size_t size = 10;
int ia[size];
int *beg = ia;
int *end = ia + size;
E' legale anche se poco elegante un'operazione del genere?:
ptrdiff_t diff = end - beg;   // 10 elementi
int *p = new int [diff] ();   // diff è un tipo ptrdiff_t, non size_t
2)
Supponiamo di avere questo codice:
int *p = 0;
delete [] p;   // No delete p!!! elimina un array di int
E' consentita una tale operazione?
Grazie ancora.

 E' consentita una tale operazione?
Sì, delete sul puntatore nullo non fa nulla, è nello standard.
http://www.devx.com/tips/Tip/14443
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with SUSE - 
http://enigmail.mozdev.org
iD8DBQFI02I/BIpu+y7DlLcRAoTpAJ0QwG45vkWLm0ENPsg+TKrmazF3TQCdGvKK
QUOamJpjch49xKMSaDXy1l8=
=nXhX
-----END PGP SIGNATURE-----

 ptrdiff_t diff = end - beg;   // 10 elementi
Essendo perfettamente legale e normalmente utilizzata in C lo e` anche 
in C++. Certo non e` un granche` bella, ed e` prona ad errori perche` 
basta un cast sui tuoi puntatori per farti venire 40 come risultato.
Tipicamente in C si usa in congiunzione con strchr() per copiare pezzi 
di stringa... ma su puntatori a char con i quali e` piu` "naturale" (la 
tua differenza in realta` sono 40 byte, 20 su alcune architetture, 80 su 
altre, non 10 "elementi" ).
In generale io la userei solo su interi ad 8bit proprio dovendo, 
cercherei se possibile qualcosa di + facile leggibilita` con puntatori 
di tipo diverso.
Bye,
  Gabry

Ottimo!
Grazie mille a entrambi.
Ciao.

Ottimo!.


 E' consentita una tale operazione?
Si. Attenzione che in generale sta a te ricordarti di usare delete[]
con new[] e delete con new.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: aiutooo thread in c++

Ciao a tutti
ho un "PROBLEMINO" con CWinThread....
Sto cercando di creare un'applicazione che consenta di trasferire file
utilizzando il Socket.
in C tutto bene... sono riuscito a creare una piccola chat che supporta
il
trasferimento file e il resume.....
ma torniamo al problema.
questo è il blocco che dovrebbe lanciare il thread :-(
void CSendFile1Dlg::OnButton1() // dialog principale
{
CWinThread *punt=NULL;
CMyThread punt=NULL;
if( inizializza_winsock_dll()){// funzione che inizializza la dll
if( inizializza_sock(IPADDR)){// funzione che inizializza il socket
if( AttesaConnessione(sockets)){// listen
punt1.CreateThread(0,0);
punt=AfxBeginThread(RUNTIME_CLASS(CMyThread ),0,0,0,NULL);// sarà
giusto?
else......
questa è una porzione di codice della init
BOOL CSendFile1Dlg::OnInitDialog(){
UINT MyControllingFunction( LPVOID pParam );}
fin qui tutto bene....penso.
e questo è quello che dovrebbe fare il thread
IMPLEMENT_DYNCREATE(CMyThread, CWinThread)
CMyThread::CMyThread()
{
char stringa[BUFFER]="";
SendFile1Dlg dl;// dialog principale
while(true){//ricevimento dati
strset(stringa,0);// svuota la stringa
int res=recv(dl.sockets,stringa,BUFFER,0);// riceve la stringa
if(res==0||res==WSAECONNRESET||res==WSAECONNABORTED || res<0){
MessageBox(NULL,"Connessione interrotta",NULL,MB_OK);
chiudi();// chiude i thread e i socket
break;
}
dl.m_edit=stringa;// valorizza m_edit 
(m_edit è la variabile associata alla edit box)
dl.UpdateData(false);// stampa nella edit
}
quando cerca di accedere all dialog da l'errore (dovrei usare il domodal
ma apre un'altra form e va tutto in casino)è come se la dialog fosse
disattivata e inaccessibile
come posso fare????
grazie
ciao 
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 wrote
prova a postare questo messaggi su it.comp.programmare.win32.
Tommy

Newsgroup: it.comp.lang.c++
Titolo: Eclipse e C++

Ho installato Eclipse per Java e devo dire che non è niente male. Ho
scaricato la  CDT per utilizzarlo anche con il C++, ma non riesco a
falo funzionare. Qual è la procedura corretta? Grazie...

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
Newsgroup: it.comp.lang.c++
Titolo: Visual C++ vs Borland C++

Cosa ne pensate dei due abbienti di programmazione Visual C++ e Borland C++?
siccome vorrei iniziare a studiarmene uno dei due quale secondo voi è il più
diffuso e quale il meglio per creare applicazioni windows'
grazie guido

 wrote in message
news:8o68p3$l1h$1...@lacerta.tiscalinet.it...


 Il compilatore migliore ? quello del C++ Builder
c'e' stata una discussione su questo un po' di tempo fa su
alt.hackers.cough.cough.cough e sembra che il compilatore della M$
riesca ad ottimizzare meglio (sia dimensione, sia velocita') nella
maggior parte dei casi
ciao
Kronos
-- 
Home: 
http://kronoz.tsx.org
ICQ-UIN: 69071547
Il piu' bel momento dell'amore e' quando ci si illude che duri
per sempre; il piu' brutto, quando ci si accorge che dura
da troppo.

 maggior parte dei casi
Probabile. Per contro e' decisamente piu' indietro rispetto alla
conformita' allo standard ISO.
Ciao,
Nicola

 maggior parte dei casi
Si, è vero, ma il Builder è più aderente allo standard. In questo senso era
la mia risposta.


Newsgroup: it.comp.lang.c++
Titolo: AIUTO: Operatori new e delete

E' possibile eseguire l'equivalente di una realloc utilizzando gli operatori
new e delete?
Grazie
Alessandro

perche' no?
crei un puntatore a un'area di memoria di lunghezza voluta, ci copi
l'eventuale variabile di cui vuoi modificare la lunghezza, cancelli la
vecchia variabile e ritorni l'indirizzo della nuova...
Magari usando i template che fa piu' bello :)
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:bu3ge5$v3g$1...@lacerta.tiscalinet.it...


 luke

 new e delete?
Mi sa che l'unica e': allora il nuovo spazio, copia li' i dati, libera 
il vecchio.
Cmq, magari guarda come vengono implementati i metodi gia' citati da 
luke in una qualche libreria.
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */
Newsgroup: it.comp.lang.c++
Titolo: Aiuto CPU!!!

E' la seconda volta che vi scrivo, aiutatemi!
Vorrei sapere come si fà a trovare la velocità in MHZ del processore, e a
capire se è MMX.
Grazie in anticipo.

 capire se è MMX.
Basta guardare sul sito 
www.intel.it
 e spulciare la documentazione on-line.
Cerca CPUID e argomenti correlati.
Ciao
--
Alessandro Monti

Sei completamente OFF-TOPICS! [OT]
Ricorda di postare i messaggi nel newsgroup giusto! Qui si parla di c++ e
non di hardware. Puoi scrivere tutti i messaggi che vuoi, ma finchè li posti
nel posto sbagliato non otterrai nessun aiuto!


 nel posto sbagliato non otterrai nessun aiuto!
Beh, non è detto, se uno intendeva dire come si faceva a capire quelle cose
con il c++ era IT (In Topic).
--
Diego Pettenò
diego...@hotmail.com
May the Force be with you!

Newsgroup: it.comp.lang.c++
Titolo: R: Leggere la memoria...

Scusate la domanda che forse a molti di voi risulterà particolarmente
semplice...(spero) :-))
Avrei la necessità di leggere il contenuto della locazione 013F:00CBFBE8 ed
assegnarlo ad una variabile.
Date le mie scarsissime (se non pressochè nulle) conoscenze di C++, mi ero
detto, ..è facile, basta assegnare ad un puntatore l'indirizzo e leggerne il
contenuto...
Che cazzata ho detto ehh??!!??
In effetti si è rivelato un fiasco mostruoso!!!!
Per favore, sapreste o vorreste aiutarmi?
Grazie 1000!!!!
--------------------------------------------------------------------------
--------------------------------------------------------------------------
 L'odio deve rendere produttivi
 altrimenti è più intelligente
 AMARE!
 ICQ: 16176655

 ha scritto nel messaggio
news:8eumlf$nt8$1...@nslave2.tin.it...


Newsgroup: it.comp.lang.c++
Titolo: aiuto!!!!!!!!!

Ciao ragazzi,
ho un problemino con un programma di contabilità.
Avrei bisogno di un programmatore (anche a pagamento)
Vi prego aiutatemi!!!!
rimango in attesa
ciao
marco

 wrote in message
9j73fk$5u7$1...@pegasus.tiscalinet.it...

Newsgroup: it.comp.lang.c++
Titolo: ?

è possibile fare una cosa del genere?:
class classe{
    ...
};
classe a;
classe b;
...
a = b;
oppure
if (a = = b){
    ...
grazie, ciao
                                                                   stefano

     ...
si, se hai definito l'operatore "==" per la classe "classe"
--
Gerolamo

 si, se hai definito l'operatore "==" per la classe "classe"
E se non fosse stato definito, avviene un confronto bit a bit.
PS. Senza nemmeno starlo a ricordare se la classe contiene un
       puntatore dopo l'assegnamento a = b entrambe le classi hanno
       un puntatore che punta alla stessa area di memoria con tutto
      cio che ne deriva. Notare che se una delle due classi avesse
      un membro con l'operatore=   privato l'assegnamento a  =   b e'
      impossibile  farlo. Discorsi analoghi si fanno per l'operatore
      ==  ( confronto, sperando nell'anima pia di mailgate).
Ciao
Gaetano.
-- 
Posted from 
nts-03.mm.eutelsat.org
 [194.214.173.15] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 si, se hai definito l'operatore "" per la classe "classe"
E se non fosse stato definito, avviene un confronto bit a bit.
PS. Senza nemmeno starlo a ricordare se la classe contiene un
       puntatore dopo l'assegnamento a  b entrambe le classi hanno
       un puntatore che punta alla stessa area di memoria con tutto
      cio che ne deriva. Notare che se una delle due classi avesse
      un membro con l'operatore   privato l'assegnamento a     b e'
      impossibile  farlo. Discorsi analoghi si fanno per l'operatore


 [CUT]
Cos'è sta roba???????????????
8)
-- 
Luc.

 Cos'è sta roba???????????????
Mi e' scappato un encoding Unicode (UTF-7)


 Mi e' scappato un encoding Unicode (UTF-7)
Segnalato all'abuse.
8-P
-- 
Luc.


ROTFL :)
-- 
  _  _  >>Now at work<<  _     || ICQ number.................Non lo uso
 | \| |___ _____ ___ ___|_|___ || Home-Page ................Non ce l'ho
 | .` | -_|     | -_|_ -| |_ -||| E-Mail................Non l'avrai mai
 |_|\_|___|_|_|_|___|___|_|___||| Un Nemesis che ha pochi e-contatti ;)

E se non fosse stato definito, avviene un confronto bit a bit.
Non mi risulta affatto che il compilatore generi un operator== di
default. Non ho lo standard sottomano ma so che i compilatori pių
diffusi pretendano un operator== definito dall'utente.
Il Ghenio
---------
These are my parting words to you:
those who give up are doomed!


Infatti, se non e' definito non si puo usare, credevo fosse una cosa
abbastanza ovvia.
Scusate.


E se non fosse stato definito, avviene un confronto bit a bit.
No. Non esiste una implementazione di default per operator==.
HTH
Andrea

 se la classe ha dei membri che sono a loro volta classi.
Sono stato poco preciso, vedi i miei post successivi.


 E se non fosse stato definito, avviene un confronto bit a bit.
no. operator== non viene creato implicitamente dal compilatore, in 
nessun caso.
ciao Anto
-- 
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it
Newsgroup: it.comp.lang.c++
Titolo: OT - dove postare ?

Salve,
avrei in progetto la ristrutturazione del progetto che ho sviluppato a 
Marzo per la mia Tesi di Laurea, ed ho delle domande di natura 
progettuale, ho cercato un gruppo di discussione sull'argomento (l'ho 
cercto in italiano, confesso, ma anche in inglese va bene) ma non l'ho 
trovato.
Me ne indicate uno ?
Ps.: ho postato qui perchè il progetto, sviluppato in C++ però sotto 
Microsoft (MFC) deve diventare multipiattaforma, e quindi lo devo 
standardizzare un pò.
L'interfaccia l'ho già scelta e mi sono trovato molto bene 
(
www.fox-toolkit.org
), adesso devo riprogettare facendo attenzione alle 
librerie, che siano standard ;)
Grazie e accettate le mie scuse per l'OT

 Me ne indicate uno ?
Per quel che riguarda le domande sul linguaggio e sulla libreria
standard, questo NG è quello giusto.
Per le domande su grafica, gestione dell HW, ecc... ti puoi rivolgere
o al gruppo del sistema operativo ( it.com.programmare.win32 ,
it.comp.linux.development , ... ) oppure al generico
it.comp.programmare
-- 
Gerolamo (post blackout...)
Newsgroup: it.comp.lang.c++
Titolo: kdevelop una informazione sola... :-b

Ciao, vorrei sapere se esiste un fornum su KDevelop ma ITALIANO !!!
Sapete indicarmene uno? Anche qualsiasi altra forma (news, irc ecc...)  
vanno benissimo, anche email, purchè riesca a contattare qualcuno che  
veramente sappia darmi un'indicazione di come poter configurare una  
opzione in KDevelop...
Intanto la domanda la faccio qua, può darsi che qualcuno sappia  
rispondermi..
quando in KDevelop creo un progetto, ho i seguenti dubbi da risolvere :
1) vorrei creare un progetto vuoto in C++, e nella documentazione mi pare  
che vi sia scritto che non sia possibile, per cui devo creare un progetto  
già esistente, come ad esempio, C++ -> "Simple Hello world program", poi  
modificarne il contenuto... ho fatto una cosa giusta, o esiste un'altra  
stada a me sconosciuta?
2) una volta che lo voglio compilare, vorrei che mi compilasse con il  
seguente formato:
gcc -fomit-frame-pointer -O -Wall -nostdlib -nostdinc -c -o FILE.o FILE.c
bene, se scrivessi questi parametri in Progetto->Opzioni Progetto->Opzioni  
di configurazione->C++->Flag Compilatore(CXXFLAGS), otterrei il solito  
risultato come se lo scrivessi da bash ?
Grazie per la cortese attenzione...
Ciao.
-- 
(¯`·.¸( jockerfox )¸.·´¯)
Look and Feel from JFes ..
.. the Entire System !!!

 Ciao, vorrei sapere se esiste un fornum su KDevelop ma ITALIANO !!!
Ciao - sei OT. Prova a chiedere su it.comp.os.linux.development, 
probabilmente avrai piu' fortuna.
E cmq - se intendi lavorare un po' in campo informatico, tieni a mente 
che la conoscenza dell'inglese e' essenziale...
-- 
Mat/tia Belletti             - Graduate student @ 
cs.unibo.it
ICQ: 33292311                - email: 
mbel...@cs.unibo.it
IRC: RedGlow                 - site(s): 
http://mbellett.web.cs.unibo.it/
Red...@jabber.linux.it/Gaim
 - Linux user 299762 @ machine 213003

so l'inglese, ma l'Iaìtaliano lo preferisco... comunque grazie per l'info !
;-)
Ciao!

 so l'inglese, ma l'Iaětaliano lo preferisco...
Io no. Il rischio di imbattersi in traduzioni cinofalliche e' abbastanza
alto. Troppo per i miei gusti.
-- 
[ RiK0                                ]
[ non credo negli schemi non vincenti ]
[ two is an odd prime number          ]

Newsgroup: it.comp.lang.c++
Titolo: Errore: virtual Illegale

CodeWarrior mi da il seguente errore che purtroppo non e' documentato
nell'help:
Error   : illegal use of 'virtual'
Idato.h line 6    virtual string tostring();
il modulo Idato.H e' la seguente classe virtuale:
class Idato{
	public:
	virtual Idato valore();
	virtual bool equ(Idato dat);
	virtual bool isempty();
	virtual string tostring();
};
In ogni file .cpp in cui e' incluso e' preceduto da 
#include<string.h>
Se al posto di string metto char* va tutto bene.
Perche'? Ovviamente io vorrei utilizzare le stringhe.
Grazie mille a tutti
Veruska.

Mi rispondo da sola perchè ho già capito il problema leggendo la
risposta che è stata data a Tora.
Grazie comunque sarà per la prossima volta!!

Newsgroup: it.comp.lang.c++
Titolo: Eccezioni e VC++

Vorrei presentarvi uno straccio di codice proveniente dal software che
al momento sto scrivendo...
try {
  bVal = m_cEpson->sendCommand(cmd);
} catch(ePDUError &except) {
  exceptionContainer(except);
}
vi spiego il semplice contenuto di queste 3 righe di codice ..
m_cEpson è un oggetto che ha come compito quello di gestire il dialogo
con una stampante fiscale EPSON FP210, e la funzione sendCommand invia
a questa stampante fiscale dei comandi rappresentati da oggetti (cmd è
per l'appunto uno di questi oggetti).
sendCommand può sollevare eccezioni di tipo ePDUError che vengono
regolarmente catturati dal catch .. il quale passa l'eccezione alla
funzione exceptionContainer che ha come compito quella di notificarli
attraverso un FireEvent (lo straccio di codice proviene da un oggetto
ActiveX).
Quando viene sollevata l'eccezione il dispositivo fiscale restituisce
un errore che il manuale associa alla descrizione *SEQUENZA ERRATA*
... credo significhi che il comando era errato ... ma non è questo il
problema...
In che modo l'eccezione deve essere sollevata ?
1) throw ePDUError(codice errore)
2) throw new ePDUError(codice errore)
Attualmente la sollevo come al punto 1.
Seguendo il codice a debug ottengo un errore nel kernel32 .. e non ne
capisco il motivo.. l'errore viene segnalato dentro un oggetto
contenuto in ePDUError, una classe che gestisce le stringhe.. e che ho
utilizzato correttamente in altre situazioni.
dei due modi per sollevare l'eccezione, qual è il più corretto visto
che l'eccezione viene catturata con catch(ePDUError &)?
grazie
Antonio
p.s. se eseguo il codice senza il debugger, non ottengo nessun
messaggio di errore .. ma utilizzando l'oggetto activex ottengo un
blocco di visual basic

 Attualmente la sollevo come al punto 1.
Corretto.
Ciao,
Nicola

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

 distruttore dell'oggetto exception in modo corretto.
Attenzione che se lancia l'eccezione con
throw new ePDUError(codice errore);
poi deve intrappolarla con 
catch ( ePDUError * e )
e non 
catch ( ePDUError & e )
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Come leggere la lista di canzoni dal CD

Salve,
Qualcuna conosce la DLL da dover usare o la modalità di lettura dei file
traccia, per poter conoscere informazioni sul titolo del CD e sui singoli
titoli delle canzoni?
Arrivederci!!
---------------------------------------------------------
Simone Severa
Uninet Technical Support
Senior Programmer
Via Cornelia, 498 00166 Roma, Italy
Office Phone +39 6 61114300
Fax. +39 6 61114202
E-Mail. 
sse...@uni.net
---------------------------------------------------------

 wrote in message
7up5h6$fa5$1...@fe1.cs.interbusiness.it...


Newsgroup: it.comp.lang.c++
Titolo: Inizializzare array membro statico

Ho una classe con un array statico (una tabella che uso per far
evolvere una FSM), cosi':
#ifndef GAME_H
#define GAME_H
class Game  : public GameBase
{
...
private:
	typedef void (Game::*EventHandler)(const Event* const);
	static const EventHandler transitionTable[];
};
const Game::EventHandler Game::transitionTable[] = {
	&Game::handleAliveFireRequest,
...
};
#endif
Ma la compilazione fallisce con
    game.o::-1: error: multiple definition of `Game::transitionTable'
    gameLoader.o::-1: error: first defined here
Ora, effettivamente GameLoader include uno header che include Game (e
quindi la definizione della transitionTable), ma pensavo che gli
#ifndef..#endif si prendessero cura del non includere la stessa cosa
piu' di una volta.
Non e' cosi' che si inizializza un vettore membro statico?  Come si fa
(se si puo' fare)?
Thx!


Non lo dici, ma presumo che l'errore sia emesso dal linker e non dal 
compilatore C++ (lo si vede dal fatto che cita la posizione dell'errore 
come ".o::-1"),
Credo che il problema stia nel fatto che la definizione (che e' anche 
una inizializzazione), cioe' la seguente istruzione
   const Game::EventHandler Game::transitionTable[] = ...
sia inclusa in piu' unita' di compilazione ("gameLoader" e "game").
La direttiva #ifndef tutela dall'inclusione multipla in una singola 
unita' di compilazione, ma non di piu', anche perche' lo scopo dei file 
di intestazione e' proprio quello di essere inclusi in piu' unita' di 
compilazione.
Per evitare l'errore, sposta tale definizione nel corpo di un'unita' di 
compilazione.
-- 
Carlo Milanesi
http://carlomilanesi.wordpress.com/

 compilazione.
Ottimo, grazie!

Newsgroup: it.comp.lang.c++
Titolo: string->double

Ho una stringa che contiene dei numeri. Come faccio a passare quei numeri
a una variabile double?
Grazie
-- 
	  .·" DevarajA "·.
·{
leo...@libero.it
}:{ICQ_96777690}·

 ha scritto nel messaggio
news:pan.2003.06.21....@libero.it...


 s = "  -2309.12E-15";    /* Test of atof */
io non ho un char, ma una variabile string il cui valore viene assegnato
dal programma
string *s; double x;
e atof funziona solo con char. Come faccio a convertire la string in char?

 char?
usi il metodo c_str() per esporre il buffer:
x = atof(s->c_str());
Al limite  potresti usare un stringstream,  ma e` esagerato per  un caso
come questo:
#include <sstream>
std::string s = "  -2309.12E-15";
std::istringstream o(s);
double x;
o >> x;
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
"Sei l'unica donna della mia vita".
(Adamo)
Newsgroup: it.comp.lang.c++
Titolo: dubbione su extern

Salve a tutti.
Riflettendo su alcuni concetti, mi e' sorto un dubbio assilante.
E' corretto quanto segue?
extern int alfa;
int main()
{
      int beta= alfa;
etc....
}
In teoria si', perche' la questione viene risolta nel linking.
So che puo' sembrare una scemata, ma non mi ero mai posto il problema.
Igor Rossetti


Esatto.

 }
certo che è corretto. perchè non dovrebbe esserlo?
funziona anche con le classi:
extern CApplication theApp;
void foo()
{
    theApp->DoSomething();
}

Newsgroup: it.comp.lang.c++
Titolo: arrotondamento fp

Esiste un modo conforme allo standard C++ di arrotondare la mantissa dei 
floating point? Un modo potrebbe essere quello di convertire i double in 
float e poi di riconvertirli in double, ma cosě non avrei il controllo 
sul numero di bit da considerare.
Kiuhnm



Non credo ne esista uno conforme allo standard, comunque un modo per
limitare il numero di bit e' quello di sommare un numero molto piu'
grande (l numero va calcolato a dovere a seconda del numero di bit) e
poi sottrarlo. Credo che tu debba salvare anche il risultato
esplicitamente in un temporaneo, per evitare che il compilatore
utilizzi la notazione estesa al posto di quella dei double/float
(questo e' definito dallo standard).
Ciao,
Marco 
 
-- 
I'm using an evaluation license of nemo since 71 days.
You should really try it!
http://www.malcom-mac.com/nemo

 (questo e' definito dallo standard).
Sì, questo è chiaro.
Comunque grazie per essere intervenuto.
Kiuhnm

 sul numero di bit da considerare.
frexp e ldexp dovrebbero essere i punti di partenza "canonici" per
fare quello che vuoi. O no?
Ciao,
Nicola

 fare quello che vuoi. O no?
Certo che restituire la mantissa ancora in double č un po' assurdo.
Comunque il codice che usa frexp ed ldexp č almeno 50 volte piů lento e 
questi arrotondamenti sono veramente frequenti nel mio codice.
Ho deciso di usare la soluzione non portabile, etichettandola perň 
chiaramente come tale.
Grazie anche a te.
Kiuhnm

Newsgroup: it.comp.lang.c++
Titolo: CERCO DISPERATAMENTE NUMERI ioProgrammo

Sarei intenzionato a comprare a prezzo non eccessivamante elevato annate e/o
numeri complete/i dei rispettivi cd-rom della suddetta rivista. Sperando di
ricevere numerose risposte vi porgo un grazie in anticipo.



Giovanni wrote:

A parte che sei molto OT, perchè non provi a richiedere gli arretrati 
direttamente alla redazione?
Ciao
-- 
Abruzzo Silvio
studente, 16 anni
goku_...@libero.it
silvi...@aruba.it
 <---old e-mail address
http://utenti.tripod.it/abruzzosilvio/
 
^____^
Newsgroup: it.comp.lang.c++
Titolo: un iteratore "doppio" per un stl container...

Sto implementando una classe che gestisce un menu in C++ usando un stl
container contenente dei menuObject (altra classe che sto implementando)
ed un iteratore. Ho un problema con l'iteratore. Ho bisogno di un
iteratore che possa essere confrontato (!= e ==) con il risultato di
begin(), end() (quindi un normal_iterator) ed anche che funzioni se
comparato (!= e ==) con il risultato di rbegin(), rend() (quindi un
reverse_iterator). Con questo iteratore ho bisogno anche delle
operazioni -- e ++. Qualche idea?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 delle operazioni -- e ++. Qualche idea?
Una variabile non puo' essere contemporaneamente di tipo "iterator" e
"reverse_iterator"; e non puoi confrontare due variabili di due tipi
diversi, a meno che ci sia una conversione implicita da uno di essi
all'altro; e non ci sono conversioni implicite da iterator a
reverse_iterator.
Per convertire un reverse_iterator nel corrispondente iterator, chiama
il metodo "base()" del reverse_iterator.
Per convertire un iterator nel corrispondente reverse_iterator, passa
l'iterator come argomento al costruttore del reverse_iterator.
Per esempio, il seguente programma, scrive "1 2 1 2".
#include <vector>
#include <iostream>
using namespace std;
int main() {
	typedef vector<int> Coll;
	Coll coll;
	coll.push_back(1);
	coll.push_back(2);
	Coll::iterator i = coll.begin();
	++i;
	Coll::reverse_iterator ri = coll.rend();
	--ri;
	if (i == ri.base()) {
		cout << *ri << " " << *i;
		i = ri.base();
		ri = Coll::reverse_iterator(i);
		cout << *ri << " " << *i << endl;
	}
}
Nota che un iterator e un reverse_iterator corrispondenti fanno
riferimento a elementi distinti.
-- 
	Carlo Milanesi
 
http://digilander.libero.it/carlmila

Newsgroup: it.comp.lang.c++
Titolo: Variabili statiche in funzioni

Salve,
ho notato che in alcune funzioni le variabili statiche assumono valori 
strani. Ad esempio:
------------
static unsigned char variabile = 0;
variabile ++;
------------
Dovrebbe assumere il valore 1, in realtà (pur essendo un char) assume il 
valore 5000!!!
Come mai?


Dovresti postare un esempio di codice.
Qualcosa che si possa compilare.
Ciao, Ugo

gio@work wrote:

Il 5000 non l'ho capito proprio. Comunque se ti ricordi di includere gli
apici nell'inizializzazione e poi incrementi, ti esce 1 :)
static unsigned char variabile = '0'; //è un char quindi va inizializzato
così
Ciao
-- 
Salvatore

 così
Grazie Salvatore!!!


ommamma... non č che sia proprio convinto della cosa. :)
Cioč: volevi utilizzarlo come carattere o come intero?
Perchč il char č un tipo intero per cui era perfettamente legittimo quel che 
facevi.
Mi spiego meglio:
se la variabile vale 9 e la incrementi, cosa ti aspetti? Se la risposta č: 
10, allora
la soluzione proposta non č quella giusta.
-- 
Gerolamo
Newsgroup: it.comp.lang.c++
Titolo: Compilatore gcc

Ciao a tutti! ora farò una domanda che molto probabilmente è stata
fatta un miliardo di volte...come faccio a installare il compilatore
gcc sul mio pc? ho scaricato dal sito 
http://gcc.gnu.org/
 la versione
4.1.1, che dovrebbe essere la più recente, ma non ho la minima idea di
come vada installata. Le spiegazioni presenti sul sito non mi sono
molto chiare e quello che ho preso dall'ftp non è altro che una serie
di file compressi. A quanto ho capito bisogna fare un configure prima
di spacchettare....ma già quello mi crea problemi, insomma sono
abbastanza a terra! se qualcuno può aiutarmi....
grazie in anticipo! 
Massi

 insomma sono abbastanza a terra! se qualcuno può aiutarmi....
Vedi MinGW primo.
--
James Kanze                                           GABI Software
Conseils en informatique orientée objet/
                   Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, 
+33 (0)1 30 23 00 34

> Vedi MinGW primo.
Sono andato sul sito e in particolare in questa pagina,
http://www.mingw.org/download.shtml
 e ho scaricato MinGW-3.1.0-1.exe.
è il programma a cui fai riferimento tu? perchè ci sono molte altre
cose scaricabili...ho installato il programma, molto probabilmente
sbaglio ancora qualcosa, perchè sul prompt dei comandi il comando gcc
è ancora sconosciuto. perdonate l'ignoranza, ma sto pagando gli ultimi
anni passati a programmare comodamente su .net...

Massi ha scritto:

Su questo newsgroup sei OT, risposte esaurienti le puoi sicuramente 
trovare sulle mailing list o i newsgroup dedicati a GCC (non so se ne 
esistono per MingW).
Vedi se cosi' e' piu' semplice:
- scarica "MinGW-5.0.3.exe" dal seguente link: 
http://prdownloads.sourceforge.net/mingw/MinGW-5.0.3.exe?download
- Eseguilo, nell'elenco seleziona i compilatori per i linguaggi che ti 
interessano (default per C e C++), ti installera' cio' che serve.
- finita l'installazione in C:\Program Files\MinGW\ dovresti trovare 
tutto, al limite aggiungi C:\Programmi\MinGW\bin al PATH (non ricordo se 
lo fa in automatico), altrimenti gcc.exe o g++.exe non vengono trovati.
--
Roal Zanazzi

Sono andato sul sito e in particolare in questa pagina,
[...]
Scarica il Dev-Cpp (
http://www.bloodshed.net/dev/devcpp.html
).
E' un IDE completo che si poggia su MinGW.  Il compilatore viene
installato con l'IDE.  Per iniziare va piů che bene.

 a GCC (non so se ne esistono per MingW).
Ci son. C'è anche un WiKi. Con entrate come: "Getting Started",
"Package Guide", etc., chi riponderano certamente alle questioni
posate.


 
In ambiente Windows, per semplificare le cose, potresti scaricare il
pacchetto completo di uno dei seguenti IDE:
MinGW Studio, 
www.parinyasoft.com
CodeBlocks,   
www.codeblocks.org
Entrambi i pacchetti installano il compilatore gcc (versione per Windows
MinGW 3.4) e ti offrono un bellissimo IDE (ambiente integrato) con 
editor, project manager, debugger ecc.
A meno che tu preferisca fare tutto da linea di comando (cosa comunque
sempre possibile)...
Ciao.
Sergio
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c++
Titolo: pulizia schermo

se la mia soluzione è scadente allora come si fà a pulire lo schermo?
credici
cre...@infinito.it
----------------------------------------------
Virgilio Mail - Il tuo indirizzo E-mail gratis
http://mail.virgilio.it
--
Posted from [212.48.4.46] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

C'e' sempre il Vetril...
Ciao,
Nicola

 se la mia soluzione è scadente allora come si fà a pulire lo schermo?
(fa si scrive senza accento)
Il linguaggio C++ in se' non ha il concetto di schermo.  "Come si fa a
pulire lo schermo" dipende sia dal sistema operativo usato che
dall'hardware di cui si dispone; se tu vuoi limitarti ad un unico
ambiente puoi ovviamente usare le soluzioni che ti offre.
system("cls") e' una soluzione abbastanza portabile, naturalmente se
esiste un eseguibile chiamato 'cls'; sotto Unix 'cls' usa una
variabile d'ambiente (TERM) per capire che tipo di "schermo" si ha, ed
un file (/etc/termcap) che descrive tutte le proprieta' di tutti i
tipi di "schermo" (io ne ho uno di piu' di diecimila linee, per darti
un esempio).  La libreria 'curses' adopera anch'essa questo file, e
puo' essere usata direttamente per pulire lo "schermo", evitando una
chiamata di sistema, ed in modo portabile su tutto il mondo Unix.
Altre soluzioni possono essere lo stampare un numero abbastanza grande
di a-capo (ma quanto grande?  e, se qualcuno di voi avesse visto un
terminale Tektronix saprebbe anche che li' non funziona); o usare le
sequenze ANSI VT100 (che piu' o meno tutti gli "schermi" capiscono):
<esc>H (cursor home) ed <esc>J (clear to end-of-screen); ma non sempre
va liscia.
Vedi anche la D/R 19.4 delle FAQ di comp.lang.c, reperibili sotto la
URL 
http://www.eskimo.com/~scs/C-faq/top.html
 .
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

Newsgroup: it.comp.lang.c++
Titolo: Ahhhh! Sto' sclerando coi PUSHBUTTON

Ho creato una dialogbox con l'editor di risorse del Visual C++ e ho ho
incluso un banalissimo PUSHBUTTON che di default ha lo stato DISABLED.
Eseguo codice...
Bene, adesso vorrei che questo tasto diventi attivo.
Non sono riuscito a tovare/capire nulla in MSDN.
Posso in qualche maniera usare SendDlgItemMessage() ????
Grazie in anticipo, Picello Luca

 Grazie in anticipo, Picello Luca
ai provato con:
int nID=IDC_PUSHBUTTON;//Valore costante del tasto all'interno della dialog
CButton* pBtn=(CButton*) GetDlgItem( nID );
pBtn->EnableWindow(TRUE);
oppure
UINT nStyle= ; //   guarda sotto l'help nella voce : button styles
BOOL bRedraw = TRUE ;
pBtn->SetButtonStyle( nStyle, bRedraw );
oppure
BOOL bHighlight=TRUE;
pBtn->SetState(bHighlight );
fammi sapere se hai dei dubbi ciao

 Posso in qualche maniera usare SendDlgItemMessage() ????
Se non vado errato, dovresti usare CButton::EnableWindow se usi MFC,
oppure, senza MFC:
EnableWindow(GetDlgItem(hDlg /* Il tuo dialogo */, IDC_MYBUTTON), TRUE);
HTH,
Aldo.
