mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: alternativa all'uso di assert

Qual'e' il modo migliore di verificare delle condizioni
come il controllo sui parametri passati a una funzione, oppure
la verifica dopo una allocazione con new?
Fin'ora ho usato assert (che e' una macro di C ) ma siccome devo usare il
codice scritto
anche in una applicazione scritta in VC++ (che elimina gli assert nella
versione di release....)
mi chiedo se esiste un'altra funzione  del c++ standard che fa al caso mio.
Ciao e grazie.

Non puoi utilizzare un blocco try{} catch{}???



Non esiste una funzione standard che faccia quello che
chiedi. Ovviamente e' molto semplice scrivere una funzione
di quel tipo ed e' una delle cose che e' comodo avere
disponibili. Il C++ permette anche di ottenere con poco
sforzo cose come..
   void Picture::Sposta(int x,int y)
   {
     enter_function("Picture::Sposta");
     assert(x>=0 && y>=0,"Coordinate non valide");
     ...
   }
Definendo opportunamente la macro enter_function e'
possibile fare in modo che al momento della verifica
della condizione di assert una eventuale violazione
delle richieste possa provocare oltre che un arresto
oppure una exception anche una visualizzazione o
memorizzazione su log del contesto di stack insieme
al messaggio di errore. Spesso non e' molto interessante
infatti sapere che qualcuno ha violato un contratto
se non si riesce anche a sapere da chi e' stato chiamato
(e da chi e' stato chiamato il chiamante e cosi' via).
Implementati opportunamente questi meccanismi possono
arrivare a pesare una inezia (veramente una inezia)
su tempo di esecuzione e dimensioni dell'eseguibile
e sono pochi i casi in cui secondo me si giustifica
il non voler lasciare questi sistemi di trace attivi
anche in modalita' "release".
HTH
Andrea

 mi chiedo se esiste un'altra funzione  del c++ standard che fa al caso mio.
In ogni caso assert ha senso specialmente in fase di debug, altrimenti 
sarebbe il caso di cercare di gestire la condizione di errore o 
perlomeno di uscire dall'applicazione in modo un po' piu' "gentile" (con 
un messaggio per l'utente, ad esempio).
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Problemi con friend e linker della borland...

Mi scuso in anticipo, forse questo prob è banale per voi, ma sono
principiante e non riesco a trovare eventuali faq del newsgroup, quindi non
so se quest'argomento è stato già trattato.
Ho provato a definire un MIO template per la gestione di una stringa, con le
ridefinizioni di vari operator... tra questi quelli di >> e << (input e
output).
Scrivo le dichiarazioni e l'espansione della funzione che da problemi...
/*all'interno della classe*/
 friend istream& operator>> ( istream&, Stringa& );
 friend ostream& operator<< ( ostream&, const Stringa& );
/*all'esterno della classe*/
template <card nmaxS> inline
ostream& operator<< ( ostream& co, const Stringa<nmaxS>& s )
{ co << s.elementi; /*elementi è un char* membro di Stringa*/
 return co;
}
template <card nmaxS> inline
istream& operator>> ( istream& ci, Stringa<nmaxS>& s )
{ci.getline(s.elementi,s.nmax());
 return ci;
}
Se all'interno di una classe che utilizza una Stringa, non utilizzo questi
operatori non ho probs, ma se li utilizzo mi da un problema il linker...
Ve lo pasto...
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external 'operator >>(std::basic_istream<char,
std::char_trait
s<char> >&, Stringa<50>&)' referenced from
C:\FONDAMENTI2\OWNCODE\PROVA\PALINDRO
.OBJ
Essendo abituato al carissimo compilatore java, non ho un buon rapporto col
compilatore della Borland, tantomeno col Linker...
Aiutatemi, non so dove ho sbagliato...
Vi ringrazio in anticipo...
Fortunato
---------------
Naturalmente bisogna togliere i [] dall'indirizzo di posta elettronica per
rispondermi... Tie' spammers !

/*all'esterno della classe*/
Dovrebbe essere:
friend istream& operator>> ( istream&, Stringa<T>& );
friend ostream& operator<< ( ostream&, const Stringa<T>& );
dato che Stringa pare essere una classe template
(T e` il parametro del template, vanno riportati tutti).
Paolo

Newsgroup: it.comp.lang.c++
Titolo: cin.unsetf(ios::skipws)

ciao
sto facendo un programmino con funzioni del tipo
switch (n)
case 1:
....
e nel case 1 devo far leggere un testo e metterlo in un array
io uso il comando indicato nell'oggetto per far prendere anche gli spazi
oltre ai caratteri
il problema è che se lo metto il programma mi fa la prima funzione e esce
se non lo metto mi da la possibilità di scegliere le altre funzioni ma non
mi considera gli spazi
cosa devo fare?
magari mi dimentico qualche libreria...io ho messo solo la iostream.h

 magari mi dimentico qualche libreria...io ho messo solo la iostream.h
togli anche quella, non esiste.
-- 
sbi

> togli anche quella, non esiste.
cosa?!? non esiste?? i miei programmi vanno solo con quella!!!

cosa?!? non esiste?? i miei programmi vanno solo con quella!!!
l'header standard e' 
#include <iostream> 
iostream.h e' deprecato

> iostream.h e' deprecato
si,...io l'ho messo corto perchč penso che cmq si capisce cosa c'č
scritto....
il mio problema non riesci a risolvermelo?

scritto....
Mi sa che hai pensato male. Meglio se posti un po' piu' di codice


Ciao,
fabiomdf
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/
Newsgroup: it.comp.lang.c++
Titolo: Un buon libro

Ciao a tutti.
Sono alle prime armi con il C++.
Vorrei iniziare dal C++ per passare poi alla OMT ed infine ai Design
Pattern.
Quale è secondo voi un libro di C++, OMT, Design Pattern con le
seguenti
caratteristiche?
1- Facile da comprendere;
2- Ricco di esempi;
3- MOLTO APPROFONDITO NELLE SUE PARTI.
Vi ringrazio
Angelo.


I libri che ti servono sono tre, anche se solo uno riguarda in modo
specifico il C++:
Lippman, S., Lajoie, J., Moo, B. "C++ Primer", 4 ed., Addison Wesley
Gamma, E., Helm, R., Johnson, R., Vlissides, J. "Design Patterns",
Addison Wesley
OMT e' una metodologia sorpassata, soprattutto a livello notazionale.
In attesa di decidere una metodologia specifica sulla notazione non ci
sono alternative e quindi puoi cominciare con
Fowler, M. "UML Distilled", 3 ed., Addison Wesley
Ciao,
Nicola Musatti

Newsgroup: it.comp.lang.c++
Titolo: Copie di files con C++

Come posso gestire la copia di un file con MVC++ 5.0 ?
Un ringraziamento anticipato a chi mi risponderà.
Piero_Ma...@Bancangelo.it

Usa la API CopyFile().
Antonio Donatiello.
Newsgroup: it.comp.lang.c++
Titolo: UN AIUTO !!

Trovandomi tra le mani un demo della Borland C++ Builder 5 ho deciso di
imparare ad usare il linguaggio.
Mi sono comprato i libri che ritengo necessari e ricopiando ho iniziato a
scrivere qualche riga.
Sembra tutto semplice: leggi scrivi e studi !!!!!
Il problema è che tutti i listati che fanno uso di (iostream Cout Cin) non
funzionano, a video non mi compare niente anche se il programma viene
compilato.
Con i file presi dagli esempi del programma invece è tutto ok
Potete aiutarmi ?
Grazie,
Ciao,

 Potete aiutarmi ?
Fai un esempio di programma che non funziona.


Forse sbaglio hai provato adare il comando ALT+ F5 oqualche F o
cin.get

Newsgroup: it.comp.lang.c++
Titolo: 2 domandine facili

Ciao a tutti,
ho due piccoli, ma fastidiosi, problemini che mi assillano da un po' e
mi chiedevo se qualcuno di voi non potesse darmi una mano. Vado quindi
ad illustrare il tutto:
Question number1.
Io creo un normalissimo "button" e vi scrivo del testo sopra (es.
"Pippo"). Tutto normale solo che lo creo particolarmente stretto perchč
č piů bello e faccio in modo che si legga appena la scritta. Nella mia
finestra tutto ok fino a quando il "button" non riceve il focus e
disegna quel maledettissmo rettangolino tratteggiato per identificare
appunto che il pulsante ha il fous, ma in questo modo la mia scritta non
si legge piů. Esiste un modo (ad es. uno stile da impostare o
disattivare) per evitare che il bastardo disegni il suo rettangolino?
Question number2.
Quando io creo un controllo ListView in modo report (stile LVS_REPORT)
posso decidere se ordinare gli elementi in ordine ascendente o
discendente. Io speravo che creando piů colonne automaticamente
ordinasse gli elementi in base alla colonna su cui clicca l'utente, e
invece no. In sostanza, suppondendo di avere due colonne come si fa ad
impostare il controllo perche ordini gli elementi in base alla seconda
colonna?
Spero che qualcuno di voi conosca la soluzione e sia cosě buono da
volermela dire. Ciao!!!

disattivare) per evitare che il bastardo disegni il suo rettangolino?
Non c'è possibilità di impedire il disegno del rettangolino tratteggiato. E'
un metodo del Win per indicare il pulsante con il focus. L'unica alternativa
potrebbe essere lo stile "owner draw" o la disabilitazione del tasto (però
perdi l'input).
Ciao, Giuseppe

Newsgroup: it.comp.lang.c++
Titolo: stampare in c++

Ciao a tutti sono un programmatore in erba,  vorrei saper come si fa a
mandare in stampa una stringa. Nel senso che mi basterebbe sapere
quali sono le parole chiave da usarsi.
Massimo

Se vuoi stampare in DOS,
#include <stdio.h>
int main()
{
     int x = 19;
     if (!fprintf(stdprn, "Il valore è %d.\n", x)) return 1;
     return 0;
}
Se lo vuoi fare in Windows con un RAD c'è un oggetto che farà ciò che
desideri.
Infine, se sei costretto ad utilizzare le API, non credo sia opportuno che
ti snoccioli sul ng. la documentazione necessario, visto che si trova
nell'help in linea...
Rodolfo Tedeschi - 
thet...@tin.it
Newsgroup: it.comp.lang.c++
Titolo: [OT???] problema con QT

sto parlando delle qt di trolltech...
ho un problema semplice ma che non riesco a risolvere...
devo intercettare una stringa in input su lineEdit utilizzando 
nell'inserimento di un contenitore al pressione di QButton...
come interfaccio le cose??
un connect???
grazie..

seimess ha scritto:

Non sei stato molto chiaro.
Vediamo se ho capito: vuoi leggere il contenuto di una QLineEdit alla 
pressione del QButton.
Se è così, devi semplicemente collegare il SIGNAL clicked() del QButton 
con uno slot e all'interno dello slot leggere il contenuto del QLineEdit 
tramite text().
Se ho capito bene, però, conviene che tu segua almeno i tutorial 
(ottimi) della guida. Perderai un paio d'ore ma capirai un mucchio di cose.
HTH
Happy
Newsgroup: it.comp.lang.c++
Titolo: Usare le map

Ciao,
sto usando una mappa che ho definito in questo modo:
    CollezioneUtenti cu;
    CollezioneUtenti::iterator iter;
dove CollezioneUtenti è:
class CollezioneUtenti : public map<int, Utente>
{
Il problema che non riesco a risolvere è il seguente:
									cu.insert(make_pair(codice,u1));
 
for(iter = cu.begin(); iter != cu.end(); ++iter) {
     cout << iter->first << endl;
     cout << iter->second << endl;
}
Il problema è che iter->first lo stampo tranquillamente (infatti è un int).
Invece, iter->second è un oggetto di tipo Utente, ma non riesco a
stampare i suoi attributi.
Suppongo io abbia due possibilità:
1) Ridefinire l'operatore <<
2) Trovare un modo per ricondurmi da iter->second a Utente, cosicché da
richiamare poi i suoi getters e stampare i risultati ritornati da essi.
Come posso fare?
Grazie

 richiamare poi i suoi getters e stampare i risultati ritornati da essi.
iter->second è un'instanza di Utente che è stata infilata nel container,
quindi puoi scrivere (e.g.):
std::cout << iter->second.get_field1() << std::endl;
Luca
-- 
Il coraggio non mi manca.
E` la paura che mi frega...

 Luca
Funziona, era così semplice :-)
Grazie mille!
Ricollegandomi al thread successivo, quello delle variabili
autoincrementanti, stavo pensando di creare una mappa strutturata in
questo modo:
key = utente.getId() (tipo: int)
value = utente (tipo: utente)
Però in effetti noto che c'è una certa ridondanza: la chiave è poi parte
stessa del value, in quanto utente contiene la variabile id...

 stessa del value, in quanto utente contiene la variabile id...
In questo caso puoi considerare l'idea di utilizzare un std::set nel
quale specifichi la funzione di ordinamento, o come parametro
aggiuntivo del set o definendo per la tua classe Utente l'operatore <
(gia' che ci sei definisci anche ==, che non guasta).
Attento a farlo in modo corretto!
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: inversione

  Chiedo scusa per la confusione nel thread da me scritto(operatore modulo)
che e' molto confusionario e di cui anche l'oggetto non e' scritto con
chiarezza.Ho scritto un piccolo programma per crittografare un numero di 4
cifre ed in esso ho provato a scriverne una parte per invertirne il processo
non conoscendo in teoria la reale forma del numero,il problema mi
sopraggiunge quando quando il risultato dei singoli numeri immessi e
crittografati supera valore 10 ma non capisco come poterlo invertire,e'
gradito qualsiasi suggerimento che mi dia uno spunto per risolverlo :
#include <iostream.h>
int main()
{
int number,n1,n2,n3,n4,c1,c2,c3,c4,reverse;
cout << "immetti un numero di 4 cifre:";
cin >> number;
cout << " conferma se il numero e' crittografato o no(1=si : 0=no): ";
cin >> reverse;
  if (reverse==1) {
  n1=number/1000;
  n2=number%1000/100;
  n3=number%100/10;
  n4=number%10;
  c1=(n1-7)%10;
  c2=(n2-7)%10;
  c3=(n3-7)%10;
  c4=(n4-7)%10;
cout << "numero_immesso: "<< n1 << " " << n2 << " " << n3 << " " << n4
<< endl << endl;
cout << "numero decrittografato: " << c1 << " " << c2 << " " << c3 << " " <<
c4
<<endl << endl;
  }
else if(reverse==0) {
n1=number/1000;
n2=number%1000/100;
n3=number%100/10;
n4=number%10;
c1=(n1+7)%10;
c2=(n2+7)%10;
c3=(n3+7)%10;
c4=(n4+7)%10;
cout << "numero immesso: "<< n1 << " " << n2 << " " << n3 << " " << n4
<<endl << endl;
cout << "numero crittografato: " << c1 << " " << c2 << " " << c3 << " " <<
c4 << endl;
}
return 0;
}
 
  Grazie per la cortese attenzione .
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/


 if (n1 >= 7)
 c1 = (n1 - 7)
else
 c1 = (n1 + 3)
// Analogamente per le altre cifre


                    Il 18 Lug 2004, 19:28, Stefano Malavasi <s_mal...@REMOVETHISlycos.it> ha
scritto:



Newsgroup: it.comp.lang.c++
Titolo: Per Windouz cambia qualcosa se i dati su seriale....

Ho un circuito esterno al PC che manda 24 bytes ogni 1 ms su una  
VirtualCom a 460800 bps;
detto così non sembra un gran che..
 
Io devo rappresentare graficamente questi dati con 12 oscillogrammi ,ci  
riesco ma sembra che la fluidità dipenda molto da quanto il SO è impegnato  
con altre applicazioni.
Lo faccio andando a leggere nel buffer seriale(o che appare tale,in quanto  
fisicamente è un USB)ogni 20 ms ,quando Windouz intercetta l'evento  
ON_TIMER che faccio appunto scattare ogni 20 ms...
In quel caso mi vado a prendere i 24 x 20 bytes,e sembra che il buffer mi  
conceda l'elasticità necessaria per prendermi tutto in una volta,visto che  
Windouz ogni 1 ms non ce la fa
 
In generale  ,
a questo buffer e a Windouz  importa qualcosa se io mando pochi bytes  
frequentemente(24B ogni ms) o più bytes meno frequentemente(480 bytes ogni  
20)?
E come faccio a sapere quanto è grande e quanto è pieno questo buffer?
Grazie
 
---
Questa email è stata esaminata alla ricerca di virus da AVG.
http://www.avg.com
 
 

 E come faccio a sapere quanto è grande e quanto è pieno questo buffer?
 
Mi pare ci sia un esempio nel SDK di Windows.
 
-- 
I'm not anti-social;
I'm just not user friendly


molte molte grazie

Newsgroup: it.comp.lang.c++
Titolo: Inizializzare array di oggetti

Tentando di compilare il seguente codice:
template <typename T> class matrix
{
private:
 class row
 {
 public:
  T *data;
  row(int n) {data = new T[n];};
  ...
 } *rdata;
 int rows, cols;
public:
 matrix(int r, int c) { rows = r; cols = c; rdata = new row[r](c); };
 ...
il compilatore scrive (in riferimento all'ultima riga di codice che ho 
riportato):
    'Target of operator new()' : array initialization needs curly braces
e
    'new' : 'matrix<T>::row' no default constructor to initialize arrays of 
objects.
L'autore del programma ha utilizzato il codice per calcolare i parametri 
pubblicati nel paragrafo "Some Results" di questo link:
http://www.rskey.org/lanczos.htm
per cui il codice dovrebbe funzionare.
Io non sono molto pratico di C++, qualcuno pu� dirmi, per favore, come 
risolvere il problema?
Grazie
Cristiano 

  rdata = new row[r](c);
Mi pare che questa istruzione non sia ammessa, e quindi non so con quale 
compilatore sia stata compilata.
Comunque puoi risolvere con le due seguenti modifiche.
La prima puo' essere togliere la seguente istruzione
row(int n) {data = new T[n];};
oppure, se ti serve, lasciala ma aggiungi nella stessa classe la 
seguente istruzione:
   row() { }
La seconda modifica consiste nel sostituire la seguente istruzione:
   rdata = new row[r](c);
con le seguenti:
   rdata = new row[r];
   for (int i=0; i < r; ++i) rdata[i].data = new T[c];
-- 
Carlo Milanesi
http://digilander.libero.it/carlmila

 Comunque puoi risolvere con le due seguenti modifiche.
Ok, vengono compilate. Grazie.
Adesso, per�, compare l'errore:
    'type cast' : cannot convert from 'mpdouble' to 'double'
nell'include standard 'complex', alla riga che comincia con 'double':
static bool __CLRCALL_OR_CDECL _Isnan(_Ty _Left)
{ // test for NaN
double _Tmp = (double)_Left;
return (::_Dtest(&_Tmp) == _NANCODE);
}
Mah! Mi sa che per ogni errore corretto, ne salta fuori uno pi� strano.
Tu, per curiosit�, hai provato a compilare il codice del link?
Grazie
Cristiano

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

mi sapreste dire come leggere i tasti operazionali( +, - , *, / )???
dovrei sviluppare una calcolatrice,e dovrebbe fare le operazioni anke
premendo da tastiera..
GRAZIE!!!!
K

 writes:

Ma non si skrive "kalkolatrice"?  Boh.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it
The instructions said to use Windows 98 or better - so I installed FreeBSD.
Newsgroup: it.comp.lang.c++
Titolo: Inizializzazione oggetto.

.. ho un piccolo problema ..
#include <iostream>
class Scarpa
{ private:
        int a;
  public:
        Scarpa(int val)
        { a=val;
        };
};
class Negozio
{ private:
         Scarpa adidas(12);
  public:
};
void main()
{}
Vorrei poter inizializzare l'istanza adidas a 12! Come faccio?
Nb: Non posso ricorrere al costruttore senza argomenti della classe Scarpa
in quanto non č disponibile!
       la relazione tra Negozio e Scarpa č di tipo has-a .. mamma mia ... č
piů di un anno che non smanetto con il c++ e giuro che si fa sentire!


cosě:
class Negozio{
private:
          Scarpa adidas;
public:
           Negozio():adidas(12){}
};

Newsgroup: it.comp.lang.c++
Titolo: Antidebugging & AntiMonitors for C++

Hi,
If some C++ developers want to help us to test our final release of ADP II
Protection for Visual Basic.
Now you can protect your application against debugger or tracer thank to ADP
II Protection. ADPII.DLL contains anti-debugging & anti-monitoring routines
which provide a good way to prevent *lame* people  from spying on your code
operation.
More info : 
http://www.ionworx.com/ADPII.html
Download : 
http://www.ionworx.com/trial/ADPII_DLL.zip
Thank in advance ...


Can we protect us against your spam?
Maurus

Hi,
You may not be aware that you posted your message on the italian C++
newsgroup (the "it" in the group's name stands for "Italy").
You may have better luck with one of the following:
comp.lang.c++
comp.lang.c++.moderated
Best regards,
Nicola Musatti

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

Hi All,
The february issue of the Programmer's Design Journal is out
ANSI C++ and C++ Builder
Regards
Rodolfo
SraeGate Publuishing
http://members.dodo.net.au/~rodolfofrino/_LatestIssue.html

Rodolfo,
first of all this is the *italian* C++ newsgroup, so please post in
italian; second, it is against the netiquette to advertise commercial
products in newsgroup that do not explicitly allow for advertisements.
Please do not post this kind of message in the future.
Thank you,
Nicola Musatti

Ciao Nicola e ragazzi:
Sorry but I don't speak Italian (only a few words). I speak Español and
English.
Next time I'll try in Italñol :-)
Grazie
Rodolfo
"Nicola Musatti" <Nicola....@ObjectWay.it> wrote in message
news:a327cf48.03020...@posting.google.com...

Newsgroup: it.comp.lang.c++
Titolo: iostream.h

So che č una cosa piuttosto elementare ma sto' uscendo pazzo  :eek:   .
Mi sono avvicinato da poco al c++ fino ad ora ho programmato in perl,
python, java, jython, html, e via dicendo, quindi scusate se vi
sembrerą un isulto questa domanda  :p . Ho visual studio 2005 e visual
c++ ora la domanda č:DOVE TROVO IOSTREAM.H? :confused:   Grazie in
anticipo ;)
-- 
Vergil666
------------------------------------------------------------------------
Visualizza questa discussione: 
http://www.freenfo.net/usenet/thread683757.html
Profilo di Vergil666: 
http://www.freenfo.net/usenet/member.php?userid=488

 c++ ora la domanda č:DOVE TROVO IOSTREAM.H? :confused:   Grazie in
Prima di tutto leggi questo:
 
http://www.parashift.com/c++-faq-lite/coding-standards.html#faq-27.4
Max

 
La risposta e': non usare <iostream.h> ma <iostream> (se vuoi sapere il 
perche' cerca con google, se ne e' parlato gia' su questo ng). Comunque 
credo che nella directory in cui e' installato VC++ ci sia una 
sottodirectory chiamata include o headers.

 anticipo ;)
E' stato abolito!
In effetti e' obsoleto dal 1998, quando e' stato pubblicato lo standard.
E' stato sostituito da "iostream", senza il ".h" finale.
Per minimizzare le modifiche, prova a creare nella directory "include" 
un file chiamato "iostream.h", che contiene solo le seguenti due righe:
#include <iostream>
using namespace std;
Purtroppo il nome del file non è l'unica modifica, ma te ne accorgerai 
compilando il codice.
-- 
     Carlo Milanesi
 
http://digilander.libero.it/carlmila
Newsgroup: it.comp.lang.c++
Titolo: Strani caratteri in video nell' EXE

Salve a tutti.
Possiedo dev c++ 4.01 e spesso mi capita,una volta compilato un programma,
di leggere nell'eseguibile caratteri molto diversi da quelli inseriti da me
nel file sorgente:
ad esempio, al posto delle vocali accentate trovo simboli strani...
Il mio prof mi ha consigliato di modificare Autoexec perchè non combaciano
i caratteri del codice esteso Ascii con quelli utilizzati dalla mia
macchina.
Potreste darmi una mano?
Grazie a tutto il ng
--
Rock'n'roller
 "We're in tour in March...this year....no, next year....no,this year...
 ...nooo,March's gone...so,next year!"
 (Liam Gallagher)

 ad esempio, al posto delle vocali accentate trovo simboli strani...
[CUT]
premessa: sei OT (e ovviamente lo sono pure io che ti rispondo).
E' un problema noto, purtroppo il  set di caratteri ascii di windows
è diverso  da quello DOS, ad  esempio al carattere ascii  numero 170
(ho sparato un numero a caso) sono associati due diversi simboli. Ad
esempio se  compili un  programma che  esegue un  cout di  "à" sullo
schermo e lo esegui  poi in una console non vedrai  "à", ma un altro
carattere. Se però reindirizzi l'output su  di un file e lo apri con
notepad tornerai a vedere "à".
Purtroppo non so  darti una soluzione, perché è da  due anni che non
mi capita  più questo  problema (perché  ho cambiato  piattaforma di
lavoro), cmq  puoi sbattertene alla grande...  oppure potresti usare
un bell'editor sotto DOS, compilare sotto DOS ed eseguire sotto DOS.
byeZ!
p.s. cmq  almeno i  caratteri "normali"  come le  grafe e  le quadre
     hanno sempre  la stessa trascodifica  nel mondo M$,  ad esempio
     su  OS/390  dell'IBM il  tutto  è  talmente incasinato  che  il
     compilatore accetta  come alias ??(  al posto di  una parentesi
     quadra  aperta, )??  al  posto  di una  quadra  chiusa e  altre
     amenità simili per le grafe! :(  Non ti dico che incubo leggere
     un programma con tutte quelle porcate :( :(
-- 
Vanni Brutto
| email 
za...@nofesso.libero.it
      |
| irc nick VanniB   |   ICQ 18526701 |
--- rimuovi nofesso per rispondere ---
---PC powered by Linux kernel 2.4.14vb
Gesu':   "y=ax2+bx+c".  I   discepoli:
"Uffa, un'altra parabola!". 

> ad esempio, al posto delle vocali accentate trovo simboli strani...
avvio>programmi>accessori>mappa-caratteri il font mi sembra teminal
ı (e puoi vedere quello che ti spunta) 
ciao
Newsgroup: it.comp.lang.c++
Titolo: Bug?

Salve a tutti.
Scrivendo la seguente linea ci codice in Visual C++ 6 ho notato un
comportamento strano:
TClass1 <TClass2<T>> obj;
                                ^^^
Le due parentesi angolari evidenziati vengono letti dal compilatore come un
operatore '>>'. In effetti, correggendo con uno spazio, il codice viene
compilato senza errori. E' un comportamento normale oppure è un bug?
Ciao,
Cecco


E' normale.
Ciao,
Nicola

 wrote in message
news:oklS7.5142$o9.2...@news1.tin.it...

E' normale, perche' il token, quando viene 
letto dall'analizzatore sintattico del compilatore,
e' letto come la sequenza di caratteri piu' lunga
valida.
-- 
Posted from  [80.105.34.80] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 valida.
... e scambiato per l'operatore >>
Ciao
Gaetano.
-- 
Posted from 
nts-03.mm.eutelsat.org
 [194.214.173.15] 


Newsgroup: it.comp.lang.c++
Titolo: membri statici in una classe template?

Ho creato una classe template, e ora vorrei rendere una variabile statica, 
però non ci riesco:
template <class DATA>
calss Node
{
....
....
static int (*f)(DATA)(DATA);
};
Però non alloco la memoria, cosa che devo fare all'esterno, ma come?
Io ho provato con:
Node<DATA>::int (*f)(DATA)(DATA);
ma il compilatore mi dice che DATA è al di fuori dello scope.
Come posso fare?
Grazie in anticipo

 Node<DATA>::int (*f)(DATA)(DATA);
 template< class DATA > 
  int (* Node<Data>::f )(DATA,DATA) = 0;
MM

Max M wrote:

Si ho sbagliato a riportare il codice.Grazie ancora
Newsgroup: it.comp.lang.c++
Titolo: Dubbio su compilazione/linking

Ho un dubbio sul processo di compilazione/link...
Se io includo un header standard, ad esempio "stdio.h"
ed uso la printf, il codice della printf (dalla libreria standard)
viene inserito nel mio eseguibile finale oppure rimane
nella libreria esterna (che deve quindi essere presente in esecuzione) ?
Se non sbaglio, dovrebbe essere vera la prima...
Se io invece includo un header STL, ad esempio <string>
ed uso la std::string, che cosa succede ?
Anche questa viene inclusa nel mio eseguibile ?
Oppure devo portarmi dietro la libreria ?
Per analogia direi la prima, ma so che in Win32
esiste una DLL che contiene i runtime C++...
In sintesi, qualcuno mi potrebbe spiegare come stanno
le cose ? E soprattutto.... il comportamento e' standard
del C++ oppure dipende dal compilatore e ambiente ?
Ossia non e' che in Win32 ho la DLL mentre in Linux no ?
--
Ciao!

> Se io includo un header standard, ad esempio "stdio.h"
caso mai <stdio.h>
Dipende. Puoi linkare alla libreria dimanica o statica. Nel primo caso avrai
bisogno di libc.so nel secondo
il codice della fun viene incluso nel tuo eseguibile. Guarda la man page del
tuo compilatore, ci deve
essere un flag che permette di scegliere un' opzione sull'altra.
(-dynamic -static o simile).
Per vedere che librerie richiede il tuo exe usa ldd o simile comando.
bye


 caso mai <stdio.h>
caso mai <cstdio>
e caso mai impara anche a quotare.
Tommy


sicuramente la tua reply lascera' il segno sul NG
grazie dei consigli di eticchetta

 (-dynamic -static o simile).
man msvc++
non funziona....   :-)
scherzi a parte.... vale solo per linux o anche per gli altri compilatori in
ambiente Win ?
Ma non esiste uno standard di comportamento dei compilatori per questo ?
--
Ciao!

 Ma non esiste uno standard di comportamento dei compilatori per questo ?
Non che io sappia ...
Newsgroup: it.comp.lang.c++
Titolo: builder 4.0

Qualcuno sa dove (in quale rivista) posso trovare attualmente il Borland C++
Builder 4.0 ?


forse e un po presto per trovarlo su riviste., magari free....
-----------------------------------------
La vita e' l'opera di un regista mediocre
e di un cattivo sceneggiatore

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

Come faccio a fare la divisione tra due numeri float ? C'è qualche funzione
nelle librerie?
-- 
Posted from 
ppp-156-4.25-151.libero.it
 [151.25.4.156] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 nelle librerie?
la cosa piu' semplice e':
float a = 4.0f;
float b = 2.0f;
float c = a / b;
O c'e' qualche particolare che mi sfugge?
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: Non trovo inportb in C++ Builder!!

Ciao a tutti nel file dos.h del borland non ho inportb  e outportb!!!
QUlacuni mi potrebbe mandare un .h con le 2 funzioni?
Grazie mille
 ciao!!!

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

 Grazie mille
Penso che in win non puoi leggere o scrivere in una posta hardware.
E poi anche se tu avessi il file .h senza la libreria un prototipo di una
funzione non serve
a niente
ciao
Newsgroup: it.comp.lang.c++
Titolo: operatore ! e classi

ciao a tutti,
ho questa classe:
class Coda{
private:
  Pr testa;
  Pr coda;
public:
Coda();   // costruttore
~Coda(); // distruttore
bool empty() const; // predicato coda vuota
bool full() const;   // predicato coda piena (sempre falso per
implementazione dinamica)
void push(const E el); // inserimento in coda
void pop(E& e);  // prelievo dalla testa
void top(E& e) const;  // ispezione senza rimozione dalla testa
};
all'interno del main devo verificare sei il valore ritornato da empty č
vero. Il metodo Empty č il seguente:
bool Coda::empty() const { return (testa==0); }
ho provato a fare nel main:

scusate ho mancato un pezzo del messaggio prima:


};



void eliminazione(Coda& c){
  E e;
  if(!c.empty){
    cout<<"2)Eliminazione di un elemento"<<endl;
    cout<<"Elemento:";
    c.pop(e);
    cout<<"Elemento Eliminato";
  }
  else cout<<"Coda vuota! Operazione impossibile";
}
ma dice " invalid operands `{unknown type}' and `bool' to binary `operator
!',
per le funzioni facevo cosě...per le classi qual č la sintassi corretta???
ciao!

 !',
Ti suggerirei di implementare operator bool():
bool Coda::operator bool() const
{return (testa!=0);}
Saluti
-- 
Per l'e-mail rimuovere la frase in maiuscolo e gli underscore.

 {return (testa!=0);}
purtroppo devo rispettare la traccia dell'esercizio...:-(( altre idee?
ciao

     cout<<"Elemento:";
(!c.empty) è errato!!!!! devi scrivere (!c.empty())
Luigi

 Luigi
Thank you!!! ;-))
ciao!

   if(!c.empty){
Prova con
     if(!c.empty()) {
vedrai che e' questo, almeno che non sia un errore di battitura....
byez
Newsgroup: it.comp.lang.c++
Titolo: Problema con VC++

Causa limitazioni del compilatore utilizzato in origine,
sto cercando di portare una applicazione su VC++.
Premesso che almeno il file in questione dovrebbe
essere ANSI C... non capisco perche` VC++ non accetti
struct moduleItem
  {
   char *name;
   int moduleIndex;
   void *(*allocateFunction)(void);
   void  (*freeFunction)(void *);
   void *(*bloadModuleReference)(int);
   void  (*constructsToCModuleReference)(FILE *,int,int,int);  // <-----
   void *(*findFunction)(char *);
   struct moduleItem *next;
  };
dicendomi
d:\vcprojects\icaro\moduldef.h(134) : error C2629: unexpected 'void ('
alla riga indicata sopra...
E` per caso un bug di VC++6.0?
Ho poi notato anche che si lamenta di cose tipo
for(T1 i =....) <statement>;
for(T2 i =....) <statement>;
lamentandosi di una errata ridefinizione di i...
Sono io che mi sono perso qualcosa o VC++ 6.0 ha
una madonnale devianza dallo standard?
Grazie,
Paolo
--------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
--------------------------------------------------

 una madonnale devianza dallo standard?
La seconda che hai detto, con buona pace di chi ritiene VC++ un
compilatore "ragionevolmente" conforme...
Ciao,
Nicola

 una madonnale devianza dallo standard?
Temo proprio di si.
EMG

 for(T2 i =....) <statement>;
Sě, l'ho notato anch'io :(( Peccato, perchč la sintassi dello standard
sarebbe molto piů elegante. Ammetto perň che non ho aggiornato il
compilatore con nessun Service Pack, e non escluderei che abbiano risolto il
problema. Ciao.

compilatore "ragionevolmente" conforme...
Ah ecco... mi pareva di essere io di parte...
Certo pero` che supportare certe finezze e perdersi in cose
cosi` macroscopiche... peccato... speriamo che nella prossima
versione MS si concentri piu` sullo standard e meno sulle
varie feature che per quanto utili e comode sono secondarie
(IMO).
Ciao e grazie,
Paolo
P.s.
  Di VC odio il suo voler formattare il codice come piace a lui!


 (IMO).
Temo che sia un problema di compatibilita' con codice esistente (anche
MFC?), per cui mi sa che dovrai aspettare...
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: Oggetti e shared memory

Ciao a tutti.
Volevo sapere quali possono essere i metodi per instanziare un oggetto in
una shared memory invocandone il costruttore (cosa che non avviene con un
normale casting).
Grazie a tutti.
Andrea

 normale casting).
#include <new>
    ...
    new(puntatoreallamemoriastrana) ClasseDaUsare(parametri,del,ctor);
Il "placement new" serve apposta a strani scopi del genere.  ATTENZIONE
se l'oggetto ha qualsivoglia tipo di polimorfismo, puntatori, reference,
ecc ecc, naturalmente, poiche` due processi che condividono quella zona
di memoria probabilmente non interpreteranno correttamente i puntatori
impliciti o espliciti che essa puo` contenere; in pratica, la shared
memory va usata piu` che altro con oggetti POD ("Plain Old Data").
Alex
Newsgroup: it.comp.lang.c++
Titolo: porta parallela

Ciao a tutti,
mi chiedevo se è molto difficile controllare la porta parallela sotto
win2k-xp... (so che estistono dei driver che permettono di controllarla come
nei vecchi Win9x). Mi spiego meglio dovrei portare a livello logico 1 i vari
pin di output della porta (2-3-4-5-6-7-8-9) per tipo 1 secondo o anche meno,
e poi tornare a livello logico 0.
E' molto difficile realizzare una cosa del genere??
Se qualcuno ha voglia di suggerirmi qualche riga di codice, ne sarei ben
grato :P



 win2k-xp... 
Io non lo so, pero' so che non c'entra con il C++ standard. Chiedi su 
it.comp.programmare.win32 :)
-- 
/**
  * Mattia Belletti - Undergraduate student @ 
cs.unibo.it
  * ICQ: 33292311   - email: 
mbel...@cs.unibo.it
  * IRC: BluShine   - site(s): 
http://cs.unibo.it/~mbellett
  * Linux registered user 299762 @ Linux registered machine 213003
  */

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: [OT] Un ultimo saluto

Scusate l'OT, ma era doveroso per uno come me che č cresciuto con Vasco
e i suoi ragazzi, dare l'ultimo addio a Massimino Riva. Se n'č andato da
solo in silenzio davanti alla sua ultima maledetta e fatale dose. La sua
condotta di vita č stata quanto meno discutibile, ma allo stesso tempo
ci ha regalato parecchie emozioni; per questo mi sento di doverlo
omaggiare di questo ultimo saluto.
Ciao Massimo, non ti dimenticheremo.
Grazie a tutti voi e scusate ancora.
Andrea


ICQ #34602650
Newsgroup: it.comp.lang.c++
Titolo: Perche ? : tra int e una classe con opeatore float risolve come int ?

Dal titolo non si capisce bene la domanda
ma guardate il codice...
 
<code>
#include <iostream>
#include <typeinfo>
using namespace std;
 
int main()
{
    class fff
    {
        float val;
    public:
        explicit fff(float f) : val(f) {}
        operator float() const { return val; }
        float getfloat() const { return val; }
    } f(42.42f);
 
    auto foo1 = true ? 1 : f;
    auto foo2 = true ? 1 : f.getfloat();
    auto foo3 = true ? 1.1 : f;
    auto foo4 = true ? 1.1 : f.getfloat();
 
    cout << typeid(foo1).name(); // foo1 = int ???
    cout << typeid(foo2).name(); // foo2 = float  ok
    cout << typeid(foo3).name(); // foo3 = double ok
    cout << typeid(foo4).name(); // foo4 = double ok
 
    float uffa = false ? 1 : f;
    cout << uffa;
    return 0;
}
</code>
 
torna: ifdd42
mentre mi aspettavo ffdd42.42
o al limite un errore, tipo gruarda sono di tipo diverso, deciditi !!!


In un ternary operator secondo e terzo operando devono avere lo stesso tipo.
Le regole che il compilatore segue per scegliere quale si converte in cosa
sono un po' convolute, e sinceramente quando entrambi sono rvalues e possono
essere convertiti nel tipo dell'altro non ricordo quale regola si applica, hai
preso proprio il caso peggiore :)
Comunque direi che questo codice è quantomeno ambiguo... chi scrive così?
 
Ciao!


le regole sono descritte qui:
http://en.cppreference.com/w/cpp/language/operator_other#Conditional_operator
 
Personalmente, non le trovo completamente comprensibili...
 
Per esperienza, ho imparato che di solito non è una buona idea inserire 
un operatore di conversione nella classe, altrimenti è facile 
comportamenti inaspettati come quello che hai visto.
 
Dal C++11 puoi comunque dichiarare explicit l'operatore, così da 
limitare le conversioni automatiche: vedi 
http://en.cppreference.com/w/cpp/language/explicit
 
 


Intanto grazie per le risposte.
Purtoppo a questi punti si arriva non scrivendo codice da zero
ma eriditando codice del 1994.
 
Un operatore float per non riscrivere tante righe (tante tante tante)
 
cmq ho provato expicit e risolve il problema (PS sembra fatto apposta ;-))
generando un errore facile da risolvere


forse perche' sizeof(int)==sizeof(float) e tra int e float ? sceglie
int...
cmq non mi sembra sicuro avere nell'operatore a?b:c  b e c di due tipi
diversi...
 

 diversi...
 
è sicuro, tanto quanto lo è l'uguale. E' solo brutto da leggere.
 
Ciao!

Ciao!
 


dubito che codice simile sia stato scritto nel 94,auto a quell' epoca 
veniva usato per le variabili automatiche (nello stack)
Comunque il problema e' questo:
 
float  f=false ? 1 : 42.42f
 
 
e ritorna in f 42 invece di 42.42
 
Confermi ?
Newsgroup: it.comp.lang.c++
Titolo: epoch

ciao a tutti,
ho un programma che chiede l'ora da inserire, vorrei che invece di chiederla
all'utente, prendesse direttamente la data del sistema!
...come devo fare? ...sbaglio o esiste un algoritmo chiamato epoch?
...mi date codice e nomi dei .h da inserire? please!
...vi spiego: credo che mi serva l'epoch perchč poi io devo prendere tutte
le date che in automatico sono state inserite nelle varie schede e
visualizzare solo le schede con data compresa tra quelle che mi richiede
l'utente!
Grazie
Francesco

 all'utente, prendesse direttamente la data del sistema!
Usa 'time' e le altre funzioni definite in <time.h>.  Sotto Unix, "man
2 time".
-- 
Maurizio Loreti  - Linux Is Not UniX -  
http://www.pd.infn.it/~loreti/mlo.html
Univ. of Padova, Dept. of Physics - Padova, Italy            
lor...@pd.infn.it

Franz... smettila! :)
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.lang.c++
Titolo: processi figli

é Possibile in C++ creare un processo figlio ??

é Possibile in C++ creare un processo figlio ??
Ciao qui sei OT, il C++ non č in grado di gestire i processi senza far
uso di librerie strettamente legate alla piattaforma che usi. Devi
quindi rivolgerti al ng per quella piattaforma, che per te penso sia
it.comp.programmare.win32 visto che immagino usi Windows.
-- 
Marco Barisione (ICQ 84277092)

é Possibile in C++ creare un processo figlio ??
La creazione di processi figli e' dipendente dal particolare
sistema operativo che stai adoperando.  Sotto Windows9x non
credo vi sia la relazione padre-figlio tra i processi,
mentre credo che ci sia sotto Windows NT/2000.  Sotto questi
sistemi operativi, per la creazione di un processo si usa
una delle API ShellExecute, ShellExecuteEx, CreateProcess.
Per gli UNIX-like (vedi Linux) devi sfruttare lo standard
POSIX (che ti offre spawn*(), fork(), vfork(), exec*()).
In ogni caso, la creazione di processi figli e le modalita'
con cui farlo non sono argomenti trattabili in questo
gruppo.  Se il sistema operativo su cui vuoi fare questa
operazione e' Windows, rivolgiti a
it.comp.programmare.win32.  Nel caso fosse Linux, rivolgiti
a it.comp.os.linux.development.
In questo gruppo si parla solo e soltanto di C++ e di
aspetti correlati allo standard del linguaggio, che proprio
perche' standard, non riguarda alcun tema legato
strettamente all piattaforma di sviluppo.
Nei gruppi che ti ho citato potrai trovare gente piu'
competente in materia ;)
-- 
Andrea Laforgia (
walkie...@libero.it
)
"Usenet is a strange place" [Dennis Ritchie]

Newsgroup: it.comp.lang.c++
Titolo: Controllo linea,esiste?

Ciao a tutti,
avrei bisogno di alcune informazioni per quanto riguarda un controllo che
vorrei...provare a fare (???).
Avrei bisogno di qualcosa tipo il controllo linea che si può vedere in VB ma
che gestisca l' evento click o mousemove.
Ho letto che in Visual c++ c'e la possibilità di creare questo tipo di
controlli. la documentazione in linea a dir il vero non è che mi abbia
permesso di capirci molto.
Che ci sia qualche esempietto in giro?.
La caratteristica di questo controllo è che mi pare sia senza finestra e
viene costruito direttamnete sul contenitore.
C'è qualcuno che può aiutarmi in merito?
grazie 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 Dos/Win 3.x: it.comp.os.dos
Per Linux:      it.comp.os.linux.development
Per C++Builder: i gruppi borland.public.cppbuilder.*, disponibili sul
                server 
forums.borland.com
 (in inglese)
Grazie,
Nicola Musatti

grazie per la delucidazione,
farò come mi hai detto
a risentirci
        Paolo
Newsgroup: it.comp.lang.c++
Titolo: auto_ptr

chi mi spiega cos'e'?
grazie e scusatemi della pigrizia.
--
Tiberio Grasso

 grazie e scusatemi della pigrizia.
std::auto_ptr<T> e` un template (che ottieni con #include <memory>)
che agisce sostanzialmente come un T* (puntatore-a-T) ma distrugge
automaticamente (con delete) il T che possiede (e tiene attraverso
un puntatore) quando esso stesso viene distrutto.
Comodo per non scordarsi i delete quando servono.  Molte classi
che avrebbero bisogno di un distruttore solo per fare i delete
di cose che tengono per puntatore si risparmiano totalmente il
distruttore tenendole invece per auto_ptr, ad esempio.
ATTENZIONE: se si assegna un auto_ptr ad un altro, il primo
"perde la proprieta`" del suo oggetto, che passa al secondo
(idem per il copy ctor).
NON si puo` usare auto_ptr su di un ARRAY (allocato con new[])
ma solo su di un SINGOLO oggetto (allocato con new); al posto
degli array-di-T va usato invece std::vector<T>.
std::auto_ptr "non e` canonico" (non ha "normali" costruttori,
distruttori e assegnamenti) per cui NON va usato come parametro
dei vari contenitori standard C++ (NO vector< auto_ptr<T> >!!!).
Il ctor di auto_ptr<T> a partire da T* e` dichiarato explicit,
quindi "auto_ptr<T> p=new T" *NON* funziona, va usato invece
"auto_ptr<T> p = auto_ptr<T>(new T)".
auto_ptr va benissimo anche per parametri formali (se devono
ricevere la "ownership" di un oggetto per puntatore) e anche
piu` spesso per parametri di ritorno di funzioni (se devono
trasferire la "ownership" di un oggetto idem idem).
L'uso polimorfico richiede che T abbia un distruttore virtuale,
come teste` ricordato su di un altro thread.
Senza dubbio ci sono altri dettagli importanti ma questi
sono quelli che mi vengono in mente cosi` sui due piedi...
Alex
Newsgroup: it.comp.lang.c++
Titolo: Windows, Hook gklobale, keyboard e remapping

Salve NG,
Usando le sorgenti di un post di Alex Martelli trovato negli archivi, adesso
ho una windows console application che rimane in "ascolto" di tutti i tasti
premuti dall'utente a livello "globale".
Cio' che io cerco di ottenere, pero', e' un programma che faccia una sorta
di remapping della tastiera, ovvero che "scambi" due tasti (se premo 'a'
devo far "credere" a windows - all'applicazione corrente - che in realta' ho
premuto 'b'.. bello sarebbe se ad un tasto potessi assegnare una sequenza di
tasti, ma preferisco fare un passo alla volta).
Purtroppo non ho molto idea di dove sbattere il capo perche' l'ultima volta
che ho fatto una cosa del genere, si trattava del keybuffer del DOS :)
Si accettano suggerimenti, stralci di codice, link, url, o quant'altro possa
essere utile.
Grazie a tutti.
P.S.
Se puo' esser utile, uso Visual C++ 7 (senza le Common Library di .NET).
--------------------------------
Inviato via 
http://usenet.libero.it

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

uso da poco Borland c++, quando creo un progetto, e provo a compilarlo, non
lo fa
e mi dice  "unable to open file c:\.......\etc.etc.r$p"
cosa posso fare?????????????????????

Reinstallalo!
Sicuramente ti manca qualche file di libreria ho e´ stato installato male.

Newsgroup: it.comp.lang.c++
Titolo: immagini jpeg





Come faccio se voglio visualizzare sullo schermo 
immagini jpeg in un programma c++???


 


Grazie


Ciao







io devo fare la stessa cosa? Hai già trovato una 
soluzione?

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

Salve,
potreste indicarmi siti da cui scaricare sorgenti?
Ho sempre usato C e vorrei imparare Visual C++
Oltre a sbattere la testa sui sorgenti, ci sono buoni manuali in formato
elettronico?
Grazie,
Andrea
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Andrea
Penso che se sei digiuno di c++ guardare dei sorgenti
in Visual c++ non e' il modo giusto per imparare, a meno
che tu non sia un genio.
Gia' non e' proprio banalissimo passare dal C al C++ per
quel che rigurarda l'impostazione ad oggetti, e limitandosi
alle cose standard del linguaggio, e poi
il Visual introduce anche tutti i casini generici di Windows e suoi
in particolare.
Penso che se vuoi usare il Visual non puoi prescindere
da un manuale cartaceo sul visual.
Gia' il Borland C++ Builder e' piu' facile ed intuitivo
(almeno sono riuscito a generare alcuni programmi
funzionanti semplicemente guardando gli esempi acclusi,
cosa che non mi era riuscita col Visual).
Probabilmente e' meno "professional" del Visual, ma dipende
anche uno cosa vuole fare...
Per quel che riguarda materiale on-line sul c++ penso
che ne trovi tanto (magari in inglese) basta che guardi un po' di
messaggi vecchi su questo gruppo e qualcuno avra' certo fatto la stessa 
domanda.
ciao,
g.