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

Ciao a tutti,
Ho appena iniziato a studiare il c++ e c'ho subito un problema
esistenziale!!
Go scaricato sia Dev-c++ che borland c++ builder 6 (troppo complicato per
iniziare).
Con il Dev quando inizio un nuovo programma la pagina (credo del codice) è
piena di stringhe.. se le compilo mi da una pagina vuota!!
Se le cancello più niente... il problema è che io volevo inserirci questa
strighettina...e su pagina vuota non mi va, e nemmeno su quella piena!!!
Ciao
  E grazie
Silvio

Scuasate ecco la stringa:
// il mio primo programma in C++
#include <iostream>
using namespace std;
void main()
{
       cout << "Il mio primo programma in C++";
}
Non prendete in giro grazie!!!
Ciao Silvio

Nel boschetto della mia fantasia c'è anche Silvio, che ha scritto:

credo che il tuo problema sia che non fermi l'output prima che si
chiude il programma
modifica il tuo programma così:
#include <iostream>
using namespace std;
int main()
{
        cout << "Il mio primo programma in C++";
        while(cin.get() != '\n');
        return 0;
}
se vuoi ti spiego il significato dell'istruzione che ho aggiunto
ciao!
--
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." -

 ha scritto nel messaggio
news:DTws9.54619$RO.13...@twister1.libero.it...


   Silvio
1) quota
2) non capisco quale sia il tuo problema
crea una nuova console app, scegli il c++ come linguaggio e digita il codice
che ti ho scritto
cos'è che non va?
il compilatore dà errori?


 ha scritto nel messaggio
news:yXws9.15191$L12.1...@news.edisontel.com...


 ha scritto nel messaggio
news:25xs9.54260$%M1.13...@twister2.libero.it...


      Silvio
Prova cosi' come ti ha suggerito Lupin, ma con una lieve aggiunta.
Quell' endl alla fine del cout serve a mandare a capo ed a svuotare il
buffer di uscita.
Puo' darsi che il buffer non viene svuotato ( e quindi non vedi la scritta a
video) finche' non glielo dici esplicitamente con un flush o appunto con un
ritorno a capo.
#include <iostream>
using namespace std;
int main()
{
        cout << "Il mio primo programma in C++" << endl;
        while(cin.get() != '\n');
       // questo serve per non farti chiudere la finestra
       // consolle, finche' non premi enter
        return 0;
}
Maurus

 > il programma č attivo, ma non visualizza le informazoni date.


 ha scritto nel messaggio
news:U8Bs9.15238$L12.1...@news.edisontel.com...

Newsgroup: it.comp.lang.c++
Titolo: Distruttore di classi derivate

Salve,
ho un problemino con il mio deallocatore di classi, che elimina dalla
memoria solo le classi padre e non le derivate. Ora mi spiego meglio:
Io utilizzo VC++ 6.0. Nel programma che stň sviluppando utilizzo varie
classi di tipo diverse tutte derivate da una classe base 'class BaseClass'.
Per esempio ho 'class Classe1 pubblic BaseClass' e 'Classe 2 pubblic
BaseClass'.
Mantengo una lista stl di tutte le classi che genero definita in questo modo
'typedef list<BaseClass *> BaseClassList'. Questa lista la utilizzo sia per
mandare messaggi alle varie classi sia per distruggerle quando non mi
servono piů.
Il mio problema nasce proprio nella distruzione, quando intero nella lista
di classi ed eseguo 'delete(*itor)' dove *itor punta alla classe mi viene
dealloccata solo i dati della BaseClass e non delle classi derivate Classe1
e Classe2.
Io ho pensato a un paio di soluzioni ma che non mi soddisfano molto, e
desideravo avere un vostro parere:
-mettere un identificativo in BaseClass che in base al numero scelgo il
delete appropriato trame uno switch, cioč
'switch ((*itor)->tipo)
{
    case 0: delete ((BaseClass1*) (*itor))
    case 1: delete ((BaseClass2*) (*itor))'
ecc...
ma non mi piace molto perchč devo avere una lista di tutte le possibili
classi e aggiornarla ogni volta che sviluppo una nuova classe. Non c'č un
modo di fare il casting in modo "implicito"?
-un'altra soluzione che perň non sň se č fattibile č quella di creare la
lista di classi di tipo void  e sperare poi che il delete senza casting
deallocchi correttamente, ma non penso che funzioni
Grazie a tutti per le vostre risposte.
Ciao, Toby

 wrote
sicuro di avere il distruttore virtuale?!?!
Guarda:
class Base{
private:
    int a;
public:
    virtual ~Base(){cout << "BASE DESTRUCTOR" << endl;}
};
class Deriv: public Base{
private:
    int b;
public:
    ~Deriv(){cout << "DERIV DESTRUCTOR" << endl;}
};
int main()
{
    Base *p=new Deriv;
    delete p;
    return 0;
}
L'output e':
DERIV DESTRUCTOR
BASE DESTRUCTOR
Vengono chiamati entrambi!
Se tolgo invece la parola "virtual" dal distruttore della classe base....
L'output diventa solo:
BASE DESTRUCTOR
Riguardati le funzioni virtuali ed il polimorfismo!
Tommy

 ha scritto nel messaggio
news:b66g5m$h7l$1...@hercules.btinternet.com...


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

salve gente,vorrei imparare il linguaggio c++ mi sapete dire dove trovare
manuali,sia in rete,che cartacei?
grazie

 manuali,sia in rete,che cartacei?
Prendi Thinking in C++ di Bruce Eckel all'indirizzo
ftp://mindview.net/pub/eckel/TIC2e
.
EMG

manuali,sia in rete,che cartacei?
Oltre al libro di Bruce Eckel, in rete trovi materiale su
www.programmazione.it
.
Puoi anche consultare la faq di comp.lang.c++ per
altri tutorial in inglese (la faq stessa e` poi utile
materiale di studio) su
http://www.cs.bham.ac.uk/~jdm/CPP/index.html
Un buon libro pare poi essere
"C++ primer" 3 ed.
di Lipman
Paolo
-----------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
-----------------------------------------------
Newsgroup: it.comp.lang.c++
Titolo: Problems with accept()

I've written the above code for a simple server application.
I've copied it from an exaple I've found on the MSDN library.
My problem is that the ACCEPT() function didn't stop until a connection is
established with the server socket I create!
The accept() always returns INVALID_SOCKET, also when I try connecting to
the server through a client I programmed.
I'm using VisualC++ 6.0 .
Where do I fail?
Here's the code....
(I've modifed it with some printf to see the problem is in the accept() )
#include <winsock2.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main()
{
 WSADATA wsaData;
 if(WSAStartup(0x202, &wsaData) != 0)
  exit(-1);
 struct sockaddr_in local;
 local.sin_family = AF_INET;
 local.sin_addr.s_addr = INADDR_ANY;
 local.sin_port = htons(7179);
 SOCKET listen_socket;
 listen_socket = socket( AF_INET,  SOCK_STREAM,  0 );
 if(listen_socket == INVALID_SOCKET)
  exit(-1);
 if(bind(listen_socket, (struct sockaddr*)&local, sizeof(local)) ==
SOCKET_ERROR)
  exit(-1);
 if(listen(listen_socket, 5) == SOCKET_ERROR)
  exit(-1);
 SOCKET w_sock;
 struct sockaddr_in from;
 int fromlen;
 while(1)  {
  w_sock = accept(listen_socket, (struct sockaddr *)&from, &fromlen);
 }
 closesocket(listen_socket);
 WSACleanup();
}

Learn CAsyncSocket or buy a third-party library.
As a sketch of ideas, it is OK, although the overuse of exit() (or its
use at all) inevitably develops bad habits.
accept is not supposed to return until a connection is made, which
means that you can't ever shut the app down cleanly. This is one of
the many reasons most people choose an asynchronous socket
implementation. Since these are very hard to write "to the bare
metal", most people either use CAsyncSocket or use one of the numerous
third-party socket libraries to make it tolerable.
I'd be inclined to ::ZeroMemory() of the 'local' structure; it could
be vestigial garbage is causing the problem. 
Also, why "(struct sockaddr *)" when you can write (SOCKADDR *). In
general the use of 'struct' is necessary only inside a struct for
self-reference and is merely clumsy outside that context.
Probably the key is you forgot to intiailize structlen before making
the call.
			joe


Joseph M. Newcomer [MVP]
email: 
newc...@flounder.com
Web: 
http://www3.pgh.net/~newcomer
MVP Tips: 
http://www3.pgh.net/~newcomer/mvp_tips.htm

 I've copied it from an exaple I've found on the MSDN library.
Please!
This thread is totally off topic on it.comp.lang.c++. Remove this group from the
list of crossposts.
Also the official language of it.comp.programmare.win32 is Italian and the
official language of microsoft.public.vc.mfc is English.
Therefore this thread should really be followed up ONLY in
microsoft.public.vc.mfc (if it is on topic there, but I doubt it).
--
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556
Newsgroup: it.comp.lang.c++
Titolo: stack code liste alberi

Vorrei sapere ( con urgenza se possibile ) dove posso trovare su web
una guida o delle informazioni sull'implementazione in C++ dei
seguenti argomenti :
Stack
Coda
Lista
Lista circolare
Albero binario
....sono gradite anche info dirette riguardanti queste "bestie"
;oP

Coda
Parecchi buoni e ottimi link dalla pagina di Salminen:
http://users.utu.fi/sisasa/oasis/oasis-algo.html
Alex

Newsgroup: it.comp.lang.c++
Titolo: asm - c(++)

salve a tutti
conosco l'assembler abbastanza bene, ma non so come linkarli a programmi
c++.
mi spiego... ho presente tutti i problemi tipo il carattere _ davanti
alle funzioni, ma non so come collegare i files oggetto. uso TASM 5 e
Borland Turbo C++ 1.0 (ho provato anche con DJGPP e altri, ma niente).
Il Tc++ mi dice che non riesce a trovare la funzione o qualcosa di
simile ...
grazie
Nicola



Le funzioni C++ hanno una costruzione di nomi molto piu' complessa
che in C. Pensa solo al fatto che in un programma possono coesistere
N funzioni diverse cono lo stesso nome. Per chiamare funzioni
assembler dovresti dichiarare le funzioni come funzioni "C" nel
programma C++... in modo che il compilatore si aspetti solo il
vecchio famoso "_"
#if !defined(MYHEADHER_H)
#define MYHEADER_H
extern "C" {
void MyAsmFunc1(); // Il linker cerchera' _MyAsmFunc1
void MyAsmFunc2();
void MyAsmFunc3();
void MyAsmFunc4();
}
#endif
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff

grazie mille
adesso proverň, poi ti dirň.
grazie ancora
Nicola

Newsgroup: it.comp.lang.c++
Titolo: funzioni DLL

Salve,
Sono un neofita e sto provando a scrivere una DLL in Visual C++: dopo avere
creato la DLL  vado a vedere con depency walker le funzioni che ho creato e
i loro nomi hanno dei caratteri strani: es. la funzione IsTrue() diventa
?IsTrue@YA_NXZ.
Ho provato anche ad usare il wizard che crea la DLL : ottengo lo stesso
risultato...
Da cosa dipende?
Ringraziando in anticipo
Saluti
Sabino

 Sono un neofita e sto provando a scrivere una DLL in Visual C++: dopo
avere
Hai sbagliato Newsgroup
Quello giusto e':
it.comp.programmare.win32
Ciao
--
Lo spam è un problema! Informati su: 
http://www.collinelli.net/antispam
Abbonati a un ISP decente che utilizzi tecniche per combattere lo spam
Non usare una mailbox e-nonima. Se hai paura dello spam usa servizi come
Despammed, Sneakemail, 
Vene.dave.it
, ecc...   ----    Ciao, Gerolamo.


Sono i nomi decorati, prova ad usare la dll in un tuo programma e non
dovresti avere nessun problema

?IsTrue@YA_NXZ.
mettici davanti alla tua funzione extern "C" e il nome non verrà
decorato.
-- 
Marco Barisione (ICQ 84277092)

Newsgroup: it.comp.lang.c++
Titolo: Acquisizione dati

Vorrei provare a fare un piccolo circuito e leggere i dati che manda al PC.
So' che per il C ci sono molte librerie, ma non sono molto pratico.
Potreste indicarmi qualche link dove documentarmi ?
Grazie

 Potreste indicarmi qualche link dove documentarmi ?
it.comp.programmare.win32
it.comp.os.linux.developement
Newsgroup: it.comp.lang.c++
Titolo: Pulire lo schermo

La funzione per pulire lo schermo in 'C era clrscr()... e in 'C++' qual'č??
P.S. io utilizzo linux e compilo con g++ ....
Grazie mille Luca

 qual'č?? P.S. io utilizzo linux e compilo con g++ ....
Sei OT xhe' non e' una istruzione del C++ standard ....
Vedi la libreria ncurses...

Newsgroup: it.comp.lang.c++
Titolo: CGI in C++

Vorrei sapere se č possibile progammare CGI per pagine WEB in C++ e se sě
come si fa.
Grazie,
----------------------------------------------------------------------------
-----------------------------------------------------------------------
Non č morto ciň che dopo la morte continua ad esistere, ed in strani eoni
anche la morte puň morire.
H.P.Lovercraft
----------------------------------------------------------------------------
-----------------------------------------------------------------------
Ottavio...@mailexcite.com

...


come si fa.
Possibilissimo, vedi ad esempio:
http://www.boutell.com/cgibook/cd/SOURCE/CGIC104/cgic.htm
http://www.iexp.com/iexp/products/cgi-lib/
http://www.vestris.com/mozilla/index.html
per varie librerie (C o C++) che puoi usare, e/o:
http://informatics.ucdmc.ucdavis.edu/CGIProgramming/CGIHome.htm
http://www.empireone.net/~mauro/docs/progs/cgi.html
http://www.cs.latrobe.edu.au/~yuand/cgi-stuff.html
ecc, ecc, per varie collezioni di spiegazioni e/o link.
Alex

Newsgroup: it.comp.lang.c++
Titolo: Sempre dll... per Alex Martelli

Scusa tanto, sono sempre io: mi hai spiegato come usare le risorse in
una dll ad esempio utilizzando LoadString. Tutto OK finché uso
LoadString delle API, non c'è modo di usare CString::LoadString?
Questa funzione richiede solo un intero che rappresenta la stringa ma
non un HINSTANCE...
GRAZIE

...

Lavorando con le MFC si usa un paradigma diverso
per le risorse: l'MFC carica tutte le risorse da una
"istanza corrente di risorse".  Puoi sapere quale sia
al momento questa istanza chiamando la funzione
AfxGetResourceHandle, magari salvandoti da qualche
parte il suo valore di ritorno per ripristinarlo piú tardi;
poi, puoi dire all'MFC dove andarsi a prendere le
risorse sino a nuovo ordine, con AfxSetResourceHandle.
Visto che é assai scomodo (anche se non particolarmente
problematico dal punto di vista delle prestazioni) fare
queste chiamate in continuazione, il paradigma MFC si
presta bene alla situazione in cui uno lavora "normalmente"
con le risorse di un solo modulo, salvo "occasionalmente"
passare ad un modulo diverso per caricare/usare un tot
di roba e poi ripristinare il "modulo-base".  Personalmente
preferisco il paradigma delle API, piú "rientrante", comunque
sono abbastanza usabili entrambi, basta un po' di attenzione.
Alex
Newsgroup: it.comp.lang.c++
Titolo: Multithread

Ho dei problemi in multithread con la
funzione _beginthread che richiede il file <process.h>. Nonostante io
includa questo file, il compilatore (Visual C++) mi da l'errore:  error
C2065: '_beginthread' : undeclared identifier
Devo includere qualche libreria? Qual è il prolema? Altre soluzioni?
Grazie 1000

 C2065: '_beginthread' : undeclared identifier
La questione è OT qui. Il NG più appropriato è it.comp.programmare.win32.
Avresti, comunque, fatto meglio a cercare prima su MSDN o su Google Groups.
 
Clicca qui:
http://groups.google.com/groups?selm=Xns93C64C4C959DFJ...@127.0.0.1
Max

> La questione è OT qui. Il NG più appropriato è it.comp.programmare.win32.
Se sono OT chiedo scusa ,ma _beginthread non è una funzione C? È contenuta
nel file process.h e non nel windows.h

Comunque ho risolto. Grazie per la dritta;-)

 nel file process.h e non nel windows.h
Non e` parte dello standard C++. :)
-- 
RiK0
Non credo negli schemi non vincenti.
Newsgroup: it.comp.lang.c++
Titolo: Pensare in C++

Ho appena scoperto che esiste un progetto di traduzione in italiano di
"Thinking in C++" (diverso da quello che avevano intrapreso tempo fa alcuni
validi eroi, tra cui Cuni;-). Lo potete trovare a questo link:
http://www.umbertosorbo.it/modules.php?name=Downloads&d_op=viewdownload&cid=
1
Cosa ne pensate?
Ciao,
Cecco


Penso che mi hai dato una bella notizia!
Grazie!
Mi sembra un buona cosa visto che il testo è veramente valido!
Ciao!
zEtA^

Newsgroup: it.comp.lang.c++
Titolo: new, vettori e dimensione 0

Dunque: se io faccio
void *p = malloc(0);
se malloc ha successo (cioè se c'è memoria che malloc può allocare) p sarà
un puntatore valido E non NULL che punterà a una zona di memoria di 0 bytes
(quindi facendo if (p) saprò che l'allocazione è già stata fatta). Domanda:
la cosa vale anche per new[]?
--- bye

MaxMax ha scritto:

io sapevo che molte implementazioni di new usano malloc() pero nn ne 
sono sicuro(parasedere imparato ad usare negli ng) :D
-- 
Tnk
Luca "Kleidemos" Francesca
Un computer a un altro quando si incontrano:
"Ciao, come ti boota oggi???"

 sono sicuro(parasedere imparato ad usare negli ng) :D
Vero, ma non è una risposta alla mia domanda :-)
--- bye


La specifica del C++ che ho appena letto dice
al punto 8 della sezione 5.3.4:
    When the value of the expression in a direct-new-declarator
    is zero, the allocation function is called to allocate an
    array with no elements. The pointer returned by the
    new-expression is non-null and distinct from the pointer to
    any other object.
- Dario

...

Si.
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: documentazione degli interrupt del BIOS e del DOS

Ciao
dove posso trovare ...magari in italiano
la documentazione degli interrupt del BIOS e del DOS ???
Vorrei smanettare con l'assembler e cosi'....
grazie!
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 wrote in message
news:f8e8a8ec6ec732a3ced...@mygate.mailgate.org...


 ha scritto nel messaggio
news:f8e8a8ec6ec732a3ced...@mygate.mailgate.org...


 wrote in message
news:f8e8a8ec6ec732a3ced...@mygate.mailgate.org
prova anche su
ftp://x2ftp.oulu.fi/pub/msdos/programming/docs/
c'e' qualche file che si chiama inter*.zip: e' tutto li' (anche se a mio
parere le info sono un po' incasinate)
cmq e' sempre meglio che niente

Newsgroup: it.comp.lang.c++
Titolo: Bubble Sort

 }
for(int i=0; i<=8; i++)    // 8 invece di 9 !
{
     for(int j=i+1; j<=9; j++)
     {
         if(v[i]>v[j])
         {
             temp=v[i];    // temp dalla 'i' !
             v[i]=v[j];
             v[j]=temp;
         }
     }
}
Ciao

 Ciao
-- 
Icq #84624356

 Sort? Visto che per vettori di grandi dimensioni Bubble Sort č un pņ lento
Piu' che spiegartelo, posso "linkarti" a:
http://digilander.libero.it/unno2/sort/quick.htm
http://www.cad.polito.it/~tosato/teach/APA%20Alessandria/Lezione01/Lucidi%20
Ordinamento/quicksort.pdf
http://www.csai.unipa.it/infantino/corsi/fondinf01/alg_ord.pdf
  (pag. 11 del
pdf)
Si, per vettori grandi il bubble sort fa schifo ... ;)
Ciao.

 Si, per vettori grandi il bubble sort fa schifo ... ;)
AFAIK, il bubble sort pero' si comporta molto bene per i vettori "quasi
ordinati"
-- 
§              ZeD              §
§        Up da 2:29 ore         §
§          22/04/2004           §
§ S. Leonida-Ss. Apelle e Lucio §

 vettori "quasi ordinati"
Si, ma non la versione "semplificata" che e' stata riportata.
Per una versione molto piu' veloce e che "si comporta bene per vettori quasi
ordinati" e' disponibile un mio vecchio post: 
http://tinyurl.com/335nn
Tommy

 ordinati"
In questo caso però si potrebbe usare Insertion Sort.

Newsgroup: it.comp.lang.c++
Titolo: HELP !!! - Gestione sound

Ciao, qual' è la funzione che mi permette di eseguire due Beep di
frequenza diversa ??.
Mi servirebbe passare come parametro la durata e la frequenza.
Ciao Massimo.

 frequenza diversa ??.
In C++ non c'e' nessuna funzione per i suoni.
Come minimo dovresti dire che S.O. usi e possibilmente chiedere
in un gruppo piu' specifico (it.comp.linux.development,
it.comp.programmare.win32, ...)
	Mauro

 Mi servirebbe passare come parametro la durata e la frequenza.
Funzioni standard non ce ne sono. Sul Turbo C++ 1.01 e sul DJGPP ci sono
le funzioni sound() e nosound().
EMG

Il Visual C ++ ha la funzione Beep(Freq,Tempo) ma in Windows 95
restituisce sempre lo stesso suono che è quello di defoult.
Sto pensando di crearmi una procedura in assembler.
Massimo
Newsgroup: it.comp.lang.c++
Titolo: puntatori, quesito

Perchè passando uno o più puntatori ad una funzione  si può modificare il
contenuto dell'indirizzo a cui puntano ma non è possibile modificare
l'indirizzo a cui puntano senza dover specificare l'indirizzo di ritorno in
return, dov'è l'errore, anche concettuale (non ho molta pratica di C)
Passare qualcosa per riferimento e poi modificarla non vuol dire modificare
l'elemento stesso?
Grazie in anticipo
Maurizio
es:
void Funzione(int *punt1, int *punt2)
{
    punt1=punt2;
    return;
}
void main()
{
    int var1;
    int var2;
    int *puntA;
    int *puntB;
    var1=15;
    var2=20;
    puntA=&var1;
    puntB=&var2;
    Funzione(puntA,puntB);
   */ dopo questa chiamata il puntA non dovrebbe puntare all'indirizzo
puntato da puntB?
        questo però non accade*/
    return;
}

urlando "ancora" come fanno tutte. (Pavlov)

 Se vuoi modificare il valore di un ptr, devi passare un ptr doppio.
O anche un reference non const a un puntatore.
void func(const int * src, int * & dst)
{
     dst = src;
}
-- 
   |   \    \  | ___|_  |_  | ianezz a casa sua... :-)
   |  _ \  | \ | _|    /   /  Visita il LinuxTrent a
  _|_/  _\_|  _|____|___|___| 
http://www.linuxtrent.it

 void func(const int * src, int * & dst)
             ^^^^^
Pardon, const non ci va :-)


cosi` brancoli un po' nel buio (GFX-dev)
Newsgroup: it.comp.lang.c++
Titolo: VC++ 6

Salve a tutti e Buon Natale!
Mi piacerebbe sapere da chi usa VC++ 6 (o 5) se le estensioni Windows
Multimedia supportano lettura e scrittura dei file mp3, oltre ovviamente ai
wav (almeno questi due formati...).
Grazie e saluti :-)
Marco Zanon (
m.z...@usa.net
)
http://www.geocities.com/SiliconValley/Peaks/6455
(BUY CDS AT THE LOWEST PRICES through my site!!!
Zamorano fan page, free MIDI mailing list, Music db...)

no


Newsgroup: it.comp.lang.c++
Titolo: Consigli per imparare il C++

Sto studiando il C++ sul manuale H. Shildt consigliato dall'università.
Sebbene il testo mi sembri abbastanza completo, gradirei che qualcuno mi
consigliasse qualche libro con esempi di programmi un po' più articolati.
Se avete altri consigli (tipo "LASCIA Perdere" "Rinunciaci" sono ben
accetti.)
Grazie.

 qualche libro con esempi di programmi un po' più articolati.
Che tipo di programmi ?
Alex

consigliasse qualche libro con esempi di programmi un po' più articolati.
"C++ Primer" III ed., Stanley Lippman - Josee Lajoie (per
cortesia, leggete i messaggi precedenti, prima di postare).
Lascia perdere i testi di Schildt, hanno la fama di essere
pessimi testi, per quanto siano di facile lettura.
--
CyberWalkie - walkietalkie(at)
libero.it

Scusate il disturbo,
Ho da poco installato nel mio pc BorlandTurboC++ v.1.01
ed e anche da poco che sto studiando il C, vorrei sapere
cosa s'intende per C++ e come ci si accede.
grazie
Distinti saluti

 ha scritto nel messaggio
news:E6T57.104418$q77.9...@news2.tin.it...


Newsgroup: it.comp.lang.c++
Titolo: Copia e Incolla

Ho la necessità di trasferire del testo formattato da un mio
programma ad un programma di elaborazione testi, tipo Word o
altro.   Mi basterebbe poter fare "Copia" sul mio programma
ed incolla sull'elaboratore di testi.
Qualcuno sa come fare?
Piero, Firenze

    posso darti il codice in MFC
 p e' un oggetto serializzabile  (scrivibile su file)
il codice  di copia e' il seguente
         CSharedFile globFile;
   CArchive ar(&globFile,CArchive::store);
    p->Serialize(ar);
   ar.Close();
   COleDataSource* pSource = new COleDataSource;
   pSource->CacheGlobalData(CF_TEXT,globFile.Detach());
   pSource->SetClipboard();
fatto e gia provato
ciaoo
Newsgroup: it.comp.lang.c++
Titolo: Problema con i componenti activeX

Ciao a tutti
  ho registrato un componente ActiveX nel registro di sistema con
regsvr32.exe e tutto e' andato bene!
Poi ho creato un'applicazione con VC++6 che supporti i componenti
ActiveX,vado a project|Components and controls|Registered acxtivex
Controls|....ma il mio componente non c'e'!!!!
Dove Sbaglio?
Grazie   Francesco

 regsvr32.exe e tutto e' andato bene!
Mi fa piacere, solo che questo gruppo non tratta, nello 
specifico, di ActiveX e tantomeno della programmazione
per la piattaforma Win32.  Per avere un aiuto maggiore,
rivolgiti a it.comp.programmare.win32.
-- 
Posted from  [80.105.34.80] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c++
Titolo: Paradigma

Scusate,
i termini: programmazione imperativa, strutturata a comandi, strutturata,
procedurale, sequenziale, fanno riferimento allo stesso paradigma? (io ho
sempre saputo cosě, ma... ).
Grazie.
-----------------------------------------------------------------
Francesco Fassi
frances...@libero.it
-----------------------------------------------------------------

 sempre saputo cosě, ma... ).
Piů o meno mi sembra di si.
EMG

sempre saputo cosě, ma... ).
Non proprio...
il termine "programmazione imperativa" generalmente si riferisce ad un
modello di calcolo (paradigma) in cui una computazione e` modellata in
termini di uno stato iniziale che viene gradualmente manipolato per
ottenere uno stato finale che soddisfi certi requisiti. Esistono modelli
di calcolo alternativi in cui il concetto di stato neppure esiste.
La parola "strutturata" ha piu` a che vedere con la grammatica
di un linguaggio, al modo in cui il codice va organizzato. In generale
si parla in questo caso di meta-paradigma. Ad esempio la OOP
e` un meta-paradigma che in C++ e` implementato su quello
imperativo (il C++ e` un linguaggio imperativo), in lisp (CLOS)
la OOP e` implementata sul paradigma funzionale.
Paolo
--------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
--------------------------------------------------

 sempre saputo cosě, ma... ).
L'assembler č imperativo ma non strutturato (almeno come base). E' anche
sequenziale.
Il basic č imperativo, sequenziale e poco o per nulla strutturato.
Il Pascal, C/C++ sono strutturati, alcuni piů degli altri.
Alcuni linguaggi dedicati alla programmazione "parallela" non sono
sequenziali, pur potendo essere sia ad oggetti che no, strutturati o no.
Inoltre non tutti sono procedurali. Il basic lo č, in parte (gosub),
l'assembler si e no, mentre lo sono sicuramente pascal, c, ecc.
Credo che l'espressione che li accumuna tutti sia: imperativi.
Spero di essere stato d'aiuto.
--
Alessandro Monti

Ringrazio chi mi ha dato risposta,
Ho approfondito l'argomento e sono arrivato alle seguenti conclusioni:
programmazione imperativa e procedurale sono la stessa identica cosa
e regolano la costruzione del programma
Programmazione sequenziale non esiste.
Programmazione strutturata o strutturata a comandi è un paradigma che regola
la grammatica di un determinato linguaggio e non un modo di rappresentare i
propri programmi.
Arrivederci.

Newsgroup: it.comp.lang.c++
Titolo: Pulire lo schermo "CLS" Help

Sono nuovo al C++ ho provato ad impostare alcuni programmini semplici
semplici seguendo degli esercizi che mi propone il manuale dell'apogeo. Non
mi riesce di trovare un comando pre reinizializzare lo schermo (pulire lo
schermo ed iniziare da zero) quando ero ragazzo ed usavo il Basic usavo il
comando CLS. Sarei grato a chiunque mi possa dare una dritta in merito.
Grazie



clrscr() (se non ricordo male)
specifica il file di include <conio.h>


Il linguaggio C++ e la libreria standard del C++ non comprendono 
tecniche per interfacce utente a pieno schermo (full-screen) e neanche 
per interfacce utente grafiche. L'unico tipo di interfaccia utente 
direttamente supportato e' quello a riga di comando (Command-Line 
Interface).
L'interfaccia utente a riga di comando non contempla il concetto di 
"pulire lo schermo".
Sviluppare applicazioni dotate di interfaccia utente a pieno schermo, 
cosi' come per applicazioni dotate di interfaccia utente grafica, e' 
necessario utilizzare una libreria non standard. Molti compilatori ne 
forniscono una, ma non e' la stessa per tutti i compilatori.
In ambiente Unix e CygWin, mi pare che esistano le librerie "curses" e 
"ncurses"; il compilatore per MS-DOS della Microsoft fornisce una 
libreria utilizzabile includendo l'header "conio.h".
-- 
	Carlo Milanesi
 
http://digilander.libero.it/carlmila
Newsgroup: it.comp.lang.c++
Titolo: operator<< su puntatore a classe

Ciao a tutti, e scusate la banalità ma..
non sono riuscito ad ottenere un overload dell'operatore << su un
puntatore ad una classe. Ovvero.. per far funzionare questo codice:
class A { ... }
int main()
{
	A * pippo = new A();
 
	pippo << "ciao";
}
cosa devo metterci nei "..." ? come devo ridefinire operator<< ?
Grazie 10^3
Ciao
M?

Matic ha scritto:

Io sono un niubbo, non fidarti :-) Prova a definire esternamente alla 
classe:
std::ostream& operator<<(A *pt_a, char *str)
{
	*pt_a=.....
}
-- 
Devaraja (Xdevaraja87^gmail^c0mX)
Linux Registerd User #338167
http://counter.li.org

 std::ostream& operator<<(A *pt_a, char *str)
   ^^^^
Beh, non so da dove mi sia saltato fuori il tipo di ritorno... comunque 
se lo cambi dovrebbe essere tutto ok :-)


 class A { ... }


Non è possibile. Per definire un operatore, bisogna che almeno
uno dei parametri abbia o bene un typo classa o bene un typo
enum. Un puntatore, anche a una classa, non a un typo classa.
--
James Kanze                                           GABI Software
Conseils en informatique orientée objet/
                   Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, 
+33 (0)1 30 23 00 34


Come ti ha gia' scritto James non e' possibile. La soluzione piu'
semplice e' definire l'operatore<< che agisca su *istanze* della classe
e dereferenziare gli eventuali puntatori. Ma sei proprio sicuro di aver
bisogno di un puntatore?
class A {
  public:
    A & operator<< (const char * c) {
      // effettua la scrittura
      return *this;
    }
};
e quindi
*pippo << "ciao";
Ciao,
Nicola

Nicola Musatti ha scritto:

Mi potete spiegare perche' la mia soluzione non funziona? In questo 
periodo sto studiando proprio queste cose e mi interessa sapere dove 
sbaglio.


 sbaglio.
Non e' che non funziona; il linguaggio non consente di (ri-)definire
operatori su puntatori. In questo senso i puntatori sono considerati
tipi built-in anche se si riferiscono a classi.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: R: Ordinare una lista nella maniera piu' veloce

 blocchi sono gia' ordinati
Un algoritmo estremamente veloce ma forse troppo dispendioso in termini di
memoria è il seguente.
Se per il campo "valore" è noto un valore minimo e un valore massimo
abbastanza vicini, si può creare un array di liste, una per ogni possibile
valore.
Poi si scandisce la lista originale inserendo ogni nodo nella cella
dell'array che le compete in base al valore.
Infine si scandisce l'array e si ricostruisce la lista.
Chiaramente, questo algoritmo non sempre è fattibile. Infatti, se "valore"
può variare da 1 a 200 milioni, dovremmo allocare un array che occupa di 800
MB (con un puntatore di 4 byte per ogni cella).
      Carlo Milanesi
http://digilander.iol.it/carlmila

 tanta memoria mi sembra in antitesi con le esigenze di velocità.
   L'algoritmo che ti ho accennato, chiamato "binsort", è tanto più
efficiente quanto più piccolo è il range di valori ammissibili.
   In teoria, fissato il range di valori, binsort cresce linearmente con il
numero di elementi, mentre mergesort cresce come n * log n; tuttavia,
affinché binsort superi occorrono un numero sufficiente di elementi. Per
esempio, se si volesse ordinare i laureati da una università in base al voto
di laurea, binsort sarebbe largamente superiore, perché i voti ammissibili
sono pochi a confronto del numero di laureati.
   Per un range di valori da - 600000 a + 600000, quindi 1,2 milioni di
valori, l'array occupa 4,8 milioni di valori, e, da alcuni test che ho
effettuato, risulta veloce circa quanto il "sort" del template standard
"list" per liste aventi approssimativamente 100 mila elementi, e diventa
circa veloce il doppio per liste di 400 mila elementi. Il tutto usando
numeri pseudocasuali.
   Una variante di questo algoritmo consiste nell'allocare un array di celle
più piccolo, e assegnare ad una cella una sequenza di valori. Nel tuo
esempio, potresti usare un array di 120 mila celle, e assegnare alla prima
cella i valori da -600000 a - 599990, e così via. Ovviamente in tal modo la
lista contenuta in una cella deve essere o mantenuta ordinata, o ordinata
all'atto del concatenamento.
      Carlo Milanesi
http://digilander.iol.it/carlmila
Newsgroup: it.comp.lang.c++
Titolo: Visibilita' e template

Ciao a tutti.
Oggi un amico mi ha chiesto chiarimenti a proposito di un problema di
compilazione in C++, ma non ho saputo dare spiegazioni. In sintesi il
problema e' che, definito un data member (value) in una superclasse
template, poi non si riesce piu' ad accedervi nelle classi derivate.
Cercando di ridurre il codice ai minimi termini ho ottenuto qualcosa di
simile:
-----------------------------------------------------------------
template <typename T>
class Aclass
  {
  protected:
    T value;
  };
 
template <typename T>
class Bclass : Aclass<T>
  {
  public:
    T get() const { return value; }  // (1)
//    T get() const { return this -> value; }  // (2)
  };
 
Bclass<int> b;
-----------------------------------------------------------------
Il codice, che compila correttamente con compilatori piu' vecchi, con la
versione 3.4 del gcc smette di funzionare, asserendo che il simbolo "value"
non e' definito alla riga (1). Sostituendo la (1) con la (2) tutto
funziona.
Ho provato anche con il Comeau Test Drive, che in effetti si rifiuta di
compilare esattamente come fa il gcc.
Quello che non capisco e' se questo sia corretto, dal momento che il
problema non si pone se le classi Aclass e Bclass non sono template (o
anche solo una delle due). Si tratta forse di qualche nuova specifica
introdotta nello standard? La derivazione da una classe template porta con
se alcuni limiti di accesso ai data-member (mi sembra che ci sia un
problema analogo sui metodi)?
Comunque sia lo trovo piuttosto scomodo...
Qualcuno sa darmi qualche spiegazione?
Grazie,
Francesco.
-- 
Qual'e' il colmo per uno studente-lavoratore?
Avere un quadrato che si crede un rettangolo.

 Quello che non capisco e' se questo sia corretto
Si.  Leggi le 'templates FAQ' alla URL
 
http://www.decadentplace.org.uk/womble/c++/template-faq.html#base-lookup
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Dept. of Physics, Univ. of Padova, Italy              ROT13: 
ybe...@cq.vasa.vg

 funziona.
RTFM! 
http://gcc.gnu.org/gcc-3.4/changes.html#cplusplus
Ciao,
Nicola

Beh...
Grazie a entrambi Nicola e Maurizio per le risposte.
Ciao.

Newsgroup: it.comp.lang.c++
Titolo: Ordinamento per riga

Salve a tutto il gruppo! Ho bisogno di aiuto! il mio problema so che può 
sembrare banale, ma sono alle prime armi con il C++...
Ho un file di testo dove c'è per ogni riga una parola. Io ho bisogno di 
ordinare lessicalmente queste parole e scriverle riga per riga quindi in 
  ordine su un altro file di testo.
[ESEMPIO]
|michele|                  |andrea |
|paolo  |    ----------->  |michele|
|andrea |                  |paolo  |
qualcuno potrebbe suggerirmi il codice?
grazie

 wrote 

ecco fatto in C++ con due sole istruzioni:
#include<iostream>
#include<string>
#include<set>
#include<iterator>
using namespace std;
int main()
{
	set<string> wordList(
		istream_iterator<string>(cin),
		istream_iterator<string>()
	);
 
	copy(
		wordList.begin(),
		wordList.end(),
		ostream_iterator<string>(cout,"\n")
	);
}
compili il programma e lo chiami ad esempio xxx e poi esegui il
programma in questo modo:
xxx < input_file > output_file
e supponendo che input_file sia:
luigi
antonio
marco
luca
giovanni
paolo
ignazio
tommaso
francesca
anna
maria
valerio
emanuele
emanuela
ottieni un file chiamato output_file che contiene:
anna
antonio
emanuela
emanuele
francesca
giovanni
ignazio
luca
luigi
marco
maria
paolo
tommaso
valerio
Tommaso
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.lang.c++
Titolo: Compilatore ambiente windows No install

Ciao,
ho un'esigenza un po' particolare e non ho trovato ad ora nulla che
faccia al caso mio:
ho un progetto c++ che per una serie di motivi tengo su un'unita'
esterna, che quindi puo' essere collegata oggi ad un computer, domani
ad un altro.
Ho necessita di effettuare spesso ricompilazioni, in quanto si tratta
di un lavoro in piena fase di sviluppo.
Spesso non ho il tempo o la possibilita' di installare sul computer
ospite un ambiente, un compilatore, etc..
Esiste qualcosa che possa utilizzare in ambiente microsoft senza
installare nulla sulla macchina ospite (al limite inserire dei path)?
Ho utilizzato il gruppo it.comp.lang.c++ perche' non esiste un gruppo
che parli solo di compilatori (nella gerarchia it.*)
Ciao,
Luca.
p.s. per contatti in privato il dominio corretto e' quello di
tiscali...

 installare nulla sulla macchina ospite (al limite inserire dei path)?
Ad esempio il Borland C++ 5.5.1:
http://www.borland.com/products/downloads/download_cbuilder.html
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: Salvare in formato JPEG

Salve,
devo urgentemente trovare un modo per salvare (e anche per leggere)
un'immagine in formato JPEG (o anche GIF). Sapete se esiste qualche oggetto
o qualche funzione già pronta che mi eviti di studiare le specifiche del
formato?
Grazie.
--
===========================
                    BiiO
--------------------------------------------
   Home page       
www.biio.it
--------------------------------------------
  1°  E-Mail           
bi...@biio.it
  2°  E-Mail    
fab...@tiscalinet.it
===========================

 specifiche del formato?
prova a chiedere sul NG relativo all'OS che usi
win32 : news:it.comp.programmare.win32
linux : news:it.comp.os.linux.development
altro : news:it.comp.programmare
su questi ultimi puoi provare a chiedere, ma non sono di programmazione
unix  : news:it.comp.os.unix
Mac   : news:it.comp.macintosh
dos   : news:it.comp.os.dos
os2   : news:it.comp.os.os2
amiga : news:it.comp.os.amiga
as400 : news:it.comp.as400
comunque le GIF ora sono proprietarie, e sotto licenza


 io uso come compilatore il Borland C++ Builder 4, ma il programma che sto
creando non è visuale, è c++ puro; lavoro in modalità console.

 creando non è visuale, è c++ puro; lavoro in modalità console.
non c'entra nulla, i driver video dipendono dal SO, percio' devi usare 
(suppongo lavori in WinXX) librerie grafiche e jpeg/gif per win32 
modalita' console, e chiedere in 
news:it.comp.programmare.win32
non esiste in c++ puro il concetto di scheda video, figuriamoci le 
jpeg!-)
quando poi avrai delle domande su come adattarle al paradigma del c++ 
standard, magari per incapsularle all'interno di una classe, ripassa da 
queste parti.
Newsgroup: it.comp.lang.c++
Titolo: cout impazzito

Dopo varie peripezie, ho quasi finito il mio parser, cosi' prima 
d'eseguirlo 
ci metto un bel mess iniziale tanto per scrivere qualcosa sulla console:
std::cout << "Mess di benvenuto del prog\n" ;
tanto per scrivere qualcosa.
Non l'avessi mai fatto, il linker questa volta mi tira fuori un errore che 
non s'era mai visto. 
/tmp/cc0OxVgZ.o(.text+0xe): undefined reference to `cout'
/tmp/cc0OxVgZ.o(.text+0x13): undefined reference to 
`ostream::operator<<(int)'
Lo stesso (ed e' qui che mi sono sconvolto) succede se provo a compilare un 
vecchio hello.C (il classico hello world). Insomma cout (ma anche cin) 
sembra 
non voler funzionare +. Conscio del fatto che si possa trattare del mio 
solito errore di distrazione (passo il 50% del tempo a correggere ";" 
dimenticati, o errori d'ortografia) ho copiato paro paro dal solito libro 
di 
stroupstrup un esempio di codice...niente, neanche quello voleva 
compilarsi..stesso errore.
Al solito, mi scuso se si tratta di un'idiozia (cmq, chi lo sa, magari 
possono essere d'aiuto anche ad altri queste mail da un newbie 
disgraziato:) )
Grazie,
Giulio


Il problema sembra essere che il linker non trova la libreria ce contiene il
codice di operator<< con gli stream. Strano perchè questa libreria in genere
è linkata automaticamente... se usi GCC, allora devi aggiungere in fondo
alla riga di comando -lgpp
Altrimenti.. dimmi che strumento usi....

 
avevo supposto il problema. 
io in effetti uso gcc, ma aggiungendo -lgpp mi da' questo errore
/usr/i386-slackware-linux/bin/ld: cannot find -lgpp
come potrai intuire uso la slackware (8.0)
anche se la domanda e' OT, non e' che forse si tratta di un errore 
nell'installazione della slack? (provero' cmq ad informarmi su ng + in tema 
con il pinguino)
Giulio

 tema con il pinguino)
non e' che i files c++ si compilano con g++?

 
per quanto ne so, gcc riconosce i file con estensione .cpp (o anche .C) 
direttamente come listati c++ e compila con g++
Giulio

 Giulio
e invece mi sbagliavo, a quanto pare tutto funziona se uso g++...eppure 
m'era stato detto di usare gcc e l'estensione .cpp. Nessuno sa dirmi dov'e' 
la differenza tra "g++" e "gcc con file .cpp"?
Giulio

 wrote in message
fjVb8.81398$3J1.2...@news2.tin.it...

Non so che dirti: da quelloo che sapevo io, gcc servivva per compilare TUTTI
i vari linguaggi supportati da GNU (anche l'assembler per esempio),
permettendo quindi di linkare file compilati con linguaggi diversi.
Io non ho mai capito perchè GNU si ostini a usare un sacco di file che fanno
tutti la stessa cosa, quando basta usare gcc per compilare tutti i listati
di un programma. Cmq il  fatto che ti funzioni se usi g++, dimostra che sono
io a non aver capito nulla di questo "ambiente di sviluppo" (un pò di
sarcasmo ce l'ho messo.... :))
Newsgroup: it.comp.lang.c++
Titolo: leggere da file txt

Ho fatto la seguente cosa:
stringstream oss;
oss << a;
oss<<".txt";
std::string nomefile;
oss >> nomefile;
ifstream in(nomefile.c_str());
come fare ora per leggere k righe del file a.txt facendomi dare,per ogni
riga:
1) i primi tre caratteri per metterli in un char* c;
2) e i successivi caratteri fino a file riga (\n) per metterli in char* d
io avevo pensato a:
char* c,d;
in.get(c,3);
in.getline(d,100);
ma ho errori a runtime...
Grazie!

 in.getline(d,100);
1) per prima cosa
char* c,d;
crea un puntatore a char ed un char. NON crea due puntatori...
Abituati sempre a mettere il '*' vicino al nome della variabile:
char *c,d;
In questo noti meglio che solo c e' un punatore e quindi devi scrivere:
char *c,*d;
2) seconda cosa.
I puntatori non puntano da nessuna parte di valido!!!
Devi allocare spazio!
Se non vuoi usare degli array (char c[4]) ma vuoi dei puntatori devi usare
new (o malloc).
Guarda questo esempio:
<CODE>
#include<iostream>
#include<string>
using namespace std;
int main()
{
    char *c,*d;
    c=new char[4];
    d=new char[100];
    cin.get(c,4);
    cin.getline(d,100);
    cout << c << "-" << d << endl;
    delete []c;
    delete []d;
    return 0;
}
</CODE>
Se ad esempio scrivo:
Tommaso
ottengo:
Tom-maso
"Tom" e' memorizzato in c e "maso" in d.
Io non penso sia il modo migliore per fare cio'...
Quello che ho fatto e' rendere funzionante la tua idea correggendo i due
errori (grossi) che avevi fatto.
Questo non significa che la tua idea sia quella che avrei adottato io.
Io in tutta franchezza eviterei adirittura il problema leggendo tutto
l'input in una sola stringa e "spezzandolo" sucessivamente a seconda di come
ti serve "spezzarlo". Non vedo motivo per prenderlo gia' "spezzato".
A presto,
Tommy
Newsgroup: it.comp.lang.c++
Titolo: C++ Builder int Main(...)

Mi sto avvicinando al C++Builder, ho una difficoltà: Ho creato un
applicazione c++ gli eventi sono a posto...
Ora voglio gestire una parte del programma che continui a fare diciamo
operazioni in background... e che gestisca i componenti... ho provato con un
main dove avvengono delle operazioni su un Label:
int main(int argc, char **argv)
{
int i;
for (i=1; i<500; i++) {
                                    Label->Caption=i;
                                  }
}
Dice Undefined symbol Label... eppure sul Form esiste e il nome è valido...
non si possono gestire le proprietà dei componenti dal main program? Cosa
sto sbagliando, come posso rimediare?
Ho provato anche Application->Label-> ecc... e Form1->Label... e
TForm,Tapplication...
Devo usare il metodo OnIdle();?
La cosa più bella è che se tolgo questa operazione il programma viene
compilato, ma i pallini blu nella sezione main non escono... viene
considerata????
Grazie mille!!

 Grazie mille!!
I pallini blu significano che il codice genererà  codice , ma non che non
verrà considerato.
Hai mai pensato ad un bel manuale, invece di andare a spanne?

On Fri, 23 Jul 1999 10:42:54 +0200, "Wayl" <Wa...@iname.com.nospam>
wrote:
Immagino che il componente a cui fai riferimento appartenga ad una
unit differente da quella che ospita la funzione mai()... Se così
fosse, dal menù file aggiungi alla unit corrente la visibilità della
unit che contiene il componente a cui vuoi accedere. Questo, se ci fai
caso, si traduce semplicemente in un
#include "unitY.h"
Se non è questo il problema, fammelo sapere, ci ragionerò sopra..
Topoldo
(Grazie a Dio, sono ateo)

Newsgroup: it.comp.lang.c++
Titolo: Variabili d'ambiente

Ambiente: LINUX
Ho necessitą di fare il debug di un programma passandogli dei parametri
tramite una variabile di sistema ("QUERY_STRING").  Purtroppo la variabile
in questione contiene alcuni caratteri speciali non scrivibili da tastiera e
sono riuscito ad impostarla solo tramite C con setenv( var, val, 1 ); mentre
la shell si rifiutava (prendendola da un file binario).
Ho ripiegato sul C tentando una cosa simile:
if( setenv( "QUERY_STRING", srcstring, 1 )==-1 ) printf( "Vai a Lourde\n" );
else execl( "gdb", "nomeprogrammaintoccabile" );
faccio partire il programmino ma non sembra accadere nulla.... inoltre il
comando
echo $QUERY_STRING
non mi dą nulla.
come faccio ad impostare una variabile d'ambiente in modo permanente (come
PATH) e poter aprire gdb direttamente da shell?
grazie per il vostro compassionevole intervento.
--
Alessio
--------------------------------------------------------------
Home: 
http://space.tin.it/io/gdcap

la shell si rifiutava (prendendola da un file binario).
OT:
Non credo che tu possa usare un approccio simile... la QUERY_STRING
dei CGI fra l'altro prevede che i caratteri "strani" vengano
codificati utilizzando %xx dove xx sono due cifre esadecimali.
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff
Newsgroup: it.comp.lang.c++
Titolo: R: CERCO AIUTO....VORREI IMPARARE IL C++

Mi dai l'indirizzo del sito GPI?
Ciao
Jiz

 wrote in message 8ia58p$db7$1...@nslave1.tin.it...
