mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: afx.h afxwin.h afxinet.h

Salve a tutti,
devo mettere mano ad un programma in c++ che gestisce delle
connessioni ad internet.
Nei sorgenti sono definiti gli header in oggetto.
Premesso che non sono uno sviluppatore in c++, dove posso trovare tali
files?
Se non sbaglio sono specifici del SO M$, devo quindi utilizzare il
MSDN o il visual c++ oppure posso utilizzare altri compilatori?
Grazie,
Luca.

 MSDN o il visual c++ oppure posso utilizzare altri compilatori?
La cosa migliore è utilizzare il Visual Studio C++.


Posso usare il Borland c++ builder 3?

> Posso usare il Borland c++ builder 3?
Questi include sono usati per dichiarare alcuni oggetti prettamente MFC
(CString, CObject, CArchive, CDump, ecc.) quindi (a patto che riesci a
compilarle) dovresti poi fare il link con le librerie MFC appropriate
(MSVC*.LIB, LIB*.LIB). Credo che al di là della complessità dell'operazione
se non acquisti il Visual C++ incorri anche a problemi di licensing.
Newsgroup: it.comp.lang.c++
Titolo: codice c++ che non so usare urgente aiuto

ciao a tutti ho questo codice ma non sono in grado di usarlo come mai?
qualcuno mi sa dare una mano
int bmsearch(char *text,char *pat,int *no,int *pos)
{
 int i,table[256];
 int len=strlen(pat);
 *no=0;
 int compcount=0;
 for(i=0;i<256;i++)table[i]=len;
 for(i=0;i<len;i++)table[pat[i]]=len-(i+1);
 int ptct=len-1;
 while(ptct<strlen(text))
 {
  int count=0;
  while(count<len)
  {
   if(text[ptct-count]!=pat[len-1-count]){compcount++;break;}
   else count++;
  }
  if(count==len)
  {
   (*no)++;
   *(pos+(*no)-1)=(ptct-count+1);
   ptct+=len;
  }
  else
  {ptct+=(table[text[ptct-count]]-count);}
 }
 return compcount;
}

cosa ci devi far econ sto codice ?
per compilarlo di sicuri tu manca il main :)


devo controllare la presenza di alcune lettere in un testo e la loro
riccorenza, ma non basta il main l' ho messo ma non va lo stesso

 ha scritto nel messaggio
news:43413673$0$8480$5fc...@news.tiscali.it...


 
Sarebbe bello che tu dicessi anche come, dato che puo' tornare utile ad 
altri in futuro.
-- 
Devaraja (Xdevaraja87^gmail^c0mX)
Linux Registerd User #338167
http://counter.li.org

Newsgroup: it.comp.lang.c++
Titolo: Problema Stranissimo

Ho sviluppato un programma in c++ con dev-cpp e gcc 3.4. Lui funziona 
benissimo fino a che non lo compilo con le ottimizzazioni. In quel 
momento impazzisce e non mi esegue più correttamente una classe!
Possibile? Non so più dove sbattere la testa!
Avete un'idea di che cosa potrebbe essere!
GRAZIe
<<SAX>>

 Avete un'idea di che cosa potrebbe essere!
Se non hai idea tu che hai sotto mano il codice, difficile possano averla 
gli altri.
Max

 Avete un'idea di che cosa potrebbe essere!
Comincia a compilare con -Wall -pedantic e vedi che cosa dice.
-- 
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: numeric_limits per le frazioni

Visto che mi piacerebbe fare un lavoro migliore possibile con la mia 
classe Rational che rappresenta il concetto di frazione, mi chiedevo se 
avrebbe senso, secondo voi, specializzare il template numeric_limits 
per essa. Quali metodi avrebbero senso?
Il metodo min() dovrebbe restituire il valore piu' piccolo positivo 
(come per float e double) oppure il valore piu' grosso negativo (come 
per i valori interi)?
Inoltre quali altri template della lib std poteri specializzare per 
rendere il tipo Rational il piu' simile possibile ai tipi built-in? 
Avevo pensato, ad esempio, ad un overload di abs: ci sarebbero 
controindicazioni?
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

 controindicazioni?
Direi di fornire tutta la libreria che esiste per i double.
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

Newsgroup: it.comp.lang.c++
Titolo: INFO SU ORACLE

Qualcuno sa darmi qualche informazione sul database Oracle.
Dal mio programma devo accedere ad alcune tabelle ma non ho idea di come
posso fare. E' da poco che mi sono avvicinato al c++ (VC++ 5.0), ho sempre
lavorato col VB e Access.
Grazie a chiunque mi darà una mano. Se poi avete anche dei sorgenti di
esempio ancora meglio ;-)
Maurizio.

lavorato col VB e Access.
Se stai lavorando con Oracle8 Server la cosa non e' molto difficile.
Nell'installazione e' presente una libreria di classi C++ che permettono
abbastanza semplicemente di interfacciarsi.
Nella cartella Orant (di solito Oracle si installa li', BTW, io suppongo che
tu
lavori su Windows NT, visto che parli di VC++ 5.0) c'e' una cartella dal
nome strano OO42 (o 43, a seconda della versione) e li' dentro troverai
tutti gli include, le lib e le dll di questa libreria.
C'e' anche un help completo, con esempi di codice.
Unico neo che ho riscontrato: NON PUOI (pena la "morte" del sistema) far
girare
un programma che usi questa libreria contemporaneamente
al Report Generator di Developer 2000. Il computer si blocca fino a che il
tuo programma non esce. Ma non e' un caso comune e forse e' gia' stato
risolto in qualche patch.
Auguri.
Lino.
Newsgroup: it.comp.lang.c++
Titolo: design pattern mi consigliate dove studiarli?

Salve
vorrei capire meglio cosa sono e come usare i pattern di programmazione, ho
paura di mettermi a impazzire su qualche problema di cui invece la soluzione
potrebbe essere a portata di mano.
in particolare in questo momento devo fare un programma che supporti una
specie di linguaggio di scripting.
Potreste consigliarmi qualche libro, sito o quant'altro per imparare a
conoscere e usare i pattern?
grazie
Giulio

conoscere e usare i pattern?
* Design Patterns Elements of Reusable Object-Oriented Software. by   
  Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides 
* Pattern Oriented Software Architecture (POSA) volume 1 & 2
* Pattern Languages of Program Design (PLOPD) volume 1 2 3 4
ciao
 sbirish
Newsgroup: it.comp.lang.c++
Titolo: AIUTO : outport in MS Visual C++

Stavo scrivendo un codice in Visual C++ che deve andare a leggere e scrivere
sulla parallela.
Il Codice relativo al controllo della parallela l'ho trovato su internet ma
era scritto per Borland C/C++ v3.1.
Il problema è che trovo queste funzioni : outport(..... , .....)  e
inport(.....) che il compilatore non riesce a compilare
restituendomi il seguente messaggio : "undeclared identifier"
Probabilmente in MS. Visual C++ si chiamano divesamente o devo includere il
corretto file .h
Potete darmi una mano ?
Grazie mille
Drake

Anche se manca ancora il solito ...<<sei OT>>
ti suggerisco di dare una occhiatina su 
msdn.microsoft.com
 cercando "read
from parallel "o "write to parallel"
Il BC31 era un compilatore 16 bit. Se stai pensando di portare il codice a
32bit, sappi, c'è da soffrire un tantino e spesso ci si rinuncia pure.
Alcune cose sono assolutamente proibite in win32 (NT/2000/XP) come, per
esempio, accedere direttamente al "nudo hardware". Ma non ti vorrei
scoraggiare. Guarda dove ti ho indicato.
Cià
Sal
"Drake" <Dr...@Drake.it> ha scritto nel messaggio
news:Uw%M9.38602$Ou4.1...@twister2.libero.it...


"Drake" <Dr...@Drake.it> wrote in message
news:Uw%M9.38602$Ou4.1...@twister2.libero.it...

Fai una ricerca su google.
Io ho trovato questo ma ce ne sono tanti altri:
http://www.experts-exchange.com/Programming/Programming_Languages/MFC/Q_2004
4589.html
Comunque alla fin fine si trattera' di arrivare a livello di driver con
codice dipendente dalla piattaforma Windows.
Per cui sarebbe meglio che posti su it.comp.programmare.win32
Maurus
Newsgroup: it.comp.lang.c++
Titolo: leggere da file e poi fare il byte_reversal ??

Salve, sto tentando di implementare una classe c++ per leggere un file .dbf.
Ho trovato su un libro di Clipper una serie di spiegazioni.
Il primo problema e che il libro dice di aprire il file in modo RAW, ma il mio
compilatore (Borland Builder 4) dice che non esiste. Ho usato allora o_binary che
credo sia la stessa cosa
Quando devo leggere l'intestazione ad un tratto devo leggere un 
long last_rec
che mi dovrebbe dare il numero dei record del db. Solo che sono 4 byte in modo
reverse(credo quello usato da unix).
Come faccio a leggere sti quattro byte e poi a invertirli ????
-----------------------
Un uomo con un orologio e sempre sicuro di che ora e' , un uomo con 2 orologi non lo e' mai!
GYps!

Come faccio a leggere sti quattro byte e poi a invertirli ????
Un sistema e'
long reverse(long x)
{
  return ((x>>24)&0x000000FF)|
         ((x>>8)&0x0000FF00)|
         ((x<<8)&0x00FF0000)|
         (x<<24);
}
HTH
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff


Un'altro sistema č:
#include <algorithm>
template<class T> T byte_reverse(T val)
{
    const size_t size = sizeof(T);
    char buf[size];
    void* memory = buf;
    new(memory) T(val);
    std::reverse(buf, buf + size);
    T* x = static_cast<T*>(memory);
    return *x;
}
Per long da gli stessi risultati della tua reverse.
Manlio Perillo


Un'altro sistema č:


Per long da gli stessi risultati della tua reverse.
Perche' la doppia costruzione invece di usare semplicemente
  template<class T>T byte_reverse(T val)
  {
    std::reverse(reinterpret_cast<char *>(&val),
                 reinterpret_cast<char *>(&val)+sizeof(val));
    return val;
  }
?
Inoltre credo che la tua versione sia meno corretta... non ci
sono garanzie che l'allineamento fornito da buf sia sufficiente
per T (le garanzie ci sono con le allocazioni dinamiche...
non con le dichiarazioni delle variabili automatiche).
Ovviamente sistemi in cui i "char *" non sono convertibili
in puntatori ad altre cose il sistema non funziona neanche a
spingerlo... ma la tua soluzione ha problemi anche sulle
architetture (abbastanza comuni) che hanno limitazioni di
allineamento sui tipi che occupano piu' di un char.


 spingerlo...
Forse hai scritto male, non ho capito quello che intendi.
Manlio Perillo

Forse hai scritto male, non ho capito quello che intendi.
Non e' detto che sia possibile convertire puntatori di tipo
diverso l'uno nell'altro. reinterpret_cast normalmente non
cambia i bit ma l'uso di un puntatore costruito con i bit
di un puntatore ad un tipo diverso non e' detto che faccia
cose sensate. Le uniche conversioni consentite sono da puntatore
ad un tipo a puntatore a void e riconversione al contrario
(ma *solo* al tipo originale)... oppure i downcasting o
upcasting (ma si tratta di tutt'altra faccenda).
La cosa e' descritta in "The C++ Programming Language" alla
sezione 6.2.7.
Ho sentito addirittura accennare da qualcuno ad architetture
in cui i char sono in un address space diverso (cosa che in
realta' non comprendo... come potrebbe essere gestito un
array di char contenuto in una classe ?)
HTH

Newsgroup: it.comp.lang.c++
Titolo: [OT]  monitor notebook Dell

ciao,
scusate l'intrusione sull'argomento, ma vorrei pareri da chi utilizza 
molto notebook.
Volevo sapere cosa ne pensate (per chi ne ha la possibilità di 
confrontarli visto che non è possibile visionarli) degli schermi lcd 
della DELL a 1680 x 1050
Non vi sembra una risoluzione troppo piccola e dettagliata?
Ci sono controindicazioni a parte il consumo? (pixel bruciabili?)
Io per i wide screen trovo ottima una risoluzione 1200x800 (però solo a 
vista senza poterci lavorare delle ore).
che mi potete consigliare?
ciao,



ti consiglio di cambiare newsgroup che minchia c'entra la tua domanda con
il c++?

 il c++?
sai cosa vuol dire [OT] ?
E inoltre ti ri-incollo quello che avevo scritto (che forse per la 
fretta di insultarmi non hai letto).
 >>scusate l'intrusione sull'argomento, ma vorrei pareri da chi utilizza
 >>molto (i) notebook.
ciao e grazie

 sai cosa vuol dire [OT] ?
In questo gruppo non e' ritenuto accettabile prependere l'indicatore
[OT] all'oggetto di un messaggio per porre quesiti fuori tema. Sei
quindi pregato di cercarti un forum piu' adatto alle tue necessita'
invece di fare polemiche inutili.
Nicola Musatti
Newsgroup: it.comp.lang.c++
Titolo: Compilatori C/C++

Premetto che sono un novizio in C e C++ ma intendevo iniziare ad
imparare questo linguaggio, volevo sapere:
1) Quali testi mi potevano essere utili (in italiano possibilmente)
2) Con quale tipo di compilatore potevo iniziare, ho sentito parlare
del DJGPP, e' un compilatore free o share?
3) Esiste un compilatore GNU per sistemi ms-dos, windows? e' valido??
4) Sono possesso l'ambiente Microsoft Visual C++ 4.0 per windows
(versione per studenti), e' valido per iniziare e poi sviluppare
applicazioni??
Tengo a precisare che intenderei sviluppare dapprima applicazioni
semplici fino ad arrivare ad eseguibili per l'ambiente windows.
Ringrazio in anticipo chiunque mi dara' spiegazioni e delucidazioni e
mi scuso per le troppe domande.
Ciao, Fabio
Fabio Martini     
f.ma...@areacom.it
--------------------------------------
PGP public key available on keyservers
--------------------------------------
 >>>>> ATTENZIONE, rimuovere -xxx- dall' indirizzo per la risposta in e-mail <<<<<

 
prova
http://www.delorie.com
per il djgpp, compilatore dos32 con possibilita di compilare anche sotto
windows, applicazioni windows
dall'italia e' un poco lento, dovresti provare un mirror simtel
per scaricare tutto. io spesso uso 
cis.utovrm.it
, ma 
ce ne sono anche altri, in italia.
per sapere quello che ti serve leggi readme.1st
per un compilatore win32 cerca in :
http://www.cygnus.com
non l'ho mai installato
entrambi sono free
se hai dei dubbi sulla validita' di DJGPP, sappi che quake 
e' stato compilato con esso
	ciao
	stefano


Anch'io sono un novizio del C++ e, per incominciare, ho comprato un
nuovo libro della
McGraw-Hill, questi gli estremi:
Steve Heller
Chi ha paura del C++?
ISBN 88 386 0411-8
Il libro è scritto per persone prive di una qualsiasi base di
programmazione; te lo consiglio in ogni caso perchè spiega nei minimi
dettagli non solo le basi dal punto di vista del linguaggio, ma anche
della struttura hardware del computer (indirizzi di memoria, registri
del processore, ecc.).
Costa 64.000 lire, compreso nel prezzo c'è un CD con gli esempi ed il
compilatore
DJGPP ed  il debugger GDB a 32-bit per sviluppare software in ambiente
MS-DOS.
Nico.
Newsgroup: it.comp.lang.c++
Titolo: nomenclatura

Fissato che per nomi di classe uso una convenzione stile Java (MyClass)
e che per varibili locali e argomenti di funzioni uso nomi tutti in 
minuscolo:
Per le funzioni proprie di una classe č piů comodo usare nomi in stile 
Java (myFunction) oppure in stile C# (MyFunction) ?
E per i nomi e i valori degli enum ? (enum MyEnum {VAL1,VAL2,VAL3})

 E per i nomi e i valori degli enum ? (enum MyEnum {VAL1,VAL2,VAL3})
sono variabili ... di solito li si lascia minuscoli, e si usano le maiuscolo
solo per i nomi interni cosi' da rendersi conto che si stanno usando
costanti, che alcuni le creano da preprocessore o da enum il risultato del
compilato e' perfettamente uguale, finche non si usano indirizzi sugli enum
che seno' li renderebbero compilati.
ciao

 sono variabili ... 
Ho sempre pensato che i valori fossero costanti, da qui la scelta di 
scriverle tutte in maiuscolo, o c'è qualcosa che mi sfugge ?

 scriverle tutte in maiuscolo, o c'è qualcosa che mi sfugge ?
si sono costanti ma puoi usare un enum come una variabile ... disolito si
lasciano i nomi interni maiuscoli perche' l'enum si usa per sostituire i
#define per valori costanti ... pero' nessuno ti vieta di chiamarli come
vuoi ... l'enum rimane cmq un nuovo tipo di variabile intera.
ciao

 
Effettivamente se viene rispettata la regola di non avere variabili 
proprie pubbliche non ci sono problemi.
Questo può essere banalmente risolto con una funzione inline:
const MyType & myVar() {return _myVar;}
Temevo che fosse poco efficiente ma ho controllato l'output in assembly 
ed è esattamente uguale ad accedere direttamente alla variabile.

 ed è esattamente uguale ad accedere direttamente alla variabile.
si se usi le ottimizzazioni ... perche' se non le usassi quella chiamata non
collasserebbe su un inliner e userebbe cmq una call con ret.
cmq meglio che incominciamo ad aderire il piu' possibile allo standard OO ed
al massimo in un secondo tempo quando si deve ottimizzare rompere alcune
interfaccie, non crearle prima bucate, che seno' non avremmo neanche piu' la
versione riutilizzabile della classe ... e ci toccherebbe riscrivere dinuovo
tutto ...
ciao
Newsgroup: it.comp.lang.c++
Titolo: Salvare qualche dato..nell'exe stesso che sta girando

Salve.
Con CodeBlocks ho sviluppato una piccola utilità per W. sette,questa  
converte un file che trovo in una certa cartella in un file di formato  
leggermente diverso, che mi serve salvare in un' altra cartella.
 
Posso puntare a delle cartelle di default in vari modi,  mettendo il path  
nel codice,o in una EditBox ecc.,dopodichè se voglio cambiare path,le  
DialogBox di Open e Save mi permettono di navigare nelle risorse del  
computer.
Nell'uso pratico,visto che si prevede di utilizzare l'utilità decine di  
volte al giorno, sarebbe invece comodo che i path di default diventassero  
gli ultimi path utilizzati.
E' possibile salvare questi path,non in un file che dovrei portarmi su  
alcuni PC mettendolo in una certa relazione(es nella stessa cartella) con  
l'.exe....ma nell'exe stesso?In modo da avere tutto quello che mi serve in  
un solo file?Non è indispensabile ma mi pare che il lavoro risulterebbe  
più ordinato e compatto.
 
Grazie
 
---
Questa email è stata esaminata alla ricerca di virus da AVG.
http://www.avg.com
 
 

Il 09/01/19 04:55, blisca ha scritto:

Non credo che si possa fare visto che se il file eseguibile corrisponde 
ad un processo in esecuzione risulta locked
 

 ha  
scritto:

ti ringrazio

Newsgroup: it.comp.lang.c++
Titolo: immagini con C++

Ho un piccolo problemino.....
dovrei fare la tesi su elaborazione d'immagine e mi è venuta la bella idea
di studiarmi il VC++..... il che  è tutto dire...
Ora qualcuno sa se è possibile operare su immagini?
Nel senso di vedere l'immagine come una matrice, assegnare una scala di
livelli di grigio (o di colore) ecc.... 
Una cosa che ho capito è che è possibile la trasformazione da .GIF a
BMP.... e poi? 
Inoltre che sono i Bitmap? Gli ho usati giusto per disegnarmi i pulsanti...
Scusate l'ignoranza.... sono novellina!!
Grazie mille
Annamaria

Ora qualcuno sa se č possibile operare su immagini?
E' possibile. Tanto che un mio collega di tesi lo ha fatto.
Comunque se puoi scegliere l'ambiente di sviluppo, ti consiglio
Matlab. Ha molte funzioni gia' pronte e un toolbox specifico ('Image
Processing Toolbox').
Saluti,
	Paolo.

>Ho un piccolo problemino.....

Ciao Annamaria,
	posso darti un piccolo consiglio. Se hai la possibilita'
	di procurartelo, prendi l'OCX della Wang "Imaging". Ne
	esiste una versione light su Internet, purtroppo ora non 
	ricordo da quale sito e' possibile scaricarla.
	Io l'ho usata per l'analisi dei bitmap derivanti dalla
	scansione di provini usati per l'elettroforesi delle
	proteine, e non l'ho trovato malaccio, anzi.
	Ovviamente sarebbe meglio la versione pro, pero'	
	costa circa un milione. Se ci metti di mezzo l'universita',
	beh.... non si sa mai.
	In bocca al lupo.
	SeeYa
	Enrico
Newsgroup: it.comp.lang.c++
Titolo: Constructors in Derived Classes

I have defined a base class "Message", and derived a class "State" from it.
My message class has a constructor, defined in my header file, as follows:
Message (int a, char **b);
The body of this constructor is in a .CPP file.
For my State class, I have a constructor using the exact same patameters. If
an new instance of type "Stat"e is created, I want the "Message" constructor
to execute first. The parameters passed to the "State" constructor must thus
be passed to the Message constructor... or vice versa, I'm not sure about
it. How is this achieved? Is it as simple as calling the Message(...)
function from my "State" constructor, or is there a special way to do it?

"nuraq" wrote
: I have defined a base class "Message", and derived a class "State" from it.

Here is the basic syntax involved:
class Base
{
    int data_a;
    int data_b;
public:
    Base(int a, int b):data_a(a),data_b(b){}
};
class Derived : public Base
{
public:
    Derived(int a, int b):Base(a,b){}
};
hth
R.

 it. How is this achieved?
Try this:
State::State( int a, char **b ): Message( a, b ) {
 //...
}
--
Med venlig hilsen,
   /\/\\ads Orbesen Troest, Developer
      - Koblo A/S

> Message (int a, char **b);
Che ne dici di un bel reference al posto del doppio puntatore ?
-Nicola

Hi,
You may not be aware that you posted your message on the italian C++
newsgroup (the "it" in the group's name stands for "Italy").
Best regards,
Nicola Musatti

 wrote...

One way or another, every base class subobject is always constructed
before a derived class' destructor runs. If you don't explicitly say how
that's to be done, the default constructor for that base class will be
used. (If no default constructor is available, the program is ill-formed
and should not compile.)
If you wish to be explicit about which base class constructor is used,
and what parameters are passed to it, you need to use an initialiser
list in your derived class' constructor:
State::State(int a, char **b) : Message(a, b)
{
  // Whatever other construction needs doing goes here
}
This specifies that your Message subobject is to be constructed using
the parameters a and b. This construction will always happen before the
rest of State's constructor runs.
You can also use a constructor's initialiser list to specify how class
data members will be initialised, BTW. This is generally preferred to
assigning initial values to each data member in the constructor's body
for efficiency reasons; constructing things directly is often faster
than defaulting constructing them and then assigning. The initialiser
list is also the only way to initialise a data member to which you
cannot assign a new value, e.g., a reference.
For more information, look up constructors and "initialiser list" in a
decent C++ book.
Hope that helps,
Chris

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

This is a test please disregard it.
Bye

...


Newsgroup: it.comp.lang.c++
Titolo: funzione "sleep"

cosa devo includere in un programma per poter usare la funzione "sleep()" ?
ciao
Sergio

 wrote in message
8ilvbd$b43$1...@sirmdpsin16.inwind.it...

Newsgroup: it.comp.lang.c++
Titolo: modem

> 
http://www.geocities.com/sunsetstrip/stage/7787
 <<
<<<<<<<<<<<< _
Metal...@iol.it
 >>>>>>>>>>>>>>
(remove asterisk to reply)


Puoi utilizzare le TAPI e farti notificare i cambiamenti di stato della
linea (quando la linea passa in LINECALLSTATE_OFFERING, il telefono sta
squillando).
---
Valter Minute
min...@fortech.it
 (the reply address of this message is invalid)
---
Are you looking for a good freeware ScreenSaver? Try FOYD!
http://www.winsite.com/info/pc/win95/desktop/foyd1395.zip/
if you want, I can send you the (free) C++ source code.

On 28-Mag-98 16:39:35, Valter Minute said about Re: modem:
 VM> Puoi utilizzare le TAPI e farti notificare i cambiamenti di stato
 VM> della linea (quando la linea passa in LINECALLSTATE_OFFERING, il
 VM> telefono sta squillando).
Qualcuno ha un esempio a riguardo?
Bye
    Wiz
Il computer e' un piacere, se non e' Amiga che piacere e' !

squillando).
Ma la documentazione sulle TAPI dove si trova. Nel VC++ 5 mi sembra
che ci siano un po' di pagine bianche con il titolo TAPI.

che ci siano un po' di pagine bianche con il titolo TAPI.
sei sicuro che non ci sia ? Sull'MSDN April 97 che sto usando c'e': 
"SDK Documentation" -> "Platform SDK" -> "Networking and ..." ->
"Telephony Application ... (TAPI)"
Gianpaolo Bottin
- Live Long and Prosper -

squillando).
ho dato un'occhiata veloce alle TAPI, non ho ancora provato a scrivere
codice. Così a prima vista mi sembra utile la funzione
phoneSetStatusMessages() però non ne sono sicuro.
devo utilizzare le funzioni che iniziano con "line" oppure con "phone" ? che
differenza c'è tra questi due gruppi di funz.?


Newsgroup: it.comp.lang.c++
Titolo: Velocità...

come posso abbreviare l'istruzione
 if ((c=='n')||(c=='N')) ....
se qualcuno potesse rispondermi ne sarei felice...

se qualcuno potesse rispondermi ne sarei felice...
Dato per scontato che c è char questo 'if' si traduce in 4-5
istruzioni macchina... non penso che sia questò che ti possa dare
problemi di velocità...
Luc.

no, io parlavo di sinteticità espressiva....
un modo per abbreviare la scrittura...


 un modo per abbreviare la scrittura...
if(toupper(c)=='N')...
devi includere ctype.h
Alex

GRAZIE MILLE
"Alex" <nom...@bow.wow> ha scritto nel messaggio
news:2H0Y6.6319$Rq1.1...@news.infostrada.it...


Newsgroup: it.comp.lang.c++
Titolo: Corba e c++...

Salve a tutti.
Sapete dove posso trovare esempi di programmi in c++/Corba documentati?
Siti italiani saranno ben graditi.
--
TiscaliFreeNet, libero accesso ad Internet.
http://www.tiscalinet.it
--
Posted from 
laguna.tiscalinet.it
 [195.130.224.86] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 
In italiano non conosco nulla. 
 
http://www.cs.wustl.edu/~schmidt/tutorials-corba.html
 
http://www.cetus-links.org/oo_corba.html
Max
Newsgroup: it.comp.lang.c++
Titolo: [Help] Richiamare un'applicazione di sistema su WinNT

Se non vado errato in win95 dovrebbe essere:
void CTestDlg::OnChangeTestEdit()
{
 UpdateData(TRUE);
 CString UpperValue;
 UpperValue = m_TestEdit;
 UpperValue.MakeUpper();
if (UpperValue=="Calculator")
    {
      system("calc.exe");
      m_TestEdit = "";
      UpdateData(FALSE);
    }
}
E in WinNT?
Grazie a tutti per la cortesia.
Angel

E in WinNT?
system() e` una funzione dello Standard ISO, quindi
dovrebbe funzionarti altrettanto bene su NT come su
95 (e altri sistemi ancora, se e` per questo).
Altre API alternative, come CreateProcess oppure
ShellExecute, funzionano comunque su NT e 95, benche`
non su altri sistemi (essendo parte delle API Win32).
Alex

95 (e altri sistemi ancora, se e` per questo).
Niente da fare, non va' neppure a pregarlo in arabo.
Ho provato a sostituire il ciclo "if" nel modo seguente:
if (UpperValue=="Exit")
{
OnOK();
}
non va' neppure questo.Sembra che non esegua l'istruzione if .

if (UpperValue=="Exit")
Questo non ha nulla a che vedere con l'uso di system().
Stai chiedendo se l'indirizzo cui punta UpperValue e`
esattamente l'indirizzo a cui capita che il compilatore
piazzi questa copia dell'array costante {'E','x','i','t',0}
(questo supponendo che UpperValue sia un char*;
sarebbe molto diverso, e _corretto_, se UpperValue
fosse una _stringa_ standard C++, naturalmente!).
Se vuoi confrontare fra loro due array di caratteri, a
indirizzi anche diversi ma magari di eguale contenuto,
puoi usare strcmp() (funzione standard, che torna 0
in caso di eguaglianza).  Quindi NON
    if(UpperValue=="Exit")
bensi`
    if(0==strcmp(UpperValue,"Exit"))
Oppure, usa le std::string (stringhe standard C++)
dappertutto, e non avrai questi problemi.
Alex

in caso di eguaglianza
if(0==strcmp(UpperValue,"Calculator"))
    {
      system("Calc.exe");
      m_TestEdit = "";
      UpdateData(FALSE);
    }
Non funzia neppure cosi'.
Teoricamente " void CTestDlg::OnChangeTestEdit() " dovrebbe essere
eseguita ogni volta che cambia il valore di "m_TestEdit",cioe' ogni
qualvolta inseriamo una nuova lettera.Giusto?
A questo punto mi sorge il dubbio che cio' non avvenga.
Purtroppo questo e' il mio primo prg in Visual C++, e non so' piu'
cosa inventarmi.E se anche gli esempi del libro che seguo mi fanno
fiasco, beh.., forse sarebbe meglio darsi all'ippica.
Non trovate?  :-)))
Comunque, grazie a tutti per la cortesia.
Saluti Angel.

A questo punto mi sorge il dubbio che cio' non avvenga.
Puoi verificarlo aggiungendo ad esempio un TRACE nel codice
che vuoi vedere se venga eseguito, o mettendoci un break,
comunque quando lo esegui a debug (o anche, una chiamata
a AfxMessageBox, per verificarlo comunque, ecc ecc).
Alex

supponendo ad es. che IDC_TESTEDIT sia l'id della tua edit).
Questa volta pare che ci siamo.
Mille grazie per l'Help.
Saluti Angel.
Newsgroup: it.comp.lang.c++
Titolo: Aiuto per due esercizi

Ho bisogno di una mano per risolvere questi due problemi, ho cominciato da
poco ad imparare C++. Grazie
1) Avendo questi satatements:
Vector<int> x, y(7), z(4,2), w(6);
w.push_back(14);
w.push_back(39);
- Capacity di x è:         , size di x è:
- Capacity di y é:         , size di y è:
- Capacity di z è:         , size di z è:
- Capacity di w è:        , size di w è:
- che cosa è l'output di : cout<<w.front() << '  ' <<w.back()<< endl;
2) Che cosa è l'output di:
                                        task = withdraw;
                                    cout << task << endl;
Grazie,
Dani

                                     cout << task << endl;
E' una svista o davvero non ti rendi conto che questo esercizio e'
incompleto?
Ciao,
Nicola

                                         task = withdraw;
Ma questa te l'avevo scritta, da qualche parte!
Se non ricordo male, 3.
Comunque scrivi l'enumerazione.
--
Lupin85©
FILSer #2 - Founder di #fils
"It is not important what you believe, only that you believe"

Ho bisogno di una mano per risolvere questi due problemi, ho cominciato da
poco ad imparare C++. Grazie
1) Avendo questi satatements:
Vector<int> x, y(7), z(4,2), w(6);
w.push_back(14);
w.push_back(39);
- Capacity di x è:         , size di x è:
- Capacity di y é:         , size di y è:
- Capacity di z è:         , size di z è:
- Capacity di w è:        , size di w è:
- che cosa è l'output di : cout<<w.front() << '  ' <<w.back()<< endl;
2) Che cosa è l'output di:
                                        task = withdraw;

Newsgroup: it.comp.lang.c++
Titolo: Problemi con il linker GNU ld

Ciao a tutti,
ho un problema con il linker sotto linux. Premetto che sono nuovissimo
a linux, g++, ld, gcc etc...
Allora, ho scritto una lib in C++ ed un programmino che usa tale lib,
sempre in C++.
Uso Eclipse su Mandriva (sotto Virtual Box...). Ho compilato la lib,
modalità debug e release e sembra andare tutto a buon fine.
Ottengo i file: libfvlib.a, uno per directory Debug e Release.
Poi ho creato un altro progetto e messo lì il mio programma. Specifico
tra i path per le librerie aggiuntive quello della versione debug di
libfvlib.a per la versione debug del programma e faccio una cosa
simile anche per la versione release (specificando l'uso della
versione release del file .a).
La compilazione dei .o avviene, ma poi ottengo questo errore:
**** Build of configuration Debug for project pmrplib ****
make all
Building target: pmrplib
Invoking: GCC C++ Linker
g++ -L/home/luca/Sviluppo/projects/pmrplib/fvlib/Debug -o"pmrplib"  ./
cpmrlib.o ./cpmrp.o ./main.o   -llibfvlib.a
/usr/bin/ld: cannot find -llibfvlib.a
collect2: ld returned 1 exit status
make: *** [pmrplib] Error 1
Il programma l'ho chiamato pmrplib. E' composto dai file .o :
cpmrlib.o cpmrp.o main.o.
Oltre alle librerie standard (gestione dei file, memcpy e così via),
devo aggiungere libfvlib.a.
Come fa, il linker,  a non trovare libfvlib.a se gli ho specificato il
path con -L???
Help!
Luca
Ps.
Ho provato a mettere -L/home/luca/Sviluppo/projects/pmrplib/fvlib/
Debug/ ,cioè, ho aggiunto lo / finale ma niente...


Ciao,
non so esattamente come agiscono i vari IDE perche` sono abituato a fare 
a mano, ma ti posso dire che il metodo per linkare le librerie non e` 
quello.
Se hai una libfvlib.a, dovrai passare le opzioni `-L/path -lfvlib', 
ovvero l'argomento di -l deve essere il nome del file tolto il `lib' 
iniziale e l'estensione.
Occhio che e` cosi` per tutte le librerie, e.g se devi linkare la 
libreria di xorg (libX.a) l'opzione sara` -lX, e cosi` via
Spero di averti aiutato, benvenuto nel mondo dello sviluppo linux :D
Newsgroup: it.comp.lang.c++
Titolo: Problema con WM_KEYDOWN

Ciao a tutti,
ho un problema col messaggio WM_KEYDOWN:
Ho creato un' applicazione MFC di tipo "dialogbased" ed ho mappato, tramite
classwizard, il messaggio WM_KEYDOWN per intercettare la pressione di un
tasto. Nel metodo onkeydown, ho messo un messagebox per confermare
l'avvenuta pressione. Funziona tutto tranne che per le freccie (su, giu,
destra, sinistra). In questo caso il metodo non viene richiamato. La cosa
strana è che se mappo il messaggio WM_KEYUP, in questo caso il programma
intercetta il rilascio anche dei tasti freccia. Non solo, se io creo
un'applicazione "single document" anzichè "dialog based", allora funziona
anche onkeydown, premendo i tasti freccia.
Che casino! Il mio problema è che devo riuscire ad intercettare la pressione
(non il rilascio) dei tasti freccia in un'applicazione "dialog based".
Ok, se non vi siete stufati di leggere tutta sta spiegazione e siete in
grado di aiutarmi, ve ne sarò molto grato. Grazie, Luca.
PS: stro usando Visul Studio 6. (il problema l'ho verificato sia su W2000,
che su NT4 sp5)

 writes:

Questo messaggio non riguarda tanto il linguaggio C++ in se, quanto
piuttosto problematiche che sono caratteristiche di un particolare
compilatore e di un particolare ambiente operativo.
Per questo motivo il messaggio e' off-topic in questo gruppo, di cui
ti prego di leggere il charter; puoi avere maggior fortuna chiedendo
su it.comp.programmare.win32 .
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

 che su NT4 sp5)
Hai provato a guardare nel file <winuser.h> l'esatto codice dei tasti
freccia:
se non erro dovrebbero essere:
VK_LEFT           0x25
VK_UP             0x26
VK_RIGHT          0x27
VK_DOWN           0x28   
io pero' non ho programmato con il Visual ma con il borland.
-- 
da Dott. Stefano 
Spagna
Cooperativa Anastasis
via S.Gervasio 2
40121 BOLOGNA - ITALIA
Tel. 051235013 - Fax 051 236491
E-mail: mailto:
ssp...@anastasis.it
Web:  
http://www.anastasis.it
_____________________________________________
_____________________________________________
Newsgroup: it.comp.lang.c++
Titolo: 2 domande molto stupide

1 - Che vuol dire OT?
2 - QUALCUNO MI SPIEGA CHE COSA VUOL DIRE "AFX" NELLE LIBRERIE MFC? E' solo
una curiosità, ma sono 2 anni che me lo chiedo... per cosa stà "A"? e per
cosa "F"? e per cosa "X"?
Tnx & scusate la banalità delle domande...

cosa "F"? e per cosa "X"?
Application framework

Ehm... e la "X"?

 e per cosa "F"? e per cosa "X"?
...che è una domanda che andrebbe posta su
it.comp.programmare.win32
ciao!
--
Gerolamo
Il manifesto di it.comp.lang.c++ lo trovi all'indirizzo:
http://www.news.nic.it/manif/it.comp.lang.c++.txt

 2 - QUALCUNO MI SPIEGA CHE COSA VUOL DIRE "AFX" NELLE LIBRERIE MFC?
Cosa sono le librerie MFC?
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Dept. of Physics, Univ. of Padova, Italy          loreti at pd dot infn dot it

 Cosa sono le librerie MFC?
Librerie di M$ per programmare sotto Win, che in pratica incapsulano ad
oggetti tutte le API Win32 ed aggiungo alcune comodità...

oggetti tutte le API Win32 ed aggiungo alcune comodità...
Direi proprio che lo sa... era un modo ironico per dire che è OT e non
c'entra nulla con il c++ standard.
-- 
Marco Barisione (ICQ 84277092)

Ehm... e la "X"?
la X fa figo :D giuro che sta lì perché fa figo.

 Cosa sono le librerie MFC?
 
[anto@localhost mirror]$ man MFC
No manual entry for MFC
boh?? :-)))
ciao Anto
-- 
Antonio Cuni, 20 anni, studente
Brainbench C++ Master: 4.73, higher than 99% of all previous test takers.
C Language: 3.79, higher than 92% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it

Vi ringrazio gente... e scusate se ero OT riguardo MFC...
Byez!
[by AG5F: novellino dei newsgroup (ma non di c++)]

 [by AG5F: novellino dei newsgroup (ma non di c++)]
Mmmmh...
Ciao,
Nicola

 cosa stà "A"? e per cosa "F"? e per cosa "X"?
Afx è qualcosa che dovrebbe suonare come "Application Framework", una 
libreria usata internamente a Microsoft che diventò la base per MFC
-- 
 < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
     Don't stand, REACT!      version 0.0.19. C, C++ and ASM developers
                              and beta testers are welcome!
Newsgroup: it.comp.lang.c++
Titolo: Allocare matrici dinamiche

Prima ancora di descrivere il problema, una semplice domanda: avete dei link
a qualche pagina che spieghi in maniera dettagliata i puntatori? Cioe', so
cosa sono, so come funzionano, so come usarli, ma spesso quando trovo cose
strane mi blocco...cosi' pensavo che un ripassino male non mi farebbe :-)
Venendo al problema di cui al subject: vorrei creare una matrice dinamica,
ovvero che viene dichiarata solo come puntatore e poi viene dimensionata a
run-time.
Problemi:
1) Non so' come dichiarare il puntatore in questione (__int16 rngBuffer[][]
non funziona :-D )
2) Non so come usarlo dopo nel codice per leggere/scrivere un elemento.
Scusate il disturbo :-)

 Scusate il disturbo :-)
nessun disturbo :)
ciao,
Nids
ps: colgo l'occasione per fare i miei auguri di buone faste a tutti i
frequentatori del newsgroup

 ha scritto nel messaggio
news:FJfFb.21369$wM.17...@news1.tin.it...
[cut]
Grazie mille per l'aiuto!
:-)

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

Un saluto al newsgroup prima di tutto.
Poi, qualcuno di voi ha questo testo:
Guida al C++ seconda edizione di Herbert Schildt?
Sarebbe disposto a venderlo?
A quanto?
Grazie a tutti
Francesco II



ciao francesco.. 
se qualcuno lo ha è di SICURO disposto a vendertelo :D
sbirish 

 se qualcuno lo ha è di SICURO disposto a vendertelo :D
ma è proprio cosi brutto?
:(
Francesco II



ciao francesco,
scusa la battutaccia.. se cerchi su google troverai che molte persone
considerano i suoi libri da bruciare...
se non sei forzato in qualche modo a comprare proprio quel libro, ti
consiglio ( mio parere naturalmente ) di orientarti verso altro..
nel caso riposta.. molti sapranno suggerirti dei buoni libri..
sbirish.

 nel caso riposta.. molti sapranno suggerirti dei buoni libri..
purtroppo sono costretto ad usare quello.
temo che dovrņ prenderlo nuovo (45euro) e dopo le premesse che mi hai dato
mi roderanno un po' questi soldi!
Francesco II

Newsgroup: it.comp.lang.c++
Titolo: la FERILLI per una stringa

ciao,
allora, io vi do l'indirizzo del sito con i calendari della Ferilli, Merz,
Marcuzzi,.......
se mi riuscite a risolvere un problemino che dovrebbe essere quasi banale.
Purtroppo io ho sempre programmato in Pascal e Basic.
ditemi come mai non funziona il seguente segmento di codice:
........
char nome[12];
strcpy (nome,"xxx");
.......
while (nome != "exit")
{
    .........
    scanf ("%s",nome);
    ........
}
ebbene questo ciclo non termina neanche se digito    exit     come INPUT.
GRazie.

GRazie.
Infatti, confronti un indirizzo di memoria con dei caratteri! Quindi
hai due cose da fare
1) usare 
while (!strcmp(nome, "exit"))
2) programmare in C++ ^_^
#include <iostream>
#include <string>
...
std::string nome;
...
while (nome != "exit") {
  ...
  std::cin >> nome;
  ...
}
--
 (o-  | HomePage 
http://pinguin.linuxbox.com
 //\  | email: r.salmaso (at) 
flashnet.it
 V_/_ | email: pinguin (at) 
pinguin.linuxbox.com
Newsgroup: it.comp.lang.c++
Titolo: (FUNNY) - Unusual C usage

 remove NOSPAM from my address if you want to reply directly to me; sorry.

Drop me a line if this model applies also to your company :)
Your boss must be very happy with a taltented and 
productive programmer like you are.

 > Warn :mycomp.c(47,8):'CommonSense' is declared but never used
-- 
 
kee...@spots.ab.ca
            Contract Programmer; inquire within.
       zcat /usr/doc/timezone/Introduction.gz | cockney | less

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

Conoscete un sito dove posso imparare a programmare giochi con il C++?


Prova qua
http://www.multiplayer.it/itaprogaming/
Ciao
Mauro
Newsgroup: it.comp.lang.c++
Titolo: ostringstream e ostream

Stasera ho litigato con le ostringstream per circa un'ora e mezzo.
Questo perche' credevo che un programma come questo qui sotto scrivesse
ciao
ciao
e invece col cavolo :)! Perche' l'endl sfasa tutto. Io pensavo che
le ostringstream si potessero usare come le ostream, ma da questo
deduco proprio il contrario. C'e' un modo di far funzionare quello che
ho scritto sotto o devo sostituire endl con \n?
#include <sstream>
void print(ostream& os) {
    os << "ciao" << endl;
}
main() {
    ostringstream oss;
    print(oss);
    print(oss);
    cout << oss.str();
}
Poi, mentre con le ostream si fa una cosa del genere:
ostream& print(ostream& os) {
    os << "ciao";
    return os;
}
se si passa una ostringstream alla print come ad es.
ostringstream oss;
oss << print(oss);
cout << oss.str();
beh provate a vedere che viene fuori :(, e io non riuscivo a capire
da dove venissero fuori quei caratteri esadecimali.. perche' evidentemente
una ostream vera li avrebbe trattati in modo diverso (per la cronaca,
mi esce fuori una cosa tipo "ciao0xfffffffff")
-- 
Saluti,
 Francesco Cipriani

 cout << oss.str();
Ma hai *PROVATO* a fare cout << print(cout)...?!
In questo modo, mentre entro la print invochi
    ostream::operator<<(const char *),
subito dopo la print, con quell'ulteriore <<,
invochi poi ostream::operator<<(const ostream&)
che presumibilmente non e` definito, ma viene
"risolto" trasformando l'ostream operando (immagino
in un void*).
Spero di sia ovvio che oss<<print(oss) e` appunto
identico a cout<<print(cout), e altrettanto errato.
Alex

identico a cout<<print(cout), e altrettanto errato.
Si che e' identico l'avevo capito, e infatti, pensando
che con cout funzionasse (ma non avevo provato) ritenevo
dovesse funzionare anche con ostringstream
-- 
Saluti,
 Francesco Cipriani
Newsgroup: it.comp.lang.c++
Titolo: DLL e OLE Automation

Salve a tutto il ng.
Vorrei sapere se qualcuno, gentilmente, mi potrebbe mostrare i passi
necessari per la costruzione di una DLL (in cui sono implementate
classi C++) che possa essere utilizzata in VB tramite il meccanismo
dell'OLE Automation, magari anche con qualche spezzone di codice
d'esempio.
Grazie anticipatamente

di altre macchine, si usa poi l'utility REGSVR32.
ok, questo era gia' nel knowledge base :-)
Mi spiace di averti fatto perdere del tempo non avendoti detto subito
che utilizzavo VC4.1
sorry!

travolto da montagne di lavori accumulatisi in essa:-).
Ok, grazie per la tua disponibilita', pero' non vorrei appesantire
eccessivamente il NG. Sai, ogni tanto e' bene far lavorare le
"rotelle" :-)
Ciao e grazie ancora per le imbeccate.

Newsgroup: it.comp.lang.c++
Titolo: creare plugin per windows media player

ho una informazione da chiedere:secondo voi c'e' la possibilita' di far
girare le mie foto come plugin in wmplayer mentre ascolto la musica? con il
c++ si possono creare plugin per windows media player.
Grazie a chi mi risponde

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: Dichiarazione forward di una classe

Ho 5 classi ob1, ob2... ob5
Una funzione della classe ob1, in un caso particolare può costruire
degli oggetti di tipo ob2....ob5. Non riconoscendo tali classi (la ob1
è la prima che definisco) pensavo di usare la dichiarazione forward
scrivendo così prima della definizione di ob1:
class ob2;
class ob3;
..
..
class ob5;
tuttavia, avendo questi oggetti un costruttore parametrizzato, quando
cerco di allocare con new, il compilatore mi dice che la classe obx
non ha un costruttore.
Potrei risolvere posizionando la classe ob1 in fondo, però vorrei
cercare una soluzione più elegante...
avete delle idee?
--
Ho trovato un sito eccezionale: te poi scarica' la coscienza. 
S. Disegni
Clicca sul link per contattarmi direttamente da ICQ
http://msg.mirabilis.com/scripts/contact.dll?msgto=32405502

 non ha un costruttore.
Scusami, ma se tu stai soltando dando la definizione di ob1 non dovrebbe
esserci codice con richiamo di costruttori. Es.:
class ob2;
class ob1 {
public:
    ob1();
    ob2* metodo();
};
class ob2 {
public:
    ob2(int a, long b);
};
ob1::ob1() {
    // Costruttore;
}
ob2* ob1::metodo() {
    ob2* obj=new ob2(5,26);
    return obj;
}
ob2::ob2(int a,long b) {
    // Costruttore
}
Se comunque postassi un esempio, sarebbe piů facile darti una risposta
precisa.

Prova a mettere un extern davanti alla forward

 e Piero si incontrarono nella radura di Sherwood
(it.comp.lang.c++), dicendo:
hai ragione...
mi sono accorto che tentavo di fare una cosa assurda, il fatto č che
avevo letto questo su un libro:
class c2; //dichiarazione anticipata
class c1 {
	int status;
public:
	int idle(C2 b);
};
che in questo caso basta, ma io effettivamente devo dichiarare tutta
la classe comprensiva di costruttori.
cmq grazie :)

Newsgroup: it.comp.lang.c++
Titolo: LoadMenu e DestroyMenu: è sempre necessario usare la Des troyMenu dopo aver caricato un menu?





Quando si crea una variabile locale ad es. ti tipo menu 
cioè


 


Cmenu mymenu;


 


e poi si carica il menu con la funzione LoadMenu 
cioè


 


mymenu.LoadMenu(IDR_MYMENU);


 


E' sempre necessario poi chiamare la funzione DestroyMenu 
?


 


Cioè all'uscita della mia procedura non dovrebbero 
essere eliminate tutte le variabili locali e quindi anche la 
mymenu? 


Nel manuale del VC++ c'è scritto che 
occorre richiamare la DestroyMenu per disallocare le risorse occupate dal 
menu stesso prima di chiudere l'applicazione, e che per i menu associati al 
finestre non è necessario.


 


Allora caricare un menù NON equivale assegnare un valore ad 
variabile, ma bensì ad ALLOCARE DINAMICAMENTE memoria!


Infatti le variabili locali vengono memorizzate sullo 

stack
 e quindi una volta che la procedura termina vengono 
rimosse automaticamente (es. mymenu), mentre quando si alloca memoria dinamica 
significa riempire lo 
heap 
(es. i dati caricati sullo heap 
mendiante la LoadMenu). Ovviamente lo heap non viene svuotato automaticamente... 
Occorre usare la DestroyMenu che mediante la variabile mymenu (puntatore ai dati 
presenti nell'area heap) svuota i dati allocati sullo heap.


 


Dico bene?


 


 



>Ovviamente lo heap non viene svuotato automaticamente...
Non in Win32, in altre piattaforme si.
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------

Quindi dici che viene svuotato automaticamente e non è necessario la
DestroyMenu?


DestroyMenu?
No, dico che DestroyMenu è necessaria perchè in Win qualsiasi porzione di
heap allocata non viene rilasciata automaticamente alla chiusura
dell'applicazione.
