mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: usare dll vb 6 in progetto c++

buongiorno a tutti, ho un problema che non riesco proprio a risolvere.
Ho una dll scritta in vb 6.0 che contiene una serie di funzioni. adesso
mi viene chiesto di tradurre la dll in c++. io il c++ lo conosco ben
poco ma mi sembra di aver capito che potrei predisporre creare un
progetto c++ includendo la dll  vb e richiamandone le funzioni.
come si fa?
devo avere a disposizione il .lib della dll vb, o serve che in qualche
modo generi un header?
e ancora: con quali istruzioni si fa l'inclusione della dll in c++ e
come si richiamano poi le sue funzioni ?
ho provato a guardare tra le varie discussioni del forum ma non ho
trovato molto ... 
vi prego datemi una mano!!
fabio
-- 
fabioF
------------------------------------------------------------------------
Visualizza questa discussione: 
http://www.freenfo.net/usenet/thread663037.html
Profilo di fabioF: 
http://www.freenfo.net/usenet/member.php?userid=587

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: [UN PO' OT] MFC e OCX

Come faccio a Creare un OCX derivato da CView?
Mi spego meglio:
Voglio ottenere quello che ho fatto in un'applicazione Single Document
cioč la gestione di un Device Context ( CDC * pDC )
Ho creato un OCX Project derivato da COleControl ma non mi porta le funzione
'OnPrepareDC' e 'OnEraseBck'
indispensabili per quello ottenuto nell'applicazione SD;
Grazie anticipatamente a tutti e buon lavoro
Saluti: Roberto

Completamente OT. Chiedi su it.comp.programmare.win32, dove e' piu'
probabile che trovi aiuto.
Ciao,
Nicola

UN PO' OT??????????????????
Clamoroso! Non si tratta di ignoranza sulle regole dei newsgroup in 
generale (perche' sai cosa significa OT), ne' sulle regole di questo
newsgroup in particolare (perche' sei in grado addirittura di
valutare QUANTO il tuo messaggio si discosta dal manifesto del gruppo). 
Si tratta proprio di presa per i fondelli! 
E' mai possibile che una persona che scrive:
[UN PO' OT] 
non conosca:
it.comp.programmare.win32
Mah... Forse e' uno scherzo raffinato!...

 wrote in
message 9afbl8$gan$1...@e3k.asi.ansaldo.it...


Newsgroup: it.comp.lang.c++
Titolo: AIUTATEMI ENTRO LUNEDI' PER FAVORE!!!!

Sto facendo un compito per l'università;
nel programma C++ che devo fare, dopo una chiamata di getch();
ho una chiamata di   cin.getline(buffer, 128);
ma quando il programma si ferma in attesa di input mi ritrovo compe primo
carattere
digitato sullo schermo l'ultimo preso da getch();
Mi sapete dire come eliminarlo?

 Mi sapete dire come eliminarlo?
Molto strano. La funzione (non standard) getch() dovrebbe prendere un
carattere dallo standard input senza farne l'eco sullo standard output.
Prova a mandare il pezzetto di codice che ti dà il problema.
EMG

Il problema me lo fa con una cosa del tipo:
Ecco la parte del codice interessata;
da main() lancia menu() che visualizza una serie di opzioni.
Scegliendo la 4  richiama una funzione che chiede un getline;
a questo punto mi ritrovo nel prompt un "4".
La compilazione viene fatta col C++ Builder in modalità ConsoleApp
Mi sapete aiutare?
// ---------------------------------------------------
int main(void)
{
    // Altra roba....
   menu();
    // Altra roba...
   return 0;
}
void menu(void)
{
   int c;
   do
   {
     clrscr();
   // Visualizzazione menu
    // altre opzioni
     cout << "  Inserisci informazioni nell' Albero:            [4] " <<
endl;
    // altre opzioni
     c = toupper(getch());
     switch (c)
     {
        // Altra roba
       case '4':   InsertInTree();     break;
        // altra roba
     }
   }
   while(c != 0x1b);   //Codice del tasto di Escape
}
void InsertInTree(void)
{
   char Buff[128];
   clrscr();
   if(!RadiceAlbero)       // Se non esiste l'albero lo crea
   {
     cout << "Creazione nuovo Albero:" << endl;
     cout << "Inserire l'informazione per la radice:" << endl;
     cin.getline( Buff, 128);
     RadiceAlbero = InserisciPrimoLibero( Buff, Head, Bottom);
     cout << endl;
   }
 // Altra roba
  return;
}
Newsgroup: it.comp.lang.c++
Titolo: errori classe

Ho questo codice c++:
#include <vector>
class iStack {
public:
       iStack(int capacity)
             : _stack(capacity), _top(0) {}
 
       void pop(int &top_value);
       void push(int value);
 
       bool full();
       bool empty();
       bool display();
 
       int size();
private:
        int _top;
        vector<int> _stack;
};
Quando compilo fa questi errori: 
ISO C++ forbids declaration of `vector' with no type
expected `;' before '<' token 
In constructor `iStack::iStack(int)': 
class `iStack' does not have any field named `_stack' 
Potete aiutarmi?

        vector<int> _stack;
        ^^^^^
Prova con
std::vector<int> _stack;
GM

 ha scritto nel messaggio 
news:48fdb990$0$40316$4faf...@reader5.news.tin.it...

Newsgroup: it.comp.lang.c++
Titolo: warning strani! come evitarli? (vector<string>)

,std::ba
sic_string<char,std::char_traits<char>,std::allocator<char> >
&,std::basic_string<char,std::char_traits<char>,std::allocator<char> >
*,int>' : identifier was truncated to '255' characters in the debug
information
principale.obj - 0 error(s), 2 warning(s)
=================================================
CODICE:
==============================
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <utility>
using namespace std;
class distanza
{
private:
 float *tabelle[100];
 int limiti_tabelle[100][2];
 vector<string> nomiTabelle;
public:
 distanza(string nf_distanza);
 virtual ~distanza();
};

 Grazie in anticipo, Mario.
all'inizio del file metti
#pragma warning( disable : 4786)
--
Pela

grazie!
 > Come evitare che appaiono?


 #pragma warning( disable : 4786)
a che serve?
disabilità tutti i warning oppure solo alcuni e in caso quali?
GRAZIE a chiunque risponda.
LMS

 ha scritto nel messaggio
news:e17140b3.04072...@posting.google.com...

disabilita il warning numero 4786, cioe' quello di cui si parla nel post
iniziale
--
Pela

Newsgroup: it.comp.lang.c++
Titolo: Compositor [OT...forse]

Ciao, inizio con lo scusarmi se la domanda è + di design che di C++ vera 
e propria ... cmq sto iniziando (ad agosto aime) un progetto che dovrà 
permettere di disegnare impianti (con elementi prefatti ) per poter poi 
esportare il disegno in un formato noto.
L'impianto lo rappresento tramite il pattern compositor di conseguenza 
dalla classe impianti derivo le varie sottofoglie (segmenti, valvole, 
snodi , stazioni ) e quant'altro (sono una decina di foglie) + le 
sezioni che a loro volta contengono altri nodi foglia.
Attualmente schematizzando molto ho questa situazione :
class Impianto {
....
private :
vector <Impianto> vett
public:
add_child (Impianto *t)
remove_child (Impianto *t)
int objtipo;
virtual void paint();
virtual double flow_calc();
...
}
class sezione: public impianto {
...
class deriva:public impianto {
class valvola:public impianto
Ora le 2 domande :
1) Non so se è corretto dichiarare il vettore all'interno di impianto in 
quanto cosi facendo anche le sottoclassi deriva, valvola e quant'altro 
(le foglie) contengono un vettore vuoto) .... che alternative ho ?
Avevo pensato di dichiararlo esterno e tenere in impianto solo un 
puntatore per fare la add e la remove ... ma ogni migliore soluzione è 
ben accetta
2) Ho la necessita in alcuni casi di conoscere il tipo dell'oggetto che 
sta effettivamente dentro ( per esempio per gestire la rimozione ho 
riscritto l'operatore == e da qui l'uso del parametro objtipo) ma mi sa 
di porcata ....
Secondo voi ho proprio cannato il disegno ?
ciao
Pier Paolo

 sta effettivamente dentro
Brrr... per quale motivo? non ti basta il polimorfismo? :-)

[..]
Ti ringrazio, è molto molto + pulito.
Il polimorfismo non mi bastava in quanto mi ero dimenticato che 
l'operatore dynamic_cast applicato ai reference lancia una eccezione di 
bad cast ... mea culpa :)
ciao
Pier Paolo
Andrea Laforgia ha scritto:

Newsgroup: it.comp.lang.c++
Titolo: Immagini in visual c++

Ciao a tutti.
Il mio problema è quello che devo aprire un  Immagine(estensione .raw)
e poi gestirlo come un vettore o come una matrice per in seguito
calcolare media ,varianza e  altro.
Chi mi puo aiutare .....nn so come aprire l'immagine e metterla dentro
una matrice....
grazie a tutti

Ciao,
Questo newsgroup si occupa del linguaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni, come ad esempio
C++/CLI. 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

TomyFun ha scritto:

Apri l'immagine con qualcosa tipo
const char* filename = "image.raw";
std::fstream image(filename, std::ios::in | std::ios::binary);
E poi procedi a leggere i dati con fstream::read() e li metti in un
contenitore. Qui uso un vector, magari tu userai qualcosa di meglio
ottimizzato per la tua applicazione.
std::vector<char> v;
char buffer[BUFSIZE];
while(image.read(buffer, sizeof buffer)) {
	v.insert(v.end(), buffer, buffer + sizeof buffer)
	v.append(buffer, sizeof buffer);
}
Occhio che all'ultima iterazione manca un controllo per vedere quanto il
buffer sia stato riempito effettivamente. Comunque spero renda l'idea
Danilo
Newsgroup: it.comp.lang.c++
Titolo: Valore di un lavoro

Quanto vale un lavoro di un programmatore con almeno 7 anni di 
esperienza in C, C++ (e Visual) con utilizzo avanzato di OOP sui sistemi 
Windows 9x/2k/XP, e 1 anno anche su sistemi embedded in WinCE, 
nell'ipotesi di dover contrattualizzare un anno intero di lavoro a tempo 
pieno con un'azienda che produce dal gestionale al videogame? Parliamo 
di fatturato lordo (sono un libero professionista). La risposta sarà 
"dipende", ma giusto per avere un'idea...

Ataru ha scritto:

dovrebbe essere equiparato a contratto metalmeccanici 7o livello
calcola ovviamente 13ma contributi ferie e malattia (inteso come il 
costo di almeno 5 gg anno)
a questo devi aggiungere i costi aziendali i tuoi ovviamente che solo tu 
conosci
comunque se sei libero professionista il lavoro si paga sull'eseguito
e non a tempo
e questo varia sensibilmente
se ad esempio in un anno tiri fuori  un gestionale completo
per una semplice azienda il lavoro ha un valore di 30.000 euro (visto 
che cederesti sorgenti e diritti)
se invece in un anno hai tirato giù la gestione di un portafoglio titoli 
bancario integrato in una gestione anagrafica e conti correnti nel 
rispetto delle normative vigenti
allora ci devi aggiungere uno zero ovvero 300.000 euro
come vedi il margine e' notevole pertanto prima di accettare il lavoro 
come "non dipendente" verifica cosa dovrai andare a produrre
-- 
Mio figlio rivuole indietro il mondo che mi ha prestato ... con gli 
interessi ...



Non so se si possa realmente fare un discorso sul "valore" del lavoro
e non credo che nessuno possa sbilanciarsi nel darti una cifra. Gli
elementi per giudicare li conosci solo tu. Al posto tuo, io terrei in
considerazione i miei anni d'esperienza, le mie competenze (in che
misura, poi, applicabili al contesto specifico in cui lavorerai: più
sono rispondenti, più il prezzo sale; meno lo sono, più il prezzo
scende). Considera anche che se il contratto è per un periodo breve, è
giusto che il prezzo del tuo lavoro salga. Poi, si tratta di
un'azienda straniera? italiana? perché i trattamenti economici sono
diversi (e indovina chi paga meglio?). Insomma, i fattori sono tanti.
Occhio a domande tipo quella rivoltami da una direttrice del personale
tempo fa: lei sotto quale cifra non vorrebbe scendere?

Sorry, ho frainteso: avevo capito che stessi accettando una proposta
di lavoro. Abbi pazienza, sono le undici e mezza.


Ok facciamo dei numeri.... In una multinazionale (non facciamo nomi:-))) 
) gente con esperienza equivalente puo' essere inquadrata dal 6 livello 
metalmeccanico al quadro (dipende dalla sua storia passata, dalla storia 
passata dell'azienda e da chi hai avuto come capo :-)) ) e' guadagna 
indicativamente da 35K euro a 60 Keuro lordi annui + benefit se sei 
quadro. Considera che l'azienda spende pero' il doppio.
E adesso cosa ti dicono questi numeri?
Ciao.

 quadro. Considera che l'azienda spende pero' il doppio.
Potresti mettermi in contatto con quella dei 60Keuro? ;-)
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Mysql and C

I want to get to mysql from c. Is it possible? If so then how?
Peter

 Peter
Yes,
http://www.mysql.com/documentation/mysql/bychapter/manual_Clients.html#C

Newsgroup: it.comp.lang.c++
Titolo: Cercasi programmatore c++ per sviluppo sw

Salve a tutti,
avremmo bisogno di acquistare da qualcuno di voi un software per
compilare dialer.
Mi server un admin abbastanza easy per inserire numero di telefono,
login, passoword, disclaimer ed icona del dialer. Poi cliccare crea e
via il dialer.exe è pronto.
Se qualcuno fosse in grado di farlo in tempi anche abbastanza brevi mi
contatti via mail:
ant...@nextone.it
oppure via icq: 69282781
Grazie!

 via il dialer.exe è pronto.
Orribile..... Semplicemente orribile!

>Orribile..... Semplicemente orribile!
perchč?

 
perche' e` come dire "cerco qualcuno che sappia costruirmi un incursore anale in
tempi brevi, che vibri con una frequenza di 6000 battiti al minuto, bello
grosso, con serbatoio di vaselina autolubrificante, e che si azioni
semplicemente spingendo il bottone ON/OFF.
Sapete, devo inculare un po' di gente."
Adieu,
-- 
Lestat de Lioncourt  -- a.k.a --  Ciro Mattia Gonano
 Undergraduate student in Computer Science at University of Bologna
 IHGGer #1049   <=>  ICQ#: 52631406   <=>   URL: 
http://www.CS.UniBO.It/~gonano
 Debian admin at 
Students.CS.UniBO.It
 <=> look at headers for my JabberID & GPG
Newsgroup: it.comp.lang.c++
Titolo: direct X e C++

Ciao, ho un paio di quesiti.
Considerando che ho una media conoscenza del c++ (ma poco in ambiente grafico), e che
dovro lavorare col (Borland) Builder c++
1 dove posso trovare dei tutorial sulle dx?
(Ho letto quelle su c++ warriors, ma mi sembrano un po scarsine...)
2 Le dx si appoggiano alle MFC? Quindi dovro lavorare anche su quelle?
3 Non mi converrebbe allora usare il Visual c++?
Grazie a chi risponde e sorry se ho scritto caç°#ate!
-----------------------
Un uomo con un orologio e sempre sicuro di che ora e' , un uomo con 2 orologi non lo e' mai!
GYps!

3 Non mi converrebbe allora usare il Visual c++?
Il problema non è di compilatore ma di architettura. Dipende da quello che devi fare.
Personalmente ho usato MFC per crearmi l'interfaccia utente in alcuni programmi grafici,
ma mi sono sbarazzato dell'architettura Doc-View. Se vuoi ne possiamo discutere in privato
(qui MFC è decisamente OT). Ad ogni modo, preoccupati prima del design che vuoi dare
all'architettura dell'applicazione e poi scegli gli strumenti che ti sono più utili. MFC
non ti aiuterà più di tanto con DirectX - anzi talvolta ti sarà d'impaccio, mentre ritengo
molto più utile incapsulare le interfacce di DirectX in una libreria di classi C++ e usare
queste nel proprio progetto.
Andrea
Newsgroup: it.comp.lang.c++
Titolo: Costruttori

Ho un problema, direi, banale ma volevo un consiglio
In C++ in ogni classe posso definire dei i costruttori  i quali accettano o
meno dei parametri per inizializzare gli stessi
Da quel che so gli oggetti instanziati vengono memorizzati nello stack,
inoltre l'uso del costruttore
implica, oltre all'inizializzazione, la definizione della variabile e quindi
il nome già usato una volta non potrà essere riutilizzato
in un'altra chiamata del costruttore
Dovendo fare un ciclo di inserimento dati in una lista, e volendo usare i
costruttori nel ciclo,mi farebbe comodo
poterli usare dando non il nome di una variabile, ma di un puntatore a
quella classe che punti via via agli oggetti che vado ad allocare
per intenderci;
class A{
int x;
public:
    A (){x=0;}
}
main{
    A *a;
...
    for(.......){
            A *a();
    }
}
Questo per non dover ogni volta invocare la new e il metodo di
inizializzazione
Grazie per ogni suggerimento

 inizializzazione
Anche questo non ha senso:
int main() {
    A a1;
    for (;;) {
        A a2;
        // ....
    }
}
Nell'esempio qui sopra a1 e' definita esternamente al ciclo, e'
costruita una volta sola ed quindi all'interno del for mantiene lo
stesso valore a meno che non sia esplicitamente modificata. Al contrario
a2 e' definita all'interno del ciclo e verra' quindi costruita
all'inizio del ciclo e distrutta alla fine, per ogni iterazione.
Se la tua lista copia i valori puoi usare questo tipo di meccanismo. E'
il comportamento ad esempio di una lista standard definita come
#include <list>
std::list<A> lista_di_a;
Se invece la tua lista contiene puntatori devi allocare con new ogni
nuovo oggetto da inserire. E' il caso di una lista definita come:
std::list<A *> lista_di_puntatori_ad_a;
Ciao,
Nicola

 wrote in message
3B123BEF...@divalsim.it...


 Grazie, e scusa la confusione
E di che? Il newsgroup serve anche a questo, no?
Ciao,
Nicola
P.S. Pero' la prossima volta magari non citare tutto il messaggio se non
intendi replicare in dettaglio al suo contenuto.
Newsgroup: it.comp.lang.c++
Titolo: namespace std

Non capisco a cosa serva usare:
#include <iostream>
using namespace std;
rispetto a:
#include <iostream.h>.
la seconda edizione del libro di Stroustrup mi sembra non ne parli.
Potete chiarirmi il concetto?
Grazie.
Stefano
stsTO...@freemail.it
 (occhio all'antispam)

 #include <iostream.h>.
Per vari motivi.
Essenzialmente scrivere:
#include <iostream.h>
non è standard.
Quindi:
1-
Non è assolutamente detto che abbia lo stesso contenuto
di <iostream> a parte il namespace.
2-
Non è assolutamente detto che sia presente in tutti i compilatori
3-
Anche se presente, potrebbe avere contenuti diversi da
cambiando compilatore.
Aggiungo che la pratica di fare seguire sistematicamente agli
include la riga:
using namespace std;
invalida i vantaggi... del namespace std!
Secondo me bisognerebbe fare un uso ragionato delle "using",
sfruttando e capendo il senso di usare i namespaces.
--
Gerolamo

Potete chiarirmi il concetto?
La seconda edizione é obsoleta, tant'é che esiste la terza da un bel
pò di anni(1997 se non erro), che é molto più aggiornata dal punto di
vista dello standard.
Il Ghenio
---------
// TODO: Place your ass here
Newsgroup: it.comp.lang.c++
Titolo: Problema : Visual C++ 5.0 & External Dependencies

"External Dependencies" nella vista File del Workspace.
la cartella "External Dependencies" viene creata automaticamente da VC
quando effettua l'analisi delle dipendenze e trova dei files che non
fanno parte del progetto, come possono essere ad esempio gli include
che intendi utilizzare.
Gianpaolo Bottin
- Live Long and Prosper -

Buongiorno a tutti,
io sono un novellino in questo ambiente di sviluppo e non ho ancora 
capito ( dopo parecchie prove ) in che modo si può includere nel
progetto
alcuni file header di librerie esterne ( nel mio caso grafiche).
Ho visto un esempio in cui tali file erano inseriti dentro una directory 
"External Dependencies" nella vista File del Workspace.
Il problema è che non riesco a creare tale directory dal VC++ 5.0.
Un grazie (ma grosso) a chiuque voglia aiutarmi.
Stefano.

Newsgroup: it.comp.lang.c++
Titolo: Mappatura drive su NT

Questa è difficile :-)
Problema :
La mamma al mercato ha comperato windows nt 4.0 WS.
Dopo averlo installato, ha comprato e installato il compilatore Vc++6.0.
Avendo preso dimestichezza con il sistema, ha comprato anche 6 cdrom scsi
che ha collegato senza problemi.
Siccome le piace gicare con le funzioni ASPI32, deve risolvere un problema
:
"sapendo l' id SCSI di un cd-rom,
come fa a sapere quale lettere di unità gli è assegnata dal sistema ?"
Questa domanda vale un 7 e1/2 in pagella ;-)
bybyte

come fa a sapere quale lettere di unità gli è assegnata dal sistema ?"
Hmmm... non e` che la DeviceIoControl possa aiutarti...?
Se no, immagino bisognera` scendere nei misteri del DDK
di NT 4.0, le mille funzioni Scsi*, ecc... mai fatto, ma, se
mi trovassi a doverlo fare, credo che butterei un occhio su
www.sysinternals.com
 (non so se hanno qualcosa specifico
per il tuo problema, ma, per svariati strani discorsi relativi
a "system programming per NT, 95, 98", sono un gioiello).
Alex




a "system programming per NT, 95, 98", sono un gioiello).
Un sito veramente utile, ho trovato delle informazioni utili al mio
problema, ma che  purtroppo non lo rispolvono.
A questo proposito è utile notare che il "Disk Administrator" di NT conosce
perfettamente le informazioni che sto cercando disperatamente. Il problema è
capire come fà !
Vi tengo aggiornati sugli sviluppi della faccenda.

sorgenti su come mappare e rilasciare i dischi sotto nt
Non riesco a trovarlo, sei sicuro che si chiama cosě ?
grazie 1024.
byebyte, Amos.
Newsgroup: it.comp.lang.c++
Titolo: File .a - Come crearli e come utilizzarli correttamente

Ciao amici. Sapete dirmi cosa sono esattamente i files .a?
Penso siano delle librerie ...
Come faccio a compilarili e come fare per utilizzarli correttamente?
Grazie
Gabriele

 Come faccio a compilarili e come fare per utilizzarli correttamente?
Sono gia' compilati.
Per crearli (almeno su Unix): si compilano i sorgenti, creando
vari file oggetto (.o), poi si mettono i file oggetto nella
libreria con ar.
Per usarli: basta linkare il programma con la libreria (di solito
cc -l...).
	Mauro

 Come faccio a compilarli e come fare per utilizzarli correttamente?
Sono gią compilati. Sono collezioni di .o che a loro volta sono moduli
compilati. Per utilizzarli basta che ne specifichi il nome nell'opzione
-l del compilatore. Se intendevi chiedere come fare a produrne degli
altri, mi sembra che nella distribuzione ci sia un utility per farlo ma
ora non ne ricordo il nome.
EMG

Newsgroup: it.comp.lang.c++
Titolo: Dipendenze da include files nel makefile

Salve a tutti,
utilizzo di solito il gnu c++ compiler (gcc ) in abbinamento con il
make .
Di solito utilizzo questo modello di makefile:
CFLAGS += -g
LDFLAGS- =-g
# Parameters.
PROGRAM = PROVAMAKE.exe
SOURCES.cc = ProClass.cc ProvaMake.cc
# Derived parameters.
SOURCES = \
        $(SOURCES.h) \
        $(SOURCES.cc)
OBJECTS = \
        $(SOURCES.cc:%.cc=%.o) \
        $(TARGETS.cc:%.cc=%.o)
# Compiler flags.
# Standard targets.
$(PROGRAM):  $(OBJECTS)
        gxx -o $(PROGRAM) $(OBJECTS)
objects: $(OBJECTS)
Il modello suddetto funziona egregiamente; infatti, quando modifico
un .cc file, si accorge
di quali .cc file ho cambiato e ricompila solo quelli, e poi rifà il
link per produrre l'eseguibile.
Mi chiedo: esiste una semplice regola che si può aggiungere per dire,
al makefile,
che qualora modificassi un .h file , allora tutti i .cc files (che
usano in qualche modo variabili o prototipi
del .h file) sono automaticamente ricompilati ?
Ricordo che con il make di Solaris esisteva questa semplice regola,
ma esiste questa regola per il gnu make ?
Grazie per l'eventuale aiuto .


Dopo tanto cercare, ho trovato il modello che risponde al mio quesito,
grazie all'ultimo esempio di makefile descritto in questa pagina web:
http://www.matteolucarelli.net/opendev/makeintro.htm
Newsgroup: it.comp.lang.c++
Titolo: Suddivisione tra .h e .cpp

Salve a tutti,
un piccolo "problema". Sto' realizzando un classe template in C++.  Attualmente sia la
descrizione della classe 
template <class T>
class mylist
{
  public:
     mylist();
     ~mylist();
     int prova();
  protected:
     int x;
};
che l'implementazione sono contenuti in un unico file .cpp.
Vorrei spezzare il tutto in due file: uno .cpp, contenente l'implementazione vera e propria, ed un file .h
ad uso e consumo di altri file .cpp che utilizzeranno la classe.
L'intezione é quella di avere qualcosa del genere:
main.cpp:
#include <....>
#include "mylist.h"
int main(int argc, char * argv[])
{
  mylist<int> lista;
  return 0;
}
Compilerei i singoli file con:
g++ -c -o mylist.o mylist.cpp
g++ -c -o main.o main.cpp
g++ -o programma main.o mylist.o
Ho provato "bovinamente" a riportare la mera definizione nel file .h, ma appena compilo main.cpp,
il compilatore (g++ 3.0.2) si arrabbia in quanto non trova l'implementazione dei vari metodi (
e costruttore/distruttore).
Come risolvere?
Grazie a tutti per l'attenzione.

 ad uso e consumo di altri file .cpp che utilizzeranno la classe.
se usi i template non lo puoi fare, a meno che il tuo compilatore non
supporti la parola chiave export (quasi nessuno lo fa...)
Pela

 supporti la parola chiave export (quasi nessuno lo fa...)
Pertanto, come posso comportarmi?

Puoi tenere tutto nello stesso file .cpp e includerlo nel sorgente in cui
utilizzi il template oppure utilizzare delle particolari direttive al
preprocessore specifiche del compilatore che usi. Questa è tuttavia una
soluzione abbastanza seccante, perchè spesso (te lo dico per esperienza)
tali direttive non sono ben documentate. Provaci lo stesso.
Saluti,
Sergio

 tali direttive non sono ben documentate. Provaci lo stesso.
Ho provato con le opzioni fornite dal g++, riuscendo a recuperare (a fatica!) 
con Google alcune pagine con qualche esempio...
L'unica strada facile da applicare e' quella dell'inclusione del file .cpp,
con l'ovvia ridondanza di codice... :-(
Peccato... 
Bye!
PS: grazie per la risposta.

Penso di aver sbagliato qualcosa io, o qualcosa outlook, la risposta non
appare...
Comunque ti dicevo che, visto che usi g++, puoi provare a separare la classe
di template in .h e .cpp come usuale e scrivere in quest'ultimo file:
#pragma implementation
Compila il tutto con g++ e vedi se funziona.
E' un appunto di una lezione di Linguaggi di Programmazione ma non ho mai
provato perchè non uso il g++.
Fammi sapere,
Saluti,
Sergio
P.S.
Grazie di nulla!
Newsgroup: it.comp.lang.c++
Titolo: dubbio su map

Il contenitore map ha 2 function object, key_compare e value_compare ma solo
key_compare e' assegnabile (nel costruttore di map).
E' importante poter assegnare a map una propria classe funzione per poter
decidere il modo in cui una classe deve essere ordinata, visto che per
ordinare gli elementi che lo compongono un map prende in considerazione
soltanto la parte key del value.
Ma per quale motivo map definisce anche questo value_compare? dove lo
utilizza map? e perche' non e' possibile assegnare una propria classe a
questo metodo di map? (nonostante il fatto che sia possibile sapere qual è
la function object usata da map tramite value_comp() )
Grazie
Franz

 la function object usata da map tramite value_comp() )
Lo utilizza ogni volta che fa un paragone fra due oggetti di tipo value_type
(come pensavi che facesse a essere "sempre ordinato)? Non ti permette di
assegnare una tua classe perche' sarebbe ridondante: tu decidi la comparazione
fra key_type e lui crea automaticamente quella fra value_type. Avrebbero potuto
decidere di richiedere direttamente la comparazione fra value_type ma e' piu'
probabile che nella maggioranza dei casi una funzione di comparazione fra la
classe delle Key fosse gia' disponibile.
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

 Andrea Ferro
ciao
Franz

Newsgroup: it.comp.lang.c++
Titolo: Inserire elementi in un grafo

Ciao, sono di nuovo io.
Volevo chiedervi come posso fare ad inserire delle variabili all'interno  
di un grafo in c++.
Ho pensato di inserire all'interno del file .cpp delle librerie tipo LEDA  
o simili.
Sto facendo bene?
Ci sono metodi più funzionanti?
Sapete dirmi dove posso trovare degli esempi in c++ di grafi?
Grazie
Daniele
-- 
Using M2, Opera's revolutionary e-mail client: 
http://www.opera.com/m2/

 Sapete dirmi dove posso trovare degli esempi in c++ di grafi?
www.boost.org
http://www.boost.org/libs/graph/doc/table_of_contents.html
-- 
Gerolamo

  
wrote:

-- 


 programma?
Sono scritte in C++ standard e sono usate proprio all'interno di altri 
prog.........mmmmmmmmmm........si ;)
-- 
Tnk
Luca "Kleidemos" Francesca
Un computer a un altro quando si incontrano:
"Ciao, come ti boota oggi???"


-- 

Newsgroup: it.comp.lang.c++
Titolo: Specializzazione template C++

ciao, ho una classe di questo tipo:
template <typename T, template<class> class basic_container>
class svector {
...
basic_container<pair<int, T> > * container;
...
}
dovrei realizzarne una specializzazione tipo:
svector<T, list>::do_something() {}
oppure
svector<T, std::vector>::do_something() {}
come posso fare??
qualche consiglio??
grazie

 qualche consiglio??
Non è chiarissimo cosa tu voglia sapere.
Vediamo se l'esempio che segue ti aiuta o non c'entra niente.
#include <iostream>
using namespace std;
template <class T>
class A
{
public:
	void f();
	void g() { cout << "A<T>::g()\n"; }
};
template <class T>
void A<T>::f()
{
	cout << "A<T>::f()\n";
}
template <>
void A<int>::f()
{
	cout << "A<int>f()\n";
}
int main()
{
	A<char> c;
	A<int> i;
	c.f();
	c.g();
	i.f();
	i.g();
}
Kiuhnm
Newsgroup: it.comp.lang.c++
Titolo: Consiglio orientato agli oggetti

Ciao a tutti,
problemino filosofico:
E` corretto secondo voi che un oggetto si autodistrugga nel costruttore?
Ossia, al costruttore viene passato il path+nome di un file, se questo
non esiste l'oggetto fa un "delete(this)".
E` una cavolata? se non lo e`, come faccio a testare se l'istanza esiste
o e` stata distrutta?
ho provato una cosa tipo
myobj * xxx = new myobj("/miopath/miofile");
if (*xxx == NULL)
{
.......
}
ma non va, cosa sbaglio?
graaaazieeeee!

 }
try
{
  myobj * xxx = new myobj("/miopath/miofile");
}
catch ( FileNotFoundException & )
{
}
Ciao,
Nicola

 
............


graaaazieeeee!
E se provassi cosi´ ?
myobj * xxx;
if (xxx = new (nothrow) myobj("/miopath/miofile"))
{
// ok
}
else
{
// fail
}
Maurus

grazie, ciao.
la togli, e lasci il compito al distruttore
cod

 Maurus
ma cosi` il controllo non si riferisce a "new" ?
(che va sempre a buon fine in quanto l'oggetto viene istanziato e la
memoria allocata)
simone.

simone.
Oooopsss,
hai ragione non avevo letto bene scusami.
Maurus

 }
Infatti non funziona, mi sa che l'unica soluzione e` fare un'eccezione.
ciao e grazie!

 la togli, e lasci il compito al distruttore
Solo una precisazione: se lanci un'eccezione nel costruttore di una
classe che viene allocata dinamicamente con new, e' la new stessa a
recuperare la memoria, tu non devi fare niente.
Ciao,
Nicola

Meglio piuttosto lanciare un'eccezione.
oltretutto non è anche pericoloso fare una cosa del genere? A parte il
fatto che se fai delete(this) su una variabile automatica muori,
rischi anche che succeda una cosa del genere:
struct X {
	X() { 
		delete this;
		// se c'è del codice qua agisce su un oggetto che non esiste più!
	}
};
Anto
--
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it

ma non va, cosa sbaglio?
L'errore é quello di usare un approccio in stile C quando il C++ ti
permette di fare le cose in maniera decisamente migliore e più
elegante.
Come ha già detto Nicola, devi usare le eccezioni.
Costruisci l'oggetto all'interno di un blocco try, e lancia un
eccezione nel caso che il file non esista.
In questo modo il distruttore della classe verrà chiamato
automaticamente quando l'eccezione viene raccolta.
Lanciare un'eccezione all'interno del costruttore é però una tecnica
pericolosa, e se proprio lo vuoi fare assicurati che l'eccezione venga
lanciata dopo che é stata allocata memoria per tutti i dati membro(se
non si usa l'allocazione dinamica il problema non sussiste).
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.
-----

recuperare la memoria, tu non devi fare niente.
Forse vale la pena ricordare che pero' il distruttore della classe
in questo caso *non* viene chiamato...
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff
Newsgroup: it.comp.lang.c++
Titolo: Voglio imparare il C++

Salve, sono un ragazzo di 14 anni e mi piacerebbe molto programmare; ho
sentito che uno dei linguaggi più "tosti" è il C++ e mi interesserebbe
impararlo. Qualcuno mi sa indicare qualche sito internet da cui scaricare
corsi e software necessari ?
Ringrazio tutti coloro che mi risponderanno.
-- 
Luca Cittadini
pcitt...@getnet.it

corsi e software necessari ?
Un buon punto di partenza potrebbe essere questo sito:
http://safelink.softseek.com/Programming/C/
Ci puoi trovare un bel po' di roba utile tra cui un paio di tutorial sul C e
sul C++ davvero carini. Altrimenti, se vuoi qualcosa di ancora più concreto
(parlo di sorgenti e librerie) prova qui:
http://garbo.uwasa.fi/pc/programming.html
Non ne rimarrai certo deluso...
Rodolfo Tedeschi - 
thet...@tin.it

Già che ci stiamo, mi aggiungo.
Ho 16 anni e anche se mi sto avvicinando a Javascript vorrei imparare
qualcosina in c++.
Innanzitutto, mi potrste dire la differenza tra il c, il c++, il
Visualbasic ecc ecc?
E poi un buon libro qual è?
Grazie.
Cordialmente,
               Alessio
--
P.S. se non togli il ---NONVOGLIOSPAM--- 
dal mio email non puoi rispondermi.
My ICQ UIN: 6168664

Newsgroup: it.comp.lang.c++
Titolo: Aprire tipi di documenti differenti

Salve a tutti
Creando una applicazione SDI con AppWizard di Visual C++ 6.0 e' possibile
aprire un tipo di documento.
Ora, se io volessi aprirne piu' di uno? (e quindi farmi apparire la lista
dei documenti apribili nella finestra chiamata da OnFileOpen?
Grazie ancora

...

Devi allora aggiungere le opportune CDocTemplate per
definire tutti i tipi di documenti (e relative view, ecc) che
ti interessa poter aprire.  Visto che parli di SDI, userai
CSingleDocTemplate, ponendo le opportune chiamate
alla AddDocTemplate(new CSingleDocTemplate(ecc));
i 4 argomenti del ctor del template sono l'ID di risorsa
e le RUNTIME_CLASS delle classi di documento, frame,
e view.
Alex
Newsgroup: it.comp.lang.c++
Titolo: Database per applicazione Visual C++

Ciao a tutti,
devo realizzare un'applicazione che necessita di una base dati locale.
L'ambiente sarà Windows 95/98.
Non vorrei utilizzare Access come database.
Che altro db può essere una valida alternativa, magari senza le fastidiose
limitazioni SQL di Access, e se possibile piùù performante?
Forse Fox Pro ?
Grazie in anticipo
Federico


ICQ #34602650

Newsgroup: it.comp.lang.c++
Titolo: Problemi di compilazione

Salve, sono nuovo in questo NG. Ho scoperto, dal sito
della Microsoft, il programma Microsoft HTML Help 
Workshop, utile per la creazione di files della guida
in linea in formato CHM. Il tool di sviluppo comprende i
files " htmlhelp.h" e " htmlhelp.lib", che permettono ai
programmatori C++ il richiamo della nuova API HTMLHELP().
Il mio problema è questo: sono in possesso dell' ambiente
di sviluppo Borland C++ versione 5.02; al momento della
compilazione, il linker mi segnala di aver riscontrato
un " bad header" in htmlhelp.lib. Sospetto che tale file
sia scritto specificatamente per l'ambiente Visual C++
e non venga riconosciuto dal Borland C++. Qualcuno di 
voi a mai provato a compilare questi file? Se pensate
che i miei sospetti siano fondati, vi sarei molto grato
se mi indicaste dove posso reperire i 2 files sopra
indicati in un formato riconosciuto dal compilatore
della Borland. Vi ringrazio anticipatamente per ogni 
vostra risposta. Ciao

On Fri, 03 Dec 1999 19:39:33 GMT, 
adol...@libero.it
 wrote:
Se hai anche la dll htmlhelp.dll (come credo)
usa l'utiliti implib (nella dir bin del BC++):
implib htmlhelp.lib htmlhelp.dll
da eseguire nella directori dove c'e` la dll.
Troverai il file .lib da utilizzare al posto di quello della MS.
Paolo
-----------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------

voi a mai provato a compilare questi file?
Prova ad effettuare un
IMPLIB htmlhelp.lib hhctrl.ocx
nella directory di sistema di Windows.
Almeno mi sembra che sia l'unica libreria (un OCX e' pur sempre una
DLL!!!!) a contenere la funzione esportata HtmlHelp.
P.S. Scusa per il ritardo ma appena tre minuti fa' ho finito di
mangiare 15 chili di pasta e fagioli.
Bye.
-- 
Joseph Parrello - OWL/C++ Programmer
SourceNet Italia (
http://SourceNet.freeweb.org
)
Le patch di OE (
http://www.freeweb.org/computer/SourceNet/Outlook.htm
)
Newsgroup: it.comp.lang.c++
Titolo: domanda

Ciao a tutti, ho una curiosità
Vorrei scrivere un programmino che visualizza il contenuto della RAM del PC
ora, ho studiato che ogni programma ha un suo spazio specifico in memoria,
e se si cerca di andare oltre quello spazio il programma crasha.
Esiste qualche metodo per fare un memory dump o similia?
qualcuno può suggerirmi un paio di righe di codice?
grazie mille.

Ciao a tutti, vorrei creare una libreria (un file)
che mi permetta di ordinare un vettore di interi.
ho provato ha creare il file chiamato sort.h contenente solamente la
definizione
della funzione :
void sort(int *, int vector_size)
{
  corpo....
}//TRA L'ALTRO NON SO SE SI FA COSě!
a questo punto scrivo il programmino includendo il file sort.h
il tutto viene compilato e linkato correttamente
ma in esecuzione non va come dovrebbe.
chi mi spiega come si costruisce un file di intestazione?
ciao e grazie

 Esiste qualche metodo per fare un memory dump o similia?
Nei sistemi unix esiste /dev/mem o simile (root only)
Ciao
 -----= Posted via Newsfeed.Com, Uncensored Usenet News =-----
http://www.newsfeed.com
 - The #1 Newsgroup Service in the World!
-----== 90,000 Groups! - 17 Servers! - Unlimited Download! =-----
 

 ma in esecuzione non va come dovrebbe.
Se č il programma che non funziona, vuol dire che c'č qualche errore nel
codice.
Comunque il file header deve contenere solo la dichiarazione della funzione;
la sua implementazione va messa in un file *.cpp separato, che va compilato
e poi linkato con il file principale.
Ciao,
Cecco

 }//TRA L'ALTRO NON SO SE SI FA COSì!


   for (j=1; j<n; j++)
non è necessario farlo su tutti gli elementi, basta farlo per j<n-i-1, tanto
gli ultimi elementi sono già quelli ordinati.
Ciao,
Cecco

 ha scritto nel messaggio
news:Z27k8.67795$Ns4.2...@news2.tin.it...


 chi mi spiega come si costruisce un file di intestazione?
scrivi la tua funzione su un file .cpp
--- foo.cpp ---
void foo(int a, int b)
{
        ...
}
A questo punto scrivi un file foo.h contenente solo il prototipo della 
funzione
--- foo.h ---
void foo(int, int);
Ecco fatto. Ovviamente ogni volta che usi foo.h devi ricordarti di dire 
al linker di linkare il file foo.cpp (possibilmente gia` compilato)
ciao Anto
-- 
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.73, higher than 99% of all previous test takers.
C Language: 3.79, higher than 92% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it
Newsgroup: it.comp.lang.c++
Titolo: Finder

Salve a tutti,
Ero in procinto di modificare un file di esempio di cui e' corredato il VC
++ 5.0, ovvero :
/* FFIND.C: This program uses the 32-bit _find functions to print
 * a list of all files (and their attributes) with a .C extension
 * in the current directory.
 */
#include <stdio.h>
#include <io.h>
#include <time.h>
void main( void )
{
    struct _finddata_t c_file;
    long hFile;
    /* Find first .c file in current directory */
    if( (hFile = _findfirst( "*.cpp", &c_file )) == -1L )
       printf( "No *.cpp files in current directory!\n" );
   else
   {
            printf( "Listing of .c files\n\n" );
            printf( "\nRDO HID SYS ARC  FILE         DATE %25c SIZE\n", '
' );
            printf( "--- --- --- ---  ----         ---- %25c ----\n", ' ' );
            printf( ( c_file.attrib & _A_RDONLY ) ? " Y  " : " N  " );
            printf( ( c_file.attrib & _A_SYSTEM ) ? " Y  " : " N  " );
            printf( ( c_file.attrib & _A_HIDDEN ) ? " Y  " : " N  " );
            printf( ( c_file.attrib & _A_ARCH )   ? " Y  " : " N  " );
            printf( " %-12s %.24s  %9ld\n",
 
c_file.name
, ctime( &( c_file.time_write ) ), c_file.size );
            /* Find the rest of the .c files */
            while( _findnext( hFile, &c_file ) == 0 )
            {
                printf( ( c_file.attrib & _A_RDONLY ) ? " Y  " : " N  " );
                printf( ( c_file.attrib & _A_SYSTEM ) ? " Y  " : " N  " );
                printf( ( c_file.attrib & _A_HIDDEN ) ? " Y  " : " N  " );
                printf( ( c_file.attrib & _A_ARCH )   ? " Y  " : " N  " );
                printf( " %-12s %.24s  %9ld\n",
 
c_file.name
, ctime( &( c_file.time_write ) ),
c_file.size );
            }
       _findclose( hFile );
   }
}
ma anziche' far cercare un file con estesione *.cpp il mio intento sarebbe
di trovare dei file che rispondano alla data di creazione da me indicata.
Come e' possibile fare cio'?
Non ci sono riuscito qualcuno sarebbe cosi' gentile da spiegarmelo ?
Grazie.

 Non ci sono riuscito qualcuno sarebbe cosi' gentile da spiegarmelo ?
Ben volentieri, se posti la richiesta sul gruppo appropriato, cioe`
it.comp.programmare.win32; essa e` inappropriata per questo
gruppo, poiche` non relativa al C++ ma ad una specifica
piattaforma di programmazione.
Alex

 piattaforma di programmazione.
ops.. chiedo scusa.
Saluti.
Newsgroup: it.comp.lang.c++
Titolo: Puntatori

Salve a tutti,
    volevo solo sapere quanto può puntare un puntatore del tipo char* in
Win32.
    Grazie
            Andrea

 wrote in message
38E38880...@numerica.it...


 char? Puoi usare sempre sizeof(char) per saperlo...
sizeof(char) vale uno per definizione (ISO 5.3.3.1); la dimensione di
un array-di-char e' implementation defined (ibid.) e _deve_ essere
quindi documentata dall'implementazione.  In mancanza di altro, guarda
come e' definito size_t (<cstddef>): visto che, per definizione,
size_t e' un tipo intero unsigned adatto a contenere la dimensione di
un array.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

Maurizio Loreti wrote:

Scusate ma credo mi abbiate frainteso. Io intendevo dire quanta memoria può
indirizzare un puntatore in Windows 95 .
Grazie a tutti
        Andrea
Newsgroup: it.comp.lang.c++
Titolo: Disegno e GDI

Pur non avendo sviluppato delle applicazioni che prevedessero un uso avanzato
della grafica, le funzioni GDI mi hanno più volte creato problemi, a causa
dell'insufficiente controllo sui particolari dei disegni. In particolare le
linee di spessore maggiore di  uno sono disegnate con algoritmi poco
controllabili dal programmatore (per esempio non posso stabilire da che parte la
linea 'si inspessisce' rispetto alle coordinate delle estremità). Su Win95 non
posso tracciare linee con un tratteggio 'user defined', la funzione per
tracciare gli archi è decisamente scomoda da usare, e così via. Se voglio
realizzare disegni con una precisione al pixel, che non cambiano aspetto o si
deformano con lo zoom, le funzioni GDI mi sembrano decisamente inappropriate.
Ci sono poi delle stranezze che non mi spiego, come il fatto che in diverse
funzioni le coordinate Right e Bottom dei rettangoli sono diminuite di uno, ecc.
Finora mi sono arrangiato scrivendo delle classi wrapper con opportune
correzioni, o usando rettangoli al posto delle linee ecc.
Ora mi è venuta l'idea di farmi qualcosa di più elaborato, una vera libreria di
classi per il disegno, naturalmente solo con le funzionalità di base, ma comoda
e semplice da usare.
Subito dopo ho pensato che sarebbe strano se qualcosa del genere non esistesse
già, viste le carenze della GDI. Io però finora ho sentito parlare solo di
librerie grafiche per l'elaborazione di immagini, tipo LeadTools, oppure
strumenti per grafica 2D e 3D avanzata come OpenGL e DirectDraw.
Quindi chiedo agli esperti di grafica:
1) Esiste qualche libreria grafica per Windows che abbia le caratteristiche di
cui sopra?
2) Volendo invece realizzare una nuova libreria, quali sono le migliori fonti di
informazione su algoritmi grafici per il disegno geometrico (anche con
particolare riferimento alla piattaforma Windows)?
Ringrazio in anticipo chi volesse darmi una risposta.
Saluti
Paolo

Ti rispondo non perchè ho una risposta, ma perchè mi associo a quello che
dici riduardo il comportamento insufficiente sulla GDI, problemi su linee
con diversi stili, disegno di archi, e pattern, diversi cmportamenti tra
win95 e NT.
Io per vari lavori mi sono creato delle funzioni wrapper, ma non ho mai
avuto il tempo di organizzarle in una classe, e documentarle.
Le librierie tipo LeadTools sono principalmente per la gestione immagini
bitmap, testi specifici sulla grafica 2D per windows non ne ho trovati,
utilizzo ancora vecchi testi con algoritmi scritti per applicazioni MS-DOS e
li adatto (talvolta andando a tentativi) alla GDI.
Questi i miei testi:
Grafica avanzata in C
Nelson Johnson - Jackson
(Codice per MS-DOS) molti algoritmi per il disegno di linee, archi,
rotazioni, trasformazioni nel piano (e input output MS-DOS),
Graphics programmin in C
Roger Stevens - Pretience Hall
Simile a quello sopra (in inglese) in  piu algoritmi per spline, shading.
Ciao.
Newsgroup: it.comp.lang.c++
Titolo: Configurare i news gruop dentro outlook

Ciao, non riesco ad inserire questo news group in outlook
hai un idea di cosa possa essere...e se si pou' fare...
ciao grazie
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:a79090739c7b2528d50...@mygate.mailgate.org...

Newsgroup: it.comp.lang.c++
Titolo: dove posso trovare informazioni sugli smart pointers?

dome da oggetto,
avrei bisogno di puntatori che (come mi sembra di aver capito)
tengano traccia di chi li sta puntando.
Massimo


http://boost.org/libs/smart_ptr/smart_ptr.htm
-- 
http://www.parashift.com/c++-faq-lite/
http://mindview.net/Books/DownloadSites
http://www.cppreference.com/

Newsgroup: it.comp.lang.c++
Titolo: Sono io il re

Non voglio sentire discussioni.

 Non voglio sentire discussioni.
Io avrei scritto: "Sono io il Re" ...
La tua minuscola č un po' riduttiva... Sembra quasi tu sia una nota musicale
:-)

 Io avrei scritto: "Sono io il Re" ...
Io avrei scritto: "Sono io lo Re"
p.s.cosa devono sentire le mie "leorecchie" ;)

 Io avrei scritto: "Sono io lo Re"
Io invece avrei scritto: "Invece di perdere tempo a scrivere queste grandi
verità sul Genere Umano, o un'era meglio se 'n'davo ar barre a trincammi
un par di ponci e poi 'n' davo a letto allegro ?"
Moreno.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

"Carlo"
sarà lui LoRecchie?
:-D
MK!