mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: Allocazione oggetti (lungo)

Faccio un esempio di oggetto che implementa un vettore piuttosto stupido:
class Vector
{
 private:
  int size;
  int* array;
 public:
  Vector (int x)
  {size = x;
   array = (int*) malloc (sizeof (int), size);
   for (int i = 0; i < size; i++)
    array [i] = 0;
  }
  ............
  void resize (int x)
  {
   size = x;
   free (array);
   array = (int*) malloc (sizeof (int), size);
   for (int i = 0; i < size; i++)
    array [i] = 0;
  }
  ...........
};
Questo oggetto può essere allocato in due modi:
Vector v1 = Vector (10);
Vector *v2 = new Vector (10);
Ho però notato che, nel primo modo, si hanno dei problemi nel vettore,
sembra quasi che non venga correttamente inizializzato oppure che punti ad
una locazione sbagliata. In particolare la funzione resize (che dovrebbe
reimpostare la dimensione del vettore) dà risultati assurdi, COME SE il
puntatore "array" andasse fuori dalla memoria. Qualcuno sa dirmi perché?
Forse nel secondo caso si ha un'allocazione del vettore "per riferimento"
mentre nel primo si ha "per valore" e quindi i puntatori vanno a pallino? Se
qualcuno sa dirmi come fare a descrivere un oggetto del genere (cioé con
vettori dinamici come attributi) in modo che funzioni in entrambi i modi,
gliene sarei molto grato. Ciao
                                        Marchisio Stefano

   array = (int*) malloc (sizeof (int), size);
array = new int[size](0);
E` molto meglio. Non hai problemi di cast ed usi il costruttore (pseudo)
per inizializzare a 0 l'array.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
"La mia teoria scientifica preferita e` quella secondo la quale gli 
 anelli di Saturno sarebbero interamente composti dai bagagli andati 
 persi nei viaggi aerei." -- Mark Russel

                                         Marchisio Stefano
Non e' proprio cosi.
Se vuoi allocare un Vector sullo stack (primo caso)
devi farlo cosi':
        Vector v1(10);
come hai scritto tu, invece, viene allocato un vettore
temporaneo di dieci elementi sullo stack, viene copiato
in v1, e viene quindi distrutto.
Poiche' non hai provvisto la tua classe di un costruttore
di copia, il vettore v1 viene costruito col costruttore
di copia di default, che copia l'indirizzo dei dati e non
i dati stessi. Visto che il vettore temporaneo viene distrutto
dopo l'assegnazione, la memoria da esso allocata viene liberata
subito, pur essendo ancora usata da v1, con effetti imprevedibili.
Per risolvere il problema dovresti aggiungere un costruttore di
copia (e un operatore di assegnamento) che allochino la memoria
necessaria e copino il contenuto del vettore.
Valgono naturalmente i suggerimenti di Kronos di usare new e delete
al posto di malloc e free.
Spero che si tratti comunque di un esercizio a scopo didattico,
altrimenti sarebbe piu' sensato usare la classe vector della libreria
standard.
Saluti,
        Fabio
Newsgroup: it.comp.lang.c++
Titolo: COLORI E SUONI

Esiste un altro modo per cambiare il colore dei caratteri e utilizzare
l'altoparlante di sistema senza usare la conio.h?
GRAZIE ANTICIPATE

l'altoparlante di sistema senza usare la conio.h?
Dipende dal tuo sistema operativo devi rivolgerti al ng adatto per il
tuo sistema operativo.
-- 
                    Marco Barisione (ICQ 84277092)
Se sei interessato alla creazione di it.comp.lang (per i linguaggi di
programmazione senza un gruppo apposito e per i confronti fra i
linguaggi) partecipa alla discussione sul manifesto su it.news.gruppi.

e qual'č?

 e qual'č?
dalla tua risposta, e senza guardare gli header, evinco sia windows
il NG e' 
it.comp.programmare.win32

 e qual'è?
Cosa ? Il NG adatto per il tuo SO ? E che ne
sappiamo noi se non ci dici che SO usi ?
Ciao
Gaetano.
-- 
Posted from 
nts-03.mm.eutelsat.org
 [194.214.173.15] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

BRAVO!!!!

 wrote in message
news:3199148.y...@iol.it...

ROTFL
E il bello č che mi sa che manco si č accorto che gli hai dato del
pollo!
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

Ooooooooooooooooo ma davvero?
Uhhh fortunatamente ci 6 tu ke me lo fai notare!!!!!
Evidentemente non hai capito che la mia risposta era altrettanto 1 presa in
giro!!
Vabbè continua pure a dormire che è meglio!!!!!!!!

Vabbè continua pure a dormire che è meglio!!!!!!!!
E' un offesa? Sai Andrea potrebbe prendersela, ma non credo che si
abbassi al tuo livello...
--
Rhymes
rhy...@myself.com
http://www.foxhound-games.it

e tu ki 6? il suo lec....
Newsgroup: it.comp.lang.c++
Titolo: Windows CE Toolkit for Visual C++ 6.0

Buongiorno a tutti,
devo sviluppare un eseguibile WinCE Application Wizard
impostato su una finestra di dialogo dove verranno disegnate
delle forme tramite l'uso di Device Context.
Il programma girerà su un Compaq IPAQ 3630 con
processore ARM SA1110.
Ora secondo quanto dichiarato sui siti ufficiali, il toolkit
supporterebbe anche il processore ARM, mentre in realtà
non lo fà: non c'è verso di costruire un eseguibile per ARM.
Volevo chiedere se qualcuno del newsgroup aveva già
affrontato con successo tale problema.
Ho più volte letto la documentazione sia del portatile che
del toolkit, e ho visitato molti siti, ma senza trovare nulla
di utile.
Grazie a tutti per l'attenzione.

Non ti so aiutare scusami,ma almeno ti posso consigliare 3 bei newsgroups
anche se in inglese....
microsoft.public.win32.programmer.wince
microsoft.public.windowsce
e
microsoft.public.windowsce.embedded
ciao
Mauro
Newsgroup: it.comp.lang.c++
Titolo: Programma conta ricorrenza parola

Ho provato a creare in questo modo un programma che conta le ricorrenze di
una parola in un file, ma mi viene dato un errore al momento della
compilazione.
Questo è il programma, l'errore mi viene dato quando cerco di aggiungere il
valore numerico c nella stringa, come posso risolvere il problema?
Per il resto il programma è scritto correttamente?
Grazie a tutti per la pazienza.
#include <string>
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main(){
  int c;
  string output="";
  vector <string> parole;
  vector <string> parole1;
  ifstream in ("pippo.txt");
  string parola;
  while (in>>parola)
  parole.push_back(parola);
  parole1.push_back(parola);
  for (int i=0; i<parole.size(); i++){
       c=0;
  for (int j=0; j<parole1.size(); j++){
      if (parole[i]==parole1[j])
          c++;
          }
          output += parole[i]+ " ripetuta: " + "volte " + c + "\n";
          }
          cout<< output;
  }

 compilazione.
L'errore č dovuto al fatto che non č consentito  il costrutto
output += parole[i]+ " ripetuta: " + "volte " + c + "\n";
per fare qualcosa di simile usa uno string stream e l'operatore << oppure
stampalo direttamente con cout.
Secondo me dovresti perņ, usare un'altro sistema...
Non ho esaminato il tuo programma nel dettaglio ma secondo me sbaglia
conteggio, dovresti almeno usare un set e non un vector (oppure se usi
vector, in parole usare l'algoritmo unique).
Questo esempio con std::map secondo me č migliore...
#include <iostream>
#include <fstream>
#include <string>
#include <map>
using namespace std;
int main(int argc, char* argv[])
{
        string fname,p;
        map<string,unsigned int> cWord;
        if (argc!=2) {
                cout << "Inserisci nome del file ? ";
                cin >> fname;
        } else fname=argv[1];
        cout << "conteggio parole nel file " << fname << endl;
        ifstream inf(fname.c_str());
        if (!inf) {
                cerr << "Errore di I/O\n";
                return -1;
        }
        // conteggio parole
        while (inf >> p) cWord[p]++;
        // stampa del risultato
        map<string,unsigned int>::iterator it;
        for (it=cWord.begin();it!=cWord.end();it++)
        cout    << "Parola : " << it->first
                << " ripetuta n. " << it->second << " volte.\n";
        return 0;
}
//--------------------------------------------------------------------------
-

 ha scritto nel messaggio
news:yoOUa.29893$Za4.8...@news2.tin.it...



prova con un algoritmo delle stl:
#include<vector>
#include<string>
#include<algorithm>
int main()
{
     vector<string> parole;
     parole.push_back("ciao");
     parole.push_back("fabio");
     parole.push_back("ciao");
     string comp("ciao");
     int counter =  count(parole.begin(), parole.end(), comp);
    return 0;
}
alla fine counter =2.
Newsgroup: it.comp.lang.c++
Titolo: Domanda per Borland C++ builder

Ho creato un form con solo un oggetto timer (Timer1), perchč il codice qui
non funziona (si blocca nel
ciclo while e non esce piů)?
Grazie.
//--------------------------------------------------------------------------
-
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//--------------------------------------------------------------------------
-
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
bool timer_full=false;
//--------------------------------------------------------------------------
-
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
        Timer1->Interval=5000;
        Timer1->Enabled=true;
        do
        {
        }while (timer_full!=true);
}
//--------------------------------------------------------------------------
-
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
        timer_full=true;
}
//--------------------------------------------------------------------------
-

sei OT, qui si parla di c++ standard, non di Borland...
comunque, prova a mettere
Application->ProcessMessages();
all'interno del ciclo do... cosě permetti il multitasking, altrimenti
il ciclo do continua all'infinito senza passare il controllo al resto
del mondo (in particolare al Timer che deve settare la variabile)
-- 
]\/[ad]\/[age (
www.mindreamz.net
)
"Un Maestro insegue semplicemente la sua visione di Eccellenza in
qualunque cosa sta facendo e lascia agli altri decidere se sta 
lavorando o giocando. A lui sembra sempre di fare entrambe." - Anonimo
Newsgroup: it.comp.lang.c++
Titolo: Esercizi sui puntatori

Ciao, vi volevo chiedere se sapete dove posso trovare qualche esercizio
pratico sull'uso dei puntatori; a capirli il problema non si č presentato,
ma credo che saperli utilizzare bene sia piů difficile ;)
mi dareste qualche suggerimento?
grazie, ciao!!
<---
+-sent by sgrung
 |
 `- 'Sono stato nessuno per diventare qualcuno'
--->

 wrote in message
913jhf$nrm$1...@serv1.albacom.net...


 ma credo che saperli utilizzare bene sia piů difficile ;)
Esercizi non ne conosco; un OTTIMO tutorial e' sul web, sotto la URL
http://home.netcom.com/~tjensen/ptr/pointers.htm
 .  Si tratta di C,
non di C++; ma i pointers sono gli stessi in entrambi i linguaggi
(anche se in C++ e' piu' comodo usare std::vector<T> che arrays T[],
ci sono std::auto_ptrs, e smart pointers di ogni tipo si possono
definire in tanti modi differenti, e cosi' via).
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it
A C++ exception is when the code gets in trouble and says:
"Beam me up, Scotty!".

 ma credo che saperli utilizzare bene sia piů difficile ;)
Creare una lista doppiamente linkata:
una lista e' composta da un'insieme di nodi.
Ogni nodo contiene due puntatori una al nodo precedente ( prev ) ed una al 
nodo successivo ( next ).
Il primo nodo della lista ha il puntatore al precedente nullo ( next == 0 
); l'ultimo nodo della lista ha il puntatore al successivo nullo ( prev == 
0 )
Devi fare:
1) funzione per inserire  un nodo in una lista
  1a) inserire in capo alla lista
  1b) inserire in coda
  1c) inserire in mezzo ( in particolare dopo un'altro nodo )
 
2) funzione per togliere un nodo da una lista ( come al solito nelle tre  
specializzazioni: ovvero in coda, in testa ed in mezzo )
3) funzioni per fondere due liste
4) funzioni per copiare una lista
5) funzione per ordinare una lista
punti interessanti su cui soffermarsi:
        - e' necessario creare un'oggetto nodo ed un oggetto lista separati ?
        - quale e' la differenza tra una lista doppiamente linkata ed 
          una semplice 
          ( ovvero ogni nodo e' dotato solo di un puntatore "next" o di un 
           puntatore "prev") : quali sino i limiti ed i vantaggi

bellissimo, mi darò da fare ;)
grazie

Newsgroup: it.comp.lang.c++
Titolo: [Linker Error] Error: Unresolved external '__stdcall VCAGetDevNum()' referenced from....

Salve, sto realizzando una semplice applicazione in c++ builder, 
l'applicazione e' composta da una libreria esterna con file di intestazione 
.h, al momento della compilazione mi viene visualizzato il seguente 
messaggio di errore:
[Linker Error] Error: Unresolved external '__stdcall VCAGetDevNum()' 
referenced from C:\PROGETTI DELPHI C++\C++\PROGETTO VC4000\UNIT1.OBJ
Grazie per chi mi voglia aiutare a risolvere questo problema. 

 
Dovresti linkare al progetto il file di esportazione (.lib) delle 
funzioni che stai utilizzando.
Se hai problemi nell'utilizzarlo o ad averlo, usa il tool implib.exe
della borland che ti crea il file .lib a partire dalla dll
(implib si trova nella bin del C++Builder).
Ciao

 ha scritto nel messaggio 
news:e4ckrh$k6a$1...@newsreader.mailgate.org...


 utilizzarla in BCB, e' possibile fare questo?,
No.
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
 

 libreria l'ho gia' inserito nella directory dove e' contenuto il progetto.
Appunto...usa il file implib.exe per creare un file di esportazione 
(.lib) valido per BCB, siccome quello creato da VC++ non è valido.
implib myLib myLibDLL.dll (poi ci sono varie opzioni utili)

 ha scritto nel messaggio 
news:e4cq8h$r4g$1...@newsreader.mailgate.org...


 Che posso fare?
Sei sicuro di aver linkato il .lib nuovo!?
Vedi nel tuo progetto di impostare la convenzione su
__stdcall e non __cdecl

 ha scritto nel messaggio 
news:e4csfg$u24$1...@newsreader.mailgate.org...


Newsgroup: it.comp.lang.c++
Titolo: carte napoletane

ciao a tutti
sapete dove trovare una dll o libreria o immagini per le carte napoletane
???
grazie :))

 wrote in message cHwnZWr...@news1.galactica.it...

Newsgroup: it.comp.lang.c++
Titolo: Esecuzione di un browser installato.

... è un casino che cerco, ma per ora non ho trovato soluzione.
Dovrei eseguire da un sorgente Borland Builder C++ 3.0 un browser
configurato IE o Netscape per la connessione immediata ad un pagina
internet.
Non trovo soluzione e sarei molto grato a chi mi da una risposta.
Grazie
Mario Manfredi
email: 
mar...@tin.it

 Non trovo soluzione e sarei molto grato a chi mi da una risposta.
Devi usare la funzione della API di Win32 "ShellExecute" che permette di
eseguire le applicazioni associate ad una estensione del file specificata.
Ad esempio si possono aprire file con estensione .HTM senza che
necessariamente si debba conoscere quale browser e' installato nel
computer.
Bye.
-- 
Jo Parrello - OWL/C++ Programmer (
jopa...@tin.it
)
http://space.tin.it/computer/giparrel

Newsgroup: it.comp.lang.c++
Titolo: multimap stl

dovrei creare un multimap con 2 stringhe un int e un iteratore al
multimap stesso
come posso definire il typedef?
grazie


I parametri necessari di una multimap sono due: la chiave e i dati. 
Metti come chiave quella che indicizzera' la multimap e accorpa il resto 
in un oggetto per i dati. Non avendoci dato indicazioni a riguardo, non 
c'e' molto di piu' da dire...
Esempio:
struct TipoDati {
   // struttura che accorpa i dati
};
typedef std::multimap<TipoChiave, TipoDati> mymultimap;
--
*PaN!*
Newsgroup: it.comp.lang.c++
Titolo: Problema con math.h

Innanzitutto salve a tutti!
Avrei un piccolo problema da newbie da sottoporre alla vostra attenzione:
ho un software realizzato totalmente in C che però deve essere 
"integrato" in un simulatore che però è realizzato in C++.
Questo vuol dire che per fare ciò tutti i file .c che vengono compilati 
devono contenere al loro interno la dicitura extern "C" come segue:
-------------------------------------------------
FILE PIPPO.C
extern "C" {
#include <stdio.h>
#include <math.h>
int i;
void funzione1 (void)
{
     .......
}
} //chiude extern "C"
-------------------------------------------------
Però quando vado a compilare il tutto mi da il seguente errore:
" templates cannot be declared to have 'C' linkage "
Se però includo math.h PRIMA di extern C tutto funziona correttamente. 
L'ambiente  di sviluppo è Visual C++ 6.
Quale può essere il motivo di tale problema? e soprattutto c'è una 
soluzione?
Grazie anticipatamente a tutti, per qualsiasi ulteriore info sono qui.
Marco

 correttamente.
Gli headers standard normalmente contengono al loro interno degli
#ifdef __CPLUSPLUS o cosine del genere; compilando quegli headers con
un compilatore C++ e dichiarando il tutto 'extern "C"' hai incasinato
il compilatore.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Dept. of Physics, Univ. of Padova, Italy              ROT13: 
ybe...@cq.vasa.vg

 devono contenere al loro interno la dicitura extern "C" come segue:
Ciao
puoi dichiarare solo i prototipi delle funzioni in c e prima
dei prototipi dichiari
#ifdef __cplusplus
extern "C" {
#endif
void funzione1 (void);
#ifdef __cplusplus
}  // chiude extern "C"
#endif
in questo modo il compilatore non effettua il name mangling.

Grazie dei consigli, proverň come mi avete suggerito e vi farň sapere!

 Questo vuol dire che per fare ciò tutti i file .c che vengono compilati 
[...]
In realta' se hai a disposizione i sorgenti C e li ricompili comunque,
un'opzione possibile e' quella di portare il codice da C a C++; se e'
scritto bene non dovresti praticamente aver nulla da modificare. Puoi
partire compilando il codice C come C++ e vedere cosa succede.
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: indirizzo IP

Esiste una funzione che mi rileva l'indirizzo Ip di una macchina?


Nella libreria standard no.
Nelle API del tuo sistema è probabile di si. Ma questo devi chiederlo
altrove.
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556
Newsgroup: it.comp.lang.c++
Titolo: 2 quesiti

2 quesiti all'NG
i) Come posso fare in modo di passare ad una function una lista di argomenti
di numero variabile come potrebbe essere la printf del C che prende un
numero qualsiasi di parametri?
ii) Perchč quando effetuo l'overloading X::Operator = (const X&) devo
appunto passare il parametro come const X& e non come X& semplicemente?
Grazie per un eventuale aiuto.
Federico

 appunto passare il parametro come const X& e non come X& semplicemente?
In modo tale da poter utilizzare come membro destro dell'assegnazione
anche una costante letterale (se X è un tipo elementare) o comunque una
variabile definita come const.
EMG

 T miaFunc( ... );
Per usare va_* (definite in <cstdarg>) non ci vuole almeno un argomento
dichiarato prima di ... ?
-- 
Maurizio Loreti                      
http://wwwcdf.pd.infn.it/~loreti/mlo.html
Un. of Padova, Dept. of Physics - Padova, Italy          
lor...@padova.infn.it

 dichiarato prima di ... ?
Certo. Ecco un semplicissimo esempio:
#include <iostream>
#include <cstdarg>
using namespace std;
void numeri( const int n0, ... )
{
    va_list args;
    va_start( args, n0 );
    int n;
    while ( ( n = va_arg( args, int ) ) > 0 )
        cout << n << '\n';
    cout << endl;
    va_end( args );
}
int main()
{
    numeri( 0, 1, 2, 3, 4, 5, 10, 20, 0 );
}
EMG
Newsgroup: it.comp.lang.c++
Titolo: Argomenti formali const

Ha senso dichiarare gli argomenti formali di una funzione come const, quando 
questi sono passati per valore ? Ad esempio:
int funzione(const int valore) {/*...*/};
Il compilatore puņ sfruttare questa informazione per ottimizzare (in alcuni 
casi) il codice ?
-- 
Lorenzo

 casi) il codice ?
Piů che altro č una sicurezza sul fatto che non potrai mai modificare quel
valore all'interno della tua funzione.
-- 
Domenico Testa - Studente

Newsgroup: it.comp.lang.c++
Titolo: Problemi con ActiveX

Ciao a Tutti
   sto cercando di usare un componente ActiveX di una libreria:Condens.ax!
L'ho registrato nel registro di sistema con il comando regsvr32.exe e tutto e'
andato bene!
Poi ho creato un applicazione in VC++6 e quando vado in Project|add
components|registered components  nella lista di tutti i componenti il mio non
c'e'!!
Dove sbaglio?
Grazie e ciao
-- 
Posted from 
smoke.dsi.unifi.it
 [150.217.15.58] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Dove sbaglio?
A postare su it.comp.lang.c++, che non si occupa di ActiveX. Prova su
it.comp.programmare.win32 o sui newsgroup Microsoft.
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: Si può fare?

Scusate, probabilmente la mia č una domanda stupida, ma sono ancora
abbastanza agli inizi con il linguaggio c.
Con il seguente codice:
#define DIM 100
struct persona{char nome[30];
               char domicilio[30];
               long tel;};
struct pagina{int n;
              struct persona vettore[DIM];
             };
struct pagina struttura;
persona temp;
temp=struttura.verrore[5];
otterrei il risultato voluto di copiare l'intero vettore[5] in temp? Oppure
per farlo dovrei copiare una alla volta tutte le voci della sua struttura?
Grazie.
Paolo
legg...@tiscalinet.it

 per farlo dovrei copiare una alla volta tutte le voci della sua
struttura?
Devi copiare tutti i membri della struttura, e nel caso di array copiare
tutti gli elementi.
Se usassi il C++ la cosa sarebbe molto più semplice
(basta definire una volta per tutte cosa si intende per copia
dell'oggetto in questione).
Manlio Perillo
Newsgroup: it.comp.lang.c++
Titolo: Bi Help Winsock

Dove posso trovare testi ed esempi di aiuto per la programmazione del
winsock?
Ciao

 winsock?
Ho la sensazione che una ricerca su un qualunque motore di ricerca con
"winsock" come chiave ti svelera' mondi di possibilita. ;-)

 wrote in message
NnmU3.1490$Ue6....@juliett.dax.net...
:
: Ho la sensazione che una ricerca su un qualunque motore di ricerca con
: "winsock" come chiave ti svelera' mondi di possibilita. ;-)
hihihihihi
cazzo non trovo le chiavi con qualsiasi motore di ricerca :)
ciao

Newsgroup: it.comp.lang.c++
Titolo: Uccidere un processo!

Ciao a tutti ho il seguente problema: ho un programma c++ che lancia un 
eseguibile con ShellExecute (piattaforma win). Vorrei poter anche 
killare quello stesso processo! Come posso fare in modo "semplice"! 
Grazie per il vostro aiuto!

 ha scritto nel messaggio
news:4106...@x-privat.org...

Anziche usare ShellExecute prova ad usare la classe Process con i metodi
Start e Kill.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdiagnosticsprocessclasstopic.asp
P.S. la domanda č OT infatti ShellExecute č un'API di Windows, per cui č piů
attinente su it.comp.programmare.win32
Newsgroup: it.comp.lang.c++
Titolo: Lista concatenata dinamica con le classi

per fare una lista concatenata con i puntatori in C, faccio cosě:
typedef struct elem *pelem;
struct elem {
int info;
pelem next;
};
Ora, se volessi fare una classe al posto di una struct, come dovrei fare
?
E se volessi fare in modo di generalizzare la lista, in modo che possa
contenere qualunque tipo di dato, usando "template" ?
-- 
* Il Vero Programmatore non usa il  mouse e le icone, infatti il Vero
Programmatore non capisce perche' mai  per compilare un programma uno
debba staccare le mani dalla tastiera e cliccare su un menu quando  e'
tanto semplice battere 
CL pippo.c -k -iC:\all -q -w -e -r +t -y +cvb +f -g +g +p =l /f /a /s

contenere qualunque tipo di dato, usando "template" ?
Facilissimo, almeno rinunciando al "typedef di comodo":
template <class T>
class elem {
public:
    T info;
    elem* next;
};
Alex
--
 ____    Alex Martelli, Bologna, Italia -- email: 
al...@magenta.com
 \SM/___                                 
http://magenta.com/~alex
  \/\bi/     You never know what is enough unless you know what
     \/          is more than enough.

 };
Ok, io avevo fatto cosě:
template <class T>
class Lista {
private: 
	T dati;	//tipo di dato	
	Lista* next; //punta all'elemento successivo
public:
	Lista();
	virtual ~Lista();
};
e nel file .cpp ho:
Lista::Lista() ***
{
}
Lista::~Lista() ***
{
}
E quando compilo mi dice:
error C2955: 'Lista' : use of class template requires template argument
list
indicando i punto segnati con 3 asterischi nel codice sopra, e me ne da
5 in tutto di errori identici.
Inoltre: 
non usando la typedef, non ho un tipo puntatore alla lista da poter
passare alle variabili, o sbaglio ? Posso dichiararlo dopo, facendo
typedef Lista *plista
oppure no ? Il problemna č che poi se in una funzione ad esempio di
ricerca metnre prima scrivevo
plista Lista::find (plista lista, int n)
senza typedef scriverei
Lista::find (Lista *list,int n)
e passandogli l'indirizzo andrei a modificare il parametro attuale ogni
volta, quindi modificando la lista effettiva. Dorei quindi in ogni
funzione utilizzare variabili temporanee per ovviare all'inconveniente,
che mi risulta fastidioso, ammesso che funzioni sempre bene, e non si
verifichino casini con i puntatori...
Spero di esser stato chiaro.
-- 
Un Vero Programmatore sa che se vede comparire l'errore IJK3051 basta
andare a      vedere nel manuale del JCL per capire cosa e' successo...
Un Grande  Programmatore poi  sapra'  i codici  a memoria, mentre  un
Grandissimo Programmatore potra trovare l'errore osservando 6 mega  di
dump senza neppure usare un calcolatore esadecimale...

verifichino casini con i puntatori...
Per carita`, nulla di cosi` complicato, e` solo questione di
dare per esteso i tipi, come Lista<T>*, invece di usarne uno
pseudonimo (un typedef da` uno pseudonimo ad un tipo, NON
definisce un tipo nuovo).
Alex
Newsgroup: it.comp.lang.c++
Titolo: Libro su STL in italiano

Mi sapete dire un buon libro per imparare ad utilizzare la STL (in
italiano)?  Se non ci fosse, vanno bene anche in inglese.
Grazie
Ciao
Gabriele

italiano)?  Se non ci fosse, vanno bene anche in inglese.
In italiano non ne conosco; in inglese, Austern, "Generic Programming
and the STL", Addison-Wesley.
Alex

Newsgroup: it.comp.lang.c++
Titolo: g++ e programmi win32: finestra DOS in background.

Salve,
sto provando a sviluppare programmini win32 con g++. I programmi
funzionano correttamente, ma quando li lancio, appare in background
una finestra DOS, che si chiude solo quando termina il programma. Il
problema si presenta sia su win2k che su winXP.
Sto usando g++ 3.2.3 e la libreria gdi32 standard, scaricata assieme a
minGW.
Grazie per qualunque suggerimento.

 minGW.
Qui sei OT perciň non ti posso dare nessun aiuto ( per quanto mi č
possibile ).
Devi postare la tua domanda su it.comp.programmare.win32
ciao
------------------------
http://visualwx.altervista.org/
nuova release 0.77c [freeware]
VisualWx rad per c++,python,perl,lua e wxwindows

 ciao
Il mio quesito potrebbe essere considerato OT anche lě, perň questo
non č un buon motivo per svicolare!

Massimiliano wrote:

devi usare lo switch
-mwindows (al linkaggio)
per non aprire consolle dos e quindi usare solo la GUI
visto che sei ot il posto giusto per postare queste domande la prossima volta e' 
it.comp.programmare.win32
ciao
Newsgroup: it.comp.lang.c++
Titolo: Aggiungere dati su file eseguibile

Salve,
vorrei creare un file eseguibile in c/c++ che abbia incorporato dei dati da
scompattare.
Mi spiego meglio...
Si prenda per esempio un file zip in formato exe... si ha un solo file dove
all'interno c'è l'eseguibile e i dati compressi.
Vorrei fare la stessa cosa.
Se creo un eseguibile e faccio un append al file con dei miei dati il
programma gira ancora o si blocca?
Bisogna cambiare qualcosa? Bisogna rispettare qualche standard?
Grazie
xoooox
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 xoooox
E' dipendente dalla piattaforma sulla quale ti trovi, e dal formato di 
eseguibile che usi, detta cosi'. Il metodo che tu suggerisci quasi 
sicuramente non funziona (primo tra tutti i problemi: e poi, i dati come 
li recuperi?).
In generale, se vuoi solo dei _dati_ del programma compressi... comprimi 
i dati prima di generare l'eseguibile, e poi aggiungi una routine di 
decompressione all'interno dell'eseguibile, semplicemente, senza 
complicarti di piu' la vita :P. Alla fine, cose tipo gli exe 
autoestraenti usano un metodo del genere.
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */

 E' dipendente dalla piattaforma sulla quale ti trovi...
Vorrei fare un eseguibile sotto windows.
Ho un file eseguibile già creato (da modificare).
Vorrei che appena lancio l'eseguibile lui si apre in lettura se stesso e
vada a leggermi i miei dati generando un file di destinazione...
L'esempio che mi salta in mente è: come fà il winzip con i suoi exe(zip
format).
ciao

Newsgroup: it.comp.lang.c++
Titolo: [Polimorfismo] templatizzare l'implementazione di un metodo

Ciao a tutti!
Ho questo codice di esempio, il mio obbiettivo � quello di riuscire ad
utilizzare, mediante chiamata a metodo Do del padre, una qualsiasi
specializzazione dei possibili metodi Do sui figli (in questo caso solo
un figlio).
Non sono riuscito ad ottenere il risultato voluto, mi chiedevo il
perch�, tra l'altro la specializzazione del template non viene
risolta, il salto � sempre alla Do del padre.
Una prima idea potrebbe essere templatizzare anche il Do del
padre, ma non ho ancora provato, sar� la prima cosa che faccio.
Grazie mille per le risposte.
-------------------------------------------------------------------------------------------
struct padre{
virtual void Do(void){}
};
struct figlio: padre{
template<typename T> T Do(T arg){
return arg;
}
};
 
void func(padre arg){
arg.Do();
}
void func2(padre* arg){
arg->Do();
}
int main(){
figlio f;
int ret =f.Do(1.4);
//f.Do(); 	//non compila!
func(f);	//passa dal padre
func2(&f);//passa dal padre
figlio* pf = new figlio();
func(*pf);	//passa dal padre pure questa!!
func2(pf);	//passa dal padre pure questa!!
return 0;
}

 void func(padre arg){
Nota che qui 'padre' viene passato per copia. Se passi un 'figlio', quello
viene usato come argomento del costruttore copia di 'padre'. L'oggetto che
arriva alla funzione � un semplice 'padre' (slicing).
Passa per reference (o per indirizzo), se vuoi che entri in gioco il
polimorfismo.
Max

 Max
Grazie!
Newsgroup: it.comp.lang.c++
Titolo: Template e moduli


-- 
Posted from [212.131.204.2] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 wrote in message
news:00120815380500.01256@stormwatch...


 realmente la cosa ?
Purtroppo č proprio cosě come temi. Lo standard credo preveda la keyword
export (o qualcosa del genere) per fare quello che chiedi ma non mi
risulta che nessun compilatore l'abbia ancora implementata.
EMG

 wrote in message
00120815380500.01256@stormwatch...

I template richiedono che la dichiarazione della classe e l'implementazione
dei member fuctions risiedano sull'.h...metti quello che sta in templ.h e in
templ.cc - facendo attenzione ai namespace(niente using negli headers) - in
classe.h o qualsiasi altro header...vedrai che funziona.
Saluti.

 wrote in message
news:00120815380500.01256@stormwatch...


 risulta che nessun compilatore l'abbia ancora implementata.
Nelle pagine info del gcc ( info gcc ) viene spiegato come affrontare il 
problema; veongono anche spiegati i divrsi approcci ( borland, gcc, cfront 
... ). Purtroppo sono tutte soluzioni che sono aldifuori dello standard ( 
nel senso che lo standard lo ha risolto con la keyword extern )




 implementata: mi potreste spiegare di cosa si tratta ?
Mi chiamo Giordano. Comunque, dovrebbe essere una keyword che consente,
appunto, di mettere le definizioni dei metodi template in moduli invece
che in header files. Non ho idea, poi, come faccia il compilatore ad
istanziare i template stessi. Ma, visto che ancora nessun compilatore
implementa questa caratteristica, forse non lo sanno nemmeno i
produttori... :-)
EMG

Credo che l'idea sia di generare una forma precompilata dei template,
anche se non e' strettamente necessario. La keyword "export" credo sia
stata aggiunta perche' non sarebbe stato possibile supportare due
meccanismi di istanziazione diametralmente opposti senza un meccanismo
esplicito per sceglierne uno dei due.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Serializzazione di oggetti tipo CObList (MFC)

Ciao a tutti,
Prima di tutto W NT e VC++ 5.0.
Mi son creato una bella lista di oggetti e li ho inseriti in una lista di
tipo CObList.
Quando pero' vado a salvare il programma fallisce col messaggio
"Unable to save file"
Col debugger sono arrivato alla funzione di serializzazione di CObList.
Eccovela:
// Serialization
void CObList::Serialize(CArchive& ar)
{
 ASSERT_VALID(this);
 CObject::Serialize(ar);
 if (ar.IsStoring())
 {
  ar.WriteCount(m_nCount);
  for (CNode* pNode = m_pNodeHead; pNode != NULL; pNode = pNode->pNext)
  {
   ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
****************   ar << pNode->data;
  }
 }
 else
 {
  DWORD nNewCount = ar.ReadCount();
  CObject* newData;
  while (nNewCount--)
  {
   ar >> newData;
   AddTail(newData);
  }
 }
}
Questa fallisce nella riga indicata con *********************. So che la
domanda e' un po' vaga,
ma avete qualche suggerimento?
Inoltre: quando si tenta di caricare una lista, come mai la funzione di
serializzazione
non fa una "new" prima di chiamare la AddTail (almeno io faccio cosi')?
Grazie
--
Tiberio Grasso
Tecnomare SpA
R&D, Robotics and Space
Tel: 
+39-041-796711
Fax: 
+39-041- 796800
e-mail: 
gras...@tecnomare.it

ciao,
col debugger ho visto che (guardate il messaggio precedente)
sizeof(CNode) = 0.
Possibile?
--
Tiberio Grasso
e-mail: 
gras...@tecnomare.it
Newsgroup: it.comp.lang.c++
Titolo: Array

Propongo a chi volesse ascoltarmi una domanda semplice semplice, ma a cui nn
ho ancora trovato risposta:
Ambiente WinMe (ma nn importa...)
Dunque io  ho un typedef float Vettore[n], con n ragionevolmente assegnato.
Quindi dal main richiamo una semplice procedura di scrittura del tipo void
Assegna(Vettore *Vett) e successivamente Stampa(Vettore Vett)...
Il problema è che nel percorso logico ciò dovrebbe funzionare (nella proc.
di lettura passo la var Vett per indirizzo, cosicchè mi scriva anche nella
var in main, in quella di stampa invece la passo per valore....), tuttavia
in realtà succede che il programma funziona solo se dichiaro la procedure di
Assegna senza il passaggio per indirizzo (Assegna (Vettore Vett)), non solo,
ma senza passare il vettore per indirizzo mi va a scrivere ugualmente nella
variabile definita in main....
Forse non sono a conoscenza di qualche proprietà dei vettori in C++?

 wrote in message
news:V_EY6.59711$Uo3.1...@news6.giganews.com...

Del fatto che non puoi mai passare un vettore per valore. Quello che puoi fare
e' passare un vettore per indirizzo o passare il suo primo elemento per
reference e poi assumere nella funzione chiamata che gli elementi successivi
siano, appunto, successivi.
typedef float Vettore[10];
void f1( Vettore *pv, int i );
void f2( Vettore v, int i );
void foo()
{
    Vettore v;
    int i;
    // ...
    f1(&v,i);
    // ...
    f2(v,i);
    // ...
}
void f1( Vettore *pv, int i )
{
    // il parametro pv e' effettivamente dichiarato
    // come "float(*)[10]"
    // pv contiene l'indirizzo del vettore
    // puoi accedere all'elemento iesimo in
    // uno di questi modi (a scelta):
    (*pv)[i]=0.0;
    *((*pv)+i)=0.0;
    pv[0][i]=0.0;
    // puoi richiamare f1 o f2 in questo modo
    f1(pv,i);
    f2(*pv,i);
}
void f2( Vettore v, int i )
{
    // il parametro pv e' effettivamente dichiarato
    // come "float*"
    // v contiene l'indirizzo del primo elemento
    // del vettore puoi accedere all'elemento iesimo
    // in uno di questi modi (a scelta):
    v[i]=0.0;
    *(v+i)=0.0;
    // puoi richiamare f2 ricorsivamente in questo modo
    f2(v,i);
    // non puoi richiamare f1 senza una forzatura (tramite
    // cast) perche' la dimensione dell'array (il 10) non
    // e' intrinseca al tipo di v
}
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

GRAZIE MILLE, ho capito che ne devo fare di strada ancora...
Cmq mi ero accorto della necessità in "f1" di assegnare valori al vettore
come se in realtà fosse una matrice, solo nn mi rendevo bene conto di quello
che facevo (avevo notato i watch nel debug come cambiavano...). Beh, davvero
grazie!
Ciao...
"Andrea Ferro" <And...@UrkaDVD.it> ha scritto nel messaggio
news:9gvqv6$ftr$1...@serv1.iunet.it...

Newsgroup: it.comp.lang.c++
Titolo: Aiuto per Visual C++

Mi piacerebbe sapere come utilizzare in un programma in c++ un immaggine bmp
o jpg esterna al programma stesso, cioč nn compilata.

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

Sto imparando il c++, e vorrei farvi alcune domande:
1) L'operatore di shift binario a sinistra e' logico o aritmetico? Ve
lo chiedo perche' io pensavo fosse logico (cioe' riempie i vuoti che
si creano con zeri, giusto?), e invece si comporta come fosse
aritmetico.
Nella fattispecie il mio problema e' questo: devo creare una funzione
che mi ritorni la lunghezza in bit di un int; io pensavo di fare
qualcosa del genere:
int intlenght()	{
	int iLenght = 0;
	int i =1;
	while( i <<= 1)	
		iLenght++;
	return iLenght;
}
Ma non va... (uso il visual c++ 4 sotto win 95) Anche provando a fare
int i = 1;
i <<= 33;
cout << i << endl;
mi restituisce come valore 2.
2) In un'espressione del tipo
	int x;
	if( cin >> x)
		eccetera eccetera
quand'e' che "cin >> x" assume un valore vero e quando uno falso?
3) E' possibile ottenere la lista dei parametri con cui e' chiamata
una funzione? Intendo dire qualcosa del tipo argc e argv[] per le
main, ma che vada con tutte le funzioni...
OK, per il momento e' tutto...
Grazie in anticipo,
<manoo>

mi restituisce come valore 2.
se non ricordo male la "colpa" di questo comportamento e' della shl
che con le cpu x86 usa solo i 5 bit meno significativi.
Gianpaolo Bottin
- Live Long and Prosper -

che con le cpu x86 usa solo i 5 bit meno significativi.
scusa cos'e' la shl?
Grazie, 
<manoo>

31.
Effettivamente, ho appena provato a riscriverla e a ricompilarla e
adesso funziona... mah... si vede che avevo sbagliato da qualche
parte.
Comunque, grazie per l'aiuto,
<manoo>

main, ma che vada con tutte le funzioni...
No, non e` possibile.  Non c'e` *nessun* modo portabile per farlo.
Le funzioni con numero e tipo variabile di argomenti (da evitare
come la peste!) devono trarre indicazioni "altrove" (ad esempio
da una stringa di formato)... e sperare che le indicazioni coincidano
poi con la realta` dei parametri passati -- cosa che nessuno ti
puo` garantire, e se cosi` non e`, *CRASH*.
Alex

scusa cos'e' la shl?
e' l'istruzione assembly x86 che effettua lo shift a sinistra,
l'istruzione:
i<<=33;
viene tradotta da VC in:
mov edx,dword ptr [i]
shl edx,21h
mov dword ptr [i],edx


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





Salve a tutti vorrei chiedere se qualcuno ha una 
classe gia fatta che riguardi la data e che implementi i metodi per restituire 
gg/mm/aaaa...verificare la validatà di una data e sommare dei giorni ad una data 
o qualcosa di simile


 


Ringrazio anticipatamente chiunque mi potrà 
aiutare


 


Saluti


Andrea


 


and...@tin.it



 wrote in 
  message 000a01c09e6c$4dc72fd0$abd9fea9@andyx...


 wrote in 
  message 000a01c09e6c$4dc72fd0$abd9fea9@andyx...




Per favore non postare in HTML, grazie.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: C++ e auto documentazione

Salve a tutti
Sto cercando un sistema per l'autodocumentazione del codice C++,
possibilmente free. Sapete se esiste qualcosa GNU?
Grazie.
Olaf

...


 possibilmente free. Sapete se esiste qualcosa GNU?
PERCEPS  
http://starship.python.net/crew/tbryan/PERCEPS/
DOC++    
http://www.zib.de/Visual/software/doc++/index.html
Doxygen  
http://www.stack.nl/~dimitri/doxygen/
ccdoc    
http://www.joelinoff.com/ccdoc/index.html
	Mauro

Newsgroup: it.comp.lang.c++
Titolo: HELP WANTED

Inizio subito col dire che di C++ ne so' proprio poco.
Dopo essermi sbizzarito col Pascal ho deciso di passare al C++ , dove pero'
mi sono imbattuto con un problema tanto stupido che mi ha mandato in
depressione.
Per immettere un valore da tastiera in pascal esiste readln(x); in C++ o
provato con getchar(x); ma immette solo un carattere ,non vorreste moca
dirmi che non esiste un comando tale e che quindi devo buttar giu' qualche
linea di codice in +?

linea di codice in +?
#include <iostream>
    int x;
    std::cin >> x;
    std::string s;
    getline(std::cin, s);
Il primo idioma legge un intero dallo standard input (ignorando i
fine-riga),
il secondo legge una riga dallo standard input in una stringa.
(Se hai un compilatore vecchio, puo` occorrere che tu ometta gli "std::"
e forse che tu includa iostream.h invece che iostream).
Alex

Newsgroup: it.comp.lang.c++
Titolo: Domandina semplice su Borland C++5.02

Salve, 
uso il compilatore Borland C++ 5.02 sotto Win98.
Mi sto innervosendo perche' non riesco a dare argomenti in fase di
esecuzione a semplicissime applicazioni console, ovvero non riesco a
trovare, tra i vari menu, quello che consente di inserire gli
argomenti all'eseguibile gia' compilato, senza uscire dall'ambiente
IDE. Dove diavolo si trova?
Nella vecchia versione 3 era indicata esplicitamente.
Grazie.



Option|enviroment|debugger
Paolo
-----------------------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------------------------

Scusa se mi intrometto. Non è per rispondere alla tua domanda ma
solo per chiederti se sai dove posso trovare gratis (magari
facendo il download) il compilatore 5.02 della Borland.
Grazie.
Cristiano     
ci...@box.tin.it
--
Posted from 
mta10-acc.tin.it
 [212.216.176.41]
via Mailgate.ORG Server - 
http://www.mailgate.org

Scusa se mi intrometto. Non č per rispondere alla tua domanda ma


Era il mese di Aprile e, se trovi l'edicola giusta, lo puoi ancora
ordinare... Non penso, invece, si possa scaricare, perché il possesso del
giornale funge da licenza.
Ciao,
Marco Zanon (
m.z...@usa.net
)
http://www.geocities.com/SiliconValley/Peaks/6455

facendo il download) il compilatore 5.02 della Borland.
Non saprei, e comunque dovresti avere un collegamento dedicato
per riuscire a scaricare tutta quella roba in tempi accettabili.


 Mailgate.ORG is maintained online by Dario Centofanti
--
Posted from 
mta09-acc.tin.it
 [212.216.176.40]


Di nulla,
ciao :-)

Newsgroup: it.comp.lang.c++
Titolo: ma che libri leggete

Scusate sono un rompiballe avete ragione ma io provo a leggere i messaggi
che scrivete eppure le classi un po'le ho studiate i puntatori anche ma nn
capisco minimamente i discorsi che fate...dove caspita le trovate tutte
queste informazioni e quanto tempo ci avete messo per sapere tutto quello
che sapete? grazie alex


Considerando che ho cominciato a studiare informatica nel 1982, tra poco
saranno vent'anni. Posto che tu non stia gia' studiando questa
disciplina a scuola o all'universita', ti servirebbero probabilmente un
buon libro sui principi fondamentali, ma non so cosa consigliarti,
perche' i libri su cui ho studiato non  sono piu' disponibili; quindi un
buon libro sul C++ e qui probabilmente la scelta migliore e' "C++
Primer", 3 ed. di S. Lippman e J. Lajoie, Addison Wesley (disponibile
anche in italiano).
Questo e' ovviamente solo un inizio, orientato al tema di questo
newsgroup: da qui le scelte dipendono dai tuoi interessi. Nell'ambito
del C++ vale la pena di proseguire coi libri di Scott Meyers, "Effective
C++" e "More Effective C++".
Ciao,
Nicola

...

Alcuni libri li trovi segnalati sulle faq (
www.programmazione.it
),
per imparare le cose solitamente ci si mette da molti mesi a qualche
anno...
Paolo
--
Paolo Marotta
Home: 
http://web.tiscalinet.it/paolo_marotta
Master's Level in C++ Certified by Brainbench
http://www.brainbench.com/transcript.jsp?pid=2440649
Newsgroup: it.comp.lang.c++
Titolo: C++

ciao a tutti, dato che sto iniziando ora a programmare in C++, sapete 
darmi qualche sito dal quale scaricare/utilizzare dei corsi gratuiti di 
programmazione?
grazie a chiunque mi darà una mano.
Robert

 wrote

http://www.mindview.net/
ed in particolare: 
http://mindview.net/Books/TICPP/ThinkingInCPP2e.html
esiste una traduzione in italiano su 
http://www.umbertosorbo.it/
 , non l'ho 
letta quindi non so dire come si stato tradotto, ma credo bene. Ad ogni 
modo, se sai l'inglese, come sempre, ti consiglio di leggere la versione 
originale.
Tommaso
Newsgroup: it.comp.lang.c++
Titolo: Eseguire calc.exe ed uscire

Ciao a tutti,
vorrei fare un programmino semplicissimo che esegua un programma
(ad esempio calc.exe) e subito esca, ovvero non resti aperto in attesa
che la calcolatrice venga chiusa per uscire.
Ho scritto questo:
#include <stdlib.h>
int main(int argc, char* argv[]) {
 system("calc.exe");
 return 0;
}
Funziona ma non esce subito. Come faccio?
Perchè il "return 0" non basta? Come posso uscire da questo
stato di wait in cui si trova imbottigliato?
Grazie mille
misirion

 Funziona ma non esce subito. Come faccio?
Invece esce subito (almeno sul mio sistema e con il mio compilatore).
Per sincerartene basta che fai seguire la chiamata a system() da una
chiamata a printf() che ti mostri un messaggio a video. Dovresti vedere
il messaggio nonostante la calcolatrice sia ancora aperta.
Ma dato che siamo in un newsgroup dedicato al C++ meglio:
#include <iostream>
int main()
{
    system( "calc.exe" );
    std::cout << "Finito!" << std::endl;
    return 0;
}
:-)
EMG
PS. Come ho appena scritto anche in it.comp.lang.c, è parecchio che
mancavo da queste parti e saluto tutti quelli che si ricordano di me (ma
anche gli altri :-) ).
--
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

 anche gli altri :-) ).
Un ritorno gradito! (qualcuno che si ricorda c'e' :-)
Ciao,
Nicola

 Un ritorno gradito! (qualcuno che si ricorda c'e' :-)
Grazie! :-)
EMG



Ciao, ho provato il codice su Dev 4.9.7 e su Visual C 6.0 il programma
attende la fine system per terminare l'eseguzione.
Potresti dire che compilatore usi?
Grazie, Ciao.

On Thu, 27 Feb 2003 14:16:58 GMT, "misirion"
<misi...@NOSPAMfreemail.it> wrote:
#include <windows.h>
#include <iostream>
int main()
{
    ShellExecute(
        GetDesktopWindow(),
        "open",
        "calc.exe",
        NULL,     
        NULL,     
        SW_SHOW
    );
    std::cout << "done! " << std::endl;
} 
it.comp.programmare.win32 è un posto migliore per la domanda imho
se vuoi usare system puoi usare start.exe che ritorna subito se non
erro.
ciao
 sbirish

 Potresti dire che compilatore usi?
Borland C++ 5.5.1. Ma ho provato anche con il GGC: stesso risultato, il
programma prosegue (se gli do il focus).
EMG
