mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: dichiarazione e definizione:differenza?

Ciao a tutti.Qualcuno saprebbe dirmi la differenza tra una
dichiarazione di variabile e una definizione di variabile?E a cosa
serve la parola riservata  del C++ "extern"?Grazie in anticipo ;-).

 E a cosa serve la parola riservata  del C++ "extern"?
Appunto, a dichiarare una variabile.
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

 serve la parola riservata  del C++ "extern"?Grazie in anticipo ;-).
Tecnicamente una dichiarazione introduce un nome, senza allocare spazio
o fornire un'implementazione, mentre una definizione comporta
l'allocazione di spazio e/o l'implementazione.
In molti casi una dichiarazione e' anche una definizione, specialmente
per le variabili.
int a; // Definizione di a
extern int b; // Dichiarazione di b, che dev'essere definita altrove
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c++
Titolo: help me!!

ciao ragazzi ho un grosso problema e vorrei sapere se qualcuno più esperto
di me riesce a darmi una mano, ora vi ilustro il mio problema:
sto costruedo una classe e devo fare l'overloading dell'operatore << e >>
ho dikiarato una struttura esterna alla classe che ho kiamato persona
struct persona
{
   char nome[10];
   char cognome[10];
};
persona archivio_persone[1000];
successivamente ho creato una classe archivio nella quale ho implementato
il metodo aggiungi
 void archivio::aggiungi(persona archivio_persone,int i)
      { cout<<"inserisci nome"<<endl;
        cin>>archivio[i].nome;
        cout<<"inserisci cognome"<<endl;
        cin>>archivio[i].cogn;
        i++;
        return;
       } 
quando eseguo il programma mi da il seguente errore : no match for
`archivio &[int &]', quindi ho pensato che forse bisogna  fare
l'overloading dell'operatore << e >> , ma non so come. potreste aiutarmi?
vi ringrazio e spero do essere stato abbastanza chiaro.

Purtroppo l'analisi sintattica fallisce ai termini
dikiarato
kiamato
dicendo che sono in conflitto con "chiaro"  e che forse archivio è la 
classe non un vettore


         cin>>archivio[i].nome;
--- archivio --- ma tu l'avevi chiamato --- archivio_persone --- 
--- bye

Newsgroup: it.comp.lang.c++
Titolo: [ot] Tipi file

potete inviarmi i formati di tutti i file multimediali di Windws?
caio e Grazie Gabry

Inviarteli è un problema....
Vai qua:
http://www.wotsit.org/
--
Marco Iannaccone
marc...@tin.it
Nick: Tolkien
ICQ UIN: 18748121
"This is a new ship, boy, but she's got the right name...
You treat her like a lady, and she'll always bring you home"
"Questa è una nave moderna, ma ha un nome antico e glorioso...
Trattala come una signora e ti riporterà sempre a casa"
FAQ di it.comp.lang.c:
http://www.programmazione.it/linguaggi/c/itcomplangc.htm



WOW.. non ti pare di chiedere un pò troppo?
-------             --------
J  I  G  G  L  Y  P  U  F  F .
-------             --------
Newsgroup: it.comp.lang.c++
Titolo: Domanda sui Templates

Dunque... Leggendo ATL e altre sorgenti ho visto che è comune fare
"trucchetti" simili con i templates:
template <class T>
class A
{
public:
    miafunc() {
        T *pT = static_cast<T*>this;
        pT->miafunc2();
    }
    miafunc2() { }
}
class B : public A<B>
{
public:
    miafunc2()
    {
    ...
    }
}
ora , se io faccio
B unavariabile;
b.miafunc();
a un certo punto verrà richiamata B::miafunc2();
La mia domanda però è un'altra: e se volessi usare direttamente A come
dovrei fare (in questo caso specifico A è una classe "completa" in sè: ha
una funzione miafunc2())? Devo in ogni caso subclassare A per poter usare A?
(lo chiedo perchè A potrebbe avere dei costruttori con parametri, e se
subclasso A devo appena creare dei nuovi costruttori che richiamino i
costruttori di A)
--- bye


Direi che A non e' una classe completa, ma un template di classe. Per 
avere una classe devi istanziare il template. Per esempio:
   A<int> a;
   a.miafunc2();
Se invece vuoi fare in modo che chiamando il metodo 'miafunc' venga 
eseguito il metodo 'miafunc2' di A, puoi, come hai detto, subclassare A, 
oppure usare il seguente codice:
	A<A<int> > a;
	a.miafunc();
il quale pero' non compila a meno di sostituire lo static_cast con un 
reinterpret_cast nella definizione del metodo 'miafunc'.
Si noti che, sia in questo esempio che nel precedente, il tipo 'int' e' 
necessario ma ininfluente; usando un qualunque altro tipo si ottiene lo 
stesso risultato.
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila
Newsgroup: it.comp.lang.c++
Titolo: apertura documento

sapete come, con win32, posso "aprire" un documento?
intendo, trovare l'applicazione associata al documento e fare una shell
passandogli come argomento il nome del documento.
e anche come fare per ottenere l'icona del documento
grazie in anticipo
--
Greetings, Alessandro
http://www.esalab.it
Pesaro, Italy
Sent via Deja.com 
http://www.deja.com/
Share what you know. Learn what you don't.

 passandogli come argomento il nome del documento.
Prova l'API ShellExecuteEx() (non sono sicuro di quell'Ex finale).
EMG

Newsgroup: it.comp.lang.c++
Titolo: errore Unresolved external C:\Bc5\lib\cox32.obj

ciao a tutti ho questo problema
in fase di compilazione nessun problema mentre quanto mando in esecuzione mi
da questo errore
Error: Unresolved external '_main' referenced from C:\bc5\lib\cox32.obj
non so come risolvere questo problema
urgente
ciao MAuri

Maurizio Porcu wrote:

dovresti scrivere una funzione chiamata main.
-- 
MSN: sirpsycho_78 -at- hotmail dot com
"Miss, simme juti a ferně int' 'o cess, e mo' ca rimango 'i sulo, te 
mann 'a fanculo."

 ha scritto nel messaggio
news:3phs0jF...@individual.net...

Newsgroup: it.comp.lang.c++
Titolo: Domanda sui namespace

Ho appena studiato i namespace, e mi č venuto un dubbio: perchč di solito si
vede del codice con l'istruzione:
using namespace std;
e poi nel codice si vedono espressioni tipo "std::cout", quando basterebbe
scrivere solo "cout"?
Pur ipotizzando che altri files.h inclusi possano avere un'altra funzione di
nome cout, se scrivo che sto usando i namespace standard non dovrebbe
bastare cout senza il risolutore di scope per usare il cout standard?
Grazie,
Doggett

 cout standard? Grazie,
#include <iostream>
namespace pluto
{
    void funz()
    {
        std::cout << "pluto" << std::endl;
    }
}
void funz()
{
    std::cout << "no namespace" << std::endl;
}
using namespace pluto;
int main()
{
    pluto::funz();
}
Prova a togliere il "pluto::" e vedi che ti dice il compilatore.
--
Gerolamo

 }
Non ho ancora provato a compilare, cmq perchè qui scrivi "std" dal momento
che manca l'istruzione "using namespace std"?
Doggett

 Prova a togliere il "pluto::" e vedi che ti dice il compilatore.
20 c:\windows\desktop\untitl~1.cpp
 call of overloaded `funz ()' is ambiguous
12 c:\windows\desktop\untitl~1.cpp
 candidates are: void funz()
6 c:\windows\desktop\untitl~1.cpp
 void pluto::funz()
Non capisco, non doveva stamparmi in ogni caso "pluto"?
Quello che mi viene da pensare è che togliendo "pluto::" da "funz" nel main,
siccome poco sopra c'è "using namespace std", dovrebbe usarmi la "funz" del
namespace pluto, appunto. O sbaglio?

 usarmi la "funz" del namespace pluto, appunto. O sbaglio?
Quel  "using namespace  pluto" fa  si` la  funzione pluto::funz()  venga
immessa nel namespace globale. Nel namespace globale pero` c'e` gia` una
funzione con  la stessa  signature (se avessero  una lista  di parametri
diversa il compilatore  si arrangerebbe) e quindi il  compilatore non sa
quale delle due chiamare.
"using   namespace   pluto"  non   vuol   dire   "utilizza  sempre   gli
identificatori  presenti   nel  namespace  pluto". Vuol   dire  "importa
tutti  gli identificatori  di  pluto nel  namespace globale". Spetta  la
programmatore chiarire eventuali collisioni.
Come nota personale aggiungo che non  e` un buona idea utilizzare "using
namespace std". Il namespace  std serve proprio per  evitare di sporcare
il  namespace  globale  con  tutti  gli  identificatori  della  libreria
std.  IHMO e` molto meglio utilizzare degli using mirati (ad esempio per
cin/cout, ecc.).
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Mi piace avere amici rispettabili;
Mi piace essere il peggiore della compagnia.
Newsgroup: it.comp.lang.c++
Titolo: fstream - salvare su file in binario

mettiamo che io debba salvare o caricare della roba in binario su file, ad
esempio il contenuto di una classe/struct..
ho letto che si puo fare semplicemente convertendo a char* la roba che devo
salvare.. quindi una cosa del genere:
#include <iostream>
#include <fstream>
using namespace std;
struct SData
{
char string[20];
int number;
};
int main()
{
SData data1={"testo",123456789};
SData data2;
ifstream filein;
ofstream fileout;
filein.open("file.txt",ios::in|ios::binary);
fileout.open("file.txt",ios::out|ios::binary);
fileout.write((char*)&data1,sizeof(SData));
filein.read((char*)&data2,sizeof(SData));
cout<<"data1:\n";
cout<<data1.number<<endl<<data1.string<<endl<<endl;
cout<<"data2:\n";
cout<<data2.number<<endl<<data2.string<<endl;
filein.close();
fileout.close();
return 0;
}
ma in effetti questo prog mi da risultati sballatissimi.. ecco l'output che
produce:
data1:
123456789
testo
data2:
-858993460
????????????????????????testo
dove sto sbagliando?
grazie

 fileout.open("file.txt",ios::out|ios::binary);
[...]
Credo perché hai aperto due stream allo stesso file. Infatti, aprendo 
`filein' dopo aver chiuso `fileout', il programma funziona.
ofstream fileout;
ifstream filein;
fileout.open("file.txt",ios::out|ios::binary);
fileout.write((char*)&data1,sizeof(SData));
fileout.close();
filein.open("file.txt", ios::binary);
filein.read((char*)&data2,sizeof(SData));
-- 
Per l'e-mail rimuovere la frase in maiuscolo e gli underscore.

si hai ragione.. ho trovato anche un'altra soluzione, quella di chiamare
fileout.flush() prima di leggere il file con l'ifstream ^^
Newsgroup: it.comp.lang.c++
Titolo: - XCHE' QUESTA ISTRUZIONE MI VIENE ACCETTATA

- XCHE' QUESTA ISTRUZIONE MI VIENE ACCETTATA
unsigned int x=-9;
SE NON SBAGLIO HO ASSEGNATO ALLA VARIABILE 'x' UN NUMERO NEGATIVO,XO' SE LA
VARIABILE E' UNSIGNED COME FA AD ACCETTARE NUMERI CON SEGNO
rispondete sul ng

 wrote in message 7q9cv1$po0$1...@nslave1.tin.it...


 rappresentare la costante assegnata
Non sta scritto da nessuna parte che gli interi devono essere
a 16 bit, possono essere anche di piu (non di meno), e ormai
quasi tutti i computer sono a 32 o 64 bit.
	Mauro

Newsgroup: it.comp.lang.c++
Titolo: Re: semi [OT]: scendendo verso il ferro, ovvero interazioni con CPU/ SO

 chi programma, sui livelli al di sotto del sofware?
Fratello, è giunto il momento di imparare l'Assembler :-)
Per l'assembler X86 trovi tonnellate di roba, sia free che no;
dopo averla studiata e fatto qualche programmino di prova, io ti 
consiglierei di cercare anche qualcosa sull'assembler dei RISC tipo 
l'ARM (vabbè...) l'R10000, il PowerPC ecc. che ti daranno una 
prospettiva ancora maggiore sulle varie architetture hardware.

con le chiamate di sistema eccetera.
http://www.amazon.com/Computer-Architecture-Quantitative-Approach-Kaufmann/dp/1558605967
http://www.amazon.co.uk/Structured-Computer-Organisation-Andrew-Tanenbaum/dp/0131485210/ref=sr_1_9?ie=UTF8&s=books&qid=1225305518&sr=8-9
http://www.amazon.co.uk/Modern-Operating-Systems-Andrew-Tanenbaum/dp/0138134596/ref=sr_1_5?ie=UTF8&s=books&qid=1225305518&sr=8-5
Buon studio ;-)
Newsgroup: it.comp.lang.c++
Titolo: Overloading >> e <<

Scusatemi volevo chiedervi qualche delucidazione sull'overloading degli
operatori << e >>.
Io ho creto una classe Persona che contiene nome cognome e data di nascita.
Per questa classe ho provato a definire gli operatori citati sopra ed ho
così fatto:
ostream & operator<<(ostream &out, Persona &p){
 out<<p.getNome()<<" "<<p.getCognome()<<", "<<p.getDataNascita()<<endl;
 return out;
}
la classe mi viene compilata correttamente se implemento la funzione così,
però se invece di ottenere i dati tramite i metodi get accedo ai dati in
questa maniera:
p.nome, p.cognome ecc ecc mi viene detto impossibile accedere a membri
protected della classe. nome e cognome sono definiti come char* a cui poi
vado allocando la dimensione dinamicamente.
Come mai questo errore?
Invece mi trovo in forte difficoltà quando devo fare l'overloading
dell'operatore >> io ho provato a implementarlo così ma mi vengono dati
errori, mi viene detto chiamata a membro non static:
istream & operator>>(istream &in, Persona &p){
char tmp1[30];
char tmp2[30];
char tmp3[30];
in>>tmp1;
in>>tmp2;
in>>tmp3;
Persona::setNome(tmp1);
Persona::setCognome(tmp2);
Persona::setDataNascita(tmp3);
return in;
}
Come posso implementare correttamente il metodo?
Un'ultima domanda se creo delle classi derivate dalla classe Persona in cui
ho definito gli overload di << e >> e in queste classi derivate faccio
l'overloading nuovamente di >> e << posso in qualche modo richiamare
l'overload precedentem cioè
Se creo una classe Studente derivata da persona che in più ha il numero dio
matricola c'è qualche modo per fare una cosa del genere:
ostream & operator<<(ostream &out, Studente &s){
 //chiamata funzione overload classe base
out<<s.matricola<<endl;
 return out;
}
Grazie.

 
Prego,
j0k3r

 Persona::setDataNascita(tmp3);
Su quale Persona devono essere chiamati i metodi setNome, setCognome,
setDataNascita?
        Mauro
Newsgroup: it.comp.lang.c++
Titolo: Caricare da/salvare su file

Ciao. Dovendo caricare e salvare ingenti e poco omogenee quantita' di 
dati da/su un file di testo vorrei documentarmi su come farlo nel modo 
piu' semplice ma anche efficiente.
La libreria fstream e' la migliore in questo campo o ce ne sono di piu' 
complete?

 complete?
Tipo cosa devi fare? 
-- 
Adesso quando i medici di turno rifiuteranno di esserti d'aiuto / perchč
venne un polacco ad insegnargli che č pių cristiano imporsi col rifiuto
pretenderanno che tu torni indietro/e ti costringeranno a partorire per
poi chiamarlo figlio della colpa / e tu una Maddalena da pentire

Newsgroup: it.comp.lang.c++
Titolo: Cercasi programma per convertire un sorgente da PASCAL a C

Stò cercando un programma per convertire da PASCAL a C anche commerciale
preferibilmente con il sorgente. Qualcuno mi sa dire dove trovarlo ??

 Stņ cercando un programma per convertire da PASCAL a C anche commerciale

Newsgroup: it.comp.lang.c++
Titolo: Membro di classe che restituisce una classe

Quando una funzione membro di una classe (o una funzione in generale)
restituisce una classe, restituisce una copia identica dell'oggetto?
Cioè esempio:
CProva foo()
{
  CProva ris;
  ris.valore(10);
  return ris;
}
il risultato restituito da foo() è un nuovo oggetto identico a quello
ottenuto all'interno di foo()?

 ottenuto all'interno di foo()?
E' un oggetto ottenuto copiando quello all'interno di foo(). Le 
operazioni di copia degli oggetti possono per� fare, a priori, quello 
che vogliono e quindi l'oggetto risultante potrebbe essere diverso (dal 
punto di vista dei bit che trovi in memoria) ma chi ridefinisce 
l'operatore di copia dovrebbe comunque garantirti che si comporta allo 
stesso modo dell'originale.
In particolare, credo, il compilatore potrebbe essere cos� furbo da non 
fare la copia, ma costruire direttamente l'oggetto "ris" dove se lo 
aspetta la funzione chiamante.
E.

 aspetta la funzione chiamante.
Solo per funzioni che possono essere messe inline in quanto non
virtuali e "brevi" a sufficienza.
Altrimenti, la semantica è proprio quella della copia, in quanto un
oggetto allocato su uno stack frame più basso dovrebbe sopravvivere
allo stack unwinding fino alla funzione chiamante, cosa che non si può
fare a meno di disastri (la chiamata a funzione immediatamente
successiva ci andrà sopra).
Questo è uno dei motivi per i quali le chiusure, specie nei linguaggi
funzionali, funzionano coi riferimenti ed hanno bisogno del garbage
collector. In genere i frame costruiti da questi linguaggi hanno due
puntatori, il control link e l'access link, mentre linguaggi come il C
(se ricordo bene) li costruiscono solo con il control link. Per il C++
credo ci sia un meccanismo particolare con qualcosa di simile
all'access link solo nel caso del lancio delle eccezioni, ma vado più
a buon senso che a conoscenze precise.
Orpo, sono andato di nuovo OT. :-p
Però, se fuori dalla funzione hai:
CProva c = foo ();
quello che almeno succede è che viene invocato CProva c(foo());, e non
prima il costruttore di copia per un oggetto temporaneo e poi
l'operatore di assegnazione.
Comunque se vuoi fare una prova con GCC, prova a stampare qualcosa in
costruttore e distruttore della classe, e quindi a compilare con e
senza "-fno-elide-constructors".
Ciao,
Matteo

 virtuali e "brevi" a sufficienza.
IMHO state dicendo due cose diverse. Io l'ottimizzazione che dice Manu
l'ho vista fare indipendentemente dall'inlining.
L'idea quale e'? Viene allocato spazio sullo stack per contenere il
valore di ritorno della funzione (quindi nel frame del chiamante).
Dovrebbe essere allocato spazio per un locale (nel frame del chiamato).
Dovrebbe essere costruito l'oggetto locale e alla fine copiato nell'area
riservata per il ritorno. A questo punto la funzione esce, il locale
distrutto e fine della storia.
In pratica alcuni compilatori (di fatto so che lo fa il g++) non
allocano mai lo spazio nel frame del chiamato e costruiscono
direttamente nel frame del chiamante (evitando quindi una copia).
Questo lo ho visto fare piuttosto spesso.
-- 
-riko
Newsgroup: it.comp.lang.c++
Titolo: string stream

Ciao a tutti,
nel tentativo di convertire un double in string utilizzo una cosa del tipo:
#include <iostream>
#include<strstream.h>
#include <string>
int main()
{
     double a = 0.25;
     ostrstream o;
     o << a;
     string a_string = o.str();
     cout<<a_string<<endl;
}
Fin qui tutto OK, l'output e' 0.25 ; mi capita pero' a volte che,
utilizzando un tale sistema all'interno di un programma piu' complesso,
ottengo come output cose del tipo    0.25яяБ   o altre sporcizie del genere;
come posso risolvere il problema?

 }
Ciao,
Nicola


Il primo consiglio che ti do è di passare alle std::ostringstream.
Per il tuo caso specifico, alla fine dell' output devi fare un:
 o << std::ends;
Semplicemente std::ends scrive nello stream il carattere '\0'
(il terminatore per le C-string) e fa il flush dello stream.
Saluti   Manlio Perillo

	ostringstream o();
perché metti le parentesi? Facendo così non dovrebbe essere
interpretato come dichiarazione di funzione che restituisce un
ostringstream?
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

 > }
Non mi funziona.
Il mio g++ non mi permette di includere <sstream> ; solo <strstream>.

 ostringstream?
Bene, vedo che state attenti :-)
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: OT : perche' arrivano piu' messaggi?

Scusate, io invio un messaggio e ne trovo 3 uguali sul newsgroup.
Come mai?
Non credo sia colpa mia.
Adios,
Davide

Come mai?
X-Newsreader: Microsoft Outlook Express 4.72.3110.5
Buttalo
-- 
Roberto Gerola
Email: 
robert...@penguinpowered.com
WWW: 
http://www.penguinpowered.com/~The_Cpp_Compass
Newsgroup: it.comp.lang.c++
Titolo: vi prego è importante (COLORI)

Qualcuno sa dirmi come fare le scritte colorate con Turbo C/C++

 Qualcuno sa dirmi come fare le scritte colorate con Turbo C/C++
Con i codici colori ANSI, leggi qualche post piu' giu'.
-- 
C Ya!
/* Cut "DO NOT DISTURB" to reply */

>Con i codici colori ANSI
Ho provato a leggerli ma non ci capisco quasi nulla di inglese!! :(((

Qualcuno sa dirmi come fare le scritte colorate con Turbo C/C++
Il C++ non permette di cambiare colore all'output (quindi qui sei OT),
devi usare qualche libreria specifica di Turbo C (cerca conio.h su
google).
-- 
Marco Barisione (ICQ 84277092)

Newsgroup: it.comp.lang.c++
Titolo: Come si fa ad accedere al valore Caption di un subitem in una tlistview??

Come si fa ad accedere al valore Caption di un subitem in una tlistview??
Grazie
--
                                                              ^ĞunE^

Ciao,
Questo newsgroup si occupa del lingaggio 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 Linux:      it.comp.linux.development
                it.comp.os.linux.development
Per C++Builder: i gruppi borland.public.cppbuilder.*, disponibili sul
                server 
forums.borland.com
 (in inglese)
Grazie,
Nicola Musatti

Newsgroup: it.comp.lang.c++
Titolo: deallocazione degli elementi di un vector

domanda, se ho un vector di elementi puntati, cioč
vector<MiaClasse*> v;
quando aggiungo elementi alla classe devo usare
MiaClasse c = new MiaClasse();
e poi fare un
v.push_back(c);
no? ok, quando il vettore viene eliminato (finisce lo scope, ad
esempio), gli oggetti MiaClasse vengono deallocati oppure no?
-- 
]\/[ad]\/[age
"Un Maestro insegue semplicemente la sua visione di Eccellenza in
qualunque cosa sta facendo e lascia agli altri decidere se sta 
lavorando o giocando. A lui sembra sempre di fare entrambe." - Anonimo

 esempio), gli oggetti MiaClasse vengono deallocati oppure no?
Assolutamente no. Come fa a sapere il vector se quello che contiene
sono puntatori o meno ?
PS. Quando volete consoscere il comporamento della STL che state
usando (alcune sigh si comportano in maniera diversa) date un'occhiata
all'implementazione, spesso e' piu' facile trovarla li la soluzione.
Ciao
Gaetano.
-- 
Posted from 
nts-03.mm.eutelsat.org
 [194.214.173.15] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 all'implementazione, spesso e' piu' facile trovarla li la soluzione.
Certamente non su aspetti basilari come la distruzione degli elementi.
Ciao,
Nicola

 Nicola

Newsgroup: it.comp.lang.c++
Titolo: Re: getsione archivio studenti e corsi,

 dite va bene o c'è qualcosa per ottimizzare il codice?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG



 dite va bene o c'è qualcosa per ottimizzare il codice?
Inanzitutto di postare una sola volta ;D, e poi che stai dando una 
descrizione troppo vaga... e' difficile dire qualcosa sin da ora. Va 
bene quello che hai intenzione di fare, per quel che dici...
E cmq, ricorda la massima di Hoare cosi' rielaborata da Knuth: 
"premature optimization is the root of all evil" :)
-- 
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/
Jabber: RedGlow  - Linux registered user 299762 @ machine 213003

 dite va bene o c'è qualcosa per ottimizzare il codice?
Come gia' ti hanno risposto, il tuo post e' un po' vago...
Oltre alla massima citata di Knuth che e' davvero ottima :) , 
aggiungerei che, se devi gestire dei database, ti potrebbe convenire 
usare un qualche DBMS (anche free: es. mySQL) e interfacciarti ad esso 
tramite C++ con SQL.
L'uso di SQL e di un DBMS esterno potrebbe semplificarti molto la 
vita...
(Ovviamente in C++ puoi fare la GUI, la logica del programma, etc.)
Ciao,
Dan
Newsgroup: it.comp.lang.c++
Titolo: barra di stato

Ho scritto un programma dove é presente la barra di stato ma quando apro
un'altra dialog il contenuto della barra scompare e ritorna solo se
clicco sul bordo della finestra o sui menu
Cosa devo fare per far rimanere sempre le informazioni sulla barra   ?
Andres

...

Non e` banale; vedi, nell'help in linea del VC++5, l'articolo "Status Bars:
Updating the Text of a Status-Bar Pane", che tratta abbastanza a fondo
l'argomento.
Comunque, questi schemi non ti permettono necessariamente di fare
cio` che desideri, cioe` tenere il *tuo* messaggio sul *pane 0* (il piu` a
sinistra) della status bar; quel pane, infatti, e` usato dalle MFC per il
display di vari tipi di "status corrente", e quindi risulta estremamente
"volatile", e inadatto, senza radicali alterazioni, a mantenere messaggi
cui tu voglia dare una qualche "persistenza".  L'approccio delineato in
detto articolo, piuttosto raccomandabile in generale, e` di definirti un
"tuo" pane sulla status bar e gestirtelo agganciando un tuo metodo con
la macro ON_UPDATE_COMMAND_UI.
Se vuoi alterare il comportamento standard, intervenendo alla radice,
puoi farlo, naturalmente, in vari modi.  La gestione della status bar e`
demandata alla "main frame window", che la possiede, quindi gli
interventi dovranno vertere sulla classe CMainFrame della tua
applicazione.  Forse la cosa piu` semplice e` l'override della funzione
virtuale GetMessageBar, che viene sempre chiamata dal framework
MFC per trovare la destinazione dei vari messaggi di stato.  Puoi
aggiungere alla tua CMainFrame un flag "frozenStatusBar", e, quando
e` settato, "negare" la statusbar al resto dell'applicazione:
CWnd* CMainFrame::GetMessageBar()
{
    if(frozenStatusBar)
        return 0;
    return CMDIFrameWnd::GetMessageBar();
}
Ti vorranno poi, naturalmente, i metodi opportuni per settare e
resettare questo flag, e accedere alla status-bar nel resto della
tua applicazione.
Alex

Newsgroup: it.comp.lang.c++
Titolo: (DJGPP) Puntatore a mem. convenzionale in ambiente DPMI

Come si fa?
Io in particolar modo devo creare un puntatore alla vga [A000]:[0000].
In Borland C++ creavo un puntatore far e gli assegnavo il valore della macro
MK_FP.
In DJGPP come faccio?
Un'altra domanda... (poi quando imparo bene ad utilizzare questo ambiente do
una mano anch'io... ;-)
Come faccio ad inserire dei pezzi di codice (all'interno di un sorgente C++)
scritti in assembler?
In Borland C++ si faceva cosě:
void Set320x200()
{  <istruzioni C>
   asm{
       <istruzioni ASM>
   }
   <istruzioni C>
}
Come si fa in DJGPP?
Grazie da ora per l'aiuto!

 scritti in assembler?
asm( ... );
EMG
Newsgroup: it.comp.lang.c++
Titolo: c'è qualche sviluppatore di sofware su win ce che mi può dare delle informazioni?

avrei bisogno di realizzare un piccolo programmino per ottimizzare la
gestione degli ordini che,giri su win ce di un palmarino e grazie a
quest'ultimo voglio poter inserire un ordine che mi crei un file txt
leggibile e interpretabile dal mio programma di contabilità, nessuno sa
darmi delle informazioni?
grazie Fabio

 ha scritto nel
messaggio news:VbM7a.163992$YG2.4...@twister1.libero.it...

su Windows CE (3.0 ?) ci sono le solite fread, fwrite ed fopen...
occhio solo alla gestione dello Unicode.
PS.: non rispondermi, saresti quasi sicuramente OT (adesso li prevedo
pure ;) )



Togli il quasi...Windows CE e C++ hanno molto poco in comune...una C...

 ha scritto nel messaggio
news:pan.2003.03.01.02...@home.com...


Newsgroup: it.comp.lang.c++
Titolo: come fare gli overloading?

Salve, ho un problema nel realizzare degli overloading.
Supponiamo di avere nel main() la seguente istruzione:
A=(1,2,3,4);
A è una lista a puntatori con gli  elementi cosi fatti:
struct elem{
                        int dato;
                        elem *succ;
                    };
vorrei realizzare l'overloading della "," (virgola) e dell'uguale per
assegnare la lista data nelle parentesi alla lista A.
Ovvero semplicemente scrivendo nel main() l'istruzione di cui sopra vorrei
ottenere in memoria una struttura a puntatori che contenga i dati.
Grazie.



Anche per te vale piu` o meno lo schema che ho proposto per il problema
dell'assegnamento di valori ad una matrice (il post iniziale
era "Matrici in C++"), in particolare il problema e` che
(1,2,3,4) e` una espressione di tipo int che produce un solo
valore primitivo. Inoltre eseguire l'overloading di operator,()
non funziona, in quanto fattibile solo per le classi (niente tipi 
primitivi) e comunque non sarebbe semplice (possibile) passare
un riferimento allo lvalue dell'assegnamento (e anche quando
ci sarebbero problemi di efficenza).
Rispetto allo schema proposto nel post di cui sopra,
dovresti fare alcune modifiche ai metodi che usano "..."
Non sapendo quanti elementi devono essere inseriti, hai bisogno di un
marcatore di fine sequenza oppure di un parametro iniziale
(il numero degli elementi).
Questo problema con le matrici non esiste in quanto ho assunto che
tutti gli m*n valori fossero presenti nella lista di argomenti (con il
rischio che dimenticarne 1 e` undefined behaviour!).
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------

Newsgroup: it.comp.lang.c++
Titolo: Alberi binari

salve
Esiste per caso un algoritmo per la visualizzazione degli alberi binari, se
possibile livello per livello?
grazie per l'aiuto

ne esistono almeno 2:
1) Visita anticipata.
2) Visita posticipata.
:-)
Newsgroup: it.comp.lang.c++
Titolo: interi a n bit

Ho la necessita' di trasmettere mediante il protocollo TCP array di
interi rappresentati da un numero arbitrario di bit (diciamo interi a
4 bit o meno). 
Come si puo' definire un puntatore a tale tipo di interi?
(uso c++builder ver. 1)

 ----------------------------------------------------------------------
--
--
Posted from 
tlvsdy.vim.tlt.alcatel.it
 [151.98.8.244]
via Mailgate.ORG Server - 
http://www.mailgate.org

Forse ti possono aiutare i campi di bit :
struct _strutturacampimisti
{
    BYTE campo1:2;    // campo di 2 bit
    BYTE campo1:6;    // campo di 6 bit
    WORD campo3: 10; // campo di 10 bit
    WORD campo4: 6;    // campo di 6 bit
}
byebyte
Amos

 Ho usato una notazione standard per TCP/IP.
Fabio
-

 ----------------------------------------------------------------------

--


Ho usato una notazione standard per TCP/IP.
Il mio problema e' che i miei interi sono parecchi ma non superano un
certo piccolo valore. Mi servirebbe percio' qualcosa per non inviare
bit inutili. Forse sarebbe meglio qualcosa di piu' elastico di uno
"struct" (che se non sbaglio dovrebbe avere in totale 32 bit?).
Newsgroup: it.comp.lang.c++
Titolo: Operator+ e template

Ciao a tutti!
Ho una piccola domanda da sottoporre alla vostra attenzione. In una
classe template ho definito l'operatore + in modo che accetti valori
del tipo generico elemento:
template <class elemento>
class Lista
{
// ...
public:
// costruttori e altre funzioni...
Lista &operator+(elemento a);
};
In questo modo l'elemento viene passato per valore, viene aggiunto
alla lista e viene restituita la lista risultante. Ma se l'elemento
fosse una classe o una struttura, il passaggio per valore sarebbe
molto pesante e vorrei quindi scrivere qualcosa del tipo:
Lista &operator+(elemento &a);
passando l'argomento per riferimento. Ora, e' logico che io voglia
poter scrivere, per esempio:
void main()
	{
	Lista<int> a(5); // contiene il solo valore intero 5
	a = a+3;	 // ora la lista = [ 5, 3 ]
	}
Il problema e' che il compilatore genera (giustamente) un warning
avvertendo che dovra' essere creata una variabile temporanea in cui
inserire il valore 3 e che verra' passata per riferimento
all'operator+. E' terribile...
Per evitare questo e per evitare il passaggio per valore si potrebbe
riscrivere la funzione operator+ per ogni tipo di dato predefinito, ma
non sarebbe molto elegante.
C'e' qualche soluzione alternativa che metta d'accordo eleganza ed
efficienza?
Ringrazio per un eventuale aiuto!
Roberto Navigli

 inserire il valore 3 e che verra' passata per riferimento
try this :
template <class VALUE, class ARG_VALUE> class Lista
{
public :
    Lista<VALUE, ARG_VALUE>& operator + ( ARG_VALUE value );
};
where VALUE is a type you plain to store in Lista and ARG_VALUE is a
type you want to pass as a
parameter.
Example :
for most primitive values :
Lista<int,int>  listVal; - you pass by value
for complex aggregates:
class A
{
    int[1024]    m_someBuffer;
};
Lista<A,A&> listRef; - you pass by reference.
This common used trick based on property of = and == operator : in most
"normal" cases these
operators work both with instance and reference to instance (
Lista<int,int&> works also).
Workig smpls :
see realization of CList in MFC package.
Ciao,
   Alexei
Newsgroup: it.comp.lang.c++
Titolo: Borland C++?

Ciao, ho da poco iniziato a programmare in C++ e uso Borland C++ 5.02
(trovato in omaggio ad una rivista!). Il mio problema č: ogniqualvolta
eseguo un mini-programmino, viene aperta una finestra DOS e lě viene
appunto eseguito. Come devo settare il compilatore affinché operi in una
finestra di Windows?
grazie!
Paolo
paolog...@libero.it

 eseguo un mini-programmino, viene aperta una finestra DOS e lģ viene


 finestra di Windows?
Visto che questo e` appunto un problema tipico della
programmazione per Windows, ti invito a postare la
tua richiesta sul gruppo dedicato appunto a questo
tema, it.comp.programmare.win32, e non su questo,
it.comp.lang.c++, che e` invece dedicato all'uso del
linguaggio C++ indipendente dalla piattaforma.
Alex

Newsgroup: it.comp.lang.c++
Titolo: Map e compare

Ciao a tutti,
sto lavorando con le map e ho il seguente problemino.
Ho bisogno che i valori inseriti nella map siano consecutivi.
Per fare ciň avevo pensato di dichiarare una map con un <Key, Data, Compare>
dove la funzione di comparazione potesse permettermi di fare ciň che
volevo...
Dichiaro una map del tipo
map<string, struttura, less_id>
dove less_id č una classe
class less_id
public
 bool operator() (string k1,string k2)
   return (k1<k2)
Perň cosě mi inserisce gli elementi in ordine alfabetico io vorrei se fosse
possibile una funzione che mi inserisca all'interno della map gli elementi
in modo consecutivo. (come se fosse un array, perň mi serve map... :) )
Es.
pippo, alberto, silvana
produce iterando sulla map: pippo, alberto, silvana
e non
alberto,pippo, silvana
Suggerimenti?
Grazie 1000
Dm

 wrote

Creati due contenitori, siano:
class MioTipo {
    // ...
};
typedef std::vector<MioTipo> V;
typedef std::map<std::string, int> M;
V v;
M m;
Poi, per aggiungere un oggetto, fai:
MioTipo o;
v.push_back(o);
m["nome"] = v.size() - 1;
E per trovare un oggetto per nome, fai:
MioTipo o2;
M::const_iterator i = m.find("nome");
if (i != m.end()) {
    o2 = v[i->second];
}
Naturalmente, vorrai mettere tutto in una classe. Deve anche pensare che
togliere oggetti diventa piů complicato.
Claudio Puviani

 alberto,pippo, silvana
Perche' non usi una lista, allora?
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Re: Programmare C++, dove?

 
Sei Ot.
Cmq DevC++ + wxWidgets
-- 
Tnk
Luca "Kleidemos" Francesca
Un computer a un altro quando si incontrano:
"Ciao, come ti boota oggi???"

 parecchie limitazioni GNU.
...
Scusa ma che vuoi dire? Pui benissimo sviluppare sotto Linux, usando
compilatori come GCC o IDE come kdevelop, pur non dovendo distribuire il tuo
lavoro con licenza GPL o simili.
Purchč tu non includa codice copiato da sorgente distribuito con licenze
open source, puoi tranquillamente limitarti a rilasciare solo i binari.
A parte tutto i soldi si possono fare anche rilasciando il codice sorgente,
anzi spesso ne fai di piů ( ma qusto č piů OT del precedente).
Ciao,
FabioMDF
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Newsgroup: it.comp.lang.c++
Titolo: Programma con look di office

Come posso creare un aplicativo con toolbar uguali a quelle di office ??
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  Massimiliano Marretta
  ---------------------
E-Mail: 
m...@marretta.com
ICQ: 10200691
URL: 
http://www.marretta.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Devi utilizzare i nuovi controlli CoolBar presenti nelle versioni recenti di
ComCtl32 (dalla 4.71 in poi)
Stefano

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

Ho scaricato alcuni editor c++ ma poi per compilare devo usare la linea di
comando.
il compilatore e' della Borland. Esiste un buon editor free da integrare con
tale compilatore? grazie mille

Io avevo pensato di costruirmi un front-end con il Builder  sempre della
borland(lo so e' un contro senso usare il 6 col suo bel rad per compilare
con il 5.5!), ma non so da dove cominciare ,anche perche fino ad ora non
l'ho mai usato;come faccio a far partire per esempio il notepad,oppure la
shell per lanciare il bcc e il make e soprattutto prendere dalla shell gli
eventuali errori di compilazione e riportarli in una form ?
 Rispondetemi anche se magari c'e' gia', vorrei farlo solo per imparare ad
usarlo(il 6,non il 5.5!) ,thanks!

Il Sat, 14 Jun 2003 13:45:52 GMT, costy fece sapere che:

si Vim :)

Newsgroup: it.comp.lang.c++
Titolo: Ricerca in un file.

Mi sembra impossibile, perň ho cercato in tutte le varie derivazioni di
classe di fstream e non l'ho trovato. Cioč, se io voglio cercare una
stringa in un file di testo, non c'č un metodo nella STL?


Per quanto riguarda la ricerca di una stringa all'interno di un file, era
una cosa che serviva anche a me e l'ho risolta creandomi manualmente un
programmino stupido che fa questo, visto che anch'io NON ho trovato nessuna
funzione/comando esistente. (Ho il Borland C++ 3.1, interfaccia DOS)
Vediamo se qualcun'altro ha una soluzione migliore.
--
      Ciao da Pavelo ;o)
 
pi....@bigfoot.com
             HomePage
http://web.tiscalinet.it/pavelo
"Considerando l'apertura alare e la frequenza del battito
delle ali rapportata al peso,è scientificamente provato
che un coleottero non può volare.Vola perché non lo sa ."
(frase scritta all'ingresso della facoltà di
ingegneria aeronautica dell'università di Cambridge )
Newsgroup: it.comp.lang.c++
Titolo: C & Java

Salve a tutti,
vorrei fare una domanda, forse banale.
Esiste un "traduttore" che converta il codice C/C++ in Java?
È possibile integrare codice C in java, se si come?
Grazie!!!!

 È possibile integrare codice C in java, se si come?
Cerca un po' di documentazione su JNI (java native interface)
--
---
Alessandro >>CoMiX<< Cominu
e-mail: 
aco...@tiscalinet.it
Icq: 116354077
Registered user at 
http://counter.li.org
 # 203765

 Grazie!!!!
Prego, e ciao.
Zello

Ecco avrei giust'appunto un migliaio di righe di codice che....
:-))
CoMIx non smentendo il suo nome oso' scrivere:


Newsgroup: it.comp.lang.c++
Titolo: [?] buon C - C++ per Linux

Salve e scusate se la domanda potrą sembrarvi banale.
Qualcuno saprebbe consigliarmi un buon ambiente di sviluppo C e/o C++ per
Linux che giri sotto la GUI KDE?
TIA
vit...@tiscalinet.it

 wrote in message
news:9m37bq$l86$1...@lacerta.tiscalinet.it...

Non e' banale, e' OT...
Cmq esiste KDevelop
--
---
Alessandro >>CoMiX<< Cominu
e-mail: 
aco...@tiscalinet.it
Icq: 116354077
Registered user at 
http://counter.li.org
 # 203765

Non e' banale, e' OT...
OT de che? č Linux, no? č una richiesta di software, no?



Il cross-post ha fatto altre vittime...
Marco Barisione (ICQ 84277092)
Newsgroup: it.comp.lang.c++
Titolo: Help per un file batch )Linguaggio sconosciuto)

Ciao a tutti,
dopo i guai combinati con linux sul computer  dei miei, mi trovo ad
Hannover dalla zia con la promessa di nion fare altri guai.
Io sono linguisticamente nato sotto windows, lasciato linux, ho un
problema di avviamento (no! La batteria è carica e il motorino gira).
Si tratta di un file batch che lancia un' applicazione e poi deve capire
se nel drive a: c'è o non c'è il dischetto.
Se c'è deve caPIRE CHE NUMERO DI SERIE HA.
Se non c'è oppure il numero di serieè è sbagliato deve chiedere di
metterci un disco o di metterci il disco giusto oppure se si vuole
uscire.
quindi va avanti fino alla fine  con quello che deve fare.
Eccomi quindi qua.
Come devo scrivere nella forma più chiara e semplice una cosa del
genere?
Grazie mille
Jo'
P.s.
Dove lo trovo un sito che mi spieghi un po' i comandi dos  che posso
inserire in un file baych? E che mi spieghi come usarli?
Qui i libri sono tutti in Tedesco e io non capisco una mazza.
Grazie ancora

 Qui i libri sono tutti in Tedesco e io non capisco una mazza.
FOCL!
Non conosco la risposta, ma mi hai fatto sbellicare!
--
Alessandro Monti

Se hai il CD di Windows 9x, guarda nella cartella Tools\OldMsDos, dovrebbe
esserci un file 
help.com
 che contiene, tra le altre cose, tutti i comandi
batch.
--
Diego "1985" Pettenň
per gli spammer la mail č
diego...@hotmail.com
per i messaggi seri č
diego....@tiscalinet.it
Newsgroup: it.comp.lang.c++
Titolo: std::vector

Salve, ho un std::vector che ho caricato con un certo numero di wstring, ora 
terminato il programma vorrei liberare la memoria occupata dal vector, ho 
provato con il metodo erase() ma sembra cancellarmi solo il contenuto.... 
almeno a quanto leggo dalla finestrella di debug del visual studio. E' 
possibile? 


Non  c'e' bisogno di liberare la memoria.
Quando il processo termina, tutta la memoria che ha usato viene 
restituita al sistema operativo.
Inoltre, quando il vector viene distrutto la sua memoria dinamica viene 
restituita allo heap del processo.
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila

 restituita allo heap del processo.
Ti ringrazio, hai ragione č stata una mia svista,
era un'altra risorsa che nn liberava la memoria.

Newsgroup: it.comp.lang.c++
Titolo: Classi con soli membri variabili VS strutture

Immaginiamo che io abbia bisogno di una struttura S per storare 3 variabili
a,b,c
struct S
{
    int a,b,c;
};
Ora, visto che utlilizzo C++ potrei anche scrivere :
class S
{
public:
    int a,b,c;
};
ora... Nel manuale del perfetto "C++ista" e' piu' volte ribatito il concetto
che la classe S cosi' scritta non serve a nessuno...
La domanda allora e' questa : vale ancora la pena di utlizzare strutture in C++
essendo in ogni
caso trattate come classi (con costruttori distruttori e balle varie) o e' cmq
meglio
predisporsi una classe anche per futuri ampliamenti ?
(In definitiva molta delle potenza del C++ risiede nell' ereditarieta' no ? )
--
Davide Pirola @ Prograph Research
www.prograph.it
www.protonic.net



In generale e' vero che e' sconsigliabile "pubblicare" gli attributi di
una classe. Esistono pero' dei casi particolari in cui uno vuole solo
raggruppare delle informazioni, e niente piu'. Ad esempio mi e' capitato
di raggruppare in una classe un insieme di flag:
class Filter {
  public:
    bool filtro1;
    bool filtro2;
};
E' chiaro che esistono implementazioni piu' sofisticate e piu'
lungimiranti, ma nel mio caso non ho bisogno di niente di piu', perche'
l'impostazione di ciascun attributo e' indipendente dal valore
dell'altro.
Tutt'al piu' posso aggiungere un costruttore di default che imposti
determinati valori iniziali ed eventualmente dei metodi di accesso che
controllino lo stato di piu' attributi contemporaneamente.
Ciao,
Nicola


La classe cosi' scritta serve eccome. L'unica cosa e' che non vengono garantiti
invarianti (tranne il fatto che a,b,c sono entro i limiti di un int).


meglio predisporsi una classe anche per futuri ampliamenti ?
A mio avviso in questo caso specifico é totalmente indifferente.
Il Ghenio
Newsgroup: it.comp.lang.c++
Titolo: Applicazioni a documento singolo...

La domanda puņ sembrare stupida, ma che utilizzo puņ avere un
proggetto a documento singolo (Visual C++ 5) ?
Non potrebbe essere soppiantato da un proggetto basato su un dialogo?

Non potrebbe essere soppiantato da un proggetto basato su un dialogo?
Lo schema document/view offre comunque molti vantaggi,
soprattutto in termini di funzionalitá implementata "gratis"
per conto tuo dal framework.  Prova ad esempio ad implementare
print e print preview fuori dal framework (ad esempio in un
progetto basato su dialogo), e poi mi saprai dire...:-).
Alex

Newsgroup: it.comp.lang.c++
Titolo: MOD come si usa?

mi trovo di fronte ad un ennesimo problema: in Delphi se io scrivo
y=MOD(23,3);
 la y ha valore 2: è una funzione utilissima il MOD.
Se provo ad usarla in C++ Builder 3 mi dà il seguente messaggio di
errore:
Your source file declared the current function to return some type
other than void in C++ (or int in C), but the compiler encountered a
return with no value. All int functions are exempt in C because in old
versions of C, there was no void type to indicate functions that
return nothing.
Il Compilatore ha incontrato una funzione che non ha un valore
restituito e quindi non la riconosce.
Come posso fare ad implementarla nei miei listati?
Come si aggira il problema?

Usa l'operatore % .
int a = 23 % 3; // a vale 2
Ciao,
Nicola

...


The mod operator returns the remainder obtained by dividing its operands. In
other words, x mod y = x – (x div y) * y.
cioè 23 mod 3= 2;
ciao.


 Come si aggira il problema?
-- 
*******************  ##    ##   ####
Michele de Concilio #  #  #  #  # 
SGE Computers        #    #     #
Salerno,  Italy       #   # ##  ###
http://www.sge.it
   #  #  #  #  #
*******************  ##    ##   ####

Come si aggira il problema?
Si aggira utilizzando l' operatore standard % che restituisce il
modulo(cioé il resto) della divisione fra due operandi.
Il Ghenio
-----
Jesse: Preparatevi a passare dei guai.
James: Dei guai molto grossi!!!
(Team Rocket)
-----

Newsgroup: it.comp.lang.c++
Titolo: PROBLEMA: Finestra sempre in 1' piano

Ciao,
Come si fa a far stare una finestra sempre in primo pano anche quando si
clicca sulle altre?
Uso TBC++4.5 e sono alle prime armi.
Grazie, Claudio.


Usi l'api SetWindowPos e specifichi che deve essere
HWND_TOPMOST
Newsgroup: it.comp.lang.c++
Titolo: eccezioni

Ho esperienza di eccezioni in java, ma non in c++, e ho dei dubbi che
vorrei togliermi.
In java la classe Exception aveva un metodo printBackTrace che scriveva a
monitor tutto lo stack che veniva ripercorso all'indietro dalla eccezione
che veniva rimbalzata da una funzione all'altra fino ad arrivare al blocco
catch che la prendeva. C'è qualcosa di simile in c++ nella libreria
standard?
In java se una funzione lancia una eccezione deve avere nella sua
dichiarazione anche un attributo throws, roba del tipo:
public int pippo(void) throws PlutoException {...}
Si deve fare lo stesso nel c++? E se no, come fa uno a sapere se una
funzione tira o meno una eccezione?

 funzione tira o meno una eccezione?
nello stesso modo in cui in C una persona sa come viene settato errno
quando una funzione della lib fallisce; legge codice, documentazione, o
gli standard.
-- 
sbirish.
Newsgroup: it.comp.lang.c++
Titolo: modifica del master environment in W9*

devo modificare / aggiungere una variabile, che sia visibile per i
programmi gia' in esecuzione (in specifico internet explorer); in NT
sembra che sia possibile, ma in W9* ?
ho sentito anche parlare di un programma, winset, che lo fa, ma a me
interessava inserire questa funzionalita' all'interno di un programma di
installazione quindi mi servono dei sorgenti (ho sentito dire che si fa
come in DOS, anche se la cosa mi lascia un po' scettico, io avevo dei
sorgenti nelle SNIP????.* che lo facevano ma non lo trovo piu'...
girava per la rete qualche anno fa (molti per la verita')).
--
Greetings, Alessandro
http://www.esalab.it
Pesaro, Italy
Sent via Deja.com 
http://www.deja.com/
Share what you know. Learn what you don't.

 programmi gia' in esecuzione
Non so se è quello che ti serve ma hai provato la funzione standard C
putenv()?
EMG

,


si' ma aggiorna solo la copia corente dell'environment e non il master;
avrei bisogno di fare la stessa cosa che in NT si fa scrivendo nei
registri HKEY_LOCAL_MACHINE\Environment ; e' possibile, c'e' un
programma che lo fa (winset), credo che si possa usare lo stesso sistema
usato in dos ma non ci sono riuscito


sembra che sia possibile, ma in W9* ?
Devi utilizzatre l'API SetEnvironmentVariable che è supportata sia sotto
Win9x che NT.
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------

 Win9x che NT.
Purtroppo non va bene:
"The SetEnvironmentVariable function sets the value of an environment
variable for the current process. "
         ^^^^^^^^^^^^^^^^^^^^^^^^
Io devo modificare il master environment, cambiare una variabile che
deve essere visibile immediatamente ad una applicazione che e' gia' in
esecuzione (mandando un messaggio per forzare la rilettura
dell'environment). C'e' una applicazione che lo fa, winset: ho provato a
farlo come in dos, tracciando il psp, ma mi becco errori a non finire
(dovrei addirittura richiamare degli interrupt dos, impostare degli
indirizzi seg:ofs)


         ^^^^^^^^^^^^^^^^^^^^^^^^
Hai ragione, scusami, non ci avevo fatto caso.
Ho cercato nell'MSDN qualche cosa che avesse potuto esserti d'aiuto ma non
ho trovato nulla. Per risolvere il tuo problema devi sperare in qualcuno che
lo ha gia affrontato ed è riuscito a risolverlo.
