mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: shared memory e dati privati

ciao a tutti,
in un ambiente multiprocess ogni processo puo' "attaccarsi"
a una shared memory semplicemente conoscendone il nome.
E' possibile, sull'onda del concetto di membro privato per le classi,
rendere "privati" alcuni dati di, appunto, una shared memory?
Ovvero, decide il suo creatore chi deve leggere, e cosa.
grazie
--
Tiberio Grasso

 rendere "privati" alcuni dati di, appunto, una shared memory?
Questo e' _estremamante_ dipendente dall'implementazione.  Sotto Linux
e Solaris, ad esempio, puoi associare uno shared memory segment ad un
utente e specificare dei file modes, esattamente come per la creazione
di un file su disco (guarda la man page di shmget(2)); sotto altri
Unix, piu' BSD-like (DEC/OSF) o orientati verso il real-time (LynxOS)
non e' semplicemente possibile restringere l'accesso.  Questo accesso
comunque, per tutti gli ambienti che conosco io, e' o-tutto-o-niente,
senza la divisione dell'area dati in 'privati' o 'pubblici'.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

 Tiberio Grasso
Puoi tenere degli oggetti veri e propri in shared memory, e per essi
valgono gli stessi principi degli oggetti in memoria privata.
Devi avere l'unica accortezza di non avere puntatori in questi oggetti
(di conseguenza non puoi avere neanche metodi virtuali).
Se hai una classe C con membri privati e pubblici e hai un puntatore
a memoria condivisa puoi scrivere:
void *memory;
C * oggetto = new (memory) C;
ovviamente memory deve essere abbastanza capiente (almeno sizeof(C) )
naturalmente devi usare tutte le accortezze del caso... (evitare di far
inizializzare l'oggetto a piu' processi e simili)
Se hai altri problemi sulle shared memory, chiedi pure, ormai e' un 
po' che ci smanetto.
*Fabio*
-- 
Humor in the Court:
Q.  Mrs. Smith, do you believe that you are emotionally unstable?
A.  I should be.
Q.  How many times have you comitted suicide?
A.  Four times.

Newsgroup: it.comp.lang.c++
Titolo: Dove trovo librerie numeriche per tesi ?

Salve a tutti.
Sono uno studente in ingegneria ed è la prima volta che scrivo a questo
gruppo di discussione.
Sono alle prese con una tesi numerica in cui devo scrivere un programma
per il calcolo di reti idriche usando C++ Builder di Borland.
Qualcuno sa indicarmi dove posso trovare delle librerie di funzioni
numeriche ?
Come posso generare una variabile casuale gaussiana in C++ ?
Quando devo includere diversi file .cpp (con relativo .h) in un progetto
come devo comportarmi con Borland: usare solo #include "file.h" o la
funzione Add to Project e aggiungere sia .h file che .cpp file o altro ?
A cosa servono con precisione gli header file, quando si devono usare ?
Saluti.
Corrado Ciocca

]
Newsgroup: it.comp.lang.c++
Titolo: HELP!

Qualcuno sa dirmi per quale fesseria da me scritta la seconda versione di
"powmodule" non funziona?
#include <stdio.h>
#include <math.h>
int in[8]={621,3,4,5,6,7,8,9};
int cod[8];
int cod1[8];
void powmodule1(int z, int mod);void powmodule2(int z, int mod, int *p);
void main()
{
int i;
powmodule1(37,3713);
for(i=0;i<8;i++)
printf("%d",cod[i]);
printf("\n");
powmodule2(37,3713,in);                                 //non funziona
for(i=0;i<8;i++)
printf("%d",cod1[i]);
printf("\n");
}
void powmodule1(int z, int mod)
{ 
int i ,j , res;
for(j=0; j<8 ;j++)
{ 
res=1;
for (i = 1; i <=z; ++i)
res=(res*in[j])%mod;
cod[j]=res;
}
}
void powmodule2(int z, int mod,int * p)                           //non funziona
{ 
int i ,j , res;
for(j=0; j<8 ;j++)
{ 
res=1;
for (i = 1; i <=z; ++i)
res=(res*p[i])%mod;
cod1[j]=res;
}
}
Ciao e grazie Gianni.
--
Posted from 
laguna.tiscalinet.it
 [195.130.224.86] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 res=(res*p[i])%mod;
L'operatore di dereferenziamento ha precedenza maggiore della
moltiplicazione, quindi l'espressione viene valutata
res = (res (*(p[i])) % mod
e la cosa non ha molto senso (in particolare tra res e la parentesi manca un
operatore, e *(p[i]) tenta di restituire il contenuto della locazione
puntata da p[i], che non essendo un puntatore, difficilmente conterrà una
locazione valida)...
Massimo

      res=(res*p[i])%mod;
z=37, pero' p punta a in che e' un array di 8 elementi
e quindi p[i] con i>=8 accede al di fuori dei limiti
dell'array.
Credo che al posto di p[i] tu in realta' intendessi p[j] .
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

Si Andrea, propio cosi' intendevo p[j] ma erroneamente ho scritto p[i], e
come un orbo non riuscivo a vedere l' errore.
EMG me l' aveva gia' suggerito, in ogni caso grazie lo stesso.
Bye Gianni.
--
Posted from 
twingo.tiscalinet.it
 [195.130.224.85] 


res = (res (*(p[i])) % mod
No, non e' cosi'.
L'operazione viene intesa esattamente come una moltiplicazione.
L'operatore * ha precedenza maggiore della moltiplicazione, se ha
senso il suo uso. Non e' questo il caso.
--
Andrea Laforgia (ICQ 87230455)

come un orbo non riuscivo a vedere l' errore.
Aggiungo, giusto per precisare, che in C/C++, scrivere 
void main()
e' errato.
Va scritto
int main()
--
Andrea Laforgia (ICQ 87230455)
------------------------------ 
#exclude <windows.h>

in C/C++, scrivere 
void main()
e' errato.
Va scritto
int main()
--
Andrea Laforgia (ICQ 87230455)
Thanks Gianni 

Newsgroup: it.comp.lang.c++
Titolo: [niubbio] Tutorial (sì, di nuovo)

Ciao.
Me ne esco con la solita domanda, trita e ritrita, ma non ci posso
fare niente.
Ho imparato il C di base, mi sto facendo cultura con classi e oggetti,
ma non sono assolutamente in grado ci comprendere il Visual C++.
Esiste un tutorial che spieghi non tanto gli aspetti del linguaggio e
delle tecniche di programmazione, quanto le problematiche della
migrazione dal VB, in particolare? 
Insomma, come accidenti si fa a creare una singola finestra di dialogo
con una casella di testo e un pulsante (fin qui ci sono arrivato) che
quando ci clicchi spora cambia il testo della casella di testi (questo
è un  mistero)? (Qualcuno ha qualche esempio da postarmi? -->
mac...@yahoo.com
)
Perdono per la domanda banale, ma ho cercato su internet, ho spulciato
libri, ma nessun manuale finora è in grado di spiegare queste cose
senza intramezzarle con pagine e pagine su teoria, sulle classi,
sul'allocazione della memoria, eccetera eccetera eccetera...
:-)
Palantir

Sei sul newsgroup sbagliato, dovresti spostarti su
it.comp.programmare.win32 .
In ogni caso potresti provare a dare un'occhiata al libro di Kruglinsky
& C. (non ricordo il titolo), che e' un (enorme) tutorial.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: List view: come selezionare una riga intera?

Salve a tutti !
Vorrei sapere come è possibile, utilizzando esclusivamente le API di
Windows, far sì che in una list view al click del mouse venga selezionata
una riga intera, anzichè solo l'elemento all'estrema sinistra .
Grazie in anticipo per l'aiuto.
Simone.

una riga intera, anzichè solo l'elemento all'estrema sinistra .
Purche` tu abbia una istallazione aggiornata di Windows (che,
a quel che so, richiede di avere istallato Internet Explorer, che
aggiorna varie DLL di sistema arricchendone le funzioni), e`
molto facile: devi settare il bit di stile esteso:
    LVS_EX_FULLROWSELECT
che ha esattamente lo scopo che ti prefiggi, cioe` fa si` che,
quando un item e` selezionato, anche tutti i sub-item vadano
in highlight (naturalmente, si applica solo allo stile LVS_REPORT).
Per settare gli stili estesi, puoi spedire al tuo controllo listview
il messaggio LVM_SETEXTENDEDLISTVIEWSTYLE, avendo
posto in wParam una "maschera" (metti a 1 quei bit che ti
interessa cambiare) e in lParam, nei bit corrispondenti, il
valore che vuoi assegnare; quindi, in pratica, nel tuo caso,
devi semplicemente porre LVS_EX_FULLROWSELECT
sia in wParam, sia in lParam.  Alternativamente, puoi usare
la macro (come certo sai, Windows fornisce sempre delle
macro per "rivestire" i vari messaggi diretti ai controlli in
una forma piu` leggibile!):
    ListView_SetExtendedListViewStyleEx
che ha tre parametri, nell'ordine: hWnd della listview,
maschera, stile (quindi 2o e 3o parametro, nel tuo caso,
li passerai pari a LVS_EX_FULLROWSELECT).
Naturalmente, la spedizione-di-messaggio ha anch'essa
dei vantaggi, come la possibilita` di usare l'API
SendDlgItemMessage, se quello che hai a disposizione
e` l'ID del controllo e non la sua HWND, al posto dei due
passaggi GetDlgItem + la macro, ecc ecc.
Se la tua istallazione di Windows (e specificatamente,
opino, la versione a tua disposizione della DLL dei common
control) non e` aggiornata, naturalmente, questo bit di
stile potra` non funzionare; l'unico rimedio che conosco
e` istallare IE4.
Se invece hai dei problemi di aggiornamento col tuo
ambiente di sviluppo, ricorda che puoi scaricare il
Platform SDK dal sito Microsoft; esso include, in
particolare, gli header-file aggiornati, con la definizione
delle macro che ti servono.  Ti consiglio caldamente
di procurartelo, e` davvero MOLTO utile!
Comunque, per tua comodita`, ecco le uniche due cose
che ti servono davvero per questo specifico compito:
#define LVM_SETEXTENDEDLISTVIEWSTYLE (LVM_FIRST + 54)
#define LVS_EX_FULLROWSELECT    0x00000020
LVM_FIRST, naturalmente, e` 0x1000, ma questo
spero bene che il tuo commctrl.h lo "sappia" gia`!-)
Alex

Grazie mille Alex !!
In effetti nei miei header non c'è traccia di quel bit di stile.
Seguirò il tuo consiglio e li aggiornerò al + presto.
Simone
Newsgroup: it.comp.lang.c++
Titolo: metodo padre?

Vi sottopongo il mio problema:
Ho una classe A con un metodo pubblico f1().
Da A derivo la classe B.
Ora decido di riscrivere il medoto f1() e all'interno, ad un certo punto, voglio richiamare f1() della classe A. Come faccio?
Grazie a tutti,
Giulio
-- 
Posted from [212.210.176.25] by way of [212.216.176.140] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Ora decido di riscrivere il medoto f1() e all'interno, ad un certo punto,
voglio richiamare f1() della classe A. Come faccio?
A::f1()
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: VisualC DLL -> Borland

Salve,
Ho una libreria DLL scritta con il VisualC++ 6.0 e vorrei utilizzarla dal
Borland C++ Builder 4.0 con delle applicazioni console.
Fin'ora compilavo SEMPRE sotto entrambi i compilatori, ma volevo provare se
bastava creare la DLL in VisualC++ e utilizzarla dal Borland. In teoria si
potrebbe fare. Ho provato cosě il COFF2OMF ma mi da "COFF Error". Come si fa
???
Grazie, Ciao Lvca.



Prova a dare un'occhiata all'utility IMPLIB.
Ciao!
Giuliano

Newsgroup: it.comp.lang.c++
Titolo: Errore di windows

Perchè quando faccio una cosa del genere:
#include <iostream>
int main()
{
char * a;
cin>>a;
}
....windows, quando inserisco la stringa, mi da il messaggio di
errore:
"questo
programma ha eseguito una operazione non valida e sarà terminato."?
Grazie in anticipo.

 ha scritto nel messaggio
news:%jKY5.71423$hk4.2...@news.infostrada.it...

Non solo Windows, ma anche gli altri sistemi operativi lo fanno: non è stata
assegnata memoria al puntatore a, quindi quando si tenta di scrivervi
qualcosa si accede ad un'area "non autorizzata", motivo per cui il programma
va in crash. Per risolvere il problema (sempre che si vogliano usare gli
array...) :
char *a = new char [200]; //contiene 199+1 caratteri
//...
delete[] a;
oppure
char a[200]; //contiene 199+1 caratteri.
Ma se usi std::string probabilmente ti troverai meglio.
Ciao
Domenico Barra

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

Cercasi zona Firenze compilatore c++
com...@yahoo.com


Chiappati Linux e usa quello GNU. Esiste anche un porting per Win.

Newsgroup: it.comp.lang.c++
Titolo: Die Maur English instruction

From : Mondo Bimbi di Patrizia Belloni & C. SaS
P.zza Cavagneria 17
27100 Pavia Italy
Tel 038221840
Fax 038221840
E-Mail 
mond...@tin.it
To : ZOCH
BRIENNER STRABE 54a
80333 MUNCHEN DE
Tel 089 5205740
Fax 089 520 57459
E-Mail 
in...@zoch-verlag.com
Attention
dear sir,
we gave out the English translation of DIE MAUER and now we do not have any
more.
Unfortunatelly inside instruction are only in German. Pls, that is very
urgent because we have to
give it to a customer of us within next Thursday. If possible post it by
e-mail (better) or send by
priority mail.
More over in a case of AYA the cards were missing, if possible send it or we
collect next time to
toy fair.
sergio baldaro
best regards

post errato, scusate
Newsgroup: it.comp.lang.c++
Titolo: dubbi su "operator"

Buonasera a tutti.
Perché non è possibile fare:
typedef struct
{
  int  a,b;
} Struttura;
Struttura operator = (Struttura uno, Struttura due)
{
  uno.a=due.b;
  due.a=uno.b;
}
?
-- 
When the speaker and he to whom he is speaks do not understand, that is
metaphysics.
		-- Voltaire

 
I messagggi di errore del compilatore (e magari l'help relativo) 
dovrebbero spiegarti il motivo.
L'operatore di assegnamento ( operator=() ) deve essere un membro di una 
struct, di una class o di una union.
Pero' vedo ora dal codice che quello che hai tentato di scrivere non 
sembra essere un operatore di assegnamento (o almeno la semantica non lo 
e').
Quello che (credo) vuoi ottenere si fa con una normale funzione, non si 
puo' fare sfruttando l'operator=(), magari scritta cosi':
// Nota i parametri passati per reference.
Struttura ScambiaAB(Struttura& uno, Struttura& due)
{
   uno.a=due.b;
   due.a=uno.b;
// qui manca un return, cosa vuoi restituire?
}
--
Roal Zanazzi

 
Innanzitutto dimenticavo il return, grazie.
Cambio leggermente esempio, questo somiglia molto a ciò che stavo
tentando di fare (un assegnamento a una struct di un'altra un po' diversa):
  typedef struct
  {
    int  a,f[2];
  } Struttura;
  typedef struct
  {
    int a,b,c;
  } Struttura2;
  Struttura2 operator =(Struttura2 nuovo, Struttura old)
  {
    nuovo.a=old.a;
    nuovo.b=old.f[0];
    nuovo.c=old.f[1];
    return nuovo;
  };
L'errore è il seguente:
struct.c:15: error: `Struttura2 operator=(Struttura2, Struttura)' must be a 
   nonstatic member function
struct.c: In function `Struttura2 operator=(Struttura2, Struttura)':
struct.c:19: error: syntax error before `;' token
struct.c:33: confused by earlier errors, bailing out
Come dicevate, quindi, deve essere membro della struct?
Siccome l'operatore "=" già è definito sulle struct, facendo una copia 
intera, non pensavo si dovesse dichiarare.
-- 
Travel important today; Internal Revenue men arrive tomorrow.

 
Non lo vedo definito nel codice che hai postato.
Credo di non aver capito questa ultima tua frase.
Quello che sembra servirti e' un operatore di assegnamento/conversione 
definito in Struttura2, che prende come unico parametro un (const 
reference a) oggetto di tipi Struttura:
struct Struttura2
{
   int a,b,c;
   Struttura2& operator=(const Struttura& s1)
   {
     a = s1.a;
     b = s1.f[0];
     c = s1.f[1];
     return *this;
   }
};
N.B. Repetita iuvant, sperémm!
--
Roal Zanazzi

 ErgoSum ha scritto:
-- cut snip ciaps --
Repetita ... ha iuvato, dato che non so il latino 
(oltre a non sapere il c++).
Vi assicuro che il problema è proprio il c++ e non l'inglese,
mi sono molto "raffreddato" nel linguaggio in questione,
a volte dimentico anche alcune regole di mera sintassi.
Comunque mi avete chiarito tutti i dubbi, grazie.
-- 
The hardest thing in the world to understand is the income tax.
		-- Albert Einstein
Newsgroup: it.comp.lang.c++
Titolo: programmare per win95

 il C++ della Borland che funziona sotto dos. Grazie.
Per fare un programma per Win95 non č necessatio utilizzare il C++ :-))
Comunque scherzi a parte, i compilatori oggi presenti sul mercato sono
parecchi, vai dai famosi Borland e Microsoft fino ai meno conosciuti, ma
per questo non meno validi, Symantec e Watcom. 
Se intendi sviluppare con profitto conoscitivo ti consiglio di utilizzare
un compilatore MFC oriented, ossia che utilizzi le Microsoft Foundation
Classes, quindi Visual C++, Symantec o Watcom. Tieni perň presente che
Visual C++, di solito, contiene le MFC piů aggiornate rispetto ai
concorrenti.

Parsifal (
andr...@tin.it
) wrote:
: Se intendi sviluppare con profitto conoscitivo ti consiglio di utilizzare
Cosa intendi per profitto conoscitivo?

 concorrenti.
Praticamente TUTTI possono usare le MFC. Anche Borland. Watcom
consente di COMPILARE per MFC, o al limite, generare codice MFC
con il Visual Programmer.
Sviluppare con *profitto conoscitivo*?

Newsgroup: it.comp.lang.c++
Titolo: ereditarietà incrociata

vorrei fare una versione visuale del mio programma. Semplificando molto, ora
ho le seguenti classi:
class TCella : public TCandidati, public TPos;
class TCellaVisual : public TCella;
nella seconda ho implementato varie funzioni per disegnare la cella con
certe librerie (kde)...
poi ho:
struct TCelle
{
   TCella item[X][Y];
   TCelle(){...};
};
class TScacchiera
{
private:
  TCelle m_celle;
public:
  TCella* celle(int x, int y) {return &(m_celle.item[x-1][y-1]);}
  ...
}
ora vorrei fare una classe TScacchieraVisual che sia identica a TScacchiera,
ma al posto di TCelle m_celle abbia un campo TCelleVisual (che sarà analogo
a TCelle ma con TCellaVisual) a cui aggiungerò altre funzioni per la
gestione della grafica. L'unico modo che mi è venuto in mente sono i
template, ma mi sembra esagerato.

 ha scritto nel messaggio 
news:454c9867$0$7628$4faf...@reader1.news.tin.it...

Puoi usare una TCelleBase virutale pura quindi ereditare TCelle e 
TCelleVisual da questa .
Denis. 

 template, ma mi sembra esagerato.
Al di la del fatto che secondo me abusi dell'ereditarieta', i template
servono proprio a unificare somiglianze strutturali, per cui mi
sembrano lo strumento appropriato per cio' che devi fare. Il problema
semmai e' che questa totale duplicazione di struttura dovrebbe darti da
pensare circa la validita' delle tue scelte.
Ciao,
Nicola

 Al di la del fatto che secondo me abusi dell'ereditarieta'
TCandidati -> TCella -> TCellaVisual mi sembra del tutto lineare e ovvio
TCelle -> TScacchiera -> TSolver idem, non vedo abuso

 TCelle -> TScacchiera -> TSolver idem, non vedo abuso
Come minimo TCelle e' inutile (= non ha un ruolo) e TSolver non *e'*,
bensi *ha* una TScacchiera.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Consiglio x Manuale VisualC++

Salve a tutti! Devo comprare un manuale x VisualC++ 6.0. Tenendo conto che
so già programmare in c++ (sotto dos e unix), e che comunque vorrei un
prodotto che comprenda un pò anche le basi, poichè in casa non sarò
l'unicoad usarlo, qule mi consigliate?
Grazie a chi mi risponde o anche solo mi legge. Agli altri auguro il
prurito dietro le orrecchie ;)
--
Posted from 
pop06-acc.tin.it
 [212.216.176.69]
via Mailgate.ORG Server - 
http://www.mailgate.org

 wrote in
message 3.0.6.32.2000030...@popmail.libero.it...


Grazie!
--
Posted from 
pop07-acc.tin.it
 [212.216.176.70]

Newsgroup: it.comp.lang.c++
Titolo: Ethernet

Devo scirvere un programma che scriva sulla scheda di rete Ethernet di
una LAN un pacchetto cosi' come è senza imbustamento o aggiungerci
qualsiasi cosa. Che funzioni posso usare in C++. 


Alcuni anni fa usavo ethernet per trasmettere e ricevere
pacchetti di dati sfruttando le funzioni del NETBIOS.
Dimmi se il tuo sistema possiede il Netbios e ti mandero'
qualche sorgente in C.
Ciao.
Luigi

 wrote:
Si ho NetBIOS installato anche se non ho idea a che cosa serva. Magari
mi mandassi quache listato. Ma che tu sappia non esiste un modo più
diretto (ho paura che il programma poi non funzioni senza netbios)?

Newsgroup: it.comp.lang.c++
Titolo: librerie xforms

Mi dareste un indirizzo dove poter trovare queste benedette librerie
necessarie alla compilazione di una cifra di applicazioni X....
Please, rispondetemi anche in privato
Thanks, per chiunque riuscirà a trovare un sito funzionante.
PS.:  
http://bloch.phys.uwm.edu/xforms
 non va!!!
-- 
* JanCos *                  [ Host: BlastOne         (linux-box) ]
=========================================={ S I G N A T U R E }===
=  Giovanni Costagliola       Janni                              =
=                                                                =
=  Office:                    (+39)  081 / 532 34 66             =
=  Office Fax:                (+39)  081 / 532 34 67             =
=  Personal Mobile Phone:     (+39) 0347 / 11 74 139             =
=  Personal Fax (via e-mail): (+39)   06 / 233 205 937           =
=  Mail BOX:                  
jann...@technologist.com
          =
=  ------------------------------------------------------------  =
=        To decrypt your future use 1100111!!! DULMax            =
==================================================================

 Mi dareste un indirizzo dove poter trovare queste benedette librerie
ftp.cs.ruu.nl
 , /pub/XFORMS/
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it
Newsgroup: it.comp.lang.c++
Titolo: offerta LAVORO (consulente o docente)

Si cercano giovani laureati o laureandi esperti in vari settori
dell'informatica per DOCENZA e/o CONSULENZA informatica.
Inviare curriculum a
curriculum AT educazione . it 
(sostituire ad AT la @)
Comunicare il campo di maggior competenza (e quindi anche l'argomento dei
corsi per cui ci si candida per la docenza: C++, Java, WebMaster, Informatica di base,
patente europea... reti ecc...) e/o i settori in cui si vuole fare
consulenza.
Grazie in anticipo.

 wrote

Non ti conviene almeno dire DOVE ?
E' un consiglio disinteressato che ti do... se vuoi avere piu' risposte...
Tommy



le figure richieste sono per i centri di: ROMA, Milano e Palermo.

On Thu, 24 Apr 2003 15:14:36 +0200, _Mario Latens wrote:

le figure richieste sono per i centri di: ROMA, Milano e Palermo.
Newsgroup: it.comp.lang.c++
Titolo: sapere il nome di chi chiama una funzione

Salve a tutti.
Vorrei sapere se e come e' possibile sapere, da una funzione, chi l'ha
lanciata.
Insomma, diciamo che io ho
void f() {
  //...
  g();
  //...
}
void g() {
  std::string x="QUALCOSA";
  std::cout<<"g() e' stata chiamata da "<<x<<std::endl;
}
come posso fare, in g(), ad avvalorare x in modo che, lanciando f() venga
stampato a video
 
 g() e' stata chiamata da f()
(ovviamente ho detto stampare a video, ma mi basta sapere come recuperare il
dato :) )
-- 
Firma in costruzione

 
Aggiungere a g() un altro argomento? g(------,int info_utile) e da 
qualche aprte metti cout<<"Funzione chiamante "<<info_utile
Cosi' se la chiami da punti diversi capisci cosa succede.
Tipo
funzioneprova()
{
g(...,1);//
};
....
...
main
g(...,2);
Penso basti , capisco che e' una soluzione dilattantesca ma e' semplice.

 Aggiungere a g() un altro argomento?
beh, si', al momento uso questo metodo ;)
solo che comunque
(1) sono pigro, e, se possibile, vorrei poter risparmiare parametri
(2) comunque vorrei sapere se un metodo del genere esiste, in quanto
potrebbe essere applicato in modo molto piu' coerente... e comunque
(3) adesso m' e' venuta la curiosita' :)
-- 
Firma in costruzione

ZeD wrote:

potresti usare un po' di macro:
#define CALL_F(param) do { f(param, __func__) } while (false)
dove f č definita cosě:
ret_type
f(const char * caller, param_type param)
{
...
}
premetto che non so se __func__ č disponibile ovunque, su g++ lo č.
-- 
"Quanto sai di te stesso se non ti sei mai battuto?"

 
__func__ rstituisce il nome della funzione corrente? interessante non 
sapevo di questa cosa.
Da neofita mi pare una bella soluzione.

 Da neofita mi pare una bella soluzione.
c'è __func__ e anche __PRETTY_FUNCTION__, almeno in g++


 potrebbe essere applicato in modo molto piu' coerente... e comunque
IMHO è una bella violazione di incapsulamento avere una funzione che
cambia la sua semantica a seconda di chi la chiama (e non dei parametri
che le vengono passati). Ad ogni modo basta non abusarne :)
Comunque allora tanto vale giostrartela con una variabile globale.
Che so io un 
char* ___caller_func
e prima di chiamare func fai settare il chiamante.
Ma io direi che tu vuoi "vedere" lo stack di chiamata, o sbaglio?
-- 
non vincono, non vinceranno, non hanno domani
la forza è nel puntello impugnato da oneste fortissime mani

Newsgroup: it.comp.lang.c++
Titolo: Converitre un char in wchar_t

Salve,
come posso fare per convertire una stringa (char) in wchar_t??
esiste qualche comando.. con un semplice casting non ci riesco..
grazie
xoooox
--------------------------------
Inviato via 
http://usenet.libero.it

come posso fare per convertire una stringa (char) in wchar_t??
MultiByteToWideChar
-- 
ciao, hal

MultiByteToWideChar
ehm, pero' per attenersi allo standard occorrera' affidarsi alle
funzioni di wchar.h:
btowc, mbtowc e parenti....
-- 
ciao, hal
Newsgroup: it.comp.lang.c++
Titolo: DEV

Qualcuno ha percaso a casa i numeri 58-59-60 di DEV?
ci sono le prime parti del corso di C++..... ora, so di chiedere un
grossissimo favore, ma sarei in grado di ricompensare volentieri. Ho
appena iniziato a studiare il visual C++,  pultroppo il manuale che ho
acquistato (Visual C++ 6 guida completa di Apogeo), offre solo un
appendice per chi, oltre all' ambiente visual, deve impare anche le
basi del linguaggio c++. Quello che mi serve č una persona cosě
gentile da scannerizzare le prime due parti del corso (saranno 6-7
pagine in formato A4) e... farmele avere in email. ricambio in
qualsiasi modo, i numeri di DEV oltre il 60 li ho tutti.. se serve
qualcosa...
grazie............

 wrote in message
71k5psggc8evoaiqs...@4ax.com...


Newsgroup: it.comp.lang.c++
Titolo: Accesso a database

Programmando in c++ su windoes2000 quale e' la tecnologia piu' veloce per
accedere ad un database access2000
Grazie

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

   Il mio problema è abbastanza 'semplice' :  non riesco a far vedere al mio
compilatore (VC++ 6.0) le implementazioni delle funzioni di una mia classe
template se queste non le inserisco nello stesso file dove le ho dichiarate!
Attalmente ho dichiarato la mia classe template nel file MyFile.h e le
implementazioni relative nel file MyFile.cpp.
Al momento della compilazione però ho una seria di riferimenti inrisolti:
error LNK2001: unresolved external symbol "public: __thiscall
CMyListBox<class CString>::~CMyListBox<class CString>(void)"
(??1?$CMyListBox@VCString@@@@QAE@XZ)
per le varie funzioni della mia classe!
Se però la funzione la sposto nel file header non ci sono problemi
(ovviamente in testa a MyFile.cpp ho inserito #include "MyFile.h" ).
Però questo rimedio non mi piace per due motivi:
1)     questa deve essere una classe da esportare in una Dll e voglio
nascondere le implementazione.
2)    Class View del VC++ non mi visualizza più nella finestra con il
controllo ad albero (quello che permette di fare il browser tra le varie
classi del progetto) le funzioni della mia classe. Come conseguenza c'e' il
fatto che ogni volta mi devo scorrere tutto il file MyFile.h per trovare una
funzione che voglio modificare; prima bastava fare doppio click sulla
funzione interessata ed il VC ti portava direttamente alla sua
implementazione.
Una cosa stana è però che se definisco due volte la stessa funzione una
volta nel file .h e una volta nel .cpp il compilatore mi dice che la
funzione ha già un corpo; non ci capisco proprio  :<(
Vi prego aiutatemi altrimenti rimango bloccato.
Ringrazio per l'interessamento.

 wrote in message
7m7aii$e42$1...@news.flashnet.it...


Newsgroup: it.comp.lang.c++
Titolo: allocazione dinamica di strutture

Se io ho un array di strutture inizialmente vuoto e lo voglio riempire man
mano che raccolgo dei dati, dovrò usare evidentemente una new. Quello che
non so è come fare riferimento alle strutture create mediante l'indice
dell'array. In pratica la grandezza di questo array è nota solo a run time e
ad ogni utilizzo del programma esiste la possibilità di allargare l'array.
Si può fare?
grazie
--
San Vegeta from Hell
http://www.geocities.com/Area51/Dungeon/8436
(da visitare con un browser della Netscape)

Si può fare?
Usa i containers della libreria standard.
-- 
Roberto Gerola
Email: 
roge...@tin.it
WWW: 
http://space.tin.it/computer/rgerola

Roberto Gerola ha scritto nel messaggio ...

Quali sarebbero questi containers?
scusa l'ignoranza.

 Si può fare?
Si. Utilizza il tipo standard std::vector.
EMG

 Quali sarebbero questi containers?
std::vector std::list std::deque
std::stack std::queue std::priority_queue
std::map std::multimap std::set std::multiset
std::valarray
Per la documentazione: 
 
http://www.sgi.com/
 
http://www.dinkumware.com/
  Cap. 16-17 dello Stroustrup
	Mauro
Newsgroup: it.comp.lang.c++
Titolo: Servizio per Windows NT

Ho un piccolo problema ho fatto un servizio con il c++ ma, Come faccio a
sapere da codice se un user a cliccato su stop del Service Controll Manager.
Vi ringrazio per la collaborazione

 sapere da codice se un user a cliccato su stop del Service Controll Manager.
Il Service Control Manager di NT/2K ha una serie di funzioni
per il suo interfacciamento (che puo' essere anche remoto,
visto che e' un server RPC).
Nel Platform SDK c'e' tutta la documentazione (
msdn.microsoft.com
).
Questo genere di domande, comunque, non rispecchia il topic 
di questo gruppo di discussione.  Per domande che hanno come tema
prevalente Windows, rivolgiti a it.comp.programmare.win32.
Questa e' una volonta' condivisa da tutti coloro che 
leggono questo ng, quindi, per cortesia, rispettala.
Ti potra' capitare di avere un aiuto migliore in un gruppo 
che tratta il sistema in modo piu' specifico.
Grazie.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c++
Titolo: template e typedef

Adesso ho questo problema:
template<typename T>
class Slicedata {
    typedef set<Ray<T> *, ltRay<T> >  BLOBRAYS;
    BLOBRAYS rays;
    .......
   void addRay(const Ray<T> *pRay) throw (RayInsertException) {
      pair<BLOBRAYS::iterator, bool> p;
      p = this->rays.insert(pRay);
      if (!p.second)
         throw RayInsertException("Raggio non inserito nello slice")
   }
}
Quando compilo, alla riga: pair<BLOBRAYS::iterator, bool> p; ho questo errore:
error:
type/value mismatch at argument 1 in template parameter list for
'template<class _T1, class _T2> struct std::pair'
error:
expected a type, got 
'std::set<radar::rnb::Ray<T>*,radar::rnb::ltRay<T>,std::allocator<radar::rnb::Ray<T>*> 
 >::iterator'
error:
expected initializer before '<' token
Stessa capita se sostituisco et<Ray<T> *, ltRay<T> > a BLOBRAYS.
Avete qualche idea da propormi ?
Grazie,
Obelix

       pair<BLOBRAYS::iterator, bool> p;
      pair< typename BLOBRAYS::iterator, bool >  p;
 
 
http://www.google.it/search?q=typename+dependent.names
MM
Newsgroup: it.comp.lang.c++
Titolo: Visual C++, dove sbaglio ?

E' il mio 1° programma e ho non pochi problemi
Invece di creare una finestra con un menu e da questa richiamare il
dialog, voglio creare direttamente quest'ultimo.
Ci riesco, lo creo ma non riesco a chiuderlo
Secondo la mia indiscussa ignoranza è un problema di processo di
messaggi: quello riguardante la distruzione del dialog rimane in coda
a qualcos'altro.
Potete aiutarmi ?
Grazie
Vi allego il codice
.........
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
BOOL CALLBACK ProvaDlgProc(HWND,UINT,WPARAM,LPARAM);
.........
int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPreInst,LPSTR
lpszCmdLine,int nCmdShow)
{
	HWND hWnd; 
	MSG lpMsg;
 
	hWnd=CreateDialog(hInst,"Prova",(HWND)NULL,0);
	ShowWindow(hWnd,nCmdShow);
	UpdateWindow(hWnd);
	while (GetMessage(&lpMsg,hWnd,0,0))
	{
		TranslateMessage(&lpMsg);
		DispatchMessage(&lpMsg);
	}
	return lpMsg.wParam;
}
BOOL CALLBACK ProvaDlgProc(HWND hdlg,UINT messg,WPARAM wParam,LPARAM
lParam)
{
	switch (messg)
	{
	case WM_INITDIALOG:
		return FALSE;
		break;
	case WM_COMMAND:
		switch (wParam)
		{
		case IDC_BUTTON1:
			.........
			EndDialog(hdlg,TRUE);
			DestroyWindow(hdlg);
			break;
		default:
			return FALSE;
		}
		break;
		default:
			return FALSE;
	}
	return TRUE;
}
LRESULT CALLBACK WndProc(HWND hWnd,UINT messg,WPARAM wParam,LPARAM
lParam)
{
	HDC hdc;
	HWND hInst1;
	static FARPROC lpfnProvaDlgProc;
	PAINTSTRUCT ps;
	switch (messg)
	{
	case WM_CREATE:
		hInst1=((LPCREATESTRUCT) lParam)->hInstance;
		break;
	case WM_COMMAND:
		switch (wParam)
		{
		case IDC_BUTTON1:
DialogBox(hInst1,"ProvaDlgBox",hWnd,lpfnProvaDlgProc);
			InvalidateRect(hWnd,NULL,TRUE);
			UpdateWindow(hWnd);
			SendMessage(hWnd,WM_CLOSE,0,0L);
			break;
		default:
			break;
		}
		break;
		case WM_PAINT:
			hdc=BeginPaint(hWnd,&ps);
			ValidateRect(hWnd,NULL);
			EndPaint(hWnd,&ps);
			break;
		case WM_DESTROY:
			PostQuitMessage(0);
			EndDialog(hdlg,TRUE);
			break;
		default:
return(DefWindowProc(hWnd,messg,wParam,lParam));
			break;
	}
	return(0);
}

 Ci riesco, lo creo ma non riesco a chiuderlo
Devi chiedere su it.comp.programmare.win32

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

Ciao a tutti, sto cercando di apportare qualche modifica ad una piccola
applicazione open source (un filtro per un mail server) per adattarla
alle mie esigenze.
Il grosso sono già riuscito a farlo da solo, anche grazie a preziose
informazioni che ho trovato su questo ng, ma purtroppo mi fermo ancora
sulle cose più semplici, quindi scusate la banalità della domanda..
	StringCchPrintf(
		sTemp,
		MAX_PATH,
		_T("%s%d%d%d.txt"),
		szWorkDir,
		time.wYear,
		time.wMonth,
		time.wDay
		);
Questo prepara sTemp con il percorso+nome del file di log solo che
ovviamente i mesi e i giorni ad una sola cifra mi sballano il
risultato.
Come posso modificarlo per ottenere sempre 2 cifre da wMonth e wDay e
ottenere quindi un nome di file di tipo aaaammgg.txt ??

 
"%s%04d%02d%02d.txt"
Fai riferimento alla documentazione della funzione printf().
--
Roal Zanazzi

Infatti, sul reference di printf() c'e' tutto
grazie della dritta!

Newsgroup: it.comp.lang.c++
Titolo: C++ e WEBCAM

Ciao a Tutti
    ho bisogno di acquisire dati da una web cam e visualizzarli a video.
Conoscete qualche libreria che fa questo sotto windows (Visual C++)?
                  Grazie a tutti  Ferdi
-- 
Posted from 
alpin03.dsi.unifi.it
 [150.217.14.193] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Conoscete qualche libreria che fa questo sotto windows (Visual C++)?
Sei OT prova su it.comp.programmare.win32.
-- 
Marco Barisione (ICQ 84277092)

Newsgroup: it.comp.lang.c++
Titolo: Costruttore con argomenti standard

Ciao a tutti
perchè il compilatore mi dà errore quando faccio una cosa del genere:
class Obj{
   public:
      Obj(int a=0, int b=0);
};
Obj::Obj(int a=0, int b=0){
   //Implementazione
}
Se sbaglio qualcosa potete dirmi come faccio a definire e implementare un 
costruttore con argomenti standard, so che posso usare l'overloading ma nn 
riesco a capire perchè così non funziona, non dovrebbe funzionare allo 
stesso modo delle normali funzioni?
Grazie a chi risponderà 

 ha scritto nel messaggio 
news:dmaan0$e1u$1...@newsreader.mailgate.org...

Eccoti un esempio funzionante:
#include <iostream>
#include <ostream>
class Obj{
   public:
      Obj(int a=0, int b=0);
};
Obj::Obj(int a, int b){
std::cout << a << ' ' << b << '\n';
   //Implementazione
}
int main()
{
    Obj o;
}
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
The EMG Music page:         
http://www.emagsoftware.it/emgmusic
Newsgroup: it.comp.lang.c++
Titolo: Domanda !!!

Ciao a tutti 
vorrei farvi una domanda :
- come faccio a leggere una sequenza di caratteri terminata da -1 (
cioč il mio problema č come far leggero al computer il -1 )
Ciao e grazie



Il tipo char č signed, quindi -1 č un valore valido come tutti gli
altri...
Luc.

altri...
Non sempre.
La natura signed/unsigned dipende dall'implementazione.
--
Andrea Laforgia (ICQ 87230455)
http://www.geocities.com/AndreaLaforgia
"ci sono tre tipi di persone nel mondo : quelli che
 sono bravi in matematica e quelli che non lo sono."

 Il tipo char è signed
Falso; questo e' implementation dependent (ISO-IEC 14882:1998 3.9.1.1
o Stroustrup-3 pag. 72).
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it
The instructions said to use Windows 98 or better - so I installed FreeBSD.

o Stroustrup-3 pag. 72).
Ho letto... Suggerisco di usare 'signed char'.
Luc.

Newsgroup: it.comp.lang.c++
Titolo: Problema nell' inserimento dei dati

Ciao a tutto l'NG!
Ho un piccolo problema, diciamo, di INPUT/OUTPUT. Se scrivo queste
semplici righe:
#include <iostream>
void main()
{
  int n;
...........
  cout << "Inserisci un intero: ";
  cin >> n;
  cout "\nHai inserito : "<< n << endl;
  cout "cin.fail = "<< cin.fail();
..........
}
ed inserisco al posto dell' intero un carattere non numerico, per
esempio 'a', ottengo il seguente output:
Inserisci un intero: a
Hia inserito: 575
cin.fail = 2
Quando invece inserisco un intero, cin.fail() ritorna 0. Allora ho
pensato di mettere tutto dentro un ciclo del tipo:
do {
  cout << "Inserisci un intero :";
  cin >> n;
  cout << "\nHai inserito : " << n << endl;
} while (cin.fail());
Ma questo ciclo non termina più se inserisco un carattere non numerico!!
Mi trovo questo output:
Inserisci un intero : a
Hai inserito : 575
Inserisci un intero:
Hai inserito: 575
Inserisci un intero:
Hai inserito : 575
.
.
.
.
E così via all' infinito! Cambiando compilatore si ottiene sempre lo
stesso risultato con la sola differenza che il 575 viene sostituito da
altri valori.
Come posso evitare questo problema facendo in modo che il programma
continui solo se l' utente ha inserito un intero?
Mi scuso per la lunghezza del post... non so quanti hanno resistito
fino alla fine!!
Dyskolos
Sent via Deja.com
http://www.deja.com/







Per favore aspetta almeno un giorno di ripostare un messaggio che ti
sembra sia andato perduto, soprattutto se usi un server web come deja.
Grazie,
Nicola

,

OK! Non vedevo il mio messaggio tra gli altri e cosě l'ho ri-postato
pensando che non fosse andato perso!
Scusate!

Newsgroup: it.comp.lang.c++
Titolo: splash screen

Qualcuno sa dove posso trovare il codice per fare uno splash screen?

 Qualcuno sa dove posso trovare il codice per fare uno splash screen?
in modo portabile? butta un secchio d'acqua sul monitor :)

 ha scritto nel messaggio
news:9hhucm$noq$1...@pegasus.tiscalinet.it...




 ____   ___ _____ _____ _     
|  _ \ / _ \_   _|  ___| |    
| |_) | | | || | | |_  | |    
|  _ <| |_| || | |  _| | |___ 
|_| \_\\___/ |_| |_|   |_____|
 
Il Ghenio
-----
ZIO : Fun and games are over with. Anyone who dares
get in my way shall perish.
DIO ci salvi dagli ocx del Viral Basic.
-----

Newsgroup: it.comp.lang.c++
Titolo: [VC++] += con le proprietà

Ho visto che con le proprieta non posso usare il += per concatenare due
stringhe !
ES:
edit1->text += a;
Come posso risolvere il problema !? TNX

 edit1->text += a;
Nel subject hai messo [VC++] quindi credo tu ti riferisca a Visual 
C++... se fai riferimento alle librerie MFC (ma probabilmente qui e' 
OT...) mi sa che non c'e' una proprieta' "text"...?? Se mai se hai un 
controllo di classe CEdit puoi usare i metdi Set[Get]WindowText() per 
scrivere [leggere] il testo del controllo...
L'operatore += e' comunque definito per le stringhe CString.
Ciao,
Dan

> edit1->text += a;
Piů che VC++ mi pare BCB. Se cosě fosse, la soluzione č
semplice:
edit1->text = edit1->text + a;
HTH,
==========================
Stefano Frosio
http://www.esse-effe.com
==========================

non si puo fare neanche !
"Stefano Frosio" <stefanofrosi...@GRAZIEhotmail.com> ha scritto nel
messaggio news:2B30c.35483$gk.14...@news3.tin.it...


 Piů che VC++ mi pare BCB. 
A me infatti pareva un costrutto del tutto estraneo al VC++ (MFC)! :-) 
...pero' nel subject c'era scritto "[VC++]" :)

> non si puo fare neanche !
Se 'a' è definito come AnsiString (cosa che mi pareva del
tutto evidente) si può fare benissimo. Altrimenti posta
tutto il codice per chiarire meglio.


 tutto il codice per chiarire meglio.
Possibilmente non su questo newsgroup, dal momento che l'intero thread e' off-topic.
Grazie,
Nicola

 Possibilmente non su questo newsgroup, dal momento che
l'intero thread e' off-topic.
E perchč? D'accordo che esiste i.c.p.win32, ma in fondo si
sta parlando di una classe C++.


 sta parlando di una classe C++.
probabilmente su questo NG si discute solo di temi di C++ *standard* 
(non temi specifici di piattaforme; es.: parlare della classe CString => 
it.comp.programmare.win32; parlare della classe std::string => qui :-)

 sta parlando di una classe C++.
No, si sta parlando di un meccanismo assolutamente proprietario, le
properties Borland e di una classe altrettanto proprietaria,
AnsiString.
Prima di postare avresti dovuto leggere questo:
http://www.news.nic.it/manif/it.comp.lang.c++.txt
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: _beginthreadex

Buonasera a tutti,
sto cercando di fare un'esercitazione per un esame.
Ho un problema (spero sia solo di sintassi) per quanto riguarda la 
_beginthreadex.
Ora ho questo codice che funziona correttamente
static UINT WINAPI Run(LPVOID lpParam){
	cout << aValue;
     for (int j = 0; j < 10; j++){
	_tprintf(_T(" bbbb%d\n"), j);
     }
     return 0;
}
int _tmain(int argc, _TCHAR* argv[]){
	int x = 5;
     HANDLE t1 = (HANDLE)_beginthreadex(NULL,0,Run,NULL,0,NULL);	
     for (int i = 0; i < 10; i++){    	
	_tprintf(_T("aaaa%d\n"), i);
     }
     int n;
     _tscanf(_T("%d"), &n);
     return 0;	
}
La domanda è: se alla funzione Run volessi passargli un parametro(una 
stringa oppure un intero oppure tutti e due) qual è la sintassi? non 
riesco assolutamente a compilare.
Grazie
P.S. non so se serva ma sto usando visual studio 2008 e sono sotto win xp

beginthreadex
Guarda in giro la documentazione della funzione.
Sei OT. Follow-up su it.comp.programmare.win32

Ayrton ha scritto:

Non ne ho la minima idea, ma per non saper né leggere né scrivere mi 
sembra probabile che uno dei NULL che passi a _beginthreadex è il valore 
lpParam che poi arriverà a Run. Probabilmente quel puntatore può essere 
usato per passare una struttura con tutte le informazioni che vuoi.
E.

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

Ciao ragazzi!
Tutti sanno che e' possibile chiamare da Java una funzione nativa in C++.
E' possibile fare il contrario?
Mi interesserebbe sfruttare le capacita' di networking di Java da C++.
follow-up to it.comp.lang.c++
ciao
Andrea

Mi interesserebbe sfruttare le capacita' di networking di Java da C++.
Si', anche se e' costoso. Consulta l' "invocation API" in JNI.
Per il networking, da C++ in genere si fa meglio e prima ad usare una 
libreria specifica.
-- 
God is Real, unless declared Integer.
ObjectZone - 
http://space.tin.it/computer/csadun

 libreria specifica.
si puo' passare per un java bean; c'e' il bridge con active-x per
metterlo in un progetto (comunque non ho mai provato)
-- 
Greetings,
Alessandro
Pesaro, Italy
Newsgroup: it.comp.lang.c++
Titolo: C++ e visual basic

Vorrei realizzare un'applicazione con interfaccia in visual basic e il resto
in c++. E' possibile? Qualcuno può dirmi dove posso trovare della
documentazione?
Grazie a tutti e ciao
Vefran
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 documentazione?
E' possibile, in molti modi, ma gli unici modi che fanno uso 
esclusivamente di C++ standard sono i seguenti:
1) Quando da Visual Basic l'utente impartisce un comando, i dati vengono 
copiati in un file temporaneo, viene lanciato il programma scritto in 
C++ passandogli sulla riga di comando il nome di tale file temporaneo e 
il nome di un altro file temporaneo vuoto, e si pone in attesa della 
terminazione del processo. Il programma C++ legge l'input dal primo 
file, lo elabora, scrive l'output sul secondo file, e termina. Il 
programma Visual Basic, quando riprende l'esecuzione, legge il secondo 
file e distrugge entrambi i file. Si deve prevedere anche un meccanismo 
per distruggere i file temporanei che dovessero accumularsi per 
esecuzioni anomale.
2) Come prima, ma invece di usare i file temporanei si usano delle 
"pipe". Il programma C++ legge lo standard input (stdin o cin) e scrive 
lo standard output (stdout o cout). Mi pare che Visual Basic non 
supporti nativamente tale tecnica, ma lo si puo' fare accedendo alle API 
del sistema operativo.
Altre tecniche di interscambio sono dipendenti dal sistema operativo, 
per cui dovresti discuterne altrove, per esempio su 
it.comp.programmare.win32.
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila

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

salve a tutti, posto qui un questito.
Vorrei imparare C++ e VisualC, ma non so da dove partire, ossia: non sono
proprio a digiuno di programmazione, programmo in PHP e Actionscript
praticamente tutti i giorni, ma vorrei cominciare a muovermi anche in campi
al di fuori del web. Vorrei sapere se qualcuno può consigliarmi dei buoni
testi, oppure link, ecc... dai quali potrei partire. Grazie a tutti.
Emanuele
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Emanuele
Beh, si', vuoi fare un notevole salto di qualita', nonche' di difficolta'!
Io, di mio, ti consiglio "Thinking in C++" di Bruce Eckel. E' *grosso*, 
ma direi che c'e' tutto quello che puoi voler sapere di C++. Qualcuno, 
piu' su, ha suggerito un sito dove scaricare la versione in italiano - 
dai un'occhiata, era in un thread piuttosto viuuuuuulento su un tutorial :)
Per Visual C++ non ti so invece consigliare - lascio ad altri la parola.
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */