mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: cambiare sfondo desktop in windows

Salve a tutti. qualcuno sa come cambiare lo sfondo del desktop di 
windows? grazie in anticipo

 windows? grazie in anticipo
Prova su it.comp.programmare.win32, è più specifico per windows.
Qui si tratta C++ standard, che non contempla metodi specifici come
questo.
Ciao,
-- 
+--------+ ASCII ribbon campaign ( )
|  kral  |  - against HTML email  X 
+--------+              & vCards / \

Ciao,
Questo newsgroup si occupa del linguaggio di programmazione C++. Per
questo non e' il posto piu' adatto per porre domande come la tua. Ti
invito a cercare un gruppo il cui argomento sia piu' rispondente alle
tue esigenze. Avrai maggior probabilita' di risolvere il tuo problema ed
eviterai perdite di tempo a chi consulta it.comp.lang.c++ .
Grazie,
Nicola Musatti

Newsgroup: it.comp.lang.c++
Titolo: #include ??? Come fare

Ciao a tutti,
ho la seguente situazione:
//file a.h
#pragma once
class A
{
public:
	A();
	~A();
	B* m_pB;
};
//file b.h
#pragma once
class B
{
public:
	B();
	~B();
	C* m_pC;
};
//file c.h
#pragma once
class C
{
public:
	C();
	~C();
	A* m_pA;
};
Come devo mettere gli include? Devo per forza riorganizzare tutto?
(chiaramente le classi non sono semplici come quelle sopra, la classe
C ha due funzioni statiche che sono dei thread con riferimenti sia
alla classe A che alla B).
Grazie, 
Stefano

 Come devo mettere gli include? Devo per forza riorganizzare tutto?
Ma il problema quale e'?
Metti:
#include "a.h"
#include "b.h"
#include "c.h"
nel file principale.
E inoltre devi mettere la dichiarazione della classe che non e' definita ma
per cui tu dichiari un puntatore:
class B;
class A {
   ....
   B* ptr_b;
};
Ciao



Mi mancava 
class B;
grazie.
Ste.
Newsgroup: it.comp.lang.c++
Titolo: Tutti i metodi della classe X

Ciao a tutti,
se voi aveste poca dimestichezza con il C++, vi trovate a dover capire
il significato e tutti i possibili metodi di alcune classe standard del
C++, a quale sito vi connettereste?
Ad esempio, dove trovo tutti i metodi della classe ifstram?
Vi e' un magico sito per risolvere tutti i miei quesiti?
Grassie,
Mex.

 wrote in message
news:3E243177...@mfn.unipmn.it...

Questo sito non e' magico ed io non sono pagato da Bill Gates, ma devo
ammettere che trovi un po' di tutto sul C++ standard e non.
Ce ne sono sicuramente altri ma ora non mi vengono.
http://msdn.microsoft.com
Maurus

Newsgroup: it.comp.lang.c++
Titolo: output su socket

Ciao a tutti,
  sto scrivendo un programma server e stavo pensando a come gestire la
scrittura, l'output ai socket che sono stati aperti...
  Tra le varie idee mi e' venuto in mente che potrei usare il cout con una
destinazione differente dallo standard output... il problema e': come la
cambio? e poi e' conveniente come metodo?
Grazie e a presto,
Gianluca C.

 come la cambio? e poi e' conveniente come metodo?
Non capisco perchè usare cout. Potresti invece aprire uno stream
asssociato al file descriptor del socket, ad es:
  ofstream out( fd );
Cosa che in effetti potrebbe aver senso, se si vuole isolare la parte di
codice che crea e chiude i socket, che è platform-dependent, da quella
che ci legge e scrive, che potrebbe essere completamente portabile.
Max
-- 
"Time flies like an arrow; fruit flies like a banana."

Max
Grazie,
ciao,
Gianluca C.

 
-- 


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

Ho installato da poco l'IDE Dev-Cpp (prima usavo Visual studio).
Mi sembra un ottimo programma, solo che i programmi scritti con l'altra
interfaccia non riesco a compilarli.
In particolare gli errori sono sulle librerie.
Nei miei programmi ho:
#include <iostream.h>
o anche
#include <fstream.h>
cosě che possa usare:
cout << "...";
fstream fs;
ecc.
Lui di queste librerie non ne vuol sapere, mi dice che sono deprecate.
Al posto loro cosa devo usare?
Ho provato anche con
#include <iostream>
ma niente lo stesso.
Grazie in anticipo.

Ha ragione lui.
Le lib sono quello pre standard == tranne che x il .h( fstream, iostream) e
quelle del c hanno il c davanti e nessun .h( cstdio ).
Ricordati di mettere sempre
using namespace std;
Dopo gli include :)

 wrote in message
UrmGb.5926$_P.1...@news4.tin.it...

Ottimo.
Proverò.
Purtroppo è il retaggio del c++ insegnato all'università... :-(
Grazie dell'aiuto tempestivo e Auguri!
Se avrò ancora bisogno sappi che sarò senza ritegno! (scherzo o quasi)
Ciao

 Ciao
Auguri anche a te.
Cmq aggiornati un poco all' Iso, ok?

        ### Sono sempre RiK0
Dal punto di vista del programmatore, un utente e' una periferica 
che scrive ogni volta che si effettua una richiesta di read.
(Peter Williams)
Newsgroup: it.comp.lang.c++
Titolo: cin.getline() : leggere fino ad una sequenza di caratteri

cin.getline(stringa, n, 's') legge da standard imput fino ad un
massimo di n caratteri oppure fino a che non incontra il carattere 's'
e memorizza il tutto nell'array stringa.
Ora, se io invece volessi leggere una sequenza di caratteri finchè non
incontro ad esempio la coppia "zz", oppure una qualsiasi altra
sequenza di 2 o più caratteri, come dovrei fare? è possibile
continuare ad usare cin.getline()?
Ho provato a inserire 'zz' come terzo parametro ma il compilatore mi
dà un warning che genera poi problemi con le istruzioni successive (in
pratica è come se venisse inserito nella std imput un secondo
carattere automaticamente....non mi sono espresso bene ma non è
importante...)

 importante...)
Credo che il terzo parametro di cin.getline sia definito esclusivamente come 
char quindi non hai modo di usare direttamente questa funzione. Potresti 
cavartela elegantemente dichiarandoti una classe che deriva da istream:
class MyInputStream : public istream
{
      //...
    MyInputStream& getline (char* s, streamsize n, string delim ) {
        //legge lo streambuf, fino ad un massimo di n caratteri o sino a che 
non incontra la stringa delim, copia il risultato in s
        //...
        return *this;
    }
}
int main() {
    //....
    MyInputStream mycin;
    //...
    mycin.getline(str,100,"zz");
    //...
}
Tutto ciò lo puoi fare anche "meno elegantemente" ma più semplicemente con 
un ciclo di cin.get e cin.getline
Andrea

 fare? è possibile continuare ad usare cin.getline()?
Non. Ma se usai la biblioteca standard, non è difficile a
scrivere una funzione:
    std::string
    getUntil( std::istream& in, std::string const& end )
    {
        assert( end.size() > 0 ) ;
        std::deque< char >   buf ;
        char                 ch ;
        while ( in.get( ch ) && buf.size() != end.size() ) {
            buf.push_back( ch ) ;
        }
        std::string          result ;
        while ( in && ! std::equal( buf.begin(), buf.end(), end.begin()
) ) {
            result.push_back( buf.front() ) ;
            buf.pop_front() ;
            in.get( ch ) ;
            if ( in ) {
                buf.push_back( ch ) ;
            }
        }
        return result ;
    }
Funzionne essattamente come il std::getline.
--
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
Newsgroup: it.comp.lang.c++
Titolo: Nome macchina Host 2

Ho ancora lo stesso problema di prima, il codice e' questo e lavoro sotto Unix
con compilatore g:
struct hostent {
               char    *h_name;
               char    **h_aliases;
               int     h_addrtype;
               int     h_length;
               char    **h_addr_list;
           };
struct hostent *hentry;
char *myhost= "localhost";
myhost=(char *)malloc(sizeof(char *));
hentry=(struct hostent *)malloc(sizeof(struct hostent));
hentry=gethostent();
myhost=hentry->h_name;
sull'ultima istruzione, in esecuzione mi da 
Segmentation fault (core dumped)
Siccome risposte precedenti mi hanno detto di allocare memoria per le 
strutture
e il codice non funziona lo stesso non so piu' che fare.
Nel resto del codice una procedura, che ho copiato da un libro e che funziona
perfettamente, usa l'istruzione GETHOSTBYNAME senza allocare la struttura 
hostent risultante.
Una domanda:
puo' essre un problema di assegnamento fra stringhe, devo usare un'istruzione
 di copia fra stringhe come la BCOPY?
Ogni suggerimento e' ben gradito, sono DISPERATO
Grazie
Valerio

 Segmentation fault (core dumped)
E infatti accadono...
 man gethostent 
 man gethostbyname
 etc...
Max
-- 
"Time flies like an arrow; fruit flies like a banana."
Newsgroup: it.comp.lang.c++
Titolo: problema

Ho dev c++ ma ogni volta che eseguo un programma
mi dice C:\DEV-C_~1\LIB\\libmingw32.a(main.o)(.text+0x8e): undefined
reference to `WinMain@16'

Scusate ho scaricato dev-C++ e fino a qui va tutto bene
ma ho messo l'opzione per C ,  pero' quando vado
a fare alcuni programmi tipo : con atoi reverse lower
mi da sempre lo stesso errore:


Newsgroup: it.comp.lang.c++
Titolo: puntatori a classi

Salve!
Ho questo codice:
--------prova.cpp---------
#include <iostream.h>
class classe
{
public:
int variabile;
void funzione(int var);
};//E qui apro una parentesi: mi stavo rincretinendo perché senza questo
punto e virgola la classe non è un tipo.
void classe::funzione(int var){
variabile=var;
cout<<variabile;
};
main()
{
  classe *prova;
  prova->funzione(4);
  delete prova;
}
-------fine di prova.cpp----------
Lo compilo e va tutto bene.
Lo esegue e mi appare una finestra con scritto che il programma ha
eseguit un'operazione non valida e verrà terminato: perché?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 a écrit dans le message news:
90ec2a1906fc4312041...@mygate.mailgate.org...

Perche' il tuo puntatore non e' ancora stato inizializzato e sta puntando
sulla luna.
 main()
 {
   classe *prova, oggettoClasse;
   prova = &oggettoClasse;
   prova->funzione(4);
   delete prova;
 }
Dovresti inoltre includere iostream al posto di iostream.h e quando usi cout
devi scrivere std::cout oppure scrivere all'inizio:
using namespace std;
anche se ti funziona con cout da solo, il tuo codice non e' standard e
cambiando compilatore potrebbe darti degli errori.
Maurus


Mannaggia alla fretta non avevo visto la delete prova;
A questo punto o cancelli la riga con la delete in quanto il puntatore sta
puntando a un oggetto gia' creato ( oggettoClasse), oppure lasci la delete,
ma a questo punto non dichiari piu' oggettoClasse, ma bensi' fai:
classe *prova = new classe;
Maurus

grazie.


 punto e virgola la classe non è un tipo.
E' un tipo eccome, ma senza il punto e virgola il compilatore lo
considera l'inizio di una dichiarazione.
Ciao,
Nicola

 eseguit un'operazione non valida e verrà terminato: perché?
il puntatore prova conteneva un valore casuale, hai tentato di accedervi 
e il SO ti ha segato le gambe ;)
byez

Newsgroup: it.comp.lang.c++
Titolo: Grafica and C++

Ciao,
    qualcuno mi consiglia un buon libro/tutorial sulla grafica in C++
? (per esempio per fare, chesso', un PacMan o un rettangolo che si
muove, insomma avete capito :-))) )
Grazie 1000,
            Enrico B.A.

www.gametutorials.com
nehe.gamedev.net
 
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

? (
www.gameprog.it
--
Rhymes
rhy...@myself.com
" ride or die "
Newsgroup: it.comp.lang.c++
Titolo: Editor C++

Sto cercando l'ultima versione di un editor c++ per windows:
Borland Builder C++
Visual C++ o Visual Studio
C'è qualcuno che mi può aiutare?
Grazie e Saluti



Tu fai un pò di confusione fra editor e compilatore. Ad ogni modo il
Borland C++ Builder lo vendono nei negozi, il Visual C++ idem ed il
Visual Studio non é altro che una raccolta di sistemi di sviluppo
Microsoft comprendente:
Visual Basic
Visual C++
Visual J++
InterDev
Visual Fox
l'ideale per rendere instabile il proprio sistema operativo.
Il Ghenio
-----------
LOVELY SARA
Dal lunedi'al venerdi'su Italia Uno alle 8:10
Non perdetevelo...
-----------
Newsgroup: it.comp.lang.c++
Titolo: Problemi col Vector

Ciao,
mi trovo nella necessità di allocare alcuni oggetti
dentro un vector, i quali hanno tutti necessità di un
adeguat costruttore. Ho scritto il seguente codice:
class Strato {
 public:
  Strato (int tipo,int nNeur);
  Strato();
  .....
};
................
vector<Strato> Hidden; // ...di cui ho usato il reserve(numero)
vector<int> nNHid; //... adeguatamente riempito
 for (int i=0;i<nNHid.size();i++)
  Hidden[i]=*(new Strato(1,nNHid[i]));
Ora mi capita di notare il fatto che i veri oggetti nel Hidden
non vengono allocati affatto, dato che in ogni costruttore di
"Strato" ho messo dei "cout" spia. Come mai?
Come devo correggere l'allocazione?
Grazie
Misirion

   Hidden[i]=*(new Strato(1,nNHid[i]));
Ehm, dunque, il tuo problema, in questo momento, è che stai ragionando
come se stessi programmando in Java.
Innanzitutto, in C++, quando usi new() devi essere pronto a occuparti di
gestire il lifetime dell'oggetto, ovvero provvedere prima o poi a
distruggerlo con delete() o consegnare il puntatore a qualcosa che si
occupi di farlo.
In secondo luogo, se usi un container standard devi accettare il fatto che
esso conterrà *copie* degli oggetti che tu hai instanziato e inserito. Se
instanzi con new() con l'idea il container possa conservare un riferimento
a quella precisa instanza dell'oggetto allora il tuo approccio è sbagliato
e devi usare un container di puntatori (e occuparti del clean-up finale o
usare degli "smart" pointer).
In terzo luogo non puoi riferirti a Hidden[i] se i >= Hidden.size().
reserve() non serve a modificare la dimensione del vector, ma a
preallocare memoria. Un vector non è un array di "slot" a cui assegnare
riferimenti di oggetti, è proprio un *array di oggetti*, a ciascuno dei
quali puoi, successivamente, assegnare un altro oggetto (dove con
"assegnare" si intende qualcosa di concettualmente diverso da quello che
accade in Java).
Tornando al tuo caso, se accetti la semantica di copia di un container di
oggetti:
 vector<Strato> Hidden; 
 vector<int>    nNHid; //... adeguatamente riempito
 
 for (int i=0;i<nNHid.size();i++)
 {
      Strato  newstrato( 1,nNHid[i] );
      Hidden.push_back( newstrato ); 
         // inserisce in fondo a Hidden una *copia* di newstrato
 }
Max

  Hidden[i]=*(new Strato(1,nNHid[i]));
Questo pezzo di codice non é sono errato, ma anche fonte di undefined
behaviour, dal momento che accedi tramite indice ad un elemento del
contenitore che non esiste. Inoltre l'allocazione dell'oggetto tramite
new non ha molto senso.
Per aggiungere elementi ad un vector in testa si deve utilizzare
push_back
for(unsigned int i=0;i<nNHid.size();i++)
    Hidden.push_back(Strato(1,nNHid[i]));
Il Ghenio
---------
// TODO: Place your ass here

Max, ti ringrazio tantissimo per la tua pazienza, ho
risolto il problema come mi hai detto.
Ora va tutto bene, ho sostituito tutte le folli assegnazioni
che usavo con i push_back e tutto si è risolto.
Grazie ancora e ciao
Misirion
Newsgroup: it.comp.lang.c++
Titolo: faq

Esiste una faq del ML?
ancora non ho risolto il problema dei colori, potete aiutarmi?
    <<salve,
    io un problemino, vorrei fare delle scritte colorate in c++, ma non
conosco
    ne il codice, tantomeno l'utilizzo (e l'esistenza) di opportune
librerie.
    sono uno studente alle prime armi col c++, e avrei bisogno di consigli
    chiari. grazie.
    ps se esistono dei documenti sulla rete che parlano di questo potreste
darmi
    l'indirizzo? grazie mille
    Roberto>>
Roberto de Simone

    chiari. grazie.
hai bisogno di una libreria apposta x fare questo...il C++
non contempla la grafica.. dai un'occhiata alla libreria
Allegro...potrebbe fare al caso tuo (oppure SDL, se no DX o
OGL)
--
Lawrence Oluyede
rhy...@myself.com

 questo č un NG (NewsGroup) e non una ML (MailingList) :)


che abbia capito molto... scusa...
prova a leggerti le FAQ e poi se vuoi noi siamo qui :)
--
Lawrence Oluyede
rhy...@myself.com

 prova a leggerti le FAQ e poi se vuoi noi siamo qui :)
FAQ che sono all'indirizzo 
http://cpp.programmazione.it
--
Gerolamo

Newsgroup: it.comp.lang.c++
Titolo: per iniziare

Ciao a tutti.
Sono un programmatore java e devo imparare a programmare in C++ in rete
(socket, ecc.).
Un po' di C++ lo mastico, ma mi manca un testo specifico su C++ e socket.
Potreste indicarmi qualcosa di gratuito da scaricare e studiare (magari in
italiano, ma va bene anche in inglese).
Grazie a chiunque vorrà aiutarmi.
Saluti.
Alex

italiano, ma va bene anche in inglese).
www.gnu.org
search
socket 
scaricati quella guida per le funzioni dei socket del C, poi li
incapsuli in una classe e hai fatto :)
cod
Newsgroup: it.comp.lang.c++
Titolo: HELPME / BC++3.0: CPP large model + ASM flat model

Devo interfacciare codice C++ e assembly. Per i miei scopi (un esame che
devo sostenere tra un paio di settimane, quindi trovare la soluzione al
problema è una cosa abbastanza urgente) è assolutamente necessario che il
sorgente C++ sia compilato con un modello di memoria large, mentre per il
sorgente assembly il modello di memoria deve essere flat. Non posso usare
l'assembly inline nel sorgente C++. Si osservino i seguenti minisorgenti
scritti a puro titolo d'esempio, e che non hanno alcuna utilità pratica:
***MYFUNC.ASM***
          .486p
          .model    flat        ; modello di memoria flat
          .CODE
          PUBLIC  C  MyFunc
MyFunc    PROC    C
          mov  ecx,  0
          RET
MyFunc    ENDP
          END
***MAIN.CPP***
#include <stdio.h>
extern "C" MyFunc();
void main() {
  MyFunc();
}
Per compilare sorgente *.ASM e sorgente *.CPP, uso rispettivamente TASM e
BCC nel modo seguente:
TASM /ml MyFunc.asm
BCC -ml -c main.cpp
Mentre per linkare uso TLINK come segue:
TLINK /3 /LD:\AMBIENTI\BC45\LIB main.obj MyFunc.obj,,,CL.LIB C0L.OB
Che però restituisce la seguente warning:
 Warning: Segment _DATA is in two groups: FLAT and DGROUP
Anche se viene prodotto l' *.EXE, qualsiasi tentativo di lanciarlo provoca
il blocco del sistema.
Preciso che uso il pacchetto Borland C++ 3.0.
Ringrazio fin da subito chi riuscisse a risolvermi questo problema...

Come mai sei obbligato ad usare per l'Assembler il modello FLAT, comunque in
ogni caso il Warning puo essere evitato dichiarato esplicitamente i
segmenti, dato che la macro .CODE e una macro generalizzata.

sorgente assembly il modello di memoria deve essere flat.
premetto che non conosco i compilatori Borland, comunque se e'
corretto quanto scrivi dubito che potra' mai funzionare, almeno non in
modo cosi' semplice. Il motivo e' semplice, un programma a 16bit in
modello large gira in modo reale mentre il codice in modello flat a
32bit funziona solo se la cpu e' in modalita' protetta a 32bit.
Inoltre il formato degli eseguibili a 16bit non supporta il codice in
modello flat. Diverso e' il discorso se intendi usare codice a 32bit
ma in un segmento a 16bit, cosa quest'ultima fattibilissima. Non
scendo nei dettagli comunque puoi verificare che il codice generato
dall'assembler nei due casi e' diverso.
E' probabile che la soluzione al tuo problema sia semplicemente non
usare ".model flat" ma ".model large" e metterci dentro comunque il
codice a 32bit che ti serve.
Gianpaolo Bottin
- Live Long and Prosper -

sorgente C++ sia compilato con un modello di memoria large, mentre per il


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

qualcuno sa come si fa ad utilizzare le istruzioni assembler all'interno di
un programma c++?
fabio

Fabio Filippi wrote:

asm MOV AX, 3
asm MOV BX, 4
oppure
asm{
 MOV AX, 3
 MOV BX, 4
}
oppure
asm MOV AX, 3 asm MOV BX, 4
NON bisogna specificare il ';' a fine riga (la/le istruzioni ASM sono su una
riga sola per il compilatore)
Luca
Newsgroup: it.comp.lang.c++
Titolo: Interrrupts esterni...

Scusate, forse questo non č il NG piů adatto, ma non ne ho trovato uno
migliore.
Esistono degli interrupt che vengono attivati da segnali provenienti
dalla porta parallela? Mi spiego: esiste un interrupt la cui routine
di gestione viene richiamata ogni qualvolta (ad es.) un piedino della
LPT viene portato ad 1? Se sě, qual'č il numero di questo interrupt? 
GRAZIE
Daniele.


Pannello di controllo/Sistema/Gestione Periferiche/Porta LPT1/Risorse
nella lista cerca livello di interrupt.
Quello che trovi e' l'IRQ della parallela sul tuo sistema (per me e' 7),
dovrebbe essere "abbastanza" standard pero' non si sa mai...
Ciao.
-- 
     (ZZZ)       Filippo Salotti, Bagni di Lucca, Lucca, Italy.
    //   \\  _                 E-mail : 
fil...@humnet.unipi.it
   /Y\    ZD<_o===============================================o
 .oZZZZZo.     | Studente Ingegneria Informatica Automatica  |
<OXXXXXXXO>    | Dip. Sistemi Elettrici Universita' di Pisa. |

Nel PC, e' possibile impostare il chip di gestione della parallela affinche'
questo, in presenza di un fronte di discesa (variazione del segnale da 1 a
0) del segnale collegato al pin 1 della porta, generi un interrupt che
generalmente e' ridefinibile via hardware (tramite jumper) o via software
(bios, driver, etc).
Di solito l'interrupt hardware predefinito e' il 7 o il 5.
Saluti.

 wrote:

Grazie per la risposta, ma ho ancora qualche dubbio.
Quelli che mi hai indicato tu (interrupt 5 0 7) non sono i numeri
degli interrupt, ma delle richieste di interrupt (IRQ). Purtroppo io
non so esattamente che cosa sia una IRQ. Quando il piedino 1 della
porta (STROBE) passa da 1 a 0 dovrebbe essere automaticamente
richiamata una routine. Come faccio a ridefinire questa routine?
GRAZIE
Daniele.
Newsgroup: it.comp.lang.c++
Titolo: Entry Point

Come posso spostare l'Entry point di un file usufruendo del linguaggio C o
C++ ?
Ossia copiando due file esegibili in uno solo come posso fare in modo che da
quest'ultimo venga eseguito a mio piacimento l'uno o l'altro ?
Ringraziandovi anticipatamente vi saluto
Mario.

, 
mari...@complab.com
 says...

Immagino che tu non abbia a disposizione i sorgenti o il codice oggetto, 
altrimenti non ci sarebbe il problema.
Non ho mai provato sotto win32, ma anni fa, quando ancora avevo tempo da
perdere ;-), feci una cosa simile per msdos.
Devi documentarti sul formato "eseguibile" della tua piattaforma - che 
contiene di solito le immagini rilocabili di un programma, e contiene i dati 
di bootstrap (entry point, dimensioni di stack, segmenti vari, etc) del 
programma stesso; e sulle system call (sotto msdos, per esempio, sono 
accessibili sotto forma di interrupt); e costruire uno "stub" che legga una
delle due immagini dall'exe stesso in memoria, e invochi 
la system call di "caricamento e rilocazione" sul blocco di memoria.
(il C di solito e' il linguaggio perfetto per queste cose - anche se oggi 
come oggi userei C++ "alla C" per le comodita' su cose come posizione 
delle dichiarazioni, etc). L'idea e' far credere al s/o che sta
caricando da disco, mentre l'immagine e' prelevata dalla memoria.
Sotto win32, con la memoria "flat", dovrebbe essere anche piu' semplice che
per msdos, ma non e' comunque cosa che si fa il giorno dopo aver letto "C++ 
in 24 ore" :)
Newsgroup: it.comp.lang.c++
Titolo: Il modo più pulito per codice cross-platform...

...sarebbe di mettere degli ifdef dentro una funzione? Attorno? Attorno 
ad un include, ed includere headers differenti (es. mouse_win.h o 
mouse_xorg.h)?
Grazie :)
--
  Eugenio
 
http://binaryunit.blogspot.com
 
http://ansima.blogspot.com
 
http://www.hashemall.com

Sì, secondo me sì, anche perchè, essendo risolto a precompilazione,
non processa delle parti che, poi, non deve usare.
de nada ;)


 non processa delle parti che, poi, non deve usare.
Sì... quale delle tre? :)


 mouse_xorg.h)?
Avere una classe Mouse cross-platform (cosa che penso tu voglia avere) e 
lasciare l'implementazione differenziata, in un file con #ifdef se 
l'implementazione si scosta poco tra le piattaforme, in file differenti 
compilati a seconda della piattaforma (eg mouse_w32.cpp, mouse_osx.cpp, 
mouse_x.cpp....) se le implementazioni si discostano molto.
Ad esempio, tra winsock e socket bsd cambia poco, in genere e' 
sufficiente qualche ifdef e macro all'inizio di una classe TCPSocket 
scritta in un unico file, al contrario se usi X11, Cocoa e Win32 per il 
mouse probabilmente avrai 3 classi quasi totalmente diverse, con solo 
l'interfaccia pubblica in comune.
Bye,
  Gabry

Gabriele Greco ha scritto:

scusami e avere una classe wrapper che in base alla piattaforma
restituisce un istanza di:
* cocoa_mouse_class
* win32_mouse_class
* xorg_mouse_class
senza mettere #if...
qualcosa più simile a quello che fanno i linguaggi senza preprocessore
per dire...
non so era un idea..

 restituisce un istanza di:  ...
Di fatto � pi� o meno la stessa cosa che suggerisce Gabry. Se hai
un'interfaccia comune, quella non dovr� esporre dettagli implementativi.
Quindi, o usi una classe wrapper con l'implementazione allocata
dinamicamente (idioma pimpl) oppure una classe/funzione factory che
instanzia la classe concreta appropriata per la piattaforma. In entrambi i
casi, non hai #if/#ifdef nei file header pubblici.
Max

Newsgroup: it.comp.lang.c++
Titolo: File Borland C++

Ciao a tutti,ho il seguente problema:
Con il C++ Builder apro un File di testo con una finestra di dialogo.
Con il metodo ExtractFileName(OpenDialog->FileName) ottengo il nome del file
scelto (che e' un AnsiString).
Con la classe fstream ho pero' bisogno di un const char*
Vorrei poter memorizzare tutto il contenuto del file in un buffer di
caratteri e,dopo averli manipolati, riscriverne il contenuto su file.
Qualcuno sa aiutarmi?
Grazie in anticipo,
 Marco

 Con la classe fstream ho pero' bisogno di un const char*
puoi convertirlo usando la funzione .c_str():
AnsiString prova;
prova = "quello che vuoi";
printf("%s",prova.c_str());
Newsgroup: it.comp.lang.c++
Titolo: Caricare bitmap e sovrapporre layer

Posto qui perchè non ho trovato gruppo migliore, anche se il progetto
a cui sto lavorando è in C#/.NET (mi pare non sia passata la votazione
per il gruppo specifico, comunque non l'ho trovato).
Avrei necessità di capire a grandi linee come poter caricare una
bitmap in un'applicazione e poterci sovrapporre dei layer. Qualcuno
che ha già visto/fatto qualcosa di simile può darmi qualche traccia?

 a cui sto lavorando è in C#/.NET (mi pare non sia passata la votazione
ciao.
Credo che il gruppo migliore per domande su c# non sia
questo ma microsoft.public.it.dotnet.csharp !
ciao
Giacomo

Newsgroup: it.comp.lang.c++
Titolo: Java Vs C++

What are the advantages of writing programs in Java over C++, and vice
versa?
I feel that Java is too object orientated, however, apart from that I feel
that it is a good language,
What are the advantages and disadvantages of the two langauages?
Andrew Curry
and...@clara.net
http://home.clara.net/andrewc/


A question like this, posted to multiple newsgroups.........do I smell flame 
bait??????
John - N8086N 
Wise man says "Never use a bank with the initials F. U."
-------------------------------------------
Are you interested in a professional society or
guild for programmers?
See 
www.programmersguild.org/american.htm
Newsgroup: us.issues.occupations.computer-programmers
EMail Address:
_m-i-a-n-o_@_c_o_l_o_s_s_e_u_m_b_u_i_l_d_e_r_s._c_o_m_
Newsgroup: it.comp.lang.c++
Titolo: Meglio il visual c++ o il Borland?


Meglio che quelli che fanno queste domande si diano all'ippica o alla
pallanuoto?

Newsgroup: it.comp.lang.c++
Titolo: rinominare gruppi di file

Ciao, sono Enrico.
Esiste un programmino che faccia questo: Io gli dò in pasto una lista di
file e lui me li rinomina tutti, con dei numeri crescenti. Per esempio, io
gli dò 20 immagini .jpg, lui me li rinomina così:
001.jpg
002.jpg
003.jpg
oppure così:
1.jpg
2.jpg
3.jpg
C'è Jasc Image Robot (sul sito di Jasc, che non ricordo qual è) che fa una
cosa simile con gli effeti sulle immagini: gli dò una lista di immagini e il
programma gli fa tuta una serie di operazioni che scelgo io, per esempio
aumentare il contrasto, rimpicciolirle a tot pixel, oppure applicare una
serie di effetti...
A me servirebbe, invece, solo che li rinominasse.
Anche una cosa "fatta in casa" andrebbe bene...
Ringrazio anticipatamente.
--
-----------------------------------------------------------------
mailto:
kiko...@libero.it
ourSyte(comunitàArgonauti): 
http://clanargonauti.freeweb.org
ourSyte.mirror:                      
http://web.tiscalinet.it/clanargonauti
(Qualcuno ci vada e ci faccia un po' di preo...)
-------------------------------------------------------------------


E funziona benissimo::.
--


Newsgroup: it.comp.lang.c++
Titolo: visual age c++

Salve a tutti .
Ho da poco comprato il suddetto prodotto di casa IBM.
Ho fatto una stupidagine ?
Non sono riuscito a trovare un corso , un libro se sapete qualche cosa vi
prego di
Avvertirmi .
Grazie di tutto


wrote:

A dir la verità ho sentito dire che si tratta di uno dei migliori
compilatori c++, ma non posso confermare perché non l'ho usato.
Il Ghenio
-----
ZIO : Fun and games are over with. Anyone who dares
get in my way shall perish.
DIO ci salvi dagli ocx del Viral Basic.
-----
Newsgroup: it.comp.lang.c++
Titolo: Imparare Visual C++ .net

Ringrazio già da ora chi mi risponde.
Vorrei imparare il visual C++ .net
ma su internet non trovo nulla riguardo al .net, ma trovo tutto sul C++.
Ho bisogno di qualche guida che mi faccia interagire perfettamente con
l'interfaccia di Visual C++ .net, sfruttando sia il codice gestito che sia
quello non gestito.
Cerco una guida ultra semplice (Premetto che sò che cosa è una variabile
:-) ).
Per favore aiutatemi, e non fatemi leggere link già conosciuti, ma qualcosa
anche di vostro.
Grazie di nuovo.
Vorrei dei chiarimenti anche sui FrameWork che non ho capito cosa siano.

 Vorrei imparare il visual C++ .net
Hai sbagliato newsgroup.
Qua puoi imparare e ricevere aiuto e postare consigli sul C++ standard.
Non so se ci sono gruppi in italiano per quello che chiedi.
Quello che si avvicina di piu' e' it.comp.programmare.win32
Maurus

Newsgroup: it.comp.lang.c++
Titolo: PREZZI, PREZZI, PREZZI...

scusate la venialità delle mie richieste ma qualcuno saprebbe informare, in
linea di massima, su quali sono  frai i compilatori c/c++ per win95 quelli
più usati e migliori con i relativi prezzi( ad esempio borland c++, c++
builder, etc)
 
							grazie in anticipo per la collaborazione
									C++ 4ever

 ...
Upgradare? Ma se io il solo C++ Builder Standard l'ha pagato proprio
177.000...
Boh!
Filippo Neri
Newsgroup: it.comp.lang.c++
Titolo: Librerie di unità di misura in C++

Qualcuno conosce qualche libreria di unità di misura
(tipizzate)possibilmente free (anche per un uso commerciale)?
Qualcosa che ti permetta di scrivere all'incirca:
Length l1 (1.2, m);
Length l2 (85.6, mm);
Time t1(5, s);
//...ecc.
Sul WEB ho trovato un draft (datato '98) di una libreria chiamata
SI Library di una certo Walter E. Brown dei laboratori Fermi (USA),
ma non sono riuscito a trovare un link per il download.
Grazie.
Ciao.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ma non sono riuscito a trovare un link per il download.
Sembra sparita.
Max
Newsgroup: it.comp.lang.c++
Titolo: DJGPP e STRING.H

Salve,
sto studiando il manuale di Lippaman e Lajoie "C++ Corso di
programmazione,
terza edizione" dove si fa spesso riferimento alla libreria standard
del
C++ per le stringhe. Ho notato pero' che il DJGPP, non ha questa
libreria:
se scrivo:
#include <string.h>
void main()
{
 int a;
 
 string str; // qui ho un errore 
}
come posso fare? esiste un modo per aggiornare le librerie del DJGPP?
Grazie!
PS: utilizzo il RHIDE!
            ________________________________
        / )|                                |( \
       / / |        Mauro "Tora" Pagano     | \ \
     _( (_ |   E-mail: 
ma....@flashnet.it
   | _) )_
    (((\ \>|_/->________________________<-\_|</ /)))
    (\\\\ \_/ /                          \ \_/ ////)
     \       /  Mi puoi trovare anche su: \       /
      \    _/      IRCnet  Canale #it      \_    /
      /   /         NickName: ^Mauro^        \   \
     /___/                                    \___\
 
http://www.geocities.com/Hollywood/Lot/6437/index.htm
     Membro del Mulegia Group .Inc Katsura Fans Club                  
                  Membro #13 dell'U&TFC
                 Fan #1 di Video Girl Ai

  string str; // qui ho un errore
Devi includere
#include <string>
EMG

 libreria:
L'header per le stringhe e' <string> (senza il .h).
<string.h> fornisce le lecchie funzioni C sui char* (strlen,
strcmp, ...).
#include <string>  // senza .h
int main()  // main deve restituire int
{
  std::string str;   // string si trova nel namespace std
  ....
}
	Mauro

Newsgroup: it.comp.lang.c++
Titolo: Guida per i Socket

Salve a tutti...  come da oggetto, sto cercando, possibilmente in rete, una
guida che spieghi con qualche chiaro esempio l'utilizzo base dei socket in
C++ ..
grazie,   Olaf3

 C++ ..
Qualche giorno fa ho trovato un interessante documento (per giunta in
italiano) sull'argomento: il link era
 
http://www.media.dsi.unimi.it/
anche se ora che lo provo sembra down.
Comunque ti spedisco in privato il documento che avevo anche scaricato.
Ciao,
Marcello.

Ti andrebbe di inviarlo anche a me?
Grazie in anticipo
Lawrence Oluyede
rhy...@tiscalinet.it
"Se ti credono rozzo,
  fai il raffinato;
se ti credono raffinato,
  mostrati rozzo."
Johnny Mnemonic


Marcello.
Potresti indicare il nome del documento?
Grazie, ciao
                            Max

Newsgroup: it.comp.lang.c++
Titolo: Visual C++ cerco compilatore

Stō cercando un buon compilatore Visual C++ possibilmente free (in
particolare cerco nmake.exe). Il pių semplice possibile(ne so veramente
poco) e con un buon help
Quale mi consigliate?
Grazie
SimoneD

Mi sa che hai un pò confuso il linguaggio (C++) con l'ambiente di sviluppo
(Visual C++) che è della Microsoft.

 SimoneD
-- 
	!-----------------------------------------------!
	! Giovanni Petrucciani				!	
	! 
giovanni.p...@iol.it
			!
	!-----------------------------------------------!
Newsgroup: it.comp.lang.c++
Titolo: Soluzioni esercizi libro c++ corso di programmazione (lippman-Lajoie)...help

Ciao, volevo sapere se esiste qualche risorsa online con le soluzioni degli esercizi presenti nel libro 
"C++ Corso di Programmazione" di Lippman e Lajoie.. come consigliato da molti di voi in questo forum
ho comprato il libro e lo sto studiando (avevo già qualche base di c++ , ma con classicizzata), mi sembra
ben fatto però secondo me sarebbe stato carino inserire anche qualche soluzione sugli esercizi.
Oddio ci si può ragionare su però uno che non è già ferrato qualche dubbio magari può venire ed aver
la conferma della soluzione potrebbe esser d'aiuto.
Volevo sapere nella fattispecie se vi risulta giusta la soluzione da me trovata al seguente codice dell'esercizio 2.4:
(dovrebbe esserci un errore rilevante in questo frammento di codice dice il testo)
int *pi = new int(10);
int *pia = new int[10];
while (*pi<10) {
          pia[*pi] = *pi;
          *pi = *pi + 1;
}
delete pi;
delete [] pia;
Dunque, a me quel che pare palese è che il ciclo while non fa eseguire mai le istruzioni che ci sono al suo interno perchè la condizione
richiesta non è mai verificata essendo *pi = 10 ... il resto a me par corretto... che dite?
Grazie e scusate il livello beginner della domanda :)
Perseo

 resto a me par corretto... che dite?
Buona deduzione...
Saluti
R. Ianuale

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

ciao a tutti,
siccome devo fare un progetto in c++ (usando Quincy 2002) per l'università,
avete qualche consiglio sull'argomento? Ad esempio
1. rubrica telefonica
2. giochi con e senza grafica
ecc ecc...
e poi chiedevo se esistono dei siti dove ci sono dei programi svolti.
ringrazio anticipatamente

 e poi chiedevo se esistono dei siti dove ci sono dei programi svolti.
http://sourceforge.net
ne trovi a tonellate.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio
news:mmKG9.19681$fa.6...@news1.tin.it...


 2. giochi con e senza grafica
molto bello e` il "gioco della vita": non ti sto a scrivere di cosa si 
tratta dato che se cerchi su google probabilmente trovi molti link 
(penso che la traduzione in inglese sia "life game" ma non ci giurerei).
E` un progetto abbastanza semplice, pero` interessante.
ciao Anto
-- 
"Computer science is not about computers any more than astronomy
is about telescopes." -- EW Dijkstra

 a écrit dans le message de news:
mmKG9.19681$fa.6...@news1.tin.it...

Se avessi del tempo, mi piacerebbe sviluppare un programma di dama italiana
anche con grafica spartana, ma in modo tale che il pc sia abbastanza bravo
da battermi.
Altrimenti anche il master mind non necessita di grafica accurata, puo'
addirittura essere fatto anche solo in modalita' testo.
Maurus

 ha scritto nel messaggio
news:asj56q$r92iu$1...@ID-125555.news.dfncis.de...

Newsgroup: it.comp.lang.c++
Titolo: Come vanno realmente usati i namespace?

Ciao a tutti,
avendo più moduli, ognuno composto da un .h (contenente la definizione di
una classe e alcuni metodi inline) e un .cc (contenente il resto dei
metodi), qual'è il modo corretto per inserire tutto in un namespace?
Occorre forse inserire *tutti* i .h in un costrutto:  namespace xxx { ... }?
Devono contenere tutto, anche i metodi inline? E poi nei file .cc devo usare
"using namespace xxx" ?
GRAZIE
Daniele.

A mio avviso il modo migliore e' includere tutto il contenuto del file
nel namespace, sia esso un file .h o un file .cpp . Devi tenere fuori
dal namespace le direttive di include e le dichiarazioni di entita'
appartenenti ad altri namespace o al namespace globale.
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: Informazione sul Turbo C++

Volevo sapere, se qualcuno sapeva  dove posso trovare il programma Turbo C++
3.5 compattibile con l'ambiente DOS, ad un prezzo ragionevole, visto che
vorrei provare ad iniziare a imparare questo linguaggio, anche perchè
l'unico negozio che poteva procurarmelo voleva 680.000£.
 Vi ringrazio per l' aiuto.
Ciao.

...


Newsgroup: it.comp.lang.c++
Titolo: Ho un problema

Salve a tutti, sto lavorando per portare
la libreria STDCXX di Apache in
ambiente nd, ma sto trovando alcuni
problemi tecnici.
Vi sarei grato se qualcuno che conosce
meglio il C++ di me potesse aiutarmi.
Qualcuno si fa avanti ?
Ciao e grazie

Pegasus ha scritto:

Sei un po' generico. Che genere di aiuto? consulenza gratuita a 360 
gradi magari?
  Per il resto, il ng è qui, basta chiedere, qualcuno forse potrà 
rispondere...

 ha scritto nel messaggio 
news:fvkskh$i2l$3...@nnrp.ngi.it...

Ti spiego. Ci sono dei simboli che il linker non trova.
Tutto quest'oggi ho lavorato per togliere molti
unreference symbol, però alcuni simboli non
capisco perchè non vengono trovati.
Vorrei fare questo: levo quasi tutti gli unreferenced
symbols aggiungendo ad nd i simboli che mancano
il più possibile.
Però per quei pochi simboli che resteranno alla fine,
mi servirebbe qualcuno che mi dia qualche informazione
tecnica.
Tu mi puoi aiutare ?

Tu mi puoi aiutare ?
Pegasus, domande di questo tipo presuppongono una risposta?
Fai prima a spiegare il problema specifico.
I newsgroup sono dei luoghi in cui è bene essere pratici.
Newsgroup: it.comp.lang.c++
Titolo: VC++ e .pgm

Salve a tutti!
Ho bisogno di lavorare in VC++ e con MFC con immagini
di formato .pgm (Portable gray map) (mi basterebbe
solo leggerle e visualizzarle).
Il problema č che (*penso*) MFC o altre librerie del
VC++ non supportano tale formato.
Vorrei quindi sapere se mi sbaglio e tale formato č
supportato e nel caso avessi ragione(sigh!) se
conoscete una qualsiasi libreria (anche freeware senza
garanzie) che permetta la manipolazione dei file .pgm
o che converta file .pgm in file .bmp.
Grazie.
Paolo
______________________________________________________________________
Do You Yahoo!?
Il tuo indirizzo gratis e per sempre @
yahoo.it
 su 
http://mail.yahoo.it
--
Posted from 
web502.mail.yahoo.com
 [128.11.68.69]
via Mailgate.ORG Server - 
http://www.mailgate.org

 o che converta file .pgm in file .bmp.
 
http://www.faqs.org/faqs/graphics/utilities-faq/
(e suoi parenti) sono URL che ti permettono di trovare
varie utility di grafica e particolarmente di conversione
fra diversi formati.
In particolare, credo che la libreria standard JPEG
(
ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6a.tar.gz
)
possa fare al caso tuo, anche se qui le JPEG non ti
servono; infatti, dovrebbe permetterti di importare
ed esportare, sia BMP, sia tutti i formati tipici di
PBM (che se non sbaglio includono come caso
particolare il PGM).
Esistono senza dubbio innumerevoli alternative.
Alex
Newsgroup: it.comp.lang.c++
Titolo: COnst

Mi spiegato dove cavolo alloca il vc6 le const
int const var=50;
int main(){
 int *noconst;
 noconst=(int *)(&var);
 *noconst=20; //tento di assegnare un nuovo valore
//qui c'è l'errore " unhandle exception in prog.exe :.........."
 return 0 ;
}
ma  "int const var" dove viene allcoata??
perchè se tento di modificare il suo valore mi da  questo errore " unhandle
exception in
prog.exe :.........."
insomma spiegatemi come alloca le variabili const VC6 :))

 //qui c'è l'errore " unhandle exception in prog.exe :.........."
Viene lanciato una eccezione di violazione di memoria perchè hai cercato di
scrivere in un indirizzo che non ti apparteneva. L'eccezione non viene gestita
e quindi la libreria della fase di esecuzione termina il programma.
Ciao Fbf.

 Ciao Fbf.
ho capito che non mi dovrebbe appartenere ma perchè sono locazioni di
memoria allocabili di sola lettura??
in pratica non cpasico questo:
windows alloca memoria di sola lettura apposta per le variabili const??
misteri

 windows alloca memoria di sola lettura apposta per le variabili const??
Windows alloca memoria di sola lettura per tutto l'eseguibile, compreso tutto
il codice e le varie risorse (dialog, icone, etc... e anche le variabili const
inizializzate).

Mi spiegato dove cavolo alloca il vc6 le const
Non lo so, ma tentare di modificare un valore const
e` "undefined behaviour" (se non erro).
Attenzione, non ho detto che prendere l'indirizzo di una costante sia
illecito!
Paolo

sapere l'esatta posizione di var. Chissà che valore assume noconst.
nocost assume const_cast<int*>(&var) (o meglio
(int*)(&var)), quando si prende l'indirizzo di una costante
il compilatore alloca memoria per la costante come se fosse una
variabile. L'errore e` nel tentare di utilizzare il puntatore per
modificare la costante che in quanto tale non e` lecito modificare.
Paolo

 inizializzate).
non č Windos, č il compilatore che lo fa. Se tu vai a cambiare le flag di
ogni sezione dell'eseguibile PE finale, puoi anche scrivere in zone dove
esiste del codice. Mi pare che da VC++ si possa infatti cambiare questo
comportamento (e anche con l'EDITBIN).
Newsgroup: it.comp.lang.c++
Titolo: Help gestione UART su PC

Dovrei gestire la ricezione di caratteri dalla linea seriale.
Quello che mi servirebbe e' abilitare gli interrupt di Rx e
 di errore e intercettarli e gestirli in una funzione C.
Il compilatore che vorrei usare e' il Microsoft C600.
Vorrei fare una cosa di questo tipo
void main(void)
{
    // Abilitazione Uart e interrup
    ???
    ???
    // Aggancio Interrupt a funzione MyRxTask
    ???
    ???
    // Mio programma
    while(MyTaskRun)
    {
        .........
        .........
        .........
    }
    // Ripristino vecchia gestione interrupt e/o altre settaggi di
uscita
    ???
    ???
}
void MyRxTask(void)
{
    // Operazioni di ingresso + lettura carattere
    ???
    ???
    // Mia gestione
    .............
    .............
    // Operazioni di uscita + reset interrupt
    ???
    ???
}
Quello che mi servirebbe sono le operazioni da mettere al
 posto dei ???
E' un po che ci sbatto la testa senza apprezzabili risultati.
L'ultimo tentativo e' stato di usare _dos_setvect(0x0C,MyRxTask)
e di abilitare gli interrupt abbassando il bit 0x10 del PIC
 con inp e outp all'indirizzo 0x20 o 0x21 non ricordo bene.
Qualcosa ha fatto perche al primo carattere ricevuto l'interrupt
 entrava ma si piantava il P.C. forse perche non era gestito
 correttamente.
Se avete dei suggerimenti per farlo con il MSVC e la cosa e'
 meno ostica potrei anche usare quello anche se e' un ambiente
 che non conosco molto.
Grazie a chi mi vorra aiutare.
Ciao.
Paolo.

Ciao,
Questo newsgroup si occupa del linguaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni. Per questo non e' il
posto piu' adatto per porre domande specifiche come la tua.
Potresti avere piu' fortuna su uno dei seguenti gruppi:
Per Win32 (95, 98, NT): it.comp.programmare.win32
Per Linux:      it.comp.linux.development
                it.comp.os.linux.development
Per C++Builder: i gruppi borland.public.cppbuilder.*, disponibili sul
                server 
forums.borland.com
 (in inglese)
Grazie,
Nicola Musatti

 wrote in message
39357DED...@libero.it...

Se vuoi posso mandarti una gestione della uart in pascal con rutin scritte
quasi tutte in asm.
Non sò se fanno al tuo caso, ma se vuoi contattami 
redicu...@inwind.it
Newsgroup: it.comp.lang.c++
Titolo: sulla questione std::bitset(const char*)

Tempo fa ho letto un messaggio di Enrico Maria Giordano
in cui si lamentava del fatto che, con il BCC 5.5, non è possibile
invocare ad esempio:
std::bitstring<8> foo("10001101");
foo.to_string();
Eccovi la ragione (PRESA DALLA USER GUIDE DEL KAI C++):
Here are the details for migrating from KCC 3.2. Because the constructor is
now a template member, the compiler is not
allowed to invoke certain implicit conversions that were previously allowed.
The annoying consequence is that direct
construction of a bitset from a (const char*) is now prohibited in examples
such as shown below:
        std::bitset<8U> foo("10101011");        // NO LONGER LEGAL
The compiler will report that no constructor of bitset matches. (Explanation
for template mavens: The requisite template
argument deduction for the std::basic_string temporary ignores implicit
conversions.) To repair this sort of code, add an explicit
conversion to std::string as shown below.
        std::bitset<8U> foo(std::string("10101011"));
The fix for the change to bitset<N>::to_string is a matter of explicitly
specifying the template arguments. For instance, if
you had this:
        b.to_string();                          // NO LONGER LEGAL
simply add the explicit template arguments like this:
        b.to_string<char,std::char_traits<char>,std::allocator<char> >()
Saluti  Manlio Perillo

 Eccovi la ragione (PRESA DALLA USER GUIDE DEL KAI C++):
Molte grazie. Un po' scomodo ma funziona anche con il BC++ 5.5. Però non
ho capito se questo workaround è previsto dallo standard oppure è un bug
dei compilatori.
EMG


No, non è un bug dei compilatori.
Il 'workaround' serve solo a causa dell'effetto indesiderato
dovuto al fatto che il costruttore ed il metodo to_string() sono,
nello standard C++, membri template.
Se ti risulta scomoda la sintassi per to_string(), prova ad inserire nella
classe bitset questo metodo:
string to_string() const
{
    return this->to_string< char, char_traits<char>, allocator<char> >();
}
Con il BCC 5.5 funziona.
Nota:
non so se modificare del codice fornito in licensa sia legale, inoltre
ci si lega a codice non standard.
Saluti  Manlio Perillo

 ci si lega a codice non standard.
Certo, molto meglio evitare.
EMG