mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: Visual c++ o semplicemente c++

Mi rendo conto che la cosa può sembrare banale hai più, però vorrei sapere
se qualcuno mi può spiegare se se c'è e in che cosa consiste la differenza
tra il Visual c++ e il c++.
Grazie anticipatamente, Dario

 tra il Visual c++ e il c++.
Vedi le FAQ teste` postate.
In pratica, e` come chiedere la differenza fra un "Boeing 737" e un
"aeroplano".
Alex

 tra il Visual c++ e il c++.
Il C++ è il linguaggio standard mentre il Visual C++ ne è
un'implementazione della Microsoft (non al 100% compliant, come
d'altronde tutti i compilatori attuali).
EMG

Newsgroup: it.comp.lang.c++
Titolo: Libreria grafica

Salve,
volevo sapere se è possibile creare una libreria grafica in C++ (semplice, 
con 16 colori e magari
la possibilità di tracciare rette o pixel, mi basta per iniziare) o ci 
vuole per forza assembly.
Grazie
-- 
Luigi
--
bug windows [5] = {"95", "98", "NT", "Me", "2000"};

 vuole per forza assembly.
sicuramente non lo puoi fare in c++ standard, per cui rivolgiti al 
newsgroup del sistema che utilizzi

 vuole per forza assembly.
La libreria grafica in se la puoi anche fare in C++ standard. Quello che il C++
non ti dice pero' e come accedere allo schermo (questo dipende dal sistema
operativo).
In teoria se il sistema operativo ti da le primitive minimali come API C il
resto lo puoi fare in C++. Direi che il minimo assoluto e' avere questo:
void setPixel(
    unsigned x,
    unsigned y,
    unsigned char r,
    unsigned char g,
    unsigned char b);
anche se in realta' ha senso avere almeno anche le funzioni che ti ritornano il
colore attuale di un pixel, la dimensione in pixel dell'area dello schermo a te
accedibile etc. etc. (la prima non e' strettamente necessaria e le seconde
possono essere delle costanti).
Ovvio che il risultato non sarà certo una libreria molto efficiente.
--
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: creazione dinamica di oggetti in VC++

Qualche volenteroso saprebbe spiegarmi la differenza tra la creazione di
oggetti tramite la chiamata a CreateObject() di VC++ e la creazione di
oggetti tramite l'operatore new del C++?
Detto in altri termini, che differenza c'è tra
a) CRunTimeClass* pRunTimeClass = RUNTIME_CLASS( CMyClass );
   CObject* pObject = pRunTimeClass->CreateObject();
 e
b) CMyClass* pMyClass = new CMyClass;
(a parte la maggiore complicazione nel caso a)?
Grazie.

...


Newsgroup: it.comp.lang.c++
Titolo: amending dll\ocx version info

Hi,
i wish to change the version information (File Version) of dll\ocx's
after they have been built, via another app. Is it possible to change
the release code of dll\ocx to update the version info and if so how
would i go about this?
Cheers,
Ashley.
Sent via Deja.com 
http://www.deja.com/
Before you buy.

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").
You may have better luck with one of the following:
comp.lang.c++
comp.lang.c++.moderated
Best regards,
Nicola Musatti
Newsgroup: it.comp.lang.c++
Titolo: [MFC] Serializzazione classi derivate

Salve a tutti!
Vi espongo subito il mio problema: ho una serie di classi (CFunction,
CSegment, ...), tutte derivate da CShape, classe base astratta che a sua
volta deriva da CObject.
Per tenerli in memoria uso un container CObList che memorizza puntatori a
CShape.
Quando salvo il documento, viene richiamata la funzione CShape->Serialize
che essendo virtuale salva correttamente gli oggetti richiamando le funzioni
derivate.
Il problema nasce quando vado a leggere il file: io non so di che tipo sono
i dati memorizzati!
Per rimediare a questo problema, ho creato in CShape una variabile membro
che memorizza una sorta di ClassID ed al momento di leggere l'oggetto leggo
prima il ClassID, creo il tipo appropriato di oggetto e ne richiamo la
funzione Serialize.
Il codice funziona, ma non c'č una maniera piů elegante? Cosě devo dividere
il codice per il savataggio tra CDocument e CShape... dato che deve essere
facilmente espandibile mi scoccia andare a modificare due classi!
Thanks in advance
Kojak
vrke...@hotmail.com
http://space.tin.it/io/viscorci

 wrote in message 87bl10$i0v$1...@nslave2.tin.it...
Meglio forse discuterne in it.comp.programmare.win32, visto che
la questione e` specifica della piattaforma.  Comunque, brevemente:
Purche` la tua classe abbia usato le apposite macro nella sua
definizione (cioe` DECLARE_DYNCREATE e IMPLEMENT_DYNCREATE)
e abbia il ctor di default (accessibile), il framework MFC supporta
direttamente cio` che intendi fare.
L'MSDN spiega la cosa in buon dettaglio.  Sempre riassumendo:
si usa Serialize solo quando si sa gia` (compile-time) la classe
di oggetto che si sta de-serializzando; se no, si usano invece gli
appositi operator>> e operator<< di CArchive.  E` un approccio
abbastanza semplice e usabile, che si potrebbe utilmente copiare
per eventuali propri framework di persistenza (e` per questo che
mi pare meriti parlarne qui... come _esempio_ in uno specifico
framework di un idioma/pattern generale usabile in C++).
Ti prego di usare it.comp.programmare.win32 per eventuali
seguiti della discussione.
Alex

E' un po' che non uso la serializzazione di MFC ma se non mi sbaglio c'è un
meccanismo incorporato che fa quello che chiedi.
In sostanza è proprio quello un motivo per derivare da Cobject e dichiarare
le classi con DYNCREATE (oltre al dispatch dei messaggi).
Se sai che andrai a leggere qualcosa derivato da CShape fai una serialize in
lettura e il meccanismo si occuperà di creare l'oggetto giusto e di dargli
lo stato che leggerà dal file. C'è un meccanismo di mappaggio che permette
di memorizzare su file il tipo esatto dell'oggetto; è una sorta di rtti
utilizzato per la serializzazione.
C'è ampia documentazione nell'help.
Se non mi sbaglio.
---
Livio Cavallo
Newsgroup: it.comp.lang.c++
Titolo: Novello 2

Ciao a tutti,
Walkie Talkie mi ha detto che per relazionarmi con un database (Mysql nel
mio caso), programmando in C++ posso usare le API. Siccome sono agli inizi
mi sapete spiegare cosa sono le API o per lo meno consigliarmi un libro (non
in rete, mi piace la carta) in cui sono spiegate in maniera esauriente?
Scusate l'ignoranza,
Marco.
--
Age quod agis

mio caso), programmando in C++ posso usare le API. 
API sta per Application Programming Interface, ovvero funzioni che
forniscono un'interfaccia di programmazione.
Non conosco il modo di accedere a MySQL, pero' posso dirti che per
Interbase, per esempio, esiste tutto un set di API che, sotto Windows,
fa riferimento ad una DLL.  Si usano queste per accedere da codice
C/C++ a database Interbase.
--
Walkie...@Libero.It (ICQ# 8143647)

 ha scritto nel messaggio
news:AwcQ6.7633$Uo3.2...@news6.giganews.com...


Newsgroup: it.comp.lang.c++
Titolo: Disegnare GUI

Salve,
quale ambiente di sviluppo mi suggerite per disegnare la GUI di
una mia applicazione? Ho scaricato Dev-C++, ma non fa niente
di simile credo...
Grazie
Misirion


Misirion.............misirion...........
T7 Monte Sant'Angelo?!?


"Vi or emacs? .....OpenOffice! =)"
 

...

Newsgroup: it.comp.lang.c++
Titolo: graffe in w95

Heylà
Dico sapete come si possono ottenere le parentesi graffe su una tastiera
italiana standard,
mi servono in c++.
Se seleziono la tastiera "italiana 141" le graffe compaiono con la
combinazione di tast alt+7 e alt+8 ma così facendo non ho più la chicciola
@!!
Che posso fà?
dgiu...@iol.it
thanx



i casi sono due, o compri una tastiera americana (ottimo acquisto) o
ti accontenti di alt-123 e alt-125 (se ben ricordo). 
## Marco Mazza
## Undergraduate Student of Computer Science
## University of Bologna, Italy
## E-Mail(1): 
mir0...@MO.NETtuno.it
## E-Mail(2): 
MarM...@CS.UniBO.it
 
## Home: 
www.cs.unibo.it/~marmazza

ti accontenti di alt-123 e alt-125 (se ben ricordo). 
Il terzo caso č premere:
<Alt> + <Maiusc> + ]
oppure
<Alt> + <Maiusc> + [
Cordialmente,
Gianni Rondinini, programmer and designer at Pierre s.n.c.
e-mail: mailto:
pie...@mail.asianet.it
homepage: 
http://www.geocities.com/Eureka/Plaza/7153
Red Hat Linux user since 9/25/97
Windows NT Server user since 9/19/97
e-mail: mailto:
pie...@mail.asianet.it

La risposta è molto semplice.
Basta considerare la seguenza ascii 123 e 125.
Con Alt-123 = {.
Con Alt-125 = }.
Distinti saluti.
Prof. Felicella M.

 @!!
Se non ricordo male la tastiera italiana 141 o 142 (ora non sono a casa e
quindi non posso verificare), la chiocciola la sposta su ALTgr + Q, mentre
con Alt gr +7,8,9,0 dovrei ottenere rispettivamente {,[,],}.
Appena vado a casa controllo e ti mando il layout corretto per email.
cheers, Fabrizio
-----------------------------------------------------------------------
      Fabrizio Fioravanti - Ph.D. Student in Computer Science
-----------------------------------------------------------------------
University of Florence            Tel. +39-55-4796425
Faculty of Engineering            Fax. +39-55-4796363
Dept. of Systems and Informatic   Cell. 
+39-338-6245510
Via S. Marta, 3 - I 50139         e-mail: 
fior...@aguirre.ing.unifi.it
Florence - Italy                          
fiora...@computer.org
-----------------------------------------------------------------------
Newsgroup: it.comp.lang.c++
Titolo: [OT] MSDN Originale Vendesi

Vendo i seguenti numeri di MSDN Library Originali:
-MSDN April 2001 (3 CDs) 60.000 lire (ULTIMO NUMERO USCITO!!!)
-MSDN January 2001 (3 CDs) 40.000 lire
Inoltre questi prodotti: (se associati a un numero di MSDN Library a metà
prezzo!).
-Component Source MSDN 01/2001 Edition (1 CD) 20.000 lire (ULTIMO NUMERO
USCITO!!!)
-MS SQL Server 7.0 Kit di valutazione (1 CD) 16.000 lire
-MS Windows DNA (1 CD) 16.000 lire
-MS Internet Business Development Kit (4 CDs) 12.000
-MSDN V.3 Sampler CD (1 CD) 12.000 lire
-MS TechNet Sample (1 CD) 6.000 lire
-MS Year 2000 Resource CD (1CD)  2.000 lire
Spese di spedizione a carico del destinatario.
Scrivete a 
fran...@yahoo.it

 prezzo!).
Oramai e' un classico. Una volta ogni tanto (anzi, poco) passa un messaggio do
si offrono in vendita materiali vari facentio parte di una o dell'altra
distribuzione MSDN.
Vi ricordo che:
1) I contenuti di MSDN non sono vendibili separatamente, solo l'abbonamento a
MSDN in se e' vendibile, dietro opportuna comunicazione a MS per il cambio del
destinatario dell'abbonamento stesso.
2) Il tentativo di vendere tali materiali e' illegale.
3) Acquistare tali materiali e' illegale. Si rischia come minimo una imputazione
per incauto acquisto (se non per ricettazione o per pirateria informatica).
4) questi messaggi sono comunque OT su tutti i NG nei quali solgono apparire.
Qualcuno potrebbe essere interessato al sito 
www.gdf.it
--
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: richiesta di aiuto

ho abbastanza esperienza nel campo del C
vorrei imparare ad usare il c++ chiedo che qualcuno possa aiutarmi
segnalandomi siti oppure inviandomi dei listati con i commenti in modo
che possa imparare la programmazione ad oggetti.
Ringrazio chiunque mi dia una mano

Ciao,
    trovi il tutorial in Italiano di Paolo Marotta sul C++ (aggiornato al
nuovo standard) nell'area dedicata al C/C++ di 
www.programmazione.it
A presto :-)
Marco Abis
http://www.programmazione.it
  il sito Italiano di riferimento per IT
ab...@programmazione.it

 che possa imparare la programmazione ad oggetti.
Prendi il libro "Thinking in C++" di Bruce Eckel gratuito all'indirizzo
http://www.BruceEckel.com
.
EMG

Newsgroup: it.comp.lang.c++
Titolo: Internet Explorer Toolbar..

Salve, dovrei realizzare una toolbar per Internet Explorer tipo quella di
Google, una tool band come la chiama la Microsoft.. Ho provato a fare
qualcosa con le ATL e una toolbar è spuntata fuori, ma ora non so come
metterci quello che voglio io dentro..
Mi date una mano??
Grazie
Andrea


Questo NG non si occupa di particolari implementazioni/piattaforme
rivolgiti al NG   it.comp.programmare.win32
Ciao
Gaetano.
-- 
Posted from 
nts-03.mm.eutelsat.org
 [194.214.173.15] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c++
Titolo: Classi

Scusatemi in anticipo se la domanda che stņ per farvi potrą sembrarvi
stupida, ma mi dareste una grande mano rispondendomi.
Sono uno studente universitario e devo preparare un programma in C++, solo
che non riesco a capire come funziona una classe sotto questo linguaggio,
potreste spiegarmi:
- la sua sintassi;
- come fare a richiamare ed utilizzare i vari elementi della classe.
Tenete conto che a me serve per rappresentare un polinomio generico di grado
massimo uguale a 4, su cui poi si baserą il programma.
Vi ringrazio anticipatamente.
Ciao.

Ti rimando ad un mio tutorial, lo trovi su
http://www.geocities.com/SiliconValley/Foothills/6336/
Li troverai le risposte che cerchi.
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------

Newsgroup: it.comp.lang.c++
Titolo: Borland c++ builder 5.0 enterprise

Qualcuno sa indicarmi qualche sito dove è possibile scaricare questa
versione?
Grazie in anticipo.

http://195.94.179.43
Ciao,
Nicola

 Nicola
Newsgroup: it.comp.lang.c++
Titolo: Nuovo Progetto: Un python come Visual Basic

Salve a tutti,
    stiamo realizzando un RAD per Python in C++ & Visual Basic. Python è un
linguaggio molto più completo di Visual Basic e affidabile come C++ ma anche
facile da usare. Si possono creare applicazioni commerciali con finestre ed
oggetti come in Visual basic senza costi di licenza, e di uso regalati alla
mamma Microsoft.
L'intenzione è  di utilizzare gli strumenti di "Mamma Microzozz" per creare
un ambiente RAD contro Microzozz!!
Per qualsiasi chiarimento 
www.python.org
 Chiunque è interessato al progetto
mi contatti via email o via Yahoo messenger. Servono abili programmatori di
Visual Basic & C++.
A presto
Michelangelo
-- 
##########################
# Yahoo Messenger: ShineMiku
# Ti aspetto per chiccherare su
# Programmazione, Tecnologie
# Collaborazioni di Lavoro
##########################
-- 
##########################
# Yahoo Messenger: ShineMiku
# Ti aspetto per chiccherare su
# Programmazione, Tecnologie
# Collaborazioni di Lavoro
##########################

 contro Microzozz
Frustrati. 
-- 
Luc

 Frustrati.
Grazie Luc non te lo auguro!

un ambiente RAD contro Microzozz!!
E perche' farsi del male scrivendolo in VisualBasic ?
Non sarebbe meglio scriverlo, chesso', in python visto che
dici che e' un linguaggio molto piu' completo ?
Andrea
PS: Ci vorrebbe un boa constructor per strangolare tutti
    questi OT!!!

     stiamo realizzando un RAD per Python in C++ & Visual Basic. Python č
un
E chi se ne frega...
Scusa ma... non trovo parole migliori :((

...

Io invece lo vedo come un passo avanti: in fondo gli IDE per Python
saranno un migliaio, contro il milione di portali sulla programmazione
;-)
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Dimensione bitmap senza aprire il file

Usa LoadBitmap

 semplice?
Non č poi cosě complicato. Ad esempio:
int GetBmpHeight( HBITMAP hBmp )
{
    BITMAP bm;
    GetObject( hBmp, sizeof( BITMAP ), ( LPSTR ) &bm );
    return bm.bmHeight;
}
EMG

    
www.cityline.it/personal/fogazzid/

"c:\paperino\pippo.bmp"), cosa che invece non fa.
Intanto GetObject vuole l'handle del bm, non l'header, che č
semplicemente l'intestazione, e comunque non ha alcun senso usare
GetObject per ottenere le dimensioni da passare a LoadImage, perchč
non ce n'č bisogno. Basta impostarle entrambe a zero quando la chiami:
LoadImage(NULL, "c:\\paperino\\pippo.bmp", IMAGE_BITMAP, 0, 0,
LR_LOADFROMFILE);
Ricorda di usare la "\\" e non "\", e non specificare il flag
LR_DEFAULTSIZE, perchč, a differenza di quanto potrebbe suggerire il
nome, non utilizza le dimensioni del bm, ma quelle standard di sistema
per icone e cursori.

 "c:\paperino\pippo.bmp"), cosa che invece non fa.
La funzione che devi chiamare per ottenere l'handle del bitmap č
LoadBitmap().
EMG

 LoadBitmap non Xmette di caricare bitmap da file .bmp . Ho gia risolto comunque.
Hai ragione, scusa. Solo da risorsa.
EMG

Newsgroup: it.comp.lang.c++
Titolo: AIUTO C++

Come reperire un compilatore c++
ome farlo funzionare??
Aiutatemi.

...

Newsgroup: it.comp.lang.c++
Titolo: Mi conviene imparare il C++? Un Consiglio.

Sono uno studente della facoltà di Ingegneria e ho sostenuto da 
poco l'esame di fondamenti di informatica (l'unico esame di inf. del mio 
corso); per superare questo esame ho dovuto imparare il Pascal e i 
fondamenti del c++. Ora, essendo un appassionato di computers, vorrei 
imparare un linguaggio di programmazione per scrivere piccoli programmi 
di utilità a scopo personale (chissà che un giorno non diventi così bravo 
da pubblicarne qualcuno) e mi chiedevo se conviene approfondire le mie 
conoscenze sul c++ oppure passare ad un altro linguaggio. So che il c++ è 
un linguaggio molto potente e versatile, ma sarà adatto al mio scopo, 
oppure esistono altri linguaggi più adeguati? Avevo pensato di passare al 
Visual Basic, perchè mi hanno detto che per scrivere applicazioni sotto 
Windows è il massimo. Il c++ permette di scrivere programmi per Win (fino 
a ora ho usato il Borland Turbo C++ 3.0)? Non è eccessivamnete "vasto" 
come linguaggio per i miei scopi non troppo ambiziosi? Che ne dite della 
scelta del Visual Basic?
Vi sarei grato se potreste darmi un consiglio.
Grazie anticipatamente.
Saluti
-- 
Mandate eventuali risposte anche sulla mia e-mail. Grazie.
Ernesto Mancini
Gruppo M, allestimenti e scenografie
e-mail: 
grup...@iol.it

di utilità a scopo personale [..].
Se vuoi essere produttivo senz'altro usa i RAD che vanno per la
maggiore come il VB. Se vuoi divertirti usa altri linguaggi come il
C/C++ e magari senza quei compilatori RAD dell'ultima generazione.
Sara' anche piu' facile usarli, ma per me dopo la sana fatica di un
compilatore classico tenderai a ripudiare a priori i RAD. Anche Java
potrebbe essere una scelta interessante, anche se a me non piace molto
come linguaggio. Delphi non l'ho mai usato ma come soddisfazione
personale dovrebbe essere una via di mezzo tra il VB e C++
(Elimina il papero per le repliche)

come linguaggio per i miei scopi non troppo ambiziosi? Che ne dite della 
anche qui il "non vasto" sara` riferito a C e non al C++, che non e`
affatto semplice
--
[ranger, email: 
ran...@queen.it
]
ICQ# 6585343
http://members.tripod.com/%7Eranger_rg/

Newsgroup: it.comp.lang.c++
Titolo: CREAZIONE DEL NG it.comp.giochi.sviluppo


Newsgroup: it.comp.lang.c++
Titolo: |||||||| Help With Strings |||||

Hi:
I have to write a program that counts and prints the number of lines, words,
and letter frequencies in its input. For Example, the input:
Two roads diverged in a yellow wood,
And sorry I could not travel both
And be one traveler, long I stood
And looked down one as far as I could
To where it bent in the undergrowth;
would produce the output:
A=10    B=3     C=2     D=13    E=15    F=1     G=3     H=4      I=7
J=0
K=1     L=8     M=0     N=12    O=20    P=0     Q=0     R=11    S=5     T=11
U=3     V=3     W=6     X=0     Y=2     Z=0
Number of lines: 5
Number of words: 37
Here's what I've done thus far. I cannot get the number of lines and words
to work correctly. The letter count is fine, though.
#include <iostream.h>
void main()
{    int x, lines=0, words=0;
     char a;
     int data[26]={0};
     while (cin>>a)
     {    if (a>= 'a' && a <= 'z')
           a+=-32;     // capitalizes char a
           if (a >= 'A' && a <= 'Z')
                   data[int(a)-65]++;  // stores A in data[0]
           if (a==' ')                     // all the way to Z in data [25]
                words++;
          if (a=='\n')
          {    words++;
                lines++;
          }
     }
     cout<<"\n\n";
     for (x=0;x<26;x++)
          cout<<char(x+65)<<"="<<data[x]<<"\t";
     cout<<"\nNumber of lines: "<<lines<<endl;
     cout<<"\nNumber of words: "<<words<<endl;
  }

 wrote in message
news:I_dL6.9592$JI5.7...@weber.videotron.net...


Newsgroup: it.comp.lang.c++
Titolo: Connessione DB

                    Salve volevo sviluppare una piccola applicazione che interroga un DB!
Il problema è che non sò come mi possa interfacciare al db (MySQL o Access)
Qualcuno sà indicarmi la strada? (magari fornendo esempi di codice)
Grazie
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Qualcuno sà indicarmi la strada? (magari fornendo esempi di codice)
Visto che nessuno ti ha ancora risposto lo faro io.
Ti consiglio di rivolgerti direttamente ad un newsgroup specializzato 
per il sistema operativo per il quale intendi sviluppare l'applicazione 
poiché la tua domanda non è pertinente con i temi di questo NG che sono 
il C++ standard mentre per la gestione dei DB devi usare tecnologie 
differenti a seconda dei casi.
Prova eventualmente su:
it.comp.programmare.win32 o
it.comp.os.linux.development
Inoltre i siti di Microsoft e Inprise gestiscono newsgroup (in inglese) 
specifici per i loro prodotti.
Newsgroup: it.comp.lang.c++
Titolo: Una lettura istruttiva, ovvero il CERT che ci sta a fare?

Ciao a tutti,
Recentemente mi sono imbattuto in questo: 
http://gcc.gnu.org/ml/gcc/2008-04/threads.html#00115
Fondamentalmente il CERT, organismo pubblico americano di raccolta e
diffusione di informazioni legate alla sicurezza dei computer, ha
emesso una Vulnerability Note rivolta a gcc per un'ottimizzazione che
a quanto pare fanno quasi tutti i compilatori C/C++.
Ciao,
Nicola


Se capisco bene il problema non č del gcc, ma di molti programmi che 
fanno un'assunzione che non possono fare. L'esempio č:
  char *buf;
  int len;
/* gcc will assume that buf+len >= buf.
  * As a result, code that performs length checks similar to the
  * following:
  */
       len = 1<<30;
       [...]
       if(buf+len < buf)  /* length check */
         [...overflow occurred...]
E.

          [...overflow occurred...]
Esatto. Dal momento che len e' un intero il comportamento in caso di
overflow e' indefinito. I compilatori come gcc e VC++ sfruttano questa
situazione per eliminare la condizione ed il codice che controlla.
Ciao,
Nicola

 situazione per eliminare la condizione ed il codice che controlla.
Addirittura mi pare di capire che il valore di buf-1 č indefinito... č cosě?
E.

 Addirittura mi pare di capire che il valore di buf-1 è indefinito... è così?
Dato qualcosa come
char buf[42];
si, buf - 1 e' indefinito; in C e C++ non esiste la posizione "subito
prima dell'inizio", mentre esiste la posizione "subito dopo la fine".
Ovviamente nel caso di
char * p = &(buf + 24);
p - 1 e' perfettamente definito.
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: Leggere la data di creazione di un cd-rom

Ciao a tutti, volevo sapere se esiste qualche API per leggere la data e ora
di creazione di un cd-rom.
Grazie.
--
Stefano Tempesta
PC Service Software
http://www.tempesta.cc.st
ste...@pcs-online.it

Che io sappia non è prorpio possibile, infatti se fai dir non viene indicata
nessuna data.
___________________________________
Fiorini Pier Luigi
http://members.xoom.it/fiorinisoft
plfi...@tiscalinet.it

Pero' i programmi di masterizzazione consentono di impostare la data e l'ora
di creazione del cd, quindi se e' possibile impostare presumo che si possa
anche leggere...


Newsgroup: it.comp.lang.c++
Titolo: Tbitmap C++ Builder

Io devo plottare su un oggetto TBitmap una serie di pixel. Per
visualizzarli uso poi un oggetto TImage (Image1->Picture->Bitmap=Bitmap1).
Il problema è che se la scheda video è settata per 64K di colori, i livelli
(di grigio) sono diversi rispetto ai valori che imposto (ci sono 32 livelli
anzichè 255). Se invece il scheda è si 16M di colori è tutto OK. Come posso
risolvere questo problema?

Prova intanto a visitare questo sito :
http://webster.cs.ucr.edu/Page_asm/ArtofAssembly/ArtofAsm.html
~~~~~~~~~~~~~~~~~
MAINARDI Gianfranco
Burago di Molgora (MI)
Italia
Email : 
main...@rete039.it
ICQ# number : 31334916
~~~~~~~~~~~~~~~~~

Scusa ,ma ho sbagliato thread .


~~~~~~~~~~~~~~~~~

Newsgroup: it.comp.lang.c++
Titolo: Uso delle stringhe

Salve a tutti! Esiste da qualche parte dell'universo un tutorial, o
qualcos'altro che spieghi ad un ignorante la classe std::string? E' molto
tempo che programmo con il c++ pero' con le stringhe fino ad ora non ci ho
mai lavorato seriamente. Ho sempre usato le stringhe C e funzioncine varie
tipo strcpy e compagnia bella pero' vorrei upgradarmi in c++ anche sulle
stringhe che sono da sempre le mie pecore nere :(
Grazie in anticipo a tutti quelli che mi aiuteranno.
HellHound - uccidi CERBERO per l'indirizzo

 pecore nere :(
http://www.bruceeckel.com
, scarica "Thinking in C++ volume 2" e leggi...
:-)
-- 
Andrea Bergia - studente              Linux Registered User #281550
Newsgroup: it.comp.lang.c++
Titolo: Un piccolo aiutino...please :)

Avrei bisogno di un piccolo aiutino, visto ke nemmeno il mio
insegnante è in grado di risolvere quanto sto per presentarvi.
Oggi mi è stato dato un listato che mostrava l'uso dell'ereditarietà
multipla, solo che questo programma presentava anche una (per noi)
novità, ossia le funzioni virtual. Così, il prof. ci ha detto di
eliminare tale specificatore. Tuttavia, eliminandolo, si verifica un
errore di runtime. 
Intanto ecco il listato: (scusate se è un po lungo):
#include <iostream.h>
class cavallo
{
	int eta;
public:
	cavallo() {cout << "Chiamata al costruttore di cavallo\n";}
	virtual ~cavallo() {cout << "Chiamata al distruttore di
cavallo\n";}
	virtual void nitrito()const {cout << "Nitrisce\n";}
};
class uccello
{
	int peso;
public:
	uccello(){cout<<"Chiamata al costruttore di uccello\n";}
	virtual ~uccello(){cout<<"Chiama al distruttore di
uccello\n";}
	virtual void cinguettio()const {cout<<"Cinguetta\n";}
	virtual void vola()const {cout<<"Io volo\n";}
};
class pegaso:public cavallo, public uccello
{
public:
	void cinguettio()const {nitrito();}
	pegaso(){cout<<"Chiamata al costruttore di pegaso\n";}
	~pegaso(){cout<<"Chiamata al distruttore di pegaso\n";}
};
const int num=2;
void main()
{
	cavallo *scuderia[num];
	uccello *voliera[num];
	cavallo *pcavallo;
	uccello *puccello;
	int scelta, i;
	for (i=0;i<num;i++)
	{
		cout << "\n(1)Cavallo (2)Pegaso:\t";
		cin >> scelta;
		if (scelta==2) 
			pcavallo=new pegaso;
		else
			pcavallo=new cavallo;
		scuderia[i]=pcavallo;
	}
	for (i=0;i<num;i++)
	{
		cout << "\n(1)Uccello (2)Pegaso:\t";
		cin >> scelta;
		if (scelta==2)
			puccello=new pegaso;
		else
			puccello=new uccello;
		voliera[i]=puccello;
	}
	cout << "\n";
	for(i=0;i<num;i++)
	{
		cout << "Scuderia [" << i <<"]:\t";
		scuderia[i]->nitrito();
		delete scuderia[i];
	}
	for(i=0;i<num;i++)
	{
		cout << "Voliera [" << i <<"]:\t";
		voliera[i]->vola();
		delete voliera[i];
	}
}
Questa è la versione funzionante del programma, 
provate ad eliminare ogni specificatore virutal. Il compilatore non
restituirà errori. Tuttavia se in "voliera" (quindi quando chiede
1-uccello 2--pegaso) provo ad inserire un "pegaso" mi da un'errore in
corrispondenza di "delete scuderia[i]", cosa che non fa se lascio lo
specificatore virutal.
Scusate di nuovo la lunghezza del mio post, ma mi siete rimasti solo
voi in grado di darmi una risposta.
Ciao
Gilmour
--
Icq: 32405502
Se le persone che parlano male di me, sapessero quello che dico io di loro, parlerebbero peggio.
Jim Morrison
Clicca sul link per contattarmi direttamente da icq
http://msg.mirabilis.com/scripts/contact.dll?msgto=32405502

 Gilmour
Saluti
Fabio Lopiano
-- 
Posted from 
flopiano.mm.eutelsat.org
 [194.214.173.28] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 e Piero si incontrarono nella radura di
Sherwood (it.comp.lang.c++), dicendo:
Ti ringrazio... mi hai chiarito le idee, 
cosa che non è riuscito a fare il mio prof...
Perché non vieni tu posto suo? :P
Sicuramente ne guadagnerebbe tutto il corso

Newsgroup: it.comp.lang.c++
Titolo: Aiuto

Allora vorrei chiedervi una cosa io un problema è questo:
io ho un file nomefile.h il quale vi è dentro solo char a[10];
ok poi vi ho il file main.cpp che richiama tale file io dal main
faccio un inserimento 
cou<<" qualcosa"; 
cin>>a;
io vorrei che dopo che spengo il programma  il valore di a rimanesse
quello che io ho dato in modo tale che quando rifaccio ripartire il
compilatore il valore di a è quello assunto in precedenza.
Mi sapete dire come faccio  a far si che ha  A  rimanga cambiata?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Mi sapete dire come faccio  a far si che ha  A  rimanga cambiata?
L'unico metodo che mi viene in mente è l'utilizzo di file
-- 
Lawrence "Rhymes" Oluyede (
rhy...@myself.com
)
"Per cambiare, per diventare un'altra
cosa dobbiamo prima sapere cosa siamo"
(Bruce Lee)

Newsgroup: it.comp.lang.c++
Titolo: messaggio per sysxar

Grazie per Sysxar
scusami sono alle prime armi con il c++
un suggerimento.
Il programma che mi hai suggerito lo devo far partire come "source c" o con
le MFC ??
perchè come "source c++" mi da un errore "identificatore non dichiarato
HWND"

...


Newsgroup: it.comp.lang.c++
Titolo: Due semplici domande...

Due piccole domande:
- Come posso ottenere l' icona che l'Explorer associa ad un tipo di
file?
- Come posso convertire un'icona in una bitmap o in una dib?
				Grazie, Shin

- Come posso convertire un'icona in una bitmap o in una dib?
non so se esiste un metodo piu' diretto pero' un sistema potrebbe
essere quello di creare il bitmap e poi di disegnarci dentro l'icona
con una DrawIcon().
Gianpaolo Bottin
- Live Long and Prosper -
Newsgroup: it.comp.lang.c++
Titolo: sviluppo in sestine

dopo aver applicato la formula delle combinazioni semplici per conoscere il 
numero di tali combinazioni ,come posso fare per sviluppare queste 
combinazioni e stamparle sul video?
potete darmi anche un piccolo aiuto su come procedere per trovare 
l'algoritmo e implementarlo in c++ ?
Ringrazio anticipatamente.
rocco 

E' un compito a casa o speri di vincere al super enalotto col metodo
scentifico?
Ciao,
Nicola

 scentifico?
LOL
-- 
Pirata: "Ho parlato con scimmie piů educate di te."
GT: "Sono contento che tu sia andato alla riunione di famiglia."
Newsgroup: it.comp.lang.c++
Titolo: Active-X SDK (grafica)

(contemporaneamente sullo schermo Xo'), qualche sprite se possibile, niente di
Sospetto che quello che intendevano suggerirti non fosse l'ActiveX
ma il DirectX (che, in effetti, si occupa di grafica, oltre che di suoni
eccetera).  Comunque, non e` in effetti indispensabile, puoi fare
grafica con metodi "nativi" di Windows; basta creare una finestra,
gestire il messaggio WM_PAINT, e in esso dipingere tutto quello
che desideri con le varie API atte all'uopo.  Il compilatore C++ che
usi (non ho presente quale sia) ti fornisce forse un supporto in
termini di un "framework" che svolge per conto tuo compiti banali
e ripetitivi come creazione di finestra, istradamento messaggi,
eccetera; ad esempio lo fanno (in modi diversi) MFC e ATL che
sono acclusi a Visual C++, OWL e VCL che accompagnano
invece i prodotti Inprise, ecc ecc; esistono inoltre framework
gratuiti e portabili (vedi ad esempi 
www.relisoft.com
 per uno molto
semplice che, viste le tue limitate intenzioni, potrebbe bastarti).
Alex

orientato ad internet mentre di grafica non c'era l'ombra.
Credo che tu abbia confuso ActiveX con DirectX...;)))
Cerca il DirectX-Sdk 6.0...;)
Ciao...

Non uso alcun compilatore c purtroppo. Io non programmo in c.
Questo gruppo e` per discussioni relative al linguaggio C++ (c'e`
un altro gruppo, it.comp.lang.c, per quelle relative al linguaggio C,
e altri ancora per Java, Visual Basic, Delphi, ecc ecc).
Alex

Newsgroup: it.comp.lang.c++
Titolo: sbloccare una operazione di lettura da uno stream

Salve a tutti
leggendo da uno stream di ingresso (proveniente da una stampa via usb)
non ho modo di ottenere il Eof dallo stream.
Per leggere dallo stream mi avvalgo della funzione read che segue:
#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count);
la funzione infatti rimane bloccata in lettura sino a che non riceve
dei dati in ingresso dallo stream. Non venendomi inviato alcun
carattere di Eof ho bisogno di riconoscere la fine di un file e
l'inizio di un altro.
Si è pensato di far partire un processo che dome un certo time-out si
risveglio e in un qualche modo va a sbloccare la read..
Ma come??? esiste un modo per interrompere la read? 
grazie mille
ilcario && ilmaina


premesso che non si tratta di una domanda di c++, puoi fare una cosa del
tipo
<imposto un handler per SIGALRM>
alarm(5);
res=read(...);
alarm(0);
if(res==-1){ // la read è stata sbloccata }
else { }
in questo modo se la read resta bloccata per 5 secondi, scatta l'alarm e
viene chiamata la funzione handler, terminata la quale il programma può
proseguire
per ulteriori informazioni ti consiglio un bel man alarm
--
Pela

 ssize_t read(int fd, void *buf, size_t count);
Il tuo programma fa uso di funzioni che non fanno parte del linguaggio C 
standard, ma sono caratteristiche di un particolare sistema operativo. 
Dovresti quindi rivolgerti al gruppo di discussione relativo (se lavori 
sotto GNU/Linux, il gruppo in questione e` it.comp.os.linux.development).
Newsgroup: it.comp.lang.c++
Titolo: Tipo restituito nelle operazioni.

Non riesco a capire questo semplice programma:
#include <iostream>
using namespace std;
int main ()
{
     unsigned int u = 1;
     int i = -1;
     float f;
     f = i * u;
     cout << f << endl;
     f = u * i;
     cout << f << endl;
     f = static_cast<int> (u) * i;
     cout << f << endl;
     f = static_cast<int> (u * i);
     cout << f << endl;
     return 0;
}
Output:
4.29497e +009
4.29497e +009
-1
-1
Perchè eseguendo una moltiplicazione tra una variabile unsigned int ed
una int (oppure int * unsigned int) il valore restituito è unsigned int
e non int? Perchè se eseguo una moltiplicazione tra un unsigned int ed
un float (oppure un float * un unsigned int) il valore restituito è un
float e non un unsigned int? Che cos'è che determina il valore
restituito da una moltiplicazione?

 writes:

Tu esegui una moltiplicazione tra int ed unsigned int; il risultato e'
di tipo unsigned int e non int perche' queste sono le regole del
linguaggio :-).  Il risultato e' 0xFFFF...; per una parola di 32 bits,
0xFFFFFFFF sarebbe 4294967295: e questo e' quello che ottieni.
-- 
Maurizio Loreti                      
http://wwwcdf.pd.infn.it/~loreti/mlo.html
Un. of Padova, Dept. of Physics - Padova, Italy          
lor...@padova.infn.it

 Che cos'è che determina il valore restituito da una moltiplicazione?
Una serie di precise regole imposte dal linguaggio.
EMG
Newsgroup: it.comp.lang.c++
Titolo: Cambiare le dimensioni di un campo TEXT di un DB Access

Come si possono cambiare le dimensioni di un campo TEXT di un database
Access da programma (C++, VB, VBA, SQL) ?
Questo problema sembra di non facile soluzione specialmente se non si
desidera eliminare il vecchio campo (diciamo una specie di resize). Chi mi
puo' aiutare?
Grazie a quanti contribuiranno a risolvere questo undocumented question.


wrote:

Un consiglio per il futuro:
se usi un database .mdb conviene specificare una lunghezza MOLTO più
grande di quanto serva al momento per i campi testo. JET memorizza
solo i bytes necessari, quindi non c'è spreco di spazio e ti eviti
questi problemi in seguito.
Per intenderci, quando il cliente spergiura che il campo va lungo 30 e
non servirà mai di più tu lo definisci lungo 100. Non hai nessuno
spreco di spazio e quando lo spergiuro arriva (10 giorni dopo la
consegna del programma) a dirti che "avrebbero bisogno di portarlo a
40 perché non si erano ricordati ecc. ecc. " tu non hai problemi con
il database.
Ciao
--------------------------------------------------------------------
Fulvio Senore
Eliminate "zz" dall'indirizzo e-mail per scrivermi (spammers...)
Remove "zz" from e-mail address to write me (spammers...)
--------------------------------------------------------------------

Luca Dormio:
Ho visto il codice (grazie) ma se il campo da modificare appartiene ad un
indice o relazione si ha un arrore DAO. Purtroppo sembra che non esiste un
metodo SMART per modificare le dimensioni del campo TXT, pero' forse
un'altra soluzione l'ho trovata, invece di scrivere le modifiche in codice
mirato (VB o VC++) mi creo un programma che esegue uno script SQL, cosi' mi
metto al riparo per futuri (ulteriori) cambiamenti.
Fulvio Senore:
In effetti la tua soluzione sembra ragionevole, ma vale anche per te il
discorso che se nei campi interessati esistono indici o relazioni le
dimensioni del campo (sovrastimate) vanno a discapito della velocita' di
operazioni primarie come inserimento e cancellazione records.
Grazie per l'interessamento e la questione e' ancora aperta....
Andrea Censi.


Quali 10 giorni?
Sei fortunato!
A me capita il giorno dell'installazione! 10 volte su 10
Cyb


Non credo proprio (anche se non ne sono sicuro).
Se vengono memorizzati solo i bytes utilizzati effettivamente non
dovrebbe esserci nessun sovraccarico. In definitiva la lunghezza di un
campo funziona solo come controllo effettuato dal database in fase di
update.
Per quanto riguarda le relazioni e gli indici, basta eliminarli prima
di fare le modifiche e ricrearli dopo. Io mi sono stufato di dover
fare modifiche manuali al database dai clienti, così mi sono scritto
un programma che allinea la struttura di un database esistente a
quella di una versione di riferimento che mi porto dietro. Faccio come
ti ho detto e tutto funziona bene, inoltre elimino la possibilità di
sbagliare mentre modifico a mano.
Ciao.

Newsgroup: it.comp.lang.c++
Titolo: Serializzazione: un'implementazione

Dando un'occhiata a vari suggerimenti, ho scritto del codice per
"serializzare" degli oggetti e vorrei qualche parere e suggerimenti
per migliorarlo.
In particolare mi interessava poter serializzare oggetti, di tipi
diversi, collegati tra di loro per mezzo di puntatori in modo
qualunque (un "grafo").
- Ho pensato a una classe base "Storable", comune a tutti gli oggetti
serializzabili, che contiene solo un numero di serie ("serial")
progressivo per ogni oggetto.
- In fase di scrittura, ogni puntatore *Storable viene scritto,
anziché col suo valore, come numero di serie dell'oggetto puntato.
- In fase di lettura viene costruita la "stor_map" tra numero di serie
e indirizzo di ogni nuovo oggetto, e anche un elenco ("daaggiornare")
degli indirizzi dei puntatori il cui valore andrà aggiornato.
- Il puntatore, in lettura, contiene temporaneamente il valore del
numero di serie, tutti questi valori interi vengono riconvertiti in
puntatori (letti dalla stor_map), dal metodo:
static Storable::valida_puntatori().
Questo richiede alcuni "reinterpret_cast".
La classe base è questa (tralascio i "dettagli")
class Storable {
	static unsigned int nextsn;
	public:
	static map<unsigned int, Storable*> stor_map;
	static vector<Storable**> daaggiornare;
	static void prepare_to_read() {stor_map.clear();
daaggiornare.clear();}
	static void valida_puntatori() {
		for (vector<Storable**>::iterator i = daaggiornare.begin(); i!
=daaggiornare.end(); i++) {
	 		(**i) = stor_map[reinterpret_cast<unsigned int>(**i)];
		}
		prepare_to_read(); // Cancella la map e il vettore daaggiornare
 	}
	unsigned int serial;
  	Storable() {serial = ++nextsn;};
};
Quando si scrive su stream un puntatore a un oggetto:
ostream& operator<<(ostream& o, Storable* s) {
	return (o << (s->serial)<< endl);
};
Per leggere (A è una classe Storable, con un puntatore ptb a una
classe B):
istream& operator>>(istream& i, Storable** s) {
   Storable::daaggiornare.push_back(s);
   int k;
   i >> k; *s = reinterpret_cast<Storable*>(k);
   return i;
}
istream& operator>>(istream& i, A& a) {
	i >> 
a.name
 >> a.serial >> &((Storable*)(a.ptb));
	Storable::stor_map[a.serial] = &a;
	return i;
}
Dopo aver letto tutti gli oggetti, chiamo
Storable::valida_puntatori(). Ho testato in casi semplici e
funziona...
Che ne dite?

Io veramente non vuole essere irritante e so che è fuori tema, ma qui
potete controllare la vostra posta elettronica, per favore? E 'la
questione della mia vita!
Newsgroup: it.comp.lang.c++
Titolo: Per iniziare a programmare in C++ ....

Ciaooo
quale pensate tra i due sia il piu valido per iniziare il C++ ???
Lippman e Lajoie, "C++ Primer" 3 ed. - Addison Wesley
Renato Conte
"Il Mondo degli Oggetti: Programmazione in C++"
Edizioni Progetto - Padova
grazie mille a tutti !!!


secondo me se sei proprio agli inizi mi limiterei al libro online di marotta
lo trovi su 
www.programmazione.it
anche perchè il c++ è un linguaggio bellissimo e puoi farci tutto ma agli
inizi un po difficile
(libri semplici e completi sono quasi impossiili da trovare) la pratica è
quella che ti farà impare questo meraviglioso ma ostile linguaggio :))

lo trovi su 
www.programmazione.it
C++ Primer va benissimo.
C'e' anche la versione italiana.
--
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."

Lippman e Lajoie, "C++ Primer" 3 ed. - Addison Wesley
Questo, indubbiamente.


 wrote in message
news:LNwc6.33438$ew1.2...@news.infostrada.it...


 wrote in message
sgl57to7oo0npd5l7...@4ax.com...

Newsgroup: it.comp.lang.c++
Titolo: [OT] Buono Amazon

Chiedo scusa agli altri per l'OT.
Io e un mio collega abbiamo fatto un acquisto su Amazon e ho specificato
gli email di alcuni degli assidui frequentatori di questo NG come
destinatari del buono sconto che Amazon regala agli "amici" di chi
compra un libro.
Purtroppo mi ero scordato che essendo l'acquisto congiunto e il
pagamento fatto con la carta dal mio collega, l'e-mail del mittente č il
suo. E adesso mi sono scordato a chi l'ho mandato e a chi no (č questa
la ragione di questo post OT).
Chi di voi ricevesse un e-mail strano da Amazon che offre uno sconto del
10% sul librone che indica Stefano Redaelli con e-mail nel mio stesso
dominio (
urkadvd.it
) se la prenda con me e non con Stefano <g>
Chiedo scusa (la prossima, per lo meno, mi segno l'elenco di quelli a
cui lo mando!).
--
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

 compra un libro.
E ora grazie a questa affermazione qualcuno che non l'ha ricevuta
si e' offeso.
Ciao
Gaetano.
 
PS. Andrea prima di comprare su Amazon dai un'occhiata su
www.bookpool.com
 e fai un confronto di prezzi.
-- 
Posted from 
dell-01.mm.eutelsat.org
 [194.214.173.17] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 
www.bookpool.com
 e fai un confronto di prezzi.
Gorilla ha spesso prezzi migliori di Amazon e le spese di spedizione,
soprattutto per chi sta in zona milanese, possono ammontare a... un
biglietto del tram!
Ciao,
Nicola

 
www.bookpool.com
 e fai un confronto di prezzi.
Abbiamo comperato anche altri testi, alcuni dei quali non facilmente
disponibili altrove, e usando un account preesistente. Comunque terrò
presente per la prossima.



Io dopo il tuo invito stavo facendo un ordine di anche altri libri, quando
un mio
collega mi ha detto: "ma sei pazzo"? Guarda gli stessi libri su
www.bookpool.com
 quanto costano.... ho subito desistito...
aspetto di completare l'ordine su bookpoll non appenza il pacchettozzo esce
anche li.
Ciao
Gaetano.


 anche li.
Due esempi:
DVD Demystified costa meno su Amazon
DVD Authoring & Production non c'e' su bookpool
 e altri ancora.
Inoltre se comperi N libri in un colpo solo le spese di spedizione si
diluiscono.
Come sempre tutto dipende.

Newsgroup: it.comp.lang.c++
Titolo: VB e C++

Non ho mai programmato in Visual Basic, ma un mio amico che lo usa mi ha
chiesto di fargli una DLL in C++. Prima di spedirgliela perň ho voluto
provarla con VB; risultato:
 run-time error 49 Convenzione di chiamata DLL non valida
La prima funzione che avevo scritto comportava anche il passaggio, come
parametro, dell'indirizzo di una funzione callback definita all'interno di
un modulo VB. Cosě, pensando di non aver gestito a dovere questa
situazione, ne ho scritta un'altra (semplicissima) ottenendo lo stesso
risultato.
Nel sorgente C++ ho definito la funzione come segue:
extern "C" __declspec(dllexport) long fx(long l) { ... }
Nel modulo di VB l'ho dichiarata cosě:
Declare Function fx Lib "NOME_LIBRERIA" (ByVal l As Long) As Long
e l'ho invocata cosě:
Dim a, b As Long
a = fx(b)
Il parametro l non viene utilizzato nella funzione; il codice č limitato ad
una semplice MessageBox. Ad ogni modo il codice della funzione viene
eseguito. Se elimino il parametro l non ottengo l'errore. Ho provato anche
l'improbabile (oltre che concettualmente sbagliata in questo caso)
soluzione di omettere ByVal (quindi implicitamente ByRef, credo) ma, come
previsto, non č cambiato nulla.
Dove sto sbagliando ?
Grazie.
Stefano.

Dove sto sbagliando ?
La funzione fx deve essere dichiarata anche __stdcall per poter
essere chiamata da Visual Basic (non avendo tu definito la
convenzione di chiamata, il suo default é __cdecl).  Attento
che questo cambierá il nome "decorato" della funzione a _fx@4
(poiché prende 4 byte di argomenti); puoi dichiararla cosí nel
VB che deve chiamarla, con un alias, oppure esportare il nome
non decorato aggiungendo al progetto della DLL un file .DEF
con una specifica EXPORT.
Alex
Newsgroup: it.comp.lang.c++
Titolo: coem si setta ???

Dov'e' che dacido se macOS UNIX_Motif o Windows in che modo dico al
precompilatore quale voglio??
Grazie
sergio
#if (MacOS)
	path[0]=0;
#elif (UNIX_Motif)
    getcwd(path,256);
#elif(Windows)
   getcwd(path,256);
--------------------------------
Inviato via 
http://usenet.libero.it

    getcwd(path,256);
Devi verificare sulla documentazione di ciascun compilatore quali
macro imposta per la propria identificazione.
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: Problema con RichEdit (Borland Builder)

Ciao e buona sera
sto facendo un programma che immette delle stringe in un RichEdit.
Il problema riscontrato e che quando inserisco tante lettere io visualizzo
sempre quelle vecchie mentre quelle immesse non le vedo perche' il RichEdit
non scende giu' automaticamente.
Infatti appena arrivo alla fine del testo appare la ScroolBar ma rimane
sempre sopra.
Come devo fare per leggere sempre l'ultima cosa scritta?
Esiste qualche parametro da settare?
Oppure si usa un comando?
Grazie
owtommywo
--------------------------------
Inviato via 
http://usenet.libero.it

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: DA string a BSTR

Ciao a tutti,
     volevo un aiutino.
Sto usando il borland c++ builder e devo convertire quello che c'e' scritto
in una "edit box" e cioč una string, in una BSTR.
L'unica soluzione che ho trovato č:
wchar_t *pippo;
        pippo = (wchar_t *)malloc(FormPrinc->Edit1->Text.WideCharBufSize());
FormPrinc->Edit1->Text.WideChar(pippo,FormPrinc->Edit1->Text.WideCharBufSize
());
        BSTR miaBSTR = SysAllocString(pippo);
Ma questo metodo mi da problemi in compilazione.
Avete un'altro modo per farlo?
Grazie mille
Ciao

 [CUT]
BSTR sicuramente non appare nello standard C++, quindi la domanda e' OT 
in questo newsgroup, ma ho la (quasi) certezza che esistano dei 
newsgroup sui compilatori borland: prova a chiedere li'.
-- 
Mat/tia Belletti - Undergraduate student @ 
cs.unibo.it
ICQ: 33292311    - email: 
mbel...@cs.unibo.it
IRC: RedGlow     - site(s): 
http://mbellett.web.cs.unibo.it/
Jabber: RedGlow  - Linux registered user 299762 @ machine 213003