mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c++
Titolo: Mi scuso per il "Site sa izvornim kodom u C/C++ ???"

Mi scuso, ho sbagliato la lingua. Volevo chedere:
Secondo voi, quale e' il sito migliore con i sorgenti in C/C++?
Gaia

 writes:

Secondo me e' 
http://www.sgi.com/tech/stl/download.html
 ; contiene
un paio di esempi di codice scritto non c'e' malaccio.  YMMV.
-- 
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

> un paio di esempi di codice scritto non c'e' malaccio.  YMMV.
Grazie, andro' a vedere.
Non cerco i esemipi. Nella rete ormai ci sono tantissime librerie, anche
progetti interi, utilizzabili,  dopo le eventuali modifice personalizzate. A
me servono molto per accorcare i tempi della programmazione.
Gaia

 ha scritto

allora dai un occhio anche a qui:
http://sourceforge.net/
--
Gerolamo


In questo caso:
http://boost.org/
 - Contiene librerie di altissima qualita'
http://sourceforge.net/
 - Contiene una miriade di progetti Open Source,
di qualita' variabile (ma alcuni sono ottimi)
Ciao,
Nicola
P.S. In che lingua e' il tuo messaggio originale?

> P.S. In che lingua e' il tuo messaggio originale?
Grazie a tutti. Cosi possiamo conoscere una vasta gama dei siti molto utili.
Il mio messaggio originale e' in Croato.
Gaia
Newsgroup: it.comp.lang.c++
Titolo: Friend

Salve,
sul libro di Stroustrup c'e' scritto quanto segue:
"Una funzione friend deve o essere dichiarata esplicitamente in un contesto
di visibilita' che la racchiuda oppure accettare un'argomento del tipo della
sua classe. Se cosi' non e' la funzione friend non puo' essere invocata"
E poi c'e' questo esempio:
// nessuna f() qui
void g();  // friend di X
class X {
 friend void f();   // Inutile (nota mia: Inutile in che senso?)
 friend void g();
 friend void h(const X&); // non puo' essere individuata attraverso i suoi
argomenti
};
void f() {   // Non friend di X
};
Io ho provato il suddetto codice e la f() e' friend altro che!
Inoltre h(const X&) ha come parametro "un'argomento del tipo della sua
classe". Come e' che non puo' essere individuata?
Tralaltro anche h(const X&) e' friend...
Insomma che cosa voleva dire Stroustrup qui?
Per chi ha la 3° edizione del libro in italiano trova tutto al capitolo
11.5.1
Grazie

 Insomma
che cosa voleva dire Stroustrup qui?
O Stroustrup ha cambiato il testo dopo la versione che hai tu o chi ha
tradotto il libro ha fatto un pasticcio.
Ciao,
Nicola

 tradotto il libro ha fatto un pasticcio.
Il mio testo e' del 2000.
Ciao

 Il mio testo e' del 2000.
Dipende pero' da quale ristampa del testo originale e' stata usata come
base per la traduzione.
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Quick sort

ho la necessità di ordinare un array i cui elementi base sono una
particolare struct da me implementata, l'ordinamento deve essere fatto su un
campo int di tale struct.
ho notato che esiste una funzione della libreria chiamata qsort:
void qsort( void *base, size_t num, size_t width, int (__cdecl *compare));
in questa *base indica il primo elemento dell'array, num il numero di
elementi da ordinare (per me tutto l'array), width la grandezza in byte di
un elemento deell'array (ho usato una sizeof), l'ultimo parametro è un
puntatore ad una funzione di comparazione:
compare( (void *) elem1, (void *) elem2 );
questa funzione ritorna un valore negativo se elem1<elem2, positivo se il
contrario, zero se sono uguali.
Il mio problema è che quando tento di confrontare elem1.miocampo e
elem2.miocampo mi arrivano una marea di errori che dicono che a sinistra di
.miocampo ci deve essere una class/struct/union. Ho provato a dichiarare
elem1 e elem2 come miastruct*, ma mi dice che non può convertire il
prototipo che ho dichiarato con quello di default (quello che ho scritto
prima).
C'è un modo per fare quello che vorrei fare?
Ciao e grazie per le eventuali risposte
--
Roberto
FV
----------
rob...@messora.com
ICQ# 37732681
----------
Membro di SFI Italy
Simulazioni PBEM di Star Trek
 
http://gioco.net/startrek
(Crusader, Highlander, Unicorn)
----------
Resistance is futile

Ho già risolto per i fatti miei smanettando un po', ho overloadato
l'operatore - che utilizzo nella funzione compare.


 C'è un modo per fare quello che vorrei fare?
Ma certo che sì, dichiara così la tua funzione:
int compare(void *a, void *b)
{
    miastruct *p1,*p2;
    p1 = (miastruct *) a;
    p2 = (miastruct *) b;
    if(p1->campo == p2->campo)
        return(0);
    else
        return(p1->campo > p2 ->campo ? 1 : -1);
}
Il trucco è convertire i puntatori dentro la funzione... i parametri formali
devono essere sempre puntatori a void.
Massimo

 C'è un modo per fare quello che vorrei fare?
Si. Eccoti un esempio (tratto da un mio programma):
int comparaAtt( const void *elem1, const void *elem2 )
{
    const struct Attend *sp1 = elem1;
    const struct Attend *sp2 = elem2;
    double att1 = sp1 -> att;
    double att2 = sp2 -> att;
    if ( att1 > att2 ) return -1;
    if ( att1 == att2 ) return 0;
    if ( att1 < att2 ) return 1;
    return 0;
}
EMG
Newsgroup: it.comp.lang.c++
Titolo: Che operatore è   *&

vorrei sapere che tipo di operatore è   *&    considerando il seguente
codice
void inserire(riga *&, unsigned short);    // Prototipo
struct Riga {
            char * riga;
            Riga * next; };
inserire(testo, linea)         // funzione chiamante
void inserire(riga *& testo, unsigned short nlinea)    //funzione chiamata
Ho provato a fare delle ricerche cercando *&, ma non ho avuto nessun esito,
e neppure in  MSDN non ho travato nulla.
Grazie

 void inserire(riga *&, unsigned short);    // Prototipo
Il primo argomento è un reference a un puntatore a 'riga'. Se sposti
l'asterisco un po' a sinistra ti sarà tutto immediatamente chiaro. :)
Max

 wrote:

riga *testo  // puntatore a riga.
riga &testo  // reference a riga.
riga *&testo  // reference a puntatore a riga.
riga **testo  // puntatore a puntatore a riga.
riga **&testo  // reference a puntatore a puntatore a riga.
ad infinitum .....
-- 
Horst
Newsgroup: it.comp.lang.c++
Titolo: AIUTO convertire le seguenti funzioni...

Chi saprebbe convertire le seguenti funzioni nel formato
per Delphi 4.0 ???
/* IEEE floating point format to Microsoft Basic floating point format */
int fieee2msbin(float *src, float *dst) {
    union {
 float a;
 u_long b;
    } c;
    u_short man;
    u_short exp;
    c.a = *src;
    if (c.b) {  /* not zero */
 man = c.b &gt;&gt; 16;
 exp = ((man &lt;&lt; 1) &amp; 0xff00) + 0x0200;
 if (exp &amp; 0x8000 != (man &lt;&lt; 1) &amp; 0x8000)
     return 1; /* exponent overflow */
 man = man &amp; 0x7f | (man &gt;&gt; 8) &amp; 0x80; /* move sign */
 man |= exp;
 c.b = c.b &amp; 0xffff | (long)man &lt;&lt; 16;
    }
    *dst = c.a;
    return 0;
}
/* Microsoft Basic floating point format to IEEE floating point format */
int fmsbin2ieee(float *src, float *dst) {
    union {
 float a;
 u_long b;
    } c;
    u_short man;
    u_short exp;
    c.a = *src;
    if (c.b) {  /* not zero */
 man = c.b &gt;&gt; 16;
 exp = (man &amp; 0xff00) - 0x0200;
 if (exp &amp; 0x8000 != man &amp; 0x8000)
     return 1; /* exponent overflow */
 man = man &amp; 0x7f | (man &lt;&lt; 8) &amp; 0x8000; /* move sign */
 man |= exp &gt;&gt; 1;
 c.b = c.b &amp; 0xffff | (long)man &lt;&lt; 16;
    }
    *dst = c.a;
    return 0;
}
Grazie per l'aiuto. Dany

Questo gruppo tratta di C++ e non di Delphi. Alcuni gruppi che ti
possono essere d'aiuto li trovi sul server 
forums.borland.com
 (in
inglese)
Ciao,
Nicola

Newsgroup: it.comp.lang.c++
Titolo: Direct3D...I need help!

Ciao,
ho provato a fare dei lavori con 3D Studio e a convertirli per poterli
usare con le D3D, usando il convertitore contenuto nelle SDK delle
DirectX. Il problema e' che non riesco a lcaricare il file .x generato
dal  convertitore.
Qualcuno sa dirmi perche'? C'e' qualche accorgimento particolare da
seguire nel creare il file con 3D Studio?
Grazie
Thunder Ghost

On Fri, 20 Mar 1998 13:20:05 +0100, 
ghe...@cdcsun.cdc.polimi.it
wrote:

Prova ad usare il parametro -m  per convertire.
Questo parametro trasforma  l'oggetto in un'unica mesh e non in una
gerarchia di frame.
Davide Fiorello
fior...@cs.unibo.it
Newsgroup: it.comp.lang.c++
Titolo: Che linguaggio?

Per fare un SO usereste il C o il C++?
E' un sondaggio per le varie opinioni, ma a mio parere la risposta č C++.
Grazie.

 E' un sondaggio per le varie opinioni, ma a mio parere la risposta è C++.
Fra i due, sicuramente C++: posso fare tutto quello che
potrei fare in C, piu` altre cose che in C non potrei, quindi...
Alex

Un sistema operativo e' un pezzo di software sufficientemente complesso,
da rendere preferibili paradigmi diversi in contesti diversi. Il C te ne
da direttamente uno solo e gli altri te li devi codificare
esplicitamente. Il C++ ti permette di fare tutto cio' che fa il C con la
stessa efficienza piu' molte altre cose.
Guarda caso anche Unix da sempre (anni settanta!!) contiene al suo
interno costrutti sostanzialmente object oriented. Addirittura un
meccanismo basilare come la tabella dei driver di I/O non e' che una
virtual table scritta a mano...
Ti ho risposto?
Ciao,
Nicola Musatti

E' un sondaggio per le varie opinioni, ma a mio parere la risposta è >C++.
L'assembly :-)
--
Firmato:L'Ammiraglio.
Comandante della USS "Defiant" NX74205.
Attualmente in missione al confine cardassiano.

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

Data questa classe:
class Table{
private:
char  *p;
size_t  sz;
};
Che differenza c'è fra questi due costruttori?
1)
Table(size_t s) : sz(s) {
p = new char[sz];
}
2)
Table(size_t s){
p = new char[sz = s];
}
Grazie

gia fatto thanx a tutti lo stesso :)
Newsgroup: it.comp.lang.c++
Titolo: [?] Array dinamici [LUNGHETTO]

Salve a tutti,
sto litigando le prime volte con l'allocazione dinamica della memoria in
c++, ho fatto qualche prova (seguendo gli esempi riportati nel libro
Thinking in C++), ma ho ottenuto risultati secondo me completamente
sballati. Vi riporto qui il mio codice:
int main()
{
  for (int i = 26; i > 0; i --) {
    cout << i << ". "; stringa(i);
  }
  system("PAUSE");
  return 0;
}
void stringa(long len)
{
  char* Temp;
  Temp = new char[len];
  for (int i = 0; i < len; i++)
    Temp[i] = i + 97;
  cout << "stringa " << Temp << endl;
  delete []Temp;
  return;
}
dunque, questo dovrebbe creare sulla console una lista di stringhe (con
l'alfabeto), da 26 caratteri a scalare. questo però praticamente non
avviene... l'uotput che ricevo è invece questo:
26. stringa abcdefghijklmnopqrstuvwxyz
25. stringa abcdefghijklmnopqrstuvwxyz
24. stringa abcdefghijklmnopqrstuvwx???
23. stringa abcdefghijklmnopqrstuvwx???
22. stringa abcdefghijklmnopqrstuvwx???
21. stringa abcdefghijklmnopqrstuvwx???
20. stringa abcdefghijklmnopqrstuvwx???
19. stringa abcdefghijklmnopqrstuvwx???
18. stringa abcdefghijklmnopqrstuvwx???
17. stringa abcdefghijklmnopqrstuvwx???
16. stringa abcdefghijklmnop¶??
15. stringa abcdefghijklmnop¶??
14. stringa abcdefghijklmnop¶??
13. stringa abcdefghijklmnop¶??
12. stringa abcdefghijklmnop¶??
11. stringa abcdefghijklmnop¶??
10. stringa abcdefghijklmnop¶??
9. stringa abcdefghijklmnop¶??
8. stringa abcdefgh?
7. stringa abcdefgh?
6. stringa abcdefgh?
5. stringa abcdefgh?
4. stringa abcdefgh?
3. stringa abc
2. stringa ab
1. stringa a
quindi mi chiedo: sbaglio io qualcosa? è normale che succeda così? ho letto
male il manuale?
qualcuno può aiutarmi?
ciao, assa.

   cout << "stringa " << Temp << endl;
L'overload di operator<< che viene invocato qui si aspetta array di
caratteri terminato da un null ('\0').
Alloca per len + 1 e aggiungi
   Temp[ len ] = '\0';
Max

    Temp[ len ] = '\0';
aaaah, quindi vuoi dire che lo spazio che io ho allocato è giusto, e che
effetivamente ci sono memorizzati i dati giusti, ma che cout scrive tutto
quello che trova (quindi sconfinando oltre il limite del mio array nella
memoria) finchè trova un null, giusto?
ciao, assa.

 ciao, assa.
ed esistono dei modi per visualizzare *solo* il mio array (anche
specificando la lunghezza se necessario), senza essere obbligati ad inserire
il char 0 alla fine?
grazie ancora.
ciao, assa.

 wrote in message
news:a5sr08$9q9et$1...@ID-60516.news.dfncis.de...

 cout.write( Temp, len );
Max

 inserire il char 0 alla fine?
probabilmente non e` la risposta che cerchi ma, in C++ standard:
char array[20];
....
std::copy(array, array+20, std::ostream_iterator<char>(cout));
ciao Anto
-- 
Antonio Cuni, 19 anni, studente
Brainbench C++ Master: 4.73, higher than 99% of all previous test takers.
C Language: 3.79, higher than 92% of all previous test takers.
Guida C/C++ di Programmazione.it: 
http://cpp.programmazione.it
Newsgroup: it.comp.lang.c++
Titolo: array di oggetti

Mettiamo che dichiari una array (statico) di oggetti.
class pippo
{
   pippo();
   pippo(int);
};
pippo v[10];
Vorrei che all'atto di dichiarazione del vettore venisse usato il
costruttore con un argomento anziche' il costruttore senza argomenti.
Nelle mie intenzioni ci sarebbe questa dichiarazione:
pippo(5) v[10] 
ma il compilatore (visual c++6) mi dice che non posso farlo.
Qualcuno mi puo' illuminare?
~Guybrush,
 un temibile pirata...~

 Qualcuno mi puo' illuminare?
Non puoi farlo, in effetti. Devi seguire una strada diversa.  Potresti, ad
esempio, usare std::vector e inizializzare gli elementi con un oggetto
temporano:
 #include <vector>
 std::vector<pippo>	v( 10, pippo(5) );
Max

Guybrush ha scritto:

Ma se fai un'inizializzazione degli elementi dell'array non funziona?
ciao
-- 
Luigi
--
bug windows [5] = {"95", "98", "NT", "Me", "2000"};

 wrote in message
UqQR6.6879$ZZ.2...@news.infostrada.it...

Se il costruttore prevede solo un argomento potresti fare, se non sbaglio,
una cosa del genere:
    const int SIZE = 10;
    pippo v[SIZE];
    .
    .
    .
    for(int i=0; i<SIZE; i++)
        v[i] = i;
    .
    .
    .
/* Questo ciclio dovrebbe chiamare pippo(i) ad ogni iterazione. */

 /* Questo ciclio dovrebbe chiamare pippo(i) ad ogni iterazione. */
Se lui vuole che il costruttore con il parametro sia chiamato al momento 
della dichiarazione dell'array di oggetti, dovrebbe  fare così:
pippo obj [4] = {0, 1, 2, 3}; // Perché il parametro è solo uno...
come dici tu, all'atto della dichiarazione viene chiamato il costruttore 
senza paremetri, poi nel ciclo for viene chiamato quello parametrizzato.


 bug windows [5] = {"95", "98", "NT", "Me", "2000"};
giusto...

Newsgroup: it.comp.lang.c++
Titolo: Passaggio variabili dinamiche.

Salve.
Se ho una procedura "leggi" che risiede nel file Funzioni.cpp, questa
procedura chiede all'utente di che dimensione deve essere l'array, lo alloca
dinamicamente, e lo fa riempire tramite tastiera.
Nel main ci sarà qualcosa del genere il puntatore:
void main() {
int *vet;
......
......
delete [] vet;
....
}
Invece leggi:
void leggi(???, int dim){
....
....
vet=new int[dim];
....
}
Come si scambiano il vettore il main e la procedura leggi?
Come se fosse un puntatore?
Quindi:
void leggi(int *vet, int dim)?

 void leggi(int *vet, int dim)?
Esattamente.
EMG
--
EMAG Software Homepage:     
http://www.emagsoftware.it
The EMG's ZX-Spectrum Page: 
http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: 
http://www.emagsoftware.it/tbosg
Newsgroup: it.comp.lang.c++
Titolo: Lettere accentate

Scusate la domanda sciocca ma nella guida del Borland non sono riuscito a
trovare una risposta: come si fa a mettere le lettere accentate (ad es. per
i giorni della settimana) nello stram di output?
Ah, vorrei sapere anche come posso fare per visualizzare su schermo un
valore intero con uno zero iniziale (per es. negli orari, 05:40 ad esempio).
Grazie a tutti e scusate la stupidita' delle domande.
Fabio


<cut>
Se ho capito bene il tuo problema, crei un eseguibile "console" e, al
posto delle lettere accentate che inserisci nei tuoi sorgenti, vedi
dei simboli "strani" che non c'entrano niente.
Dando per scontato che non ti vada bene scrivere cosi':
cout << "lunedi' martedi' ..." << endl;
puoi usare i codici ASCII:
à = 133 (85H)
è = 138 (8AH)
ì  = 141 (8DH)
ò = 149 (95H)
ù = 151 (97H)
scrivendo, per esempio:
---
cout << "luned\x8d marted\x8d ..."  << endl;
---
oppure 
---
<cut>
#define lun "luned\x8d"
...
...
cout << lun << endl;
---
oppure, ancora:
---
#include <string>
...
#define lun "luned\x8d"
...
string s;
s = "luned\x8d";
cout << s << endl;
s = lun;
cout << s << endl:
---
Non è una soluzione "valida", in quando non funzionera' "dovunque". 
E non e' neanche molto comodo, lo so ... l'alternativa potrebbe essere
scrivere una parser che sostituisce tutte le occorrenze delle lettere
accentate nei sorgenti con i corrispondenti \xnn ... (ho trovato
qualcosa del genere su internet per l'uso degli unicode).
Altra alternativa sarebbero gli unicode ... ma ne vale la pena?
Dipende da cosa devi fare ...
La causa del problema (ovvero quei simboli "strani" che vedi al posto
delle accentate) e' che le lettere accentate tipiche della nostra
lingua non fanno parte del set di caratteri standard ASCII (da 0 = 00H
a 127 = 7FH) e possono variare a seconda della versione
(localizzazione) del sistema.
Fin qui ... potremmo essere decisamente OT ... si parla di codifica
ASCII e non di programmazione C++ ... ma ... 
... ma lo standard prevede l'uso di "locale" e dei "facet" per la
localizzazione dei software (mai usato ... spero di non aver preso una
cantonata colossale).
Ma ho l'impressione che questo vada oltre le tue esigenze.
Nel caso, ne riparliamo.
Sperando di esserti stato utile (e nella consapevolezza di essere
stato prolisso nell'OT ... chiedo scusa) ti auguro buon lavoro.

Newsgroup: it.comp.lang.c++
Titolo: [OT] Visual studio 6

Ciao a tutti,
scusate per l'OT. Ho installato Visual Studio 6 ma non riesco a trovare il
programma Visual J++ contenuto in esso. E' successo anche a qualcuno di voi?
Ogni volta che apro un file di estensione vij č come se il programma non
esistesse sul computer.
Grazie in anticipo
Luca

 Ogni volta che apro un file di estensione vij è come se il programma non

Newsgroup: it.comp.lang.c++
Titolo: errore di compilazione con winreg.h

Ho scritto un piccolo programma che deve accedere al registro di
configurazione, e per utilizzare le varie funzioni RegOpenKeyEx,
RegQueryValueEx e compagnia bella ho incluso l'header <winreg.h> nel file
che le utilizza.
Quando cerco di compilare, con Visual C++, ottengo i due seguenti errori (il
secondo penso sia conseguenza del primo):
--------------------Configuration: PDFLoader - Win32
Debug--------------------
Compiling...
MainFile.cpp
c:\programmi\microsoft visual studio\vc98\include\winreg.h(36) : error
C2146: syntax error : missing ';' before identifier 'REGSAM'
c:\programmi\microsoft visual studio\vc98\include\winreg.h(36) : fatal error
C1004: unexpected end of file found
Error executing cl.exe.
MainFile.obj - 2 error(s), 0 warning(s)
Sembra quasi che ci sia un errore nella dichiarazione del tipo REGSAM! Ho
provato ad aprire winreg.h, e, alla riga 36, viene dichiarato il tipo
REGSAM:
typedef ACCESS_MASK REGSAM;
A questo punto mi sono chiesto da dove venisse ACCESS_MASK, e l'ho trovato
in winnt.h. Allora ho provato ad includere nel file anche questo header,
ottenendo i seguenti errori:
--------------------Configuration: PDFLoader - Win32
Debug--------------------
Compiling...
Cpp2.cpp
c:\programmi\microsoft visual studio\vc98\include\winnt.h(152) : error
C2146: syntax error : missing ';' before identifier 'WCHAR'
c:\programmi\microsoft visual studio\vc98\include\winnt.h(152) : fatal error
C1004: unexpected end of file found
Error executing cl.exe.
Cpp2.obj - 2 error(s), 0 warning(s)
Molto simili a quelli precedenti. Tuttavia ho guardato dove dichiara il
WCHAR, e lo dichiara come "unsigned short", quindi qui l'errore non č
sicuramente dovuto a definizioni mancanti.
Ho anche provato a compilare un file contentente solo
#include <winnt.h>
#include <winreg.h>
void main()
{
 exit(0);
}
per vedere era qualcos'altro a causare l'errore, ma ho avuto gli stessi
risultati.
Dove sbaglio? C'č forse da utilizzare una certa serie di inclusioni
predefinite? Oppure qualche altra cosa da impostare in Visual C++ (č la
prima volta che lo uso)?


prova solo con windows.h
Pela


Niente, dà ancora errore con winnt.h (è incluso in windows.h)
Newsgroup: it.comp.lang.c++
Titolo: Reti neurali

Ho trovato degli algoritmi in C per lo sviluppo di reti neurali.
Prima di iniziare a portarle in c++, c'è mica qualcuno che sa dove potrei
trovarle già fatte ?
grazie


Prima di cimentarti in tanta ardua impresa si puo
sapere il perche' di questo porting?
PS. Porting da C a C++ vuol dire compilare i sorgenti che hai
      scritti in C con un compilatore C++ ?
Ciao
Gaetano.
-- 
Posted from 
dell-01.mm.eutelsat.org
 [194.214.173.17] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Sto lavorando ad un programma "esperto" di psicologia dove volevo utilizzare
le rete neurali come supporto alla diagnosi.
Ho acquistato un libro, "neural Network and Fuzzy Logic Applications i
C/C++" di Stephe Welstead, ma in realtà in C++ è scritta solo l'interfaccia
con un compilatore DOS tipo Borland 4.5, che mi pare abbia le librerie di
DOS.
Ho incapsulato le funzioni C in classi C++ sperando di dare al tutto una
struttura più ordinata, ed in parte ci sono riuscito, ma non con mia
completa soddisfazione. Inoltre alcuni algoritimi sono piuttosto lentucci.
Mi chiedevo se ci fosse in giro qualcosa di già strutturato in C++.
grazie
sergio



Comincia da qui: 
http://www.cnbc.cmu.edu/PDP++/PDP++.html
(un'occhiatina a Google no, eh? :-)
Ciao,
Nicola
Newsgroup: it.comp.lang.c++
Titolo: Ottenere il valore (oltre 127) di un carattere char Ascii

A chi postesse fornirmi un'indicazione su come ottenere il valore
esadecimale (o anche decimale) di un char.
Ottengo i valori corretti per i char che vanno da 0 a 127, oltre
ottengo dei valori sballati. Anche se definisco il char senza segno.
Ringrazio anticipatamente.

 wrote in message
news:3d39c46...@news.tin.it...

Strano che non funzioni. Mi fai un esempio di valore sballato?
Cmq un codice di questo tipo (compilato con Borland TC++ 3.0)
main()
{
  unsigned char p;
  int x;
  p = ' .... ';    dove metti il char che vuoi > 128
  x = p;
}
funziona regolarmente.
Se non dovesse funzionare, puoi provare in ogni caso ad azzerare i bit più
significativi dell'intero (tranne gli ultimi 8) con
x = x & 0xFF;
In ogni caso, davvero strano ....


Utilizzo C++ Builder 6 trial.
Numero inserito con la combinazione di tasti "ALT+numeri", carattere
visualizzato e valore corrispondente:
122	z	122
133	à	224
135	ç	231
248	°	176
Dal 128 in poi il carattere visualizzato corrisponde alla tabella
ascii ma il numero equivalente no.

Allora il tuo problema non è sulla conversione (a quanto ho capito,
correggimi se sbaglio) ma sulle tabelle ASCII ... sotto Windows il
compilatore converte il carattere che tu digiti secondo il font utilizzato
dall'editor (in genere, il Borland Builder usa il Courier New),
semplicemente per il fatto che quando digiti il carattere tra apici con la
sequenza ALT+xxx lui lo fa secondo il font utilizzato al momento ....
la conversione è corretta, ma non nel modo in cui tu la vuoi fare (suppongo)
...
Ho scritto lo stesso codice di prima in Builder 5 e il carattere "à" l'ha
convertito in 224 ... valore corretto ... prova a guardare con Mappa
Caratteri il valore numerico della "à" secondo il font Courier New e noterai
che è esattamente quello ...
A questo punto, per risolvere il problema devi indicarmi a che ti serve
questa conversione ... magari possiamo uscircene con un espediente ....

Per avere una corrispondenza con la vecchia tabella ASCII per DOS (a cui
anch'io sono fondamentalmente affezionato) cambia il font in "Terminal" ...
esteticamente fa schifo, ma ho visto che con la Mappa Caratteri la tabella è
corretta ...
Newsgroup: it.comp.lang.c++
Titolo: Ricercare all'interno una lista di strutture

Ciao a tutti
Ho una lista di strutture in C++, ogni struttura ha un ID identificativo  
univoco. Ogni struttura è un prodotto con tutti i suoi attributi.
Volevo chiedervi se, dal vostro punto di vista, la ricerca di un elemento  
con un determinato ID è più veloce se fatta attraverso std::map<struttura,  
int ID> oppure attraverso una ricerca binaria all'interno della lista di  
strutture?
Grazie
Daniele


Dipende dalla quantita' di strutture, ma al 99.99%, conviene la map 
(dato che e' scritta _appositamente_ per questo genere di utilizzo).
-- 
Mat/tia Belletti - Undergraduate student @ 
cs.unibo.it
ICQ: 33292311    - email: 
mbel...@cs.unibo.it
IRC: RedGlow     - site(s): 
http://www.cs.unibo.it/~mbellett
Linux registered user 299762 @ Linux registered machine 213003

 strutture?
Assumendo 
 1. che tu intendessi scrivere std::map< int, struttura >,
 2. che quella che chiami "lista" sia in realtà un vettore ordinato 
(altrimenti non si può parlare di ricerca binaria),
la ricerca binaria e la ricerca in un container associativo (map,multimap), 
o anche in un std::set, hanno entrambe complessità logaritmica.
Max

Ok, Grazie mille
Newsgroup: it.comp.lang.c++
Titolo: dove prendo la memoria?

ciao a tutti,
supponiamo di voler scrivere la classe CMyString, e in particolare una
funzione
Right() che mi ritorna la parte a destra di una stringa. Essa potrebbe
essere:
CMyString CMyString::Right(int Count) const
{
 if (Count < 0)
  Count = 0;
 else
  if (Count > GetLength())
   Count = GetLength();
 CMyString dest;
 dest.StringLength = Count;
 dest.BufferSize = dest.StringLength+1;
 dest.ReleaseDataBuffer();
 dest.pDataBuffer=new(char[dest.BufferSize]);
 char *pStr = GetBuffer();
 memcpy(dest.pDataBuffer, pStr+GetLength()-Count, Count*sizeof(char));
 dest.pDataBuffer[dest.StringLength] = '\0';
 return dest;
}
Preciso innanzitutto che la stringa e' allocata con chiamate a new(), e tale
memoria e'
deallocata nel relativo distruttore.
Nella Right sopra io creo la stringa dest in base alla funzione specifica,
poi la
ritorno. Pero' quando esco dallo scope la memoria di dest e' deallocata. E
di conseguenza
cio' che mi ritorna la Right() puo' non avere senso.
Come faccio?
grazie
--
Tiberio Grasso
Tecnomare SpA
R&D, Robotics and Space
Tel: 
+39-041-796711
Fax: 
+39-041- 796800
e-mail: 
gras...@tecnomare.it

Se ho capito bene quello che vuoi fare, dovresti sostituire
     CMyString dest;
con
     CMystring *dest;
   e tutte le righe successive di conseguenza fino a
      return (*dest);
   al posto di
      return dest;
      (a meno che tu non cambi il tipo di ritorno del metodo da CMyString a
       CMyString *, cosa che secondo me e` estremamante consigliabile).



Perche?
tieni conto che Mi piacerebbe fare operazioni del tipo
str1 += str2.Right(5)
grazie
tiberio

 questa variabile sia settata opportunamente?).
effettivamente e' cosi': quando chiamo return(dest) parte il costruttore di
CMyString
che copia dest in qualche area di memoria. Poi dest viene distrutta poiche
si esce
dallo scope. Poi, fuori dalla funzione Right(),, uso la MyString ritornata e
poi, automaticamente,
parte il distruttore che mi dealloca la copia temporanea fatta prima.
Quindi sembra funzionare.

Newsgroup: it.comp.lang.c++
Titolo: Come si inseriscono dati nel registro di config?

Come faccio a far si che eseguendo il mio programma si inseriscano dei dati
nel registro di configurazione?
Quali eventuali file devo aggiungere?
GRAZIE
blp...@usa.net
P.s.: se possibile rispondetemi via email!!!
            Tanx

Ciao Paolo,
vedi sull'help le funzioni Reg*
ciao, Franco
--
Posted from [194.184.225.66] by way of 
law2-oe20.hotmail.com
 [216.32.180.124]
via Mailgate.ORG Server - 
http://www.mailgate.org

Quali eventuali file devo aggiungere?
Devi utilizzare le API di Windows
Ciao, Giuseppe
Newsgroup: it.comp.lang.c++
Titolo: Stupidata!

Non capisco cosa vuol dire:
extern char d_data[MAXPATH]
Secondo me dovrebbe essere una variabile che si trova su di un file
esterno,ma non trovo alcun file con essa all'interno!
Il problema e' che il programma non e' stato fatto in Italia e sono nel
panico!
HELP ME PLEASE!
Grazie!
Ciao paolo

 esterno,ma non trovo alcun file con essa all'interno!
Sei sicuro che fra i vari file inclusi nel tuo programma non ce ne sia uno
con questa variabile!


 con questa variabile!
Potrebbe essere anche in un file binario: una libreria esterna
dichiarata al linker...
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Dept. of Physics, Univ. of Padova, Italy          loreti at pd dot infn dot it

Newsgroup: it.comp.lang.c++
Titolo: Esecuzione sotto Windows

Ciao a tutti.
Da un paio di giorni sto sviluppando un piccolo programma per disegnare il
grafico di una fuzione elementare con Borland C++ 3.0, e tutto procede alla
perfezione se non per un piccolo problema.
Quando inizializzo il sistema grafica con il comando initgraph attraverso la
seg. chiamata:
#include <graphics.h>
...
...
...
int graphics_drivers=VGA, graph_mode=VGAHI;
initgraph (&graphics_drivers,&graph_mode,"..\\bgi");
se mi trovo in ambiente windows l'esecuzione non dà errori mentre se faccio
Run sotto Dos il prog. viene eseguito ma mi si presenta il seguente
messaggio se visualizzo l'output:
BGI ERROR  : 'Graphic non initialized'   (use: initgraph)
Tale errore non si presenta alla chiamata della funzione initgraph (che
viene eseguita correttamente, o almeno sembra così) ma quando cerco di
disegnare una linea un cerchio o un punto.
Perche il sistema grafico non viene inizializzato in ambiente dos?
Come posso fare poi ad ottenere prestazioni superiori a quelle masime  cioè:
VGA       16 colori     640x480
Grazie a tutti.
...despite of my rage I'm still just a rat in a cage.....
Reply at:
 
dias...@hotmail.com
 
unde...@yahoo.com

 BGI ERROR  : 'Graphic non initialized'   (use: initgraph)
Devi settare il compilatore per linkare anche le libreire grafiche
(guarda bene nel menu Option) di piu' non ti so dire perche' e' molto
che non lo uso piu'.
Spero basti, 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. |
Newsgroup: it.comp.lang.c++
Titolo: Anteprima di stampa

Salve a tutto il NG.
Vorrei porvi un quesito, ho costruito un applicazione documento-vista
(piattaforma VisualC++ 5.0) in cui la vista e' derivata da
CScrollView.
Ho settato la mappatura MM_TWIP in modo da avere una corrispondeza
video stampante.
Nella funzione sovraccaricata OnDraw (detta molto sinteticamente)
scrivo del testo e disegno una bitmap con la funzione StretchBlt.
La bitmap a video risulta posizionata esattamente dove volevo e della
dimensione che desideravo, in anteprima di stampa, risulta visibile
solo il testo ma non la bitmap.
A questo punto mi e' venuto il sospetto che per la stampa bisognera'
utilizzare il contesto di dispositivo della stampante, ma dove
posizionare il codice di disegno della bitmap? 
Grazie per l'eventuale aiuto. 

Per affrontare il disorso della stampa in un programma MFC basato paradigma
sul Document/View potresti (come inizio) procurarti il cap. 19 del libro
"Programmare in Visual C++ 4.2" aut.: Kate Gregory Edit. Apogeo. Su Msdn ci
dovrebbe essere un esempio specifico che sviluppa questo argomento per MFC
(cosi cita testualmente l'help di Msdn):
Printing and Print Preview Samples
The SCRIBBLE sample, presented in Visual C++ Tutorials, illustrates the
basics of framework's printing and print preview support. The following
samples illustrate some very common printing tasks not covered by the
SCRIBBLE sample:
•CHKBOOK and SUPERPAD implement page breaks during printing.•SUPERPAD and
SCRIBBLE add page headers and footers during printing.•SUPERPAD illustrates: 
•Starting print preview at the current selection in the document.•Returning
from print preview to the same position in the document as last previewed.
In definitiva comunque la OnDraw(..) agisce sia su video (particolare
device contest) sia sulla stampante (altro particolare device contest).
Nel caso in cui si indirizzino i dati da visualizzare sulla stampante (o
anteprima di stampa) MFC ha già gestito buona parte del lavoro. Al
programmatore non resta che gestire i dettagli di ciò che verrà stampato
(quello che viene mostrato in anteprima).
Ad eempio nel codice qui di seguito l'unica cosa della quale ci si deve
preoccupare è di impostare un adeguato mapping mode, per "adattare" ciò che
dobbiamo stampare alla pagina
void CFontMakerView::OnDraw(CDC* pDC)
{
	CFontMakerDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
 
 
	// TODO: add draw code for native data here
	if(pDC->IsPrinting())
	{	// set appropriate mapping mode
		//pDC->SetMapMode(MM_HIMETRIC);
		pDC->SetMapMode(MM_ISOTROPIC);
		// get the risolution vertical and orizzontal of the printer
		int VertRes = pDC->GetDeviceCaps(VERTRES);	// 3207 on HP400
		int OrizRes = pDC->tDeviceCaps(HORZRES);	//2400 on HP400
		int numPixelOnInces = pDC->GetDeviceCaps(LOGPIXELSY);	// 300 pixel on inces
		pDC->SetWindowExt(OrizRes/4,VertRes/4);
		pDC->SetViewportExt(OrizRes, VertRes);
	}
	// add your draw code here
	//
}
--
Posted from [195.223.129.35]
via Mailgate.ORG Server - 
http://www.mailgate.org
Newsgroup: it.comp.lang.c++
Titolo: libreria per ambiente grafico

Vorrei sapere dove posso trovare una libreria che implementi un ambiente
grafico DOS,
        grazie
                    Martino

Martino Merzek ha scritto nel messaggio ...

Dato che ci sono mi rispondo da solo:
ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2tk/jptui4jd.zip
oppure
http://193.55.36.92/enicolas/computer/sword/download/sword.zip
Newsgroup: it.comp.lang.c++
Titolo: overload operator[](int)

in una mia classe ho definito l'overload dell'operatore [] che mi
restituisce il reference ad un oggetto.
esempio:
B& A::operator[](int i) { return *array[i]; };
A miaA; miaA[3]; // ok
ma se io ho A *ptrA = &miaA;
ptrA[a] non è ammessa ..
al momento sto usando ptrA->operator[](3);
esiste un modo + veloce o no?
grazie
antonio

cosě dovrebbe funzionare:
  f = *(A)[3];
Ciao
--------------------------------
Inviato via 
http://usenet.libero.it

   f = *(A)[3];
um... non c'avevo pensato :) grazie
antonio

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

ho sempre programmato in DOS in C ed ora tentavo di passare al Visual...
non è difficile la mia window l'ho fatta e risco a gestire bene tutti gli
eventi e le proprità.
ho poi scaricato le DirercX 5 sdk per inparare ad usarle ma pur seguendo
alla lettera le istuzioni del tutorial , la fase di LINK mi da dei problemi.
es:
voglio creare un oggetto DirectDraw:
lo dichiaro comune a tutte la funzioni
LPDIRECTDRAW     lpDD;
e fin qui nessun problema poi
appena scrivo:
DirectDrawCreate(NULL,&lpDD,NULL);
errore:dal VIsual C++ 6:
unresolved external symbol _DirectDrawCreate@12
HELP!!
il mio EMAIL i...@tamnet.It

 unresolved external symbol _DirectDrawCreate@12
Aggiungi ddraw.lib al link.
Alex
Newsgroup: it.comp.lang.c++
Titolo: ANNOUNCE: Quick ISO C Reference Manual

Some years ago I've started writing a Reference Manual for the C
programming language.  Unfortunately I've never finished the work, so I
decided to publish the book under the General Public License.  If someone
is interested, it can be found at the address
http://www.sigala.it/sandro/books.html
It is available in Postscript format and LaTeX sources.  If someone would
like to contribute to the book, please contact me via email.
Regards,
	Sandro
-- 
Posted from [212.210.188.50] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Sandro
Due cose non sono chiare:
1) perche' in inglese se posti su due NG italiani
2) perche' posti su it.comp.lang.c++ se si tratta di C.
Andrea Ferro
---------
Brainbench C++ Master. Scored higher than 97% of previous takers
Scores: Overall 4.46, Conceptual 5.0, Problem-Solving 5.0
More info 
http://www.brainbench.com/transcript.jsp?pid=2522556

Newsgroup: it.comp.lang.c++
Titolo: [OT][REQ] Ricorsione in coda

Ciao a tutti,
non riesco assolutamente a capire
quale sia la differenza esatta fra ricorsione
in coda e ricorsione "non in coda"..
Cercavo qualche sito che spiegasse bene
la differenza, ma non ho trovato nulla
di illuminante, sapreste aiutarmi?
grazie,
Blob 

 in coda e ricorsione "non in coda"..
A) non-tail recursion
int f(int n)
{
   if (n)
     return n*f(n-1);
   else
     return 1;
}
B) tail recursion
int g(int n, int ris = 1)
{
   if (n)
     return g(n-1, ris*n);
   else
     return ris;
}
    f(4)
-> return 4*f(3)
-> return 4*(return 3*f(2))
-> return 4*(return 3*(return 2*f(1)))
-> return 4*(return 3*(return 2*(return 1*(return f(0)))))
-> return 4*(return 3*(return 2*(return 1*(return 1))))
-> return 4*(return 3*(return 2*(return 1)))
-> return 4*(return 3*(return 2))
-> return 4*(return 6)
-> return 24
    g(4)
-> return g(3, 4)
-> return (return g(2, 12))
-> return (return (return g(1, 24)))
-> return (return (return (return g(0, 24))))
-> return (return (return (return 24)))
Dato che il risultato è già stato calcolato (24), non è necessario 
tornare al chiamante.
-> 24
Questo significa che quando g(4) chiama g(3,4), lo stack di g(4) può 
essere già eliminato. Eliminando i return ridondanti si ottiene:
    g(4)
-> g(3, 4)
-> g(2, 12)
-> g(1, 24)
-> g(0, 24)
-> 24
La tail recursion, concettualmente, corrispondono a cicli, infatti la 
chiamata può essere sostituita con un salto:
int g(int n, int ris = 1)
{
here:
   if (n)
   {
     ris = ris*n;
     n = n-1;
     goto here;
   }
   else
     return ris;
}
Un ciclo può essere visto come una ricorsione dove lo stack del 
chiamante originale viene riutilizzato.
Kiuhnm


Grazie mille! Me lo hai spiegato
nell'unico modo in cui non era
spiegato da altre parti, e finalmente
ho capito!
,Blob
Newsgroup: it.comp.lang.c++
Titolo: interface

ciao,
	oggi ho scoperto che visual studio riconosce come parola chiave 
interface. Qualcuno sa spiegarmi a cosa serve?

 interface. Qualcuno sa spiegarmi a cosa serve?
Non e` una parola-chiave, bensi` un #define di struct in alcuni
header file Microsoft.  E` usata, per chiarezza, per indicare una
classe-base puramente astratta (cosiddetta "protocol class" nel
senso di Lakos, equivalente alla "interface" di Java, e putacaso
anche del COM:-).
Alex

, 
al...@magenta.com
 says...

ha un qualche vantaggio usare interface nella dichiarazione di classi 
"interfacce"? (tipo ottimizzazioni varie?)

 "interfacce"? (tipo ottimizzazioni varie?)
No, pura questione di leggibilita`.  Io uso sempre struct perche`
detesto questo tipo di "pseudo-keyword-che-tali-non-sono", ma
e` questione di gusti.
Alex
Newsgroup: it.comp.lang.c++
Titolo: segmentation fault

Sto scrivendo un programma in c/c++ con gcc/g++ sotto linux.
Comprende varie classi che compila e linka correttamente tuttavia in
esecuzione crasha dando errore di segmentation fault. Il punto e' che il
programma dà errore subito, dopo appena due printf.
Non riesco a capacitarmi del motivo dell' errore.
Mi chiedo se esista qualche comando da inserire nel codice o qualche
parametro da passare al compilatore affinche' vengano assegnati al processo
in esecuzione segmenti piu' ampi.
Oppure la soluzione devo cercarla altrove. Potete elencarmi le possibili
cause che portano a tal tipo di errore?
Ciao, Fabio.

Dacci due righe di codice!!!!
Luigi

 cause che portano a tal tipo di errore?
Tentativo di accesso a locazione di memoria non compresa nello spazio di
indirizzamento del processo.
Probabilmente stai dereferenziando un puntatore non valido o un puntatore
nullo. Forse hai corrotto una struttura dati alterando il valore di qualche
puntatore. O hai sbagliato qualcosa nel passare gli argomenti a una funzione
vararg (come printf).
Max

 Luigi
Il codice, e' talmente semplice che mi sembrava inutile postarlo:  entrano 
in gioco solo due printf e nessuna variabile, puntatore o altra richiesta 
di memoria. Mi sembra ovvio che l' errore vada cercato altrove. Comunque 
eccolo qua:
void inizia()
{ 
        printf("Inizio.\n"); //qui da segmentation fault
        ...............
}
int main()
{ 
        printf("Benvenuti al programma.\n");
        inizia();
        return 0;
}
Secondo gdb l' errore risale alla funzione strcat che evidentemente printf 
(ma anche cout in quanto ho provato anch' essa) richiama ed e' contenuta in 
/lib/libc.so.6 delle glibc. La soluzione piu' ovvia mi sembra quella di 
aggiornare tali librerie.
-- 
Nessuno vuole la guerra.
                -- Kirk, "Errand of Mercy", data astrale 3201.7

Raga' che stupido. Mi ero scordato che in alto al codice del file principale 
vi era dichiarato globalmente un vettore di 4 elementi di una classe 
"giocatore". Il costruttore di tale classe era a dare problemi infatti 
eseguivo semplicemente una istruzione del tipo strcpy(nome,"pippo\0") senza 
che fosse preceduta da un' altra come nome = new char[DIM]; 
Comunque grazie dell' aiuto.
-- 
Svuota la tua mente, svuota la tua mente...  Gia' fatto?  Non c'era 
granche',
allora...
                -- Mago Oronzo (Raul Cremona), "Mai Dire Gol"
Newsgroup: it.comp.lang.c++
Titolo: Controlli in finestre di dialogo

Ho creato una finestra di dialogo Modale che contiene vari controlli.
Tra i vari controlli c'è una ListBox.
Come faccio ad individuare l'evento WM_KEYDOWN riferito alla ListBox?
Vorrei cioè che quando la ListBox ha il focus e spingo dei tasti
succedesse qualcosa.
Class Wizard con riferimento alla ListBox mi da' solo i messaggi
particolari della ListBox stessa, tipo ON_LBN_DBLCLK, ON_LBN_SELCANCEL,
ecc. non i messaggi derivanti da CWnd.
Grazie anticipatamente!
--
Automatic posted from root@[195.103.65.250]
via Mailgate Server - 
http://www.mailgate.org


Devi effettuare il subclassing della listbox:
1) Crea una classe derivata da CListBox: per esempio CNuovaListBox.
In questa classe puoi intercettare il messaggio WM_KEYDOWN, WM_KEYUP,
ecc.
2) Mi sembra che (perlomeno in WIN16) dovresti anche prevedere in
CNuovaListBox una funzione membro di questo tipo:
WNDPROC* CNuovaListBox::GetSuperWndProcAddr()
{
	static WNDPROC NEAR pfnSuper;
	return &pfnSuper;
}
che serve a MFC per memorizzare la "vecchia" window procedure. Forse
non e' necessario nelle ultime versioni di MFC.
3) Dichiara nella classe che incapsula la tua dialog box un dato
membro di tipo CNuovaListBox:
CNuovaListBox m_nlb;
4) In OnInitDialog, richiama m_nlb.SubclassDlgItem(ID, this) - dove al
posto di ID metti l'ID reale assegnata alla ListBox.
Dovrebbe essere tutto.
In bocca al lupo
GG
Newsgroup: it.comp.lang.c++
Titolo: Libro per programmare in Windows 95

Mi potreste consigliare un buon libro dove poter approfondire la
programmazione C per Windows 95 (specialmente Win32 SDK) ?
Grazie
	Davide Devoti
Davide Devoti                
Email:dav...@luna.it
Web: 
http://www.geocities.com/SiliconValley/Lab/5537/
"Ma perche' il papa' di Bill Gates quella sera non ha
usato il preservativo ?"  D.D.



programmazione C per Windows 95 (specialmente Win32 SDK) ?
Il Petzold e Yao per cominciare, il Richter per proseguire.
Alex

Newsgroup: it.comp.lang.c++
Titolo: Applicazione MFC per audio

E'la prima volta che scrivo in un newsgroup e che uso VS2005, premetto che le mie conoscenze di VC++ sono bassine...
Ho trovato un programma in rete in C++ al quale vorrei fare un interfaccia visuale con VS2005 ho fatto tutto ma il problema è che non riesco ad associare al click sui bottoni REGISTRA e RIPRODUCI la funzione associata sul programma in C++.
Qualcuno mi può essere d'aiuto?
Se necessario vi posso passare il progetto in VC++ è veramente piccolo...
ciao ciao
keggy 
-- 
Questo articolo e` stato inviato dal sito web 
http://www.nonsolonews.it

Ciao,
Questo newsgroup si occupa del linguaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni, come ad esempio C++/
CLI. 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: <no subject>

--
Posted from 
mailer.rm.cnr.it
 [150.146.1.4]
via Mailgate.ORG Server - 
http://www.mailgate.org


Uhm... no subject and no message at all. :-)
EMG

Newsgroup: it.comp.lang.c++
Titolo: Il Loop Che prende Tutto

Salve,
non esiste una direttiva (C++ builder) per eseguire un ciclo senza bloccare
l'ide di controllo? Nel senso che una volta lanciato un ciclo (while, for)
sia possibile premere un tasto per bloccarlo o fare altre cose.
GRAZIE

La risposta...o soluzione
http://www.temporaldoorway.com/programming/cbuilder/techniquesandpatterns/pa
usingaloop.htm
Newsgroup: it.comp.lang.c++
Titolo: visual c++ for linux development

https://visualstudiogallery.msdn.microsoft.com/725025cf-7067-45c2-8d01-1e0fd359ae6e
 
 
 
Se non si puo battere ci si allea,dice un proverbio
 
Ma non era un cancro ?
I tempi cambiano,dopo la bash ora questo.
 


Vabbè dai, sono anni che tutti sanno che Windows (come tutti gli altri OS prima
di lui) andrà a sparire per lasciare il posto a sistemi unix-like.
Sì, bello il kernel NT e tutto quanto (io stesso trovavo l'archiettura
elegante, fino ad una decina d'anni fa, quando hanno cominciato a metter
dentro ca**ate allucinanti, tipo lo stack HTTP) ma, come si dice da
praticamente sempre "chi non implementa un sistema unix-like è destinato a
reimplentarlo, male).
Alla fine, come ha fatto Apple, anche M$ passera ad un sistema misto.
 
Per inciso, M$ ha anche fatto un sacco di soldi con i sistemi unix, era uno
dei pricipali fornitori durante gli anni '80 e '90, per cui lo sapevano
anche loro (*).
 
Più che altro, sarà che gli sviluppatori cominciano serialmente ad usare anche
su Windows compilatori e ambienti cross-platform che sono sono M$? :)
Quando ancora ero costretto ad usare Win (fino a 6/7 anni fa), Cygwin veniva
installato ancor prima dell'antivirus! :D
 
Ciao!
 
 
(*)
'sta cosa m'ha ricordato un episodio particolare, di quando nei primi
anni del 2000 lavoravo a Roma (in So.Ge.I. credo, ma non sono sicuro) ma
vivevo a Viterbo, per cui ogni giorno mi facevo un'ora (quando andava bene)
di treno all'andata e una al ritorno, e conoscevo un sacco di gente
"particolare", specialmente nel tratto di treno interno a Roma.
 
Un giorno mi misi a parlare con una giovane manager di Telecom (sì, quando
ancora mi potevo permettere di fare il "provolone" con le ragazze) che mi
disse, in mezzo ad una conversazione: "tanto in Telecom lo sappiamo tutti che
la gente parla solo in VoIP (per dare contesto, praticamente ancora nessuno
conosceva Skype e simili, gli smartphone ancora non esistevano, chi aveva un
blackberry era chiaramente un super manager o una spia del governo, e io
sapevo cosa voleva dire "VoIP" solo perché lavoravo nell'IT) per cui quando
i clienti si lamentano dei prezzi di bollette o schede non è importante: il
mercato, per noi, non è quello."
 
Avevo amici che lavoravano o avevano lavorato in Telecom, ma tutti ingegneri
o programmatori, nessuno a quel livello decisionale: un po' mi ha aperto gli
occhi su come ragionano le grandi aziende di telecomunicazioni, e non solo.


 
cmd fa alquanto schifo e power shell ha un linguaggio talmente astruso 
che chissà chi si metterà ad impararlo.
Cosa rimane ?

Newsgroup: it.comp.lang.c++
Titolo: help!!

devo fare 1 programma che prenda 105 dati reali da 1 file e ne faccia il
relativo istogramma, cioe' calcoli quante volte 1 singolo dato e'
ripetuto. In seguito dovrei fare il relativo grafico.
Pensavo invece che contare quante volte 1 dato e' ripetuto, dividere in
intervalli e calcolare quanti dati ci sono in 1 dato intervallo.
Grazie
--
Posted from 
carmen.to.infn.it
 [192.84.137.1]
via Mailgate.ORG Server - 
http://www.mailgate.org

 intervalli e calcolare quanti dati ci sono in 1 dato intervallo.
La seconda soluzione mi sembra piu` semplice e meno onerosa, tuttavia
mi sembra che se le specifiche richiedono quante volte e` ripetuto un
certo valore, allora non e` piu` una soluzione praticabile.
Saluti,
Paolo

Newsgroup: it.comp.lang.c++
Titolo: Aiuto programmazione

Vorrei realizzare un programmino per il super enalotto,dovrebbe
visualizzarmi in maniera casuale sei numeri da 1 a 90 con la pressione
di un qualsiasi tasto, con la condizione che la scelta casuale delle
colonne deve esclude a priori le colonne già uscite che devono essere
aggiornate settimanalmente.Purtroppo sono ancora un neofita e non so
come (o meglio mi mancano le basi ) per impostare la programmazione.Chi
di voi è così gentile da darmi una mano?
Io vi ringrazio anticipatamente e aspetto una vostra
risposta.Grazie.....
Rocco.



Se ti mancano le basi è meglio che non inizi col C++...
Luc.