mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: ottimizzazione possibile?

Supponete di avere (ad esempio)
void f(int k, int v)
{
    if(++k > v) return;
    f(k, v);
}
Come ho detto č solo un esempio, quello che vorrei mettere in risalto
č il fatto che f viene richiamate sempre con lo stesso parametro v.
E' possibile per un compilatore ottimizzare questa situazione?
(Ossia evitare di allocare v sullo stack ad ogni chiamata di f)
Se ciň non fosse possibile mi troverei costretto ad usare al posto di v
una variabile globale (cosa non buona), o ad incapsulare il tutto
in una classe (cosa eccessiva).
Saluti e grazie  Manlio Perillo

 wrote :
[...]
| E' possibile per un compilatore ottimizzare questa situazione?
| (Ossia evitare di allocare v sullo stack ad ogni chiamata di f)
mi sembra strano: e' ricorsivo, e percio' viene allocato tutto lo status
dei parametri. puoi pero' risolvere con 2 funzioni:
void f(int k, int v);
void f_1(int k, int v){
   while(++k<=v)
       f(k,v);
};
Spezzare la ricorsione e' un ottimo metodo di ottimizzazione.

in una classe (cosa eccessiva).
Se temi l'overhead di una chiamata ricorsiva allora forse la
ricorsione e' sbagliata come approccio. Comunque prima dovresti
scrivere la cosa "pulita" (ovviamente con un po' di buonsenso),
quindi misurare e solo *dopo* fare ragionamenti per ottimizzare.
Una regola molto empirica ma molto importante e' quella chiamata
"regola dell' 80%/20%" che dice che in un programma l'80% del
tempo viene perso nel 20% del codice. Ottimizzare alla cieca
e' discutibile; prima bisogna capire quale e' il 20% che crea
il problema di prestazioni.
L'intuito non e' sempre un buon consigliere in questo campo.
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

E' possibile per un compilatore ottimizzare questa situazione?
Lasciando perdere il discorso che la ricorsione di coda (tail
recursion) e` ottimizzabile, non credo sia facile fare cio` che tu
vorresti.
E` anche vero che potresti riscriverla in modo diverso:
while (k>=v) ++k;
Paolo
-------------------------------------------
  Paolo Marotta
 
http://web.tiscalinet.it/paolo_marotta/
-------------------------------------------
Newsgroup: it.comp.lang.c++
Titolo: Dove inizializzo una CDialogBar ?

Spero che per voi sia un problema banale...
Ho costruito una classe CDialogBar da tenere permanentemente sulla destra
della mia vista principale.
Questa DialogBar contiene una serie di controlli da inizializzare, ma non so
come farlo perchè :
1) Non esiste una funzione OnInitDialog() perchè non deriva da CDialog ma da
CControlBar
2) Non è come per gli oggetti derivati da CFormView perchè quelli si possono
inizializzare tranquillamente in OnInitialUpdate()
3) Ho provato a inizializzarla in OnCreate(), ma per farlo devo scrivere
 es: una combo ):
CComboBox* MyCombo = ( CComboBox *) GetDlgItem(IDD_MYDIALOG)
e naturalmente (sarcastico..)  GetDlgItem mi restituisce NULL
Come fare?
PS : Se però scivo la stessa cosa in corrispondenza per es. di un
CBN_SELCHANGE il puntatore me lo da e funziona!!!

e naturalmente (sarcastico..)  GetDlgItem mi restituisce NULL
la GetDlgItem() nella OnCreate() non funziona probabilmente perche' i
controlli ancora non sono stati creati.
Gianpaolo Bottin
- Live Long and Prosper -
Newsgroup: it.comp.lang.c++
Titolo: wxWidgets:perchè?

Ciao,
la mia non vuole essere una domanda provocatoria,ma,anzi,queste librerie
hanno stuzzicato la mia curiosità e mi piacerebbe avere un parere da
esperti.
Se sto già usando le MFC con Visual C++ 6 (e sto per passare al
.NET),perchè mi sarebbe utile usare le wxWidgets?
Al momento,l'unica cosa che so è che così potrei creare programmi anche per
altre piattaforme,ma credo proprio che i vantaggi non si fermino
qui.Potreste darmi un'idea dei miglioramenti che otterrei?
Grazie anticipatamente :)

 .NET),perchè mi sarebbe utile usare le wxWidgets?
La mia esperienza:
- Programmazione con MFC: non sono riuscito a cavarci un
  ragno dal buco nonostante avessi a disposizione un testo
  di 1110 pagine.
- Programmazione con wxWidgets: il primo programma l'ho scritto
  con esempi raccattati su Internet.
Conclusione o sono io particolarmente scarso o le MFC sono
complicate oltre ogni ragionevole motivo.
C:\>iao Angelo

 o le MFC sono complicate oltre ogni ragionevole motivo.
Ahhh allora non sono l'unico a pensarlo :)) 

 qui.Potreste darmi un'idea dei miglioramenti che otterrei?
Credo che la portabilita' sia il vantaggio principale, ma ho sempre 
rifuggito MFC come la peste, quindi non posso fare un confronto per 
esperienza.
  bye
	av.

 esperienza.
Curiosità da inesperto:perchè le hai evitate? A me sono piombate addosso,e
comunque ai tempi ero completamente all'oscuro di moltissime cose


Io da sporco neofita quale sono, bisognoso di scrivere programmi con
gui ho cercato in giro (principalmente nella zona open della netsfera)
e prima ancora di provare sulla mia pelle quello che avevo letto ho
scoperto l'ottimo wx-DevCpp. E' il solito vecchio dev ma con una
comoda interfaccina di disegno. Non c'è nemmeno da specificare che
funziona con le wxWidgets. Che dire? Le ho amate fin da subito,
portabili, veloci (non troppo) e dal mio punto di vista semplici da
imparare. Per adesso hanno tutto quello che mi serve e anche di più, e
credo che come AV mi terrò a debita distanza dalle MFC.
Ossequi Autoscatto...
PS: Ringrazio Angelo che ha risposto adeguatamente al mio primo
messaggio, visto che ritengo inutile aggiungere un post di là solo per
far ciò... (stavo aspettando di aver altro da chiedere =] ma come si
dice l'occasione rende l'uomo ladro....)

 comunque ai tempi ero completamente all'oscuro di moltissime cose
Prima di tutto perche' non sono multipiattaforma, anzi, funzionano solo 
con un compilatore; poi ne ho letto diverse critiche e considerando che 
su MicroSoft parto gia' prevenuto...
  bye
	av.
Newsgroup: it.comp.lang.c++
Titolo: Upgrade libro

Ciao a tutti,
giusto un consiglio veloce: io ho sempre studiato c++ per i cazzi miei sullo 
Stroustrup. Adesso all'uni devo affrontare un corso di OOP (non faccio 
informatica) e il testo consigliato e' "C++, how to program" di Deitel & 
Deitel.
Mi chiedevo se aggiungesse qualcosa al libro che ho gia' e se valesse la 
pena acquistarlo.
Io sarei propenso ad acquistarlo solo nel caso in cui quel libro trattasse 
bene la programmazione orientata agli oggetti come paradigma (che non mi 
ripeta ancora come creare una classe ma che mi dica quando e come costruirla 
bene. Quando utilizzare un tipo di approccio e perche').
Voi che dite?
Grazie,
fadeh 

"fadeh" <fad...@NOSPAMgmail.com> ha scritto nel messaggio 
news:l3m2g.2722$TK....@tornado.fastwebnet.it...

Secondo me non ti conviene comprarlo.
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg
The EMG Music page:         
http://www.emagsoftware.it/emgmusic

Newsgroup: it.comp.lang.c++
Titolo: Cercasi compilatore

Per C#

dopo 4 minuti hai visto che non rispondeva nessuno e hai deciso di chiedere
se qualcuno ne era almeno a conoscenza dell'esistenza di "microsoft c
cancelletto"
cmq ti ho già risposto su dove trovare info
--
ciao
XAERO [*]
"Se vuoi renderti conto del valore del
denaro, prova a chiedere un prestito"
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCA/CM/CS/CC/E/O d?(-) s+:-- a--->? C++++(+)$@ UL-(--) P>++ L+() E-- W+++$@
N++@ o-- K- w+++(++++)@ O--- M V? PS+++ PE-(--) Y? PGP>++ t? 5? X+ R- tv-
b+(++) DI? D++ G- e !h !r y?
------END GEEK CODE BLOCK------

Newsgroup: it.comp.lang.c++
Titolo: VENDO : VB 6.0 Enterprise Edition

Vendo causa inutilizzo :
Visual Basic 6.0 Enterprise Edition, original con licenza ed ancora da registrare,
prezzo interessante possibilita' fattura
Risposte in e-mail 
pas...@tiscalinet.it
__________________________________________________________________
Abbonati a Tiscali!
Con VoceViva puoi anche ascoltare ed inviare email al telefono.
Chiama VoceViva all' 892 800        
http://voceviva.tiscali.it
-- 
Posted from 
mail-6.tiscalinet.it
 [195.130.225.152] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:3B43877F...@mail.tiscalinet.it...

Newsgroup: it.comp.lang.c++
Titolo: Librerie e static e dinamic obj, un po' di domande

Scusate ma sto incominciando a dare fuori di testa con le librerie
volevo conoscerle un po' meglio avendo avuto problemi con g++ in uso di una
vecchia libreria che ora come ora non viene piu' riconosciuta dal linker.
volevo sapere c'e' qualche modo per estrarre la libreria .a da una dll ? o
perforza bisogna avere i sorgenti del progetto della dll per ricompilarla e
cosi ricreare la sua lib ?
poi sempre in ambito dll e sorgenti, trovo ingiro un sacco di progetti e
makefile fatti apposta per alcune macchine o solo per alcuni compilatori,
volevo sapere come si fa ad utilizzare i sorgenti anche se si usa un'altro
tipo di compilatore, cioe' non la diversita' dei sorgenti, ma proprio sapere
quale e' il file che fa la compilazione di tutto il progetto ?
infatti mi sono trovato un po spiazzato cercando di capire come iniziare a
convertire un projetto M$D in DEV C++.
se sapete suggerimenti letture da fare per conoscere bene come funzionano i
diversi compilatori ne sarei contento.
grazie ciao

 vecchia libreria che ora come ora non viene piu' riconosciuta dal linker.
Sarebbe meglio se lo chiedessi in gruppi relativi alle piattaforme che 
usi (tipo ad esempio it.comp.os.linux.development o 
it.comp.programmare.win32), visto che l'argomento di questo gruppo e` il 
solo C++ standard ISO, e non delle idiosincrasie delle varie 
implementazioni :-)
-- 
   |   \    \  | ___|_  |_  | ianezz a casa sua... :-)
   |  _ \  | \ | _|    /   /  Visita il LinuxTrent a
  _|_/  _\_|  _|____|___|___| 
http://www.linuxtrent.it

 implementazioni :-)
scusa ma le librerie di codice che si creano con un compilatore c++ non
rientrano nel linguaggio ? cioe' che ideosincrasie sono quelle che accenni ?

 rientrano nel linguaggio? 
Lo standard si limita a parlare di compilation unit, e di simboli che 
hanno external linkage, ovvero di simboli a cui possono far riferimento 
altri simboli in altre compilation unit, con un paio di note riguardo a 
main() e le convenzioni di chiamata, e basta.
Link editor, compilation unit raccolte in librerie archive e/o 
condivise, etc. sono tutte al di fuori di esso.


 linker. 
Il formato delle librerie usate da G++ è cambiato passando dalla versione
2.9x alla 3.x. Bisogna ricompilare i sorgenti. 
-- 
"Tutto è superfluo. Il vuoto sarebbe bastato"
(Emil Cioran, "L'élan vers le pire", Gallimard)

 2.9x alla 3.x. Bisogna ricompilare i sorgenti.
infatti lo sapevo che erano cambiate ... ma mi spieghi come posso
ricompilare in g++ un progetto per visual c ??? che non si capisce manco
quale sia il file sorgente principale e come minimo mi dara' da riconvertire
200 altre cose ... ma non e' tanto quello il problema quanto trovare
l'inizio del progetto in 200 file
grazie
Newsgroup: it.comp.lang.c++
Titolo: Aiuto !! Ho un problema con "Microsoft Setup Toolkit"

Qualcuno di voi sa dirmi dove posso trovare la documentazione per
"Microsoft Setup ToolKit " per Windows 3.1 ?
Ringrazio a tutti quelli che mi daranno una soluzione !!!
Ciao

Ringrazio a tutti quelli che mi daranno una soluzione !!!
e' da un bel pezzo che non si usa piu' quel Toolkit, sulle vecchie
copie dell'MSDN c'e' sicuramente perche' mi ricordo di averla
consultata, pero' il difficile e' trovare qualcuno che le conservi
ancora.
Gianpaolo Bottin
- Live Long and Prosper -
Newsgroup: it.comp.lang.c++
Titolo: Implementazione OROLOGIO

Chi mi aiuta ad implementare un orologio semplice ma che si aggiorna da
solo. Mi spiego meglio la funzione presente in time.h, non mi ricordo quale,
fa stampare l'orario corrente con la data, ma l'orario non si aggiorna da
solo. Come si fa???
GRAZIE

solo. Come si fa???
Direi che dipende dal sistema operativo.
Molto telegraficamente:
In Win32, userei SetTimer(),Gestione di WM_TIMER, KillTimer().
Per gli appassionati di eventi : CreateWaitableTimer()/OpenWaitableTimer();
Per i raffinati cultori della precisione timeSetEvent();
Negli Unices, userei un gestore di SIG_ALARM.
Potrebbero esservi altri metodi, ma non sono granche' esperto.

Newsgroup: it.comp.lang.c++
Titolo: Cartella Temp

 C'e' una funzione con Borland C++ Builder o con le API di Windows che mi
permettano di trovare la cartella per i file temporanei (comunemente
C:\WINDOWS\TEMP) in Windows 95?
Grazie
~~~~~
Lanfranco Raiani
e-mail: 
rai...@tin.it


E' sufficiente l'API: Ecco il prototipo
DWORD GetTempPath( 
DWORD nBufferLength, // size, in characters, of the uffer 
LPTSTR lpBuffer // address of buffer for temp. path ); 
A presto.
-- 
---------------------------------------------------
 Osvaldo Ciurleo - LucOs Sistemi Informativi
  C/C++: Sviluppo - Formazione - Consulenza
 mailto:
osw...@tin.it
 
http://www.lucos.it/

Newsgroup: it.comp.lang.c++
Titolo: relazione 1-n con gli oggetti

salve vorrei sapere come potere realizzare questo comportamento (preso da un
sistema relazionale)
in un ambiente ad oggetti(c++)
la soluzione più semplice che mi è venuta in mente è di "mettere" dentro la
classe che sta a sinistra nella relazione
una collezzione di classi che stanno a destra nella relazione.
Questa però è una soluzione "statica" nel senso che se devo cambiare il tipo
di relazione è inevitabile
modificare il codice (questo alle volte è sempre inevitabile) ma come potrei
fare per limitare
queste modifiche ?
grazie ciao.

 una collezzione di classi che stanno a destra nella relazione.
Secondo me e' una soluzione molto pulita.
Altrimenti puoi implementare la relazione come una una mappa (std::map), 
in cui usi come chiave un puntatore (lato 1), e come valore una 
collection di elementi (lato n).
es.:
// Classe C1 lato 1
// Classe Cn lato n
typedef std::list< Cn * > ListaLatoN;
typedef std::map< C1 *, ListaLatoN > Relazione;
Cosi' facendo, non inglobi la relazione in C1.
...oppure usi un semplice array, come se fosse una tabella 
"relazionale", in cui ci metti:
ID, punt. classe C1, punt. calsse Cn
struct RecordRelazione {
  unsigned long id;
  C1 * c1;
  CN * cn;
};
std::list<RecordRelazione> Relazione1N;
Ciao,
Dan
Newsgroup: it.comp.lang.c++
Titolo: OT - operazioni sui bit

Salve a tutti,
perdonatemi se la domanda č OT,
credo che voi sappiate rispondere alla domanda.
In C/C++ si possono usare gli operatori bit, del tipo & oppure | .
Es.:
if( ( a | b ) & c )
  sprintf( ....... );
la domanda č:
come mai sia che usi valori binari per le variabili suddette (a,b,c) sia che 
usi valori decimali (qualunque essi siano) il risultato č lo stesso (1 o 0) 
?
Sembrerebbe cioč che non conti la rappresentazione che adotto.
Grazie.
Marco

?
Che intendi per "sia che usi valori binari, sia che usi valori
decimali" ?
La memorizzazione di un numero in C++ (come in qualsiasi altro
linguaggio di programmazione), e quindi il calcolo mediante operatori
bitwise, avviene sempre a livello binario (parlo della parte piů
"intima" del sistema).
C++ puň poi rappresentare lo stesso numero in formati diversi
(decimale, ottale, esadecimale). Ciň che vedi a video č solo una
rappresentazione in una base specifica di ciň che internamente č
memorizzato in base 2.

 Sembrerebbe cioè che non conti la rappresentazione che adotto.
Un esempio concreto?
  bye
	av.

> Un esempio concreto?
( 0101 | 1000 ) & 0001 = 0001
ed anche
( 5 | 8 ) & 1 = 1

( 0101 | 1000 ) & 0001 = 0001
0101 = 101 = centouno in C++
1000 = mille in C++
0001 = 1 = uno in C++
Qualsiasi numero dispari, posto a & con 1 dà 1.
quindi:
101 | 1000 = 1005 & 1 = 1

 0101 = 101 = centouno in C++
Non e' esatto, in quanto in C++ i numeri interi che iniziano con 0 sono 
intesi in notazione ottale. Pertanto:
0101 = 65 = sessantacinque
1000 = mille
0001 = 1 = uno
quindi:
0101 | 1000 = 65 | 1000 = 1001
1001 & 0001 = 1
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila

 0101 = 65 = sessantacinque
Ovviamente hai ragione, piccolo lapsus. Comunque il discorso di base
non cambia, nel senso che non supportando il C++ la notazione in base
2, ma solo ottale, decimale ed esadecimale, quei numeri sono comunque
da intendersi espressi in un'altra base (8 o 10).

marco <ma...@nospam.marco> ha scritto:

La domanda del post iniziale sembra un po' confusa
A parte l'errore legato al fatto che 0101 e' ottale mentre
1000 e' mille (decimale)  come ti hanno fatto notare,
c'e' anche da dire che se consideri che
a) un numero (x) e' sempre il numero x in qualsiasi base tu lo 
  rappresenti (cambia la rappresentazione, non il numero)
b) gli operatori bit a bit lavorano appunto sui bit
c) il calcolatore lavora comunque in base 2
se tu volevi scrivere una cosa del tipo 
[(101) in base 2] | [(1000) in base 2] & [(0001) in base 2] = (1) in base 2
e anche 
[(5) in base 10] | [(8) in base 10] & [(1) in base 10] = (1) in base 10
e' abbastanza ovvio che 
1) il numero che risulta sia uguale (visto che il primo membro
della prima uguaglianza e' uguale al secondo membro della seconda uguaglianza)
2) la rappresentazione del numero che risulta e' uguale nei due
casi essendo il numero risultante pari a 1 che e' rappresentato nello
stesso modo sia in base 10 che in base 2.
Ciao,
Marco.
Newsgroup: it.comp.lang.c++
Titolo: double -> string

Ciao!
Io ho trovato questo sistema per convertire un decimale in stringa con
precisione di n cifre decimali (MSVC):
CString Decimal2String(decimal num, int precision)
{
 stringstream ss;
 ss.precision(precision);
 ss << num;
 CString s = ss.str().c_str();
 return s;
}
(dove decimal è un alias di double).
Questa soluzione, oltre a essere piuttosto lenta, mi dà alcuni problemi.
Vorrei perciò sapere se avete qualcosa di simile, che non usi gli
stringstream ma si comporti alla stessa maniera (quindi arrotondando
eventuali decimali in eccesso).
Grazie mille!!!
--
Kojak
vrke...@hotmail.com
http://zip.to/kojak
Life would be much easier if I had the source code.




A meno di non scrivere il codice 'a mano', un modo di procedere
usando la libreria Standard è:
   //
   // Classe per gestire la formattazione
   //
   class Format: public std::ios_base
   {
      public:
        Format(const std::ios_base& o)
        {
          flags(o.flags());
          precision(o.precision());
          width(0);
        }
   };
   //
   // num_put facets
   //
   // assume che la stringa abbia abbastanza spazio
   class NumPut: public std::num_put<char, string::iterator>
   {
      public:
         typedef char char_type;
         typedef std::string::iterator iter_type;
       NumPut()
         : std::num_put<char, iter_type>(1)
         {  }
   };
   // scrive (appende) alla fine della stringa
   class NumPut_inserter:
   public std::num_put< char, std::back_insert_iterator<string> >
   {
      public:
         typedef char char_type;
         typedef std::back_insert_iterator<string> iter_type;
       NumPut_inserter()
         : std::num_put<char, iter_type>(1)
         {  }
   };
   NumPut_inserter parser;
   Format f(std::cout);
   f.setf(std::ios_base::scientific, std::ios_base::floatfield);
   f.precision(6);
   string stringa;
   float x = 545.344353598;
   parser.put(stringa.begin(), f, ' ', x);
   std::cout << "x = " << stringa << '\n';
Saluti Manlio Perillo

Newsgroup: it.comp.lang.c++
Titolo: Eventi del mouse in VC++6

Ciao,
   devo catturare il click del mouse per operare un zoom.
Utilizzo il messaggio "OnMouseMove" in cui come da manuale inserisco:
if ((nFlags & MK_RBUTTON) == MK_RBUTTON)
 {
  ZOOM = ZOOM - 0.20;
  CRect Finestra;
  GetWindowRect(&Finestra);
  CPoint PuntoTL;
  PuntoTL = Finestra.TopLeft();
  Centro=point-PuntoTL;
  Nuovo = false;
  RedrawWindow();
 }
Compilo ed eseguo. Premo il tasto destro del mouse ed :
- a volte non accade nulla
- a volte funziona
- a volte parte lo Zoom 2-3 volte.
Qualche aiuto? Grazie

    devo catturare il click del mouse per operare un zoom.
Ti consiglio di chiedere su it.comp.programmare.win32, che
e` esattamente il gruppo dedicato a questo tipo di domande.
Alex


Il messaggio OnMouseMove viene scatenato solo mentre muovi il mouse, non se
premi i pulsanti e mantieni il mouse perfettamente fermo, per questo motivo
alle volte non succede nulla...



Newsgroup: it.comp.lang.c++
Titolo: PostMessage

Sto utilizzando una PostMessage per inviare informazioni ad una Dialog.
Il problema è che la frequenza dei PostMessage è abbastanza elevata e
succede che dopo un po l' applicazione si blocca.
Se utilizzo il SendMessage (cosa che non posso fare per via del fatto che è
una chiamata Sincrona e non asincrona come il PostMessage) invece tutto
funziona perfettamente.
Qualcuno di voi conosce una soluzione a questo problema.
Grazie in anticipo

Grazie in anticipo
PostMessage(it.comp.programmare.win32);
^__^
Luc.

Newsgroup: it.comp.lang.c++
Titolo: Aiuto.. problemi sulla StatusBar con MFC

Come posso visualizzare un'icona all'nterno di un "ID_INDICATOR_..." di una
satus-bar???
Con alcune righe di software riesco a visualizzare un'icona sulla barra di
stato (intercetto i messaggi CmdUI), ma quando modifico le dimensioni della
finestra frame trascinandola con il mouse, l'icona sparisce ( evidentemente
i messaggi CmdUI in quel momento cessano ) per poi riapparire al rilascio
del mouse.
Come posso ottenere il DC dell' ID_INDICATOR_.... ????
Grazie a tutti.

Vorrei sapere se esistono delle dll che trasformino il mio BC++B
dall'inglese all'italiano, ho visto che per altri software esistono, se si
dove posso trovarle?

Newsgroup: it.comp.lang.c++
Titolo: Errore al return?

Ho una classe in cui un metodo mi fa crashare il programma al return
finale, esattamente prima della graffa di chiusura della funzione.
La funzione non è ricorsiva, ma richiama una funzione secondaria che
può essere ricorsiva. Però poi l'esecuzione torna alla funzione
chiamante (ho debuggato e visto a schermo quello che succede). Ho
messo un std::cout fino al rigo immediatamente precedente la return 1;
appena dopo il messaggio il programma crasha.
Da cosa può dipendere che un'istruzione return si comporti così?


Potrei, da qualche parte, aver sbroccato con i puntatori e
sovrascritto zone di memoria del codice?

 sovrascritto zone di memoria del codice?
E' molto probabile. Quasi certo, secondo me.
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg
The EMG Music page:         
http://www.emagsoftware.it/emgmusic
Newsgroup: it.comp.lang.c++
Titolo: Testi per la didattica


+-----------------+
| Toro on the Net |
+ ^^^^^^^^^^^^^^^ +-----+
|   /===============\   | First website about
|-=> 
www.toroclub.it
 <=-| Torino Calcio
|   \===============/   | and its supporters !
+-----------------------+

la standardizzazione ansi ?
Conoscere perfettamente la Standardizzazione Ansi non fa dei provetti
Programmatori poichè l'importante è che il risultato sia veloce e che occupi
meno risorse possibili, poi che ognuno segui le sue manie La Programmazione
è Fantasia


la standardizzazione ansi ?
Non so aiutarti sul tuo problema principale (trovare un testo che
stimoli dei poveri cristi NON davvero motivati a imparare a programmare
e che per maledizioni burocratiche si trovano a partire in C++ -- che
inferno...!), ma quanto a questa domanda specifica:
Lippman e' piu` valido che mai, ma, naturalmente, non nell'edizione
di 5 anni fa, bensi' in quella di quest'anno, Lippman e Lajoie, C++ Primer
(non Premier!-), 3a edizione.  Secondo me e' il miglior testo in assoluto
per imparare il C++, ma naturalmente bisogna farlo sull'edizione corrente
perche' il linguaggio, negli ultimi 5 anni, e' cambiato molto.
Schildt non era, secondo me, particolarmente valido neppure 2 anni fa
(non sembra avere una vera padronanza della situazione degli standard,
draft, de facto standard, ecc, dei vari compilatori sulle diverse e svariate
piattaforme, ad esempio; ha strane idiosincrasie di stile, ecc ecc), quindi
a maggior ragione non lo consiglierei mai oggi.
Alex

è Fantasia
Giudizi che si accompagnano molto bene l'uno all'altro... trascurare
quelli che sono i piu` importanti criteri professionali di un programma
(chiarezza, manutenibilita', portabilita', estensibilita', testabilita', ecc)
a favore del suo essere "veloce" ecc; considerare la programmazione
come "fantasia", invece che come prassi professionale e industriale; e
apprezzare i testi di Schildt...
Alex

Newsgroup: it.comp.lang.c++
Titolo: Aiuto, per favore...

Mi chiamo Oscar Gerelli e scrivo a questo newsgroup nella speranza che
qualche anima buona possa dare una risposta ai miei quesiti.
Essi sono:
1) in un programma sviluppato con C++ Builder della Borland ho una ComboBox.
    Devo assegnare ad una variabile il valore di ciň che l'utente seleziona
fra le varie opzioni della ComboBox.
    Come devo fare? come devo dichiarare la variabile?
2) tale variabile deve poi essere letta da un'altra finestra, un altro form.
    Come posso fare?
3) devo inoltre comandare la porta parallela attivando a livello alto alcuni
piedini in funzione del contenuto della precedente variabile.
    Che istruzione devo utilizzare per fare ciň? (ho guardato nell'Help ma a
quanto pare non esiste l'istruzione outportb che invece utilizzo quando
programmo in C).
Spero di essere stato succinto e chiaro.
Vi prego proprio di aiutarmi perché anche i miei professori non sanno
aiutarmi!!!

aiutarmi!!!
e quando mai... :-)
Newsgroup: it.comp.lang.c++
Titolo: Thread e Sockets

Salve a tutti,
Devo scrivere un programma che faccia le seguenti operazioni:
- In una TextBox attende una stringa dall'utente e la spedisce tramite
un socket
- Quando da quel socket arriva un messaggio lo visualizza in un'altra
TextBox.
Praticamente devo fare una piccola applicazione Telnet...
Uso il Borland C++ 4.52 a 32 bit sotto WinNT 4.0 WS.
Pensavo di risolverla in questa maniera:
- Apro il socket
- Creo un Thread che monitora il socket e, quando arriva qualcosa, la
mette nella TextBox.
- Intanto il programma prosegue e attende una stringa nell'altra TextBox
e, quando viene premuto il tasto "Submit" la spedisce tramite il socket.
- Alla pressione del comando di fine viene terminato il Thread e chiuso
il socket
Per quanto riguarda la gestione dei socket non ho problemi, non so bene
da che parte iniziare invece per la gestione dei Thread (era cosi' bello
Unix...).
Qualcuno mi puo' illuminare?
Grazie
Luca Bertoncello
(
luca...@tekno-soft.com
)


Immagino tu stia parlando di WIN32, visto che sei nostalgico di Unix.
In tal caso, con VC++, puoi dare un'occhiata alle funzioni _beginthread
ed _endthread, che servono per fare lo spawn di un thread (attenzione,
sono diverse da fork&exec varie, ma piuttosto semplici da usare - l'unica
cosa e' ricordarsi di linkare la versione multithread della libreria
standard).
Per i problemi di sincronizzazione, WIN32 mette a disposizione i semafori
(cfr. CreateMutex e ReleaseMutex) - per applicazioni come quella che
accenni, l'uso e' intuitivo, mentre per sincronizzazioni complesse ti
consiglio di leggere un po' di letteratura (ma se hai lavorato con i
processi unix, probabilmente sai tutto il necessario).
Per gusto personale, tendo ad evitare gli incapsulamenti MFC di questi
costrutti, dato che mi pare che aggiungano complessita' senza grandi
vantaggi (cosi' come per le socket, il livello BSD-like mi pare il piu'
semplice ed efficace). Comunque, de gustibus.. :)
Saluti,
    CS
--
dr. Cristiano Sadun - Software Engineering and Consulting
***********Remove NOSPAM from address to reply***********
*********************************************************
"God is Real - unless declared Integer"
Newsgroup: it.comp.lang.c++
Titolo: Manuale "Thinking in C++"

Nel manuale  "Thinking in C++" disponibile in rete ci sono molti esmpi
che includono il file "require.h" il cui sorgente non è riportato nel
manuale.
Chi mi sa dire dove recuperarlo?


E' all'interno del testo. Comunque eccotelo:
//: :require.h
// Test for error conditions in programs
// Local "using namespace std" for old compilers
#ifndef REQUIRE_H
#define REQUIRE_H
#include <cstdio>
#include <cstdlib>
#include <fstream>
inline void require(bool requirement, 
  const char* msg = "Requirement failed") {
  using namespace std;
  if (!requirement) {
    fprintf(stderr, "%s", msg);
    exit(1);
  }
}
inline void requireArgs(int argc, int args, 
  const char* msg = "Must use %d arguments") {
  using namespace std;
   if (argc != args + 1) {
     fprintf(stderr, msg, args);
     exit(1);
   }
}
inline void requireMinArgs(int argc, int minArgs,
  const char* msg = 
    "Must use at least %d arguments") {
  using namespace std;
  if(argc < minArgs + 1) {
    fprintf(stderr, msg, minArgs);
    exit(1);
  }
}
 
inline void assure(std::ifstream& in, 
  const char* filename = "") {
  using namespace std;
  if(!in) {
    fprintf(stderr,
      "Could not open file %s", filename);
    exit(1);
  }
}
inline void assure(std::ofstream& in, 
  const char* filename = "") {
  using namespace std;
  if(!in) {
    fprintf(stderr,
      "Could not open file %s", filename);
    exit(1);
  }
}
#endif // REQUIRE_H ///:~
EMG

Newsgroup: it.comp.lang.c++
Titolo: Applicazione client server con soap/http

Devo realizzare in c++ o al limite c# due applicazioni,
un client e un server che scambino tra loro messaggi soap attraverso
il protocollo http.
Il problema è che tutte le info che ho trovato in rete parlano di
webservice attraverso 
asp.net
 e comunque anche senza usare asp
richiedono che sia installato IIS.
Non so proprio dove sbattere la testa, qualcuno ha mai fatto o visto
qualcosa del genere o ha un esempio?
Grazie mille!

 ha scritto nel messaggio
news:13c50fce.04010...@posting.google.com...

Newsgroup: it.comp.lang.c++
Titolo: Aiutatemi vi prego....

Utilizzo Microsoft VisualStudio 6.0 e ho appena iniziato a programmare in
visual c++
non riesco a ottenere dei double troncati alla cifra decimale che a me
serve...
es  d=3.32143525667   non c'è una funzione che approssima alla cifra deciale
da me scelta? tipo
e=round(d,5);
d=3.32144
Inoltre come posso creare degli array di double dinamici?
Un grazie sentito a chi mi risponderà...

 Inoltre come posso creare degli array di double dinamici?
Con qualcosa tipo
double *a = new double [ 100 ];
EMG

Inoltre come posso creare degli array di double dinamici?
Se intendi un array che si estende automaticamente quando
fai riferimento ad elementi oltre la dimensione corrente
allora sappi che non e' parte del C++ standard (anche se
non e' complicato da scrivere).
Se invece intendi un array in cui poter cambiare la
dimensione quando devi aggiungere elementi allora
probabilmente stai cercando un std::vector<double>.
Es:
   #include <vector>
   #include <iostream>
   std::vector<double> v; // array "dinamico"
   int main()
   {
     int i;
     for (i=0; i<10; i++)
     {
       v.push_back(i*3.141592654); // aggiunge un elemento
     }
     for (i=0; i<10; i++)
     {
       std::cout << "v[" << i << "] = " << v[i] << std::endl;
     }
     return 0;
   }
HTH
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

Newsgroup: it.comp.lang.c++
Titolo: come copiare oggetti?

Date le classi:
class Animale{
        public:
            char nome[100];
            virtual int zampe() {return 0;};
};
class Zebra: public Animale{
        public:
           int zampe() { return 4;};
};
Animale A;
Zebra Z;
se faccio   A=Z;   A.zampe(); mi restituisce 0 !!!
Il compilatore  copia solo i campi? se si, come faccio a risolvere il
problema?
ciao

se faccio   A=Z;   A.zampe(); mi restituisce 0 !!!
Certo, volevi mica che ti restituisse 4??? A resta comunque un animale, non una
Zebra.
Prova a fare in questo modo:
Animale *a = new Zebra;
std::cout<<"L'animale puntato ha "<<a.zampe()<<" zampe"<<endl;
e... sorpresa!!! Le zampe crescono.
Non credo che sia possibile in questa sede spiegare ex-novo l'ereditarietą e il
comportamento polimorfico... un qualsiasi buon manuale di C++ fa al caso tuo.
Ciao
Domenico Barra

 std::cout<<"L'animale puntato ha "<<a.zampe()<<" zampe"<<endl;
casomai a->zampe()...

casomai a->zampe()...
Sì, scusa, nel cercare di rendere l'esempio il più possibile simile a quello
postato da Ander, ho copiato pedissequamente "a.zampe()", invece di adattarlo
alla nuova forma voluta dal puntatore: "a->zampe()".
Ciao
Domenico Barra

se faccio   A=Z;   A.zampe(); mi restituisce 0 !!!
Giustamente richiamando la funzione A.zampe() il compilatore chiama la
funzione membro zampe() di animale, visto che A é un oggetto di tipo
animale. Il polimorfismo si realizza invece dichiarando un puntatore
alla classe base e facendolo puntare ad un oggetto appartenente ad una
classe derivata.
Animale *A=new Zebra;
A->zampe();
Il Ghenio
-----
James: Adesso so finalmente cosa provano i panni messi in lavatrice!
Jesse: Avremo bisogno di un candeggio!!
(Team Rocket)
-----
Newsgroup: it.comp.lang.c++
Titolo: "Guida al linguaggio c++" di Herbert Schildt Mc Graw Hill

Qualcuno ha letto il libro?
Come mai il primo cout << "Immettere una stringa:" viene visualizzato dopo
la funzione gets?
#include <iostream.h>
#include <stdio.h>
main()
{
 char str[80];
 cout << "Immettere una stringa:";
 gets(str);  // legge la stringa proveniente dalla tastiera
 cout << "Ecco la vostra stringa:";
 cout << str;
 return 0;
}
Grazie in anticipo

 la funzione gets?
Veramente, anche se avrei delle critiche da fare sul codice, compilato
con il DJGPP funziona perfettamente.
EMG

la funzione gets?
Forse e' un problema di flush del canale?

 wrote in message
379d5bdb...@news.interbusiness.it...


 a settembre č prevista la 2a edizione del libro di H.Schildth, aggiornata


...


la funzione gets?
Ciao!
Anche a me il djgpp ha dato questo problema; ho notato pero' che se si
inserisce un "endl" alla fine del cout, la funzione gets parte dopo
....
ignoro il motivo: "programmo" da pochissimo! :(
            ________________________________
        / )|                                |( \
       / / |        Mauro "Tora" Pagano     | \ \
     _( (_ |   E-mail: 
ma....@flashnet.it
   | _) )_
    (((\ \>|_/->________________________<-\_|</ /)))
    (\\\\ \_/ /                          \ \_/ ////)
     \       /  Mi puoi trovare anche su: \       /
      \    _/      IRCnet  Canale #it      \_    /
      /   /         NickName: ^Mauro^        \   \
     /___/                                    \___\
 
http://www.geocities.com/Hollywood/Lot/6437/index.htm
     Membro del Mulegia Group .Inc Katsura Fans Club                  
                  Membro #13 dell'U&TFC
                 Fan #1 di Video Girl Ai

ignoro il motivo: "programmo" da pochissimo! :(
Rispondo solo ora perche` sono da poco rientrato...
Gli stream sono bufferizzati e i buffer vengono svuotati solo
su esplicita richiesta o quando si riempiono.
L'uso di endl non ha come conseguenza l'inserimento di un carattere di 
fine riga, ma forza anche lo svuotamento del buffer.
Esistono poi anche altre tecniche per assicurarsi del corretto 
svuotamento del buffer... ad esempio e` possibile collegare
uno stream di output ed uno di input in modo che l'estrazione dallo
stream di input provochi automaticamente lo svuotamento del buffer
di output... Per maggiori informazioni vi rimando al testo di
Stroustrupt "The C++ programming language".
Saluti,
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------
Newsgroup: it.comp.lang.c++
Titolo: Ricerca numeri uguali in file di testo

Dato un file di testo contenente nome e numero di cellulare separati dal 
carattere ";" trovare se ci sono numeri uguali appartenenti a persone 
diverse
esempio file di testo:
Antonio;3331234567
Giorgio Rossi;3491234567
Antimo;3281234567
Luisa;3491234567
Mario;3381234567
Il programma deve restituire Giorgio Rossi e Luisa.
Non so proprio da dove iniziare...help me! 

 Non so proprio da dove iniziare...help me!
Per esempio con lo studio?
Ciao,
Nicola

"cosmoweb" ha scritto

mmm...
direi che devi:
- aprire il file in lettura
- leggerlo una riga alla volta
- spezzare la riga in 2 sottostringhe sfruttando il separatore ";"
- inserire il tutto in un contenitore "associativo", chessň... un dizionario
- utilizzare come chiave il numero e come valore una lista di nomi
- chiudere il file e passare all'analisi del contenitore
- per ogni numero verificare che la lista associata contenga piů di un 
elemento
- se c'č piů di un elemento, stampare il tutto
L'ho sparata cosě di getto.
Attendiamo la tua traduzione in python?
-- 
Gerolamo 

 - chiudere il file e passare all'analisi del contenitore
La seconda passata e' inutile.
Prima di fare gli inserimenti, puoi controllare se il numero e' gia' nel 
dizionario.
--
Marco 

 dizionario.
si si
Era didattico, non ottimizzato.
Tra l'altro, nell'obnubilazione post pranzo, ho risposto convinto
di essere su it.comp.lang.python :)
-- 
Gerolamo 

 - se c'č piů di un elemento, stampare il tutto
Uno pseudo-codice veloce veloce? ;-) 

 Uno pseudo-codice veloce veloce? ;-)
E non ti basta quello che ho scritto?
Guarda che hai già avuto tanto rispetto agli altri che qui han
chiesto di _far per loro il compitino_
Cambiamo gioco: una tua implementazione veloce veloce?
-- 
Gerolamo

Newsgroup: it.comp.lang.c++
Titolo: GUADAGNARE A PALATE

Se sei un tipo leale leggi tutto il messaggio, per favore!
No.
Sono uno stronzo e ti mando allegramente a quel paese alla prima frase.

Innanzi tutto, E' PERFETTAMENTE LEGALE!
Ho molti dubbi in merito, anzi forse qualche reato
sarebbe piu` che ipotizzabile!
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------

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

using namespace std
equivale a scrivere
using std::cout
using std::cin
etc...
?
grazie


E' simile, non uguale. Con using namespace std importi *tutti* i nomi 
definiti nel namespace std, che sono dell'ordine del centinaio (penso, non 
li ho mai contati ;-)). Con using std::cout importi *solo* cout, e cosě 
via. Molti sconsigliano di usare la prima, io per semplificarmi la vita 
seguo questa convenzione:
Nessun using negli header, per non inquinare il namespace globale da tutti 
i file che includono quell'header. Using nei file .cpp, per la precisione 
using namespace std; se importo piů nomi (per esempio cin, cout, endl, 
string) o using std::string se ne uso solo 1 o 2.
-- 
Andrea Bergia - studente
Linux Registred User #281550
Newsgroup: it.comp.lang.c++
Titolo: Cerco classe per gestire interi a 64bit

Salve, alcuni compilatori recenti gestiscono in maniera nativa del tipo
__int64 che corrisponde a un intero a 64bit.
Io cerco una classe C++ realizzata utilizzando una struttura contigua
sufficentemente capace (es 2 unsigned long) che supporti le 4 operazioni
fondamentali.
Saluti.

...

Mi interessa anche a me, ma non ho tempo x costruirla, perche' non la
costruisci tu ?
Zec

fondamentali.
Non so se ti sara' d'aiuto, ma se non ricordo male, esiste 
un'incapsulazione C++ della libreria numerica IEEE (C) a precisione e 
dimensioni arbitrarie - che usa array di char. Con quella puoi gestire 
interi di dimensioni a piacere, e quindi rappresentare i numeri che 
desideri.
-- 
God is Real, unless declared Integer

Newsgroup: it.comp.lang.c++
Titolo: Domanda su Cout

è possibile utilizzare gli oggetti di tipo iostream come Cout per riversare
il contenuto a loro passato su una stringa invece che a schermo come nel
caso di Cout? Mi piacerebbe fare una cosa del tipo di SPrintf()  per cui
continuo a eseguire << sul mio Cout e poi questo con un comando riversa
tutto su una stringa. Sapete come si fa? (speri di essere stato chiaro)
Ciao
Antonio

Nel boschetto della mia fantasia c'è anche Antonio Martino, che ha scritto:

in pratica, se non ho capito male, vuoi utilizzare l'operatore di
inserimento
su di una stringa, giusto?
includi <sstream> ed usa l'oggetto stringstream.
esempio:
int i = 4;
stringstream s;
s << i;
string prova(s.str());
ora prova conterrà il carattere '4'.
HTH
--
Lupin85©
Azzurranet IRC: @#afiad, @#fils, @#pokegalaxy - ICQ: 91528290
Mail: Remove PAN to contact me
- "It is not important what you believe, only that you believe." -

 č possibile utilizzare gli oggetti di tipo iostream come Cout per riversare

Attento che il C++ distingue tra maiuscole e minuscole: Cout e SPrintf() 
non esistono. Per il resto la risposta ti e' gia' stata data.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: MFC

Ciao,
    Sto tentando di realizzare un'applicazione
basata su dialog che non venga visualizzata alla partenza ma che inserisca
un'icona nella shell tool
(dove c'e' l'orologio per intenderci), per l'icona no ci sono stati
problemi, la difficolta' sta
nel disattivare alla partenza la dialog, ho messo un ShowWindow(SW_HIDE) nel
membro
onShow ma purtroppo si vede apparire comunque la dialog per una frazione di
tempo.
Qualcuno e' riuscito a nascondere una finestra prima della sua attivazione?
grazie!
                                            Mauro.

 tempo.
Non l'ho mai fatto perņ..., hai provato a togliere l'istruzione m_pMainWnd->UpdateWindow(); che
disolito segue ShowWindow(SW_HIDE).
In teoria UpdateWindow() dovrebbe solo forzare il ridisegno della finestra (ripeto non l'ho provato,
quindi puņ anche darsi che non si possa fare o non risolva il tuo problema)
Potresti dirmi come hai fatto invece per avere l'icona nella shell tool, sono curioso :-)
Grazie, ciao.

Se non ricordo male devi cambiare lo stile della finestra facendo
l'overloading della PreCreateWindow() o qualcosa del genere.
Ciao.
-- 
Antonio Donatiello
anto...@sanpaolo.com

quanto paghi?;)
dopo estenuanti ricerche "x caso" ho trovato questo pezzo di codice che
faceva quello che mi serviva
 NOTIFYICONDATA nid;
 nid.cbSize = sizeof(NOTIFYICONDATA);
 nid.hWnd = this->m_hWnd;
    nid.uID = IDR_MAINFRAME;
 nid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP ;
 nid.uCallbackMessage = MYWM_NOTIFYICON;
 nid.hIcon = ((CDWCronApp*)AfxGetApp())->LoadIcon(IDR_MAINFRAME);
 strcpy(nid.szTip,"Tool tip!");
 Shell_NotifyIcon(NIM_ADD,&nid);
cmq non sono ancora a risolvere il mio problema
e' possibile aprire una dialog modale gia' HIDE?
ciao
                            Mauro

Newsgroup: it.comp.lang.c++
Titolo: iostream iterators: problemi di lettura

Ciao a tutti.
Ho scritto il seguente programma di prova basandomi sull'esempio fatto
da Lippman:
#include <iostream>
using std::cout;
using std::cin;
#include <iterator>
using std::istream_iterator;
using std::ostream_iterator;
#include <string>
using std::string;
int main()
{
	ostream_iterator<string> out_iter(cout, "\n");
	istream_iterator<string> in_iter(cin), eof;
	while (in_iter != eof)
		*out_iter++ = *in_iter++;
	return 0;
}
inviando nell'input i sequenti valori: "uno due tre"
ottengo come output: "uno due"
inserendo "quattro"
ottengo "tre", manca sempre l'ultimo valore e così via.
Modificando il codice nel while con:
*out_iter++ = *in_iter, in_iter++;
il programma esegue correttamente.
Non riesco a capire il motivo di questa differenza.
Mi viene da pensare che sia un problema di svuotatura del buffer, ma
questi due codici
*out_iter++ = *in_iter++; e
*out_iter++ = *in_iter, in_iter++;
non sono equivalenti?.
Grazie ancora.

Ok. Ho trovato l'inghippo.
Bastava ragionare sull'istruzione composta *in_iter++.
Ciao.
Newsgroup: it.comp.lang.c++
Titolo: Informazione

Ho iniziato da circa un anno a programmare in Visual C++ e si può dire che
riesco a scrivere qualche riga di codice funzionante......Io ho avuto sempre
il desiderio di riuscire a creare una specie di video game.....
Cercando notizie ho sentito che il migliore manipolatore video che si può
usare su Windows è DirectDraw....
Potrei sapere dove trovare un elenco delle funzioni di DD e il loro
rispettivo funzionamento in Italiano
In attesa di una risposta invio tanti saluti a tutto il NG è mille grazie a
chi mi aiuterà
PS.:aiutatemi a realizzare il mio sogno by TN'84

 rispettivo funzionamento in Italiano
Questo è il NG sbagliato, prova su it.comp.giochi.sviluppo.
Ciao.
Newsgroup: it.comp.lang.c++
Titolo: TUTORIAL WINDOWS API

veramente bene solo un piccolo sottoinsieme di API.
Proprio per questo sarebbe utile organizzarsi in modo da creare dei piccoli
gruppi (se necessario anche individuali) che trattino aspetti diversi.
Visto che quasi tutti lavorano e studiano immagino che il problema
principale sia il tempo (come lo e' per me). Per questo potremmo dar vita ad
un corso a puntate.
Resto a disposizione. A presto :-)
Marco Abis
http://welcome.to/C++Warriors
  interamente dedicato al C++
ca...@technologist.com
--
Posted from 
sfw.lib.disco.unimi.it
 [149.132.196.251]
via Mailgate.ORG Server - 
http://www.mailgate.org

senza intasare il NG inutilmente.
Io non sono ferratissimo in materia di API e programmazione Windows
(diciamo che ho sviluppato un'applicazione con qualche finestra e
controllini vari), ma mi piacerebbe molto poter partecipare al
progetto. 
Pietro

...

Ciao a tutti,
io ho un po' di esperienza in ambiente Windows, nel quale sviluppo
applicazioni multimediali e non da 6 anni circa.
Purtroppo a causa della mole di lavoro non ho molto tempo a mia
disposizione, pero' parteciperei con piacere alla realizzazione di uno o
piu' tutorial magari separati per argomento.
fatemi sapere.
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

piu' tutorial magari separati per argomento.
La mia situazione e` analoga (beh, eccetto che di multimediale
non mi occupo da piu` di dieci anni...:-).  Se posso contribuire
al progetto, nell'ambito del tempo libero, lo farei volentieri.
Alex

Newsgroup: it.comp.lang.c++
Titolo: aiuto per favore !!!

buongiorno a tutto il ns.
Mi scuso per il disturbo ma, ho un grossssissimo problema da risolvere ed
avendo già
inutilmente contattato la HP e la Microsoft, ho pensato che forse quì avrei
trovato una risposta ai miei problemi.
HP JORNADA 720 con WCE 3.0  --------> il PROBLEMA !!!
Devo programmare questa macchina ma non trovo un ambiente di
sviluppo.........
Considerando che :
Visul studio 6.0 + tools per WCE (VB e VC++) mi permette di compilare per
WCE 2, 2.11
Microsoft eMbedded visual tools 3.0 mi permette di compilare per Pocket PC
(e WCE2.11)
e infine considerando che il jornada 720 pur avendo WCE 3.0 non è Pocket Pc,
cosa usare??
Help, se conoscete una soluzione ......
ciao e grazie
Emiliano


Ciao Emiliano,
non conosco la soluzione al tuo problema, ma so che ci sono persone che
potrebbero aiutarti se vai in questi newsgroups.
Sfortunatamente sono in inglese, non ne conosco italiani.
Vai a
microsoft.public.win32,programmer.wince
oppure
microsoft.public.windowsce
oppure
microsoft.public.windowsce.embedded
Ciao
Mauro

 ha scritto nel messaggio
news:912lp0$kr5$1...@newstoo.ericsson.se...

Newsgroup: it.comp.lang.c++
Titolo: [OT]Borland c++ builder: dilemma sui componenti....

come detto poco sopra, i ng dove questa domanda sarebbe IT io li vedo
completamente silenziosi...
cmq..
come si fa a "switchare" tra più componenti? es.
voglio copiare una serie di numeri da un array agli oggetti che vanno da
Edit1 a Edit10
il ciclo sarebbe:
for(i=0;i<10;i++)
    Edit[i]->Text = array[i];
solo che non so come implementare quell'Edit[i]....
se qualcuno di manica larga mi passa l'OT e mi passa anche la soluzione....
scusassero ancora per l'OT!
Raffaele

     Edit[i]->Text = array[i];
in realta' il tuo problema mi pare in argomento; se hai
struct A {
   int i;
};
A a1, a2, a3, a4, a5;
Ti trovi nella medesima situazione. L'unica soluzione e' definire un 
array di puntatori a Edit e riempirlo a manina con i tuoi campi
Edit * array[10];
array[0] = Edit1;
...
Dove si dimostra che il RAD semplifica le cose semplici e complica 
quelle complicate...
Ciao,
Nicola

Prova questo
for(i=0;i<10;i++)
{
    TEdit *edit = dynamic_cast<TEdit*>FindComponent("E"+IntToStr(i)));
     edit->Text = array[i];
 }
l'esempio l'ho trovato su borland.public.cppbuilder.language cercando "Loop
through edit boxes"
Alberto

Prova questo
 for(i=0;i<10;i++)
{
    TEdit *edit = dynamic_cast<TEdit*>(FindComponent("Edit"+IntToStr(i)));
     edit->Text = array[i];
 }
se cerchi "Loop through Edit boxes" su
borland.public.cppbuilder.language.cpp  trovi l'esempio da cui ho preso
spunto
Alberto


grazie a tutti per le dritte...me lo segno per uso futuro, visto che ho
trovato un approccio migliore al mio problema! gratias!
Raffaele