mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.programmare.win32
Titolo: Aiuto Borland Builder 3.0

Salve,
ho un piccolo problema con il suddetto compilatore (builder c++3.0)
lo conosco da poco e vengo dalla programmazione nel DOS.
Conosco il C ed anche un po il C++, ma non riesco ad andare avanti in un
programmino che sto facendo.
Il problema è il seguente:
come faccio a fare calcolare un numero più un altro numero ed avere il
risultato dove dico io?
in C sarebbe stato facile ma in Builder come si fa?
Ho creato le Form ora dovrei aggiungere dei contrlli edit e poi?
vi prego aiutatemi (sono disperato) mi sarebbe molto utile (visto la mia
scarsa conoscenza della programmazione in Windows) un esempio di una piccola
calcolatrice che faccia le quattro operazioni base(forse chiedo troppo).
Chiunque potesse aiutarmi lo faccia vi prego.
Il mio indirizzo e-mail e
los...@cpoint.infoservizi.it
Grazzie mille a tutti .

Ho creato le Form ora dovrei aggiungere dei contrlli edit e poi?
L'esecuzione del codice in Windows non e' sequenziale ma segue le regole
dell'event-driven, ossia risponde al verificarsi di determianti eventi, per
esempio il click del mouse o la pressione di un tasto sulla tastiera. Nel
tuo caso, devi creare due componenti TEdit in cui vai a scrivere gli
operandi dell'operazione e un ulteriore TEdit per visualizzare il risultato.
Esempio:
EditOp1, EditOp2 e EditRis;
Poi crei quattro pulsanti per le quattro operazioni di base e gestisci il
click su questi pulsanti facendo eseguire i calcoli dovuti (evento OnClick
del TButton). Esempio:
ButtonAddizione;
void __fastcall Form1::ButtonAddizioneClick(TObject *Sender)
{
double op1, op2, ris;
try {
    op1 = EditOp1->Text.ToDouble();
}
catch (...) {
    ShowMessage("Operando 1 non valido");
    return;
}
try {
    op2 = EditOp2->Text.ToDouble();
}
catch (...) {
    ShowMessage("Operando 2 non valido");
    return;
}
ris = op1 + op2;
EditRis->Text = ris;
}
--
Byez
Stefano Tempesta
temp...@tin.it
http://tempesta.freeweb.org


Grazie a tutti per l'aiuto ora riesco a capire qualcosa ,siete stati davvero
gentili spero un giorno di poter ricambiare.

Newsgroup: it.comp.programmare.win32
Titolo: temi di xp

come si creano i pulsanti e gli altri controlli stile xp?
--
Pela

 come si creano i pulsanti e gli altri controlli stile xp?
Cerca all'interno della documentazione del PlatformSDK alla voce Visual
Styles
--
  Jerle Shannara
Per rispondere in email togli NO e SPAM
homepage 
http://utenti.tripod.it/jerleshannara


il problema è che io ho l'MSDN vecchio e su internet non ci posso stare una
vita per leggere quello online...
Pela

 vita per leggere quello online...
Scusa, ma se vuoi usare le funzioni per il Visual Styles *devi* avere
l'ultimo PlatformSDK installato: alla documentazione di quest'ultimo (che
presumibilmente devi aver scaricato insieme alle librerie) mi riferivo nella
mia risposta.


 vita per leggere quello online...
Allora fatti spedire una copia del Platform SDK da Microsoft, il prezzo č
davvero basso (praticamente solo le spese di spedizione).
Lorenzo

 Lorenzo
su internet non c'č?
Pela

 ha scritto nel messaggio
news:5I9O7.35438$BA4.1...@news1.tin.it...

Newsgroup: it.comp.programmare.win32
Titolo: Quale libro scegliere?

che io debba fare il fiorista [Morgan]<
Visitate il mio sito
http://digilander.iol.it/Superpork

Credo che il Petzold sia comunque valido per apprendere i principi base 
della programmazione in windows (io ho letto l'edizione per Windows 3.1)...
Poi potresti affiancare un buon testo su com e com+ e quindi passare a 
studiare i nuovi servizi introdotti da Windows2000.
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

studiare i nuovi servizi introdotti da Windows2000.
Quali sono i nuovi servizi che Windows2000 introduce ?
--
Andrea Laforgia (ICQ 87230455)
http://www.geocities.com/AndreaLaforgia
"ci sono tre tipi di persone nel mondo : quelli che
 sono bravi in matematica e quelli che non lo sono."


ActiveDirectory, ad esempio (ma forse è possibile installarli anche su NT, 
non li ho mai utilizzati). Ci sono poi una serie di API modificate (su 
www.sysinternals.com
 ci dovrebbe essere un elenco).
In definitiva comunque windows 2000 non rappresenta certo una 
"rivoluzione" rispetto a NT e a Win32 in generale.
Il fatto che l'autore del messaggio diceva che avrebbe poi lavorato 
"esclusivamente su Windows 2000" mi fa supporre che sia coinvolto in 
qualche progetto che sfrutta qualche funzionalità non presente in NT/9X.
Per questo suggerivo di farsi prima una "cultura" di base su Windows e poi 
concentrarsi sugli aspetti specifici di Windows 2000 che servono (anche 
perchè la preparazione di base potrebbe essergli utile per qualche altro 
lavoro in cui la compatibilità con versioni più vecchie del S.O. è 
indispensabile).


 ha scritto nel messaggio
news:9042B9C43V...@151.1.1.14...


8) ]  o cmq sono affrontati con un'ottica system level.. riassumendo
dedicato a programmatori "hardcore" o che sviluppano device drivers
Saluti,
       Walker Boh
Newsgroup: it.comp.programmare.win32
Titolo: Avvio applicazione

 Come posso risolvere ?
Cosa intendi per "in avvio"?  In quale momento, esattamente,
vuoi considerare la tua applicazione "in avvio", se non appunto
prima della visualizzazione della finestra principale?  Decidi
quale sia quel momento e saprai il punto giusto per visualizzare
il dialogo.
Alex

Ho disegnato un'applicazione che visualizza una finestra derivata da
CDaoRecordView
In avvio vorrei far visualizzare una finestra di dialogo ma se metto il
codice di tale finestra all'interno di OnInitialUpdate la finestra di
dialogo viene visualizzata prima della finestra principale.
Come posso risolvere ?
Grazie Luke

 OnShow della finestra pricipale.
Credo che l'evento omologo di cui parli sia OnShowWindow ma non funziona
neanche in questo modo. Ho risolto (vedi altra risposta) implementando un
messaggio definito dall'utente.
Grazie lo stesso
Luke

     [snip]
OK grazie, ora funziona anche perchè (grazie al tuo consiglio) mi sono
andato a guardare bene il message processing. Infatti mi è sorto un
ulteriore dubbio.....
Ho notato che la procedura funziona correttamente sia utilizzando l'esempio
da te proposto (macro ON_REGISTERED_MESSAGE ....) sia implementando un
normale messaggio definito dall'utente (macro ON_MESSAGE ....). Ovviamente
in quest'ultimo caso non si richiama la funzione
RegisterWindowMessage("...")
Consultando l'MSDN credo di aver capito che la differenza tra le due forme è
che la prima (ON_REGISTERED_MESSAGE) garantisce l'unicità del messaggio nel
sistema e permette a due distinte applicazioni di processare lo stesso
messaggio; la seconda forma (ON_MESSAGE) invece crea un messaggio privato.
Ho capito bene la differenza ? Ci sono altre differenze nell'utilizzare le
due macro ?
Luke

 messaggio; la seconda forma (ON_MESSAGE) invece crea un messaggio privato.
Non crea nessun messaggio privato.  Ti permette di servire "messaggi
privati" in una forma compile-time constant, tipo "WM_APP+3" o che sia,
ma troppe volte in passato mi e` successo che qualche cavolo di componente
usava altrettanto "privatamente" codici del genere, che poi con le varie
eleganti ridirezioni dei messaggi andavano invece a finire a una finestra
mia, e, ka-BOOM.  Settimane di debugging.  No grazie: d'ora innanzi,
solo messaggi registrati.  Mica si paga una tassa...!-)
Alex
Newsgroup: it.comp.programmare.win32
Titolo: Porta seriale - Porta USB

Vorrei sapere se utilizzando un convertitore USB->Seriale avete mai avuto
problemi sull'apertura e chiusura della seriale ( com3-com4.. )  ??
Alcune volte dopo aver chiuso la seriale, alla successiva riapertura (
CreateFile ) il programma genera un errore di tipo "VXD error ...." in
qualche DLL di sistema.
Grazie.

 problemi sull'apertura e chiusura della seriale ( com3-com4.. )  ??
Eh, sono ancora io. No, il problema che dici non mi è mai capitato, anche
se in genere con un convertitore USB->Seriale ho provato solo COM1 o al
massimo COM2. Sarà un problema specifico del driver che stai utilizzando?
Al limite, come suggerimento, prova a verificare se ti ritorna errore la
CloseHandle.
Steve.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Newsgroup: it.comp.programmare.win32
Titolo: [BCB] creazione di componenti in runtime

Ciao a tutti,
 devo creare dei TPanel nel form, siccome non conosco il loro numero a 
priori devo crearli runtime.
Questo codice non funziona, cosa sbaglio?
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  TPanel *TP;
  TP=new TPanel(Form1);
  TP->Top=50;
  TP->Left=50;
  TP->Height=550;
  TP->Width=550;
  TP->Caption="eccomi";
  TP->Name="eccomi";
  TP->Enabled=true;
  TP->Visible=true;
  TP->BevelWidth=5;
  TP->BringToFront();
}
Mieru

Quando aggiungi un componente VCL da codice devi settare la proprieta'
Parent a this (il puntatore al form), altrimenti ciccia visualizzazione...
...
TPanel *TP;
TP=new TPanel(Form1);
...
TP->Parent=this;
ciao
Ermando

 wrote in
news:01c14f24$9af13300$48400b3e@hal9000: 

Parenti serpenti!
Grazie mille
Mieru

Newsgroup: it.comp.programmare.win32
Titolo: Tutorial Borland C++ Builder

Ciao a tutti, vorrei sapere dove posso trovare in rete un buon tutorial
(anche in inglese) sul Borland C++ Builder, possiedo la versione 4. Grazie.
Bye
Alex.

www.borland.com/bcppbuilder
C'è tutta la Quick Start e la Developer Guide della versione 5
--
Stefano Tempesta
TSoft - 
www.tempesta.org
in...@tempesta.org



prova sul sito 
http://tarpinello.web.com
 c'è n'è uno all'inizio.
Ciao $Ale$
**************************
http://tarpinello.web.com
aman...@interfree.it
ICQ #24943677
**************************
Newsgroup: it.comp.programmare.win32
Titolo: PrintPreview

Salve!
Come posso fare per avere un print preview da una
dialog figlia di una dialog figlia di una applicazione CFormView based?
In passato mi sono arzigogolato creando dei frame fittizzi e chiamando
la loro funzione print preview, ma e' tutto molto poco gestibile e
complesso.
Qualcuno conosce un qualche strumento, una qualche classe, che
senza tante complicazioni ti permette di fare un printpreview da
un qualsiasi punto!??
Grazie per qualsiasi aiuto.
                                   Vale

 un qualsiasi punto!??
Prova a dare un'occhiata qui
http://www.codeguru.com/printing/PrintPreviewWODocView.shtml
ciao
Newsgroup: it.comp.programmare.win32
Titolo: Accedere ad un ADORecordset senza #import

Ciao a tutti,
Ho scritto il seguente codice:
[code]
ADORecordset *rs;
 
CoCreateInstance(CLSID_CADORecordset, NULL, CLSCTX_INPROC_SERVER,
IID_IADORecordset, (LPVOID *)&rs);
 
myADO->Execute("SELECT * FROM table", &rs);
[/code]
myADO č una mia classe, ed il recordset che ritorna dovrebbe essere
valido (utilizza il metodo Execute di un oggetto Connection
precedentemente istanziato). Non voglio usare #import. La domanda č:
una volta ottenuto l'oggetto ADORecordset, come faccio ad estrarne i
dati? Come accedo, se questa č la via, alla collection Fields ed ai
suoi membri?
Grazie.
Fra.

beh, se non ti va di usare import fatti creare da MFC un wrapper
dell'oggetto COM, così non importi niente, e invochi i metodi
dall'interfaccia IDispatch .. però mi sa che sarà un tantino pesante :)
#import analizza l'oggetto com e ti crea dei wrapper x ogni oggetti pubblico
che trova.. se tu non lo usi cmq devi conoscere gli ID dei comandi e delle
proprietà che vai a interrogare.. mi sa di pesante però

> mi sa di pesante perň
Davvero? Io invece credevo che con #import diventasse piů pesante.
Proverň ad usare #import... In che modo questo mi lega alla DLL che
specifico nella direttiva? Immagino che detta DLL debba essere
presente sul sistema su cui eseguirň il mio codice in una locazione
nota, come winnt\system o winnt\system32, giusto?
Grazie per l'aiuto.
Ciao,
Fra.

trattandosi di un oggetto ADO la import non ti lega alla dll (in quel caso è
un oggetto ActiveX contenuto in una dll), ma ti lega al suo class id, se tu
importassi dentro un oggetto tramite il classwizard di mfc, dicendogli di
leggere le interfaccia da una dll compilata.. lui ti crea del codice (al
contrario di import) dove specifica il classid assegnato a quelle
interfaccie.. COM è bello, però fatti dai compilatori questi generano un
link totale, o quella versione, o quella ..a menocchè non ti leghi al class
id dell'interfaccia implementata poi dalle classi, e in tal modo qualunque
versione va bene
antonio

>la import non ti lega alla dll (in quel caso è un oggetto ActiveX
contenuto in una dll), ma ti lega al suo class id
Capito, grazie.
Ciao,
Fra.

 lui ti crea del codice (al contrario di import)
cosa significa "al contrario di import"? #import genera codice, eccome. 
E neanche poco, anzi
-- 
  < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
      Don't stand, REACT!      version 0.1.3. C, C++ and ASM developers
                               and beta testers are welcome!

 winnt\system32, giusto?
no, semplicemente le classi devono essere registrate


il contrario era riferito al fatto che la #import non produceva (al
contrario) del class wizard nessuna classe nel progetto..
questo intendevo col contrario
Newsgroup: it.comp.programmare.win32
Titolo: [VC++] impostare stampa in DMORIENT_LANDSCAPE

ciao,
io sto utilizzando una finta stampa per ottenere informazioni
sulla pagina da stampare che poi utilizzo per altro
nella OnDraw.
Perň dovrei impostare la stampa sempre con l'orientamento
in orizzontale, cioč con DMORIENT_LANDSCAPE,
indipendentemente da come č la stampante di default.
Qualche suggerimento?
...mi sto perdendo qui:
 CPrintInfo* pPInfo = new CPrintInfo;    // Struttura che contiene i
                                                                // dati
della stampante
 pPInfo->m_pPD->m_pd.Flags |= PD_PRINTSETUP;
 pPInfo->m_pPD->m_pd.Flags &= ~PD_RETURNDC;
 pPInfo->m_bPreview = TRUE;      // Simula un print preview
 DoPreparePrinting(pPInfo);     // Finge di preparare una stampa
 HDC hDC = pPInfo->m_pPD->m_pd.hDC;

 Qualche suggerimento?
Prova
DEVMODE *dm=this->GetDevMode();
dm->dmPaperSize = DMPAPER_A4; //formato A4
dm->dmOrientation= DMORIENT_LANDSCAPE; //landscape
saluti
JJ
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.programmare.win32
Titolo: genenerare una pagina html

ciao a tutti, sto sviluppando un'applicazione con il c++builder 4
Ho una form con alcune edit e alcune label; premendo su un bottone
avanti Vorerei permettere il salvataggio di uan pagina html compresa
di tag per far assumere alla pagina una struttura particolare...
Io i tag necessari li conosco; quello che non riesco a fae è
l'indentazione; Quello che voglio scrivere nella pagina è il testo
inserito nelle Edit e la caption di alcune label
Per capirci vorrei una forma del tipo:
o) label1->capion edit1->text
o) label1->capion edit1->text bove text varia a seconda di quello che
scrivo nelle edit
Qualcuno mi ha detto che non posso farlo con il c++Builder e che devo
generarmi il codice a mano e specificare dove devo insierire i tag
desiderati; questo non è un problema ma nel mio caso non posso sapere
a priori  qual'è il testo delle varie stringhe
Altri mi hanno detto che basta dichiarare un oggetti Tstring list e
concatenare i vari oggetti con le stringhe che fanno riferimento ai
Tag e questo non lo sò fare
Qual'è la verità?
Come farei per generare una pagina html contenente appunto il testo
digitato dall'utente nelle edit e i tag necessari? sempre che sia
possibile...
Spero qualcuno mi sappia aiutare....
Grazie a tutti
ciao fabio

 Tag e questo non lo sň fare
E' uguale a quello che ti ho risposto io.
Prendendo il tuo codice di esempio:
//*****************************************************
void __fastcall TForm1::CreaFileClick(TObject *Sender)
{
  TStringList *Lista= new TStringList();
  try
  {
    if( SaveDialog->Execute() )
    {
      // Testa
      Lista->Add("<html><head><title>" + Form1->Caption + 
"</title></head><body>");
      Lista->Add("<TABLE>");
        // 1a riga
        Lista->Add("<TR>");
          Lista->Add("<TD>" + Label1->Caption + "</TD>");
          Lista->Add("<TD>" + Edit1->Text + "</TD>");
        Lista->Add("</TR>");
        // 2a riga
        Lista->Add("<TR>");
          Lista->Add("<TD>" + Label2->Caption + "</TD>");
          Lista->Add("<TD>" + Edit2->Text + "</TD>");
        Lista->Add("</TR>");
      Lista->Add("</TABLE>");
      // Coda
      Lista->Add("</body></html>");
    }
    Lista->SaveToFile(SaveDialog->FileName);
  }
  __finally
  {
     delete Lista;
  }
}
//*****************************************************
(con beneficio di inventario...)
Non mi sembra cosě difficile ;)
M.

Newsgroup: it.comp.programmare.win32
Titolo: window procedure in un altro processo

e' possibile intercettare la window porocedure di un processo esterno?
la semplice Get/SetWindowLong funziona anche per finestre di altri
processi?
--------------------------------
Inviato via 
http://usenet.iol.it

 di altri processi?
Devi utilizzare una funzione hook che sia in una DLL e attivarla con 
SetWindowsHookEx.
Tieni presente che la DLL verrà caricata nello spazio di indirizzi del 
processo di destinazione e quindi non potrà accedere direttamente ai 
dati del processo che ha attivato l'hook.
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)
Newsgroup: it.comp.programmare.win32
Titolo: Norton Ghost

Qualcuno puo' aiutarmi nel creare un floppy autopartente di Norton Ghost 
2003..con all'interno dei driver di un controller ide promise?
Scusate se sono OT..ma non sapevo proprio dove postare.
Grazie e buon anno  a tutti 

 ha scritto nel messaggio 
news:43b7b359$0$1076$4faf...@reader2.news.tin.it...

Newsgroup: it.comp.programmare.win32
Titolo: [visuaò c#][.NET]come faccio a ottenere e settare una chiave di registro?

come da oggetto come la ottengo?
grazie e ciao a tutti

 ha scritto nel messaggio
news:mfMod.8266$C94....@tornado.fastwebnet.it...


> come da oggetto come la ottengo?
Puoi usare il namespace Microsoft.Win32 che contiene le classi Registry e
RegistryKey
-- 
Raffaele Rialdi
Microsoft .NET MVP 
http://mvp.support.microsoft.com
 -
http://italy.mvps.org
 UGIdotNET - User Group Italiano .NET
http://www.ugidotnet.org
 Weblog: 
http://blogs.ugidotnet.org/raffaele

> > come faccio a ottenere e settare una chiave di registro?
Prova a studiare ed utilizzare le Registry Functions qui documentate:
msdn.microsoft.com/library/
 en-us/sysinfo/base/registry_functions.asp
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 
msdn.microsoft.com/library/
 en-us/sysinfo/base/registry_functions.asp
Da dotnet puoi usare direttamente le classi che citavo, risparmiandoti anche
qualche grattacapo. Non č necessario passare dalle funzioni Win32 via
PInvoke.


Newsgroup: it.comp.programmare.win32
Titolo: Assembler e Internet

Qualcuno sa dirmi se esistono in rete siti con libri o documentazione in
italiano sulla
programmazione in Assembler su processori della famiglia x86
grazie in anticipo a tutti

 ha scritto nel messaggio
news:RBFo8.31095$pT1.8...@news1.tin.it...

 
http://www.giobe2000.it
http://www.autistici.org/itassembly/

Newsgroup: it.comp.programmare.win32
Titolo: Programmatori DirectX cercasi, è importantissimo!!!







Chi sa programmare in DirectX 8?
Vi 
prego è moooltooo urgente, sono in panne e non so a chi rivolgermi.
Chi è 
interessato posso inviare il programmino (un centinaio di k..).


 


Gli strumenti utilizzati sono:
- MS Visual Basic 6 Professional
- 
DirectX 8 SDK (utilizzo DirectSound)


 


In pratica il programma funziona, almeno quello che ti ho spedirò..
Il 
problema è un altro.
Invece di caricare un file da suonare ed effettare, 
dovrei mandare al suo posto un byte che mi arriva ogni tot ms dalla porta 
parallela.
Una volta è x il ch dx, l'altra x il ch sx.


 


Nel programma c'è un generatore di numeri casuali x simulare il byte 
che arriva dalla parallela, ho anche impostato il timer in modo che faccia finta 
di multiplexare 2 canali a 44.100Hz.


 


Invece di caricare un file .wav e bufferizzarlo, devo mandare alla scheda 
audio un byte.


 


------------------------------NK25 
Studios--------------------------
  SklErø - Musician of NK25 Studios - 

nk...@europe.com
  
http://actionrpg.cjb.net
  Amy4Ever 
on #AmigaIta - Voglio AmigaDE!!!
  
http://sklero.cjb.net
  -  
http://sklero.rules.it
------------------------------NK25 
Studios--------------------------



Chi č interessato posso inviare il programmino (un centinaio di k..).
Sul problema specifico non posso aiutarti,  ho appena cominciato con le DX8,
ma se posti lo stesso messaggio su it.comp.giochi.sviluppo troverai
parecchi programmatori DX8.





grazie, proverò!


------------------------------NK25 
Studios--------------------------
  SklErø - Musician of NK25 Studios - 

nk...@europe.com
  
http://gpi.infomedia.it/nk25

Newsgroup: it.comp.programmare.win32
Titolo: Come leggere le freccie della tastiera?

Sto scrivendo un programma ms-dos col visual c++ 6.0 versione standard di
microsoft; volevo sapere quale codice devo inserire nella _getch() per
riconoscere le frecce; grazie infinitamente per il vostro aiuto.


Ho già postato io la stessa domanda tre giorni fa.
Cmq le frecce vengono riconosciute come una sequenza di 3 caratteri:
'ESC', '[' , 'A' o 'B' o 'C' o 'D'  (up,down,right,left).
io ho fatto una cosa simile a quella proposta da 1Sconosciuto:
Assumendo che readch() e' la funzione che ti ritorna un carattere
(nel tuo caso è getch):
if (readch() == 0x1B)
{
  if (readch() = '[') {
       if readch() = 'A') printf ("freccia su");
       if readch() = 'A') printf ("freccia giù");
        ...
   }
}
perchè se usavo lo switch-case mi venivano stampate "tutte le frecce",
e non avendo il tempo di scoprirne il motivo mi sono "arrangiato".
Lascio  ai più esperti maggiori commenti.
bye ;-)

 e non avendo il tempo di scoprirne il motivo mi sono "arrangiato".
Hai usato l'istruzione break dopo ogni caso?
Es:
switch(a) {
  case 1:
    /* Codice */
    break;
  case 2:
    /* Codice */
    break;
  default:
    /* Codice */
    break; 
}
PS: Non sono sicuro che sul default sia necessario il break, ne dubbio
lo metto :^)
Ciao,
-- 
+--------+ ASCII ribbon campaign ( )
|  kral  |  - against HTML email  X 
+--------+              & vCards / \

 e non avendo il tempo di scoprirne il motivo mi sono "arrangiato".
Hai usato l'istruzione break dopo ogni caso? no: mea culpa :-p
ho riprorvato e funziona benissimo: la comoditą č non indifferente!!!
molte grazie.
bye ;-)

Newsgroup: it.comp.programmare.win32
Titolo: terminare un thread

Stavo realizzando un semplice programma e in questo programma ho un
trhead lanciato da una finestra di dialogo. Come faccio a interrompere
il thread dalla finestra di dialogo? (mi spiego meglio)
void thread1 (...)
{
	//il mio thread
}
BOOL APIENTRY dialogbox (...)
{
	//la mia finestra di dialogo...
	//da qui desidero interrompere il thread1  
}
grazie in anticipo
messaggio di: credici [
cre...@infinito.it
]

 il thread dalla finestra di dialogo?
TerminateThread


Cattivone! Dall'SDK:
"TerminateThread is a dangerous function that should only be used in the
most extreme cases."
Forse e' meglio una variabile condivisa dai due thread, con magari un
timeout
bool bTerminate=false
HANDLE hThread; /*inizializzato con CreateThread da qualche altra parte*/
void thread1(...)
{
    while(!bTerminate)
    {
       ..corpo del thread
    }
}
BOOL APIENTRY dialogbox(...)
/*brutto usare nomi delle api con differenze in maiusc/minusc, si cercano
problemi*/
{
    bTerminate=true;
    if(WaitForSingleObject(hThread,100)==WAIT_TIMEOUT)
    {
        /*beh, il thread non si e' suicidato in 1/10 di secondo, lo facciamo
fuori noi*/
        TerminateThread(hThread,-1);
    }
    ...ecc ecc
}
Ciao,
Zello
Newsgroup: it.comp.programmare.win32
Titolo: Formattazione di disco d' avvio in VB

Salve, ho questo problema: come faccio ad eseguire una formattazione di un
floppy disk, con copia dei files di sistema sullo stesso, in un'
applicazione VB?  Nota, tutto ciò su windows 95-98 e non ME.Ho usato la
funzione API SHFormatDrive (Declare Function SHFormatDrive Lib "shell32"
(ByVal hwndOwner As Long, ByVal iDrive As Long, ByVal iCapacity As Long,
ByVal iFormatType As Long) As Long) che però 1) non consente di impostare
automaticamente all' apertura della finestra di formattazione sia l' opzione
"formattazione completa" che quella "copia files di sistema"; 2) Rende
possibile a chi il programma dovrà usarlo di pasticciare colle impostazioni,
eventualmente ritrovandosi con un disco floppy non avviabile.
Qualcuno sa suggerirmi una strada diversa?
Grazie Tante

 ha scritto nel messaggio news:9bhdej$r1h$1...@lacerta.tiscalinet.it...


Newsgroup: it.comp.programmare.win32
Titolo: ancora socket

Qualcuno sa dirmi perche' il banale programma sotto riportato non
funziona sotto windows 95
(l'ho compilato con il Visual C++ da Visual Studio 6). Ho provato a
linkarlo con varie  librerie,
cioe` ws2_32.lib, winsock.lib, ecc. pero` sembra che non gliene possa
fregare di meno: la socket sembra
fallire sempre e comunque. In ogni caso ho anche provato a definire la
macro _POSIX_ per
dire al compilatore che volevo creare una applicazione conforme allo
standard POSIX (togliendo la
include di winsock2.h e mettendone altre) ma in questo caso ottengo vari
errori in compilazione.
Qualcuno sa quali sono le opzioni per il compilatore e le librerie da
linkare alla applicazione
se si vuole far girare una banale applicazione come quella sotto ?
#include <winsock2.h>
int main(){
    int s=socket(AF,INET,SOCK_DGRAM,0);
    return 0;
}

Devi inizializzare la Dll con
        WSAData wsaData;
        if (WSAStartup(MAKEWORD(1,1),&wsaData) != 0)
        {
        return 1;
        }
come prima chiamata. Poi puoi creare il socket.
Ciao.


}
sono nuovo nel NG...
ma non č AF_INET????
--
E.G. er Cicca
er_c...@freemail.it
Per rispondere in privato, sostituite @
usa.net
 con @
freemail.it
Hiroshima 45, Chernobyl 86, Windows 98
Newsgroup: it.comp.programmare.win32
Titolo: LIBRO SULL'ASSEMBLER?????????????

Volevo sapere se qualcuno mi può indicare se esiste un libro che tratti la
programmazione in assembler in italiano magari dirmi il titolo e se conosce
anche l'autore.
Grazie anticipate a chi mi saprà dare una mano.
Carlo

 ha scritto nel messaggio
news:8gn0fk$hrv$1...@pegasus.tiscalinet.it...


Sei OT comunque libri in Italiano non ne esistono di
validi(almeno io non ne ho mai trovato uno decente),
se l'inglese non ti spaventa cerca in rete il libro
"The art of Assambly Language",e' liberamente scaricabile
in pdf.
Ciao.


 Carlo
Per I386/486 puoi sicuramente prendere il Murray/Pappas  che ti e' stato 
consigliato in un'altro post. E' in Italiano.
In inglese c'e' questo manuale on-line
"
www7.informatik.uni-erlangen.de/~msdoerfe/embedded/386html/toc.htm
"
Per quanto riguarda il Motorola 68k purtroppo mi viene in mente solo un
bel libro in Inglese:
	"68000 Family Assembly Language" di Alan Clements
Fausto

 Sei OT comunque libri in Italiano non ne esistono di
 Non voglio fare il polemico, ma se il ragazzo vuole imparare l'assembly per
la piattaforma Win32 dove deve chiedere se non qui?
 Saluti,
 Pierluigi

Newsgroup: it.comp.programmare.win32
Titolo: DirectX 7 SDK

Ciao a tutti,
Qualcuno sa dirmi, per favore, se ci sia qualche rivista (anche
arretrata) che contenga un CD con l'SDK del DirectX-7 (non solo i
runtime)?
Grazie, ciao.

runtime)?
Numero 30 di Io Programmo (non ricordo il mese).
Saluti,
    Mardy

 Numero 30 di Io Programmo (non ricordo il mese).
Thanx!

Newsgroup: it.comp.programmare.win32
Titolo: [BCB] Settare acceleratore hardware

Qualcuno conosce il metodo per settere l'accelerazione hardware della 
scheda grafica da programma? 
grazie	
-- 
Ciao
Franco

 scheda grafica da programma? 
Che intendi per "settare"?
Usare le DirectX può andare bene?
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Usare le DirectX può andare bene?
ho fatto un programma con Opengl, in cui e' necessario avere settato al 
massimo l'accelerazione hw; vorrei che l'utente lo facesse senza 
l'ambaradan  "tasto destro sul descktp, ecc"
Ho visto che un programma ha un comando che lo fa.
-- 
Ciao
Franco
Newsgroup: it.comp.programmare.win32
Titolo: sincronizzare thread

vorrei avere 1 esempio di uso della classe CMutex (VisualC) per fare in modo
da sincronizzare due thread, in modo che vengano eseguiti in modo alternato.
Io ho provato questo:
CMutex *pm1,*pm2
myApp::thread1(){
  for(;;){
     pm1->Lock();
     /*esecuzione sincronizzata */
     pm2->Unlock();
  }/*end for*/
}
myApp::thread2(){
  for(;;){
     pm2->Lock();
     /*esecuzione sincronizzata */
     pm1->Unlock();
  }/*end for*/
}
myApp::Run(){
  pm1=new CMutex();
  pm2=new CMutex();
  AfxBeginThread(thread1,...);
  AfxBeginThread(thread2,...);
}
Dove sbaglio? In compilazione non ricevo errori ma in esecuzione solo uno
dei thread viene eseguito oppure si alternano ma non ad ogni singolo passo


Hai provato ad utilizzare un singolo Mutex ?
CMutex *pm1;
myApp::thread1(){
  for(;;){
     pm1->Lock();
     /*esecuzione sincronizzata */
     pm1->Unlock();
  }/*end for*/
}
myApp::thread2(){
  for(;;){
     pm1->Lock();
     /*esecuzione sincronizzata */
     pm1->Unlock();
  }/*end for*/
}
myApp::Run(){
  pm1=new CMutex();
  AfxBeginThread(thread1,...);
  AfxBeginThread(thread2,...);
}
Quando un thread sblocca il mutex l'altro in attesa lo blocca.
In alternativa potresti usare un Mutex per accedere ad una variabile intera
che stabilisca quale thread debba eseguire la funzione:
CMutex *pm1;
int nThread = 1;
myApp::thread1(){
  for(;;){
     pm1->Lock();
    if(nThread==1) {
         /*esecuzione sincronizzata */
        nThread=2;
    }
     pm1->Unlock();
  }/*end for*/
}
myApp::thread2(){
  for(;;){
     pm1->Lock();
    if(nThread==2) {
         /*esecuzione sincronizzata */
        nThread=1;
    }
     pm1->Unlock();
  }/*end for*/
}
myApp::Run(){
  pm1=new CMutex();
  AfxBeginThread(thread1,...);
  AfxBeginThread(thread2,...);
}
Ovviamente non ho provato il codice che ti ho proposto, spero comunque di
esserti stato d'aiuto.
Ciao
Porlock.
Newsgroup: it.comp.programmare.win32
Titolo: Ridimensionamento finestra

Ho notato che il modo di agire fra Win 2K e win 9x e' diverso quando
ridimensiono una finestra child con il mouse .
In pratica 2K continua ad inviare messaggi WM_PAINT mentre cambia la
dimensione della finestra.
E' possibile inibire l'invio di questi messaggi e averne uno solo
finale a ridimensionamento completato ?
grazie


Penso che si disabiliti andando nelle proprieta' dello schermo (tasto dx sul
desktop) e dalla scheda "Effetti" deselezionare l'opzione "Mostra contenuto
della finestra durante l'operazione di trascinamento".
Luca

della finestra durante l'operazione di trascinamento".
Grazie ,si l'effetto che volevo eliminare e' proprio questo.
La tua risposta risolve il mio problema .
Adesso pero' mi e' rimasta la curiosita di sapere se e' possibile fare
la stessa cosa dal mio applicativo .... .
Sapresti come si puo fare ?
ciao
 


Beh, penso che Windows salvi l'impostazione nel registry, basta vedere dove
la scrive e modificarla dal tuo programma. Questo pero' comporta la modifica
del comportamento in tutto il sistema. Se vuoi modificare solo il
comportamento del tuo software potresti fare cosi: usi un flag che inibisce
il repaint (lo testi nel WM_PAINT e se e' settato non esegui il repaint).
Questo flag lo setti durante il WM_SEZING (inviato durante il resize) e lo
resetti durante il WM_SIZE (inviato dopo il resize).
Luca

Newsgroup: it.comp.programmare.win32
Titolo: lost focus? no grazie

ciao!
vi ricordate di me?
scusate se il subjet non e' dei migliori...
vorrei sapere se e' possibile fare in modo che una finestra non perda il
focus se non chiudendola?
denghiu!
ps.
una cosa abbastanza stupida pero' scusatemi non riesco a capirla... :-(
quando "compilo" i campi di una WNDCLASS metto questo:
wcMain.WndProc = WndProc;
se non mi ricordo sbagliato il nome del campo e' quello...
poi ci sara' una funzione dichiarata cosi':
LRESULT CALLBACK WndProc(...);
se io invece di "WndProc" sia nella struttura WNCLASS sia nella funzione
dopo metto un altro nome es. "WndProcMain" il programma non va piu' come
faccio a farlo funzionare?
(tempo fa ho chiesto qualcosa sui puntatori a func ma non ho avuto
risposte...)
grazie ancora per la pazienza!
--
-roku-
rok...@tin.it

 ha scritto nel messaggio news:4Fdn6.737$5N4....@twister2.tin.it...

Newsgroup: it.comp.programmare.win32
Titolo: devcpp, codice su piu sorgenti

Ciao, rieccomi con i problemi nella compilazione di codici  costruiti su
piu'di un singolo sorgente.
SORGENTE1.
void salva (void);
char CARONTE[]="finche'la barca va'lasciala andare";
main()
{
salva();
}
SORGENTE2.
extern char CARONTE[];
void salva(void)
{
FILE*html;
html=fopen("C:/Windows/Desktop/THE MOUSE.txt","wt");
fprintf(html,CARONTE,strlen(CARONTE));
}
Se provo a compilare (DEVC/CPP) mi messaggia che.
'html'e 'FILE' (sorgente2)non dichiarati!(WHY?)
Tra l'altro se metto tutto il codice in un unico sorgente non da' problemi
di compilazione(ovviamente eliminando 'extern char CARONTE[];').


wrote:

Hai fatto: "#include <stdio.h>"?
Ma Windows ti apre il file se usi '/' invece che '\'?
Ciao
Marco Barisione (ICQ 84277092)

Ciao
ciao
sam

Qulacuno puo' aiutarmi?
Ho provato a compilare, e non ho ottenuto nessun errore (ho provato
con dev c++ e con vc++), l'unica modifica č aggiungere nel SORGENTE2:
#include <stdio.h>
#include <string.h>
Sei sicuro di non aver incluso i file nel I sorgente?


Hai ragione, stanotte sono rimasto dalle 2.30 alle 6.30 attaccato al
computer per risolvere il problema, in effetti aggiungendo i file header il
problema e' risolto ma perche' li devo mettere anche nel sorgente due?
Non vengono poi linkati tutti assieme?
CMQ grazie per la risposta era proprio quello il problema ma io l'avevo
escluso visto che gli header c'erano già in sorgente.1.
Ciao, Sam

[...]


Ecco svelato il mistero, adesso e' piu chiara la cosa.
Ciao grazie
Sam
Newsgroup: it.comp.programmare.win32
Titolo: Scelta font con VisualC++ e MFC

Salve, sono uno studente di informatica intento a preparare un esame su MS
Visual C++ e mi trovo davanti ad un problema, se ci fosse qualcuno disposto
ad aiutarmi...
Ho creato un semplicissima applicazione Win 32 con MFC che scrive nella
finestra una stringa. Ora sono riuscito a cambiare colore del testo e del
background con la finestra CColorDialog richiamata da un pulsante. Ma non mi
riesce assolutamente di cambiare il font. Ho provato con GetFont ma poi non
riesco a capire come impostare il font in output. Per scrivere il testo
sulla finestra utilizzo il comando pDC->TextOut(...) nella funzione OnDraw,
spero di essere stato esaustivo. Eventualmente posso postare il codice fino
al punto in cui sono arrivato. Grazie mille a chiunque mi darà una mano
Gianluca

 riesco a capire come impostare il font in output.
vedi l'help sulla classe CFont.
per creare il font devi fare una cosa del genre:
CFont Fnt, *pFntOld;
Fnt.CreatePointFont( 100, _T("Verdana"));
    // 100 e' la dimensione in 1/10 di punto (quindi 10pt)
pFntOld = dc.SelectObject(&Fnt);
// qua scrivi il testo, e poi deselezioni il font:
dc.SelectObject(pFntOld);
// Fnt viene eliminato (come oggetto GDI, e come classe) all'uscita
dello scope
se vuoi far scegliere il font all'utente usa i common dialogs (che
penso già conosci, visto che li hai usati per scegliere il colore).
ciao
xaero


 riesce assolutamente di cambiare il font.
Devi crearne uno nuovo con CreateFont() o CreateFontIndirect() specificando
tutti i dati utili (face, altezza, larghezza...) e poi selezionarlo nel DC
con SelectObject().
---
Bye! Lorenzo Lutti
http://antani.virtualave.net/

 xaero
Mmmmm, perdonami ma sicuramente per colpa mia non riesco a capirti, avevo
già visto l'help ma non è che ci avessi capito un granchè... probabilmente
non è al mio livello e stò cercando di fare cose troppo astruse per me che
il prof non metterà mai nel compito...
Cmq per curiosità ci riprovo!:-))
Allora, io setto il colore del testo con questo codice attivato da un
pulsante
COLORREF coltext;
CColorDialog coltesto;
if(coltesto.DoModal() == IDOK) {
 coltext=coltesto.GetColor();
 }
dopodichè nella funzione OnDraw aggiungo queste due righe
pDC->SetTextColor(coltext);
pDC->TextOut(100,100,Testo);
e il gioco è fatto. Dubbio: e se invece di cambiare colore del testo mi
chiede di cambiare il font visto che oltre a CColorDialog (che abbiamo
trattato) c'è anche CFontDialog? Penso: si fara in maniera simile e provo
così:
CFont *fonttext;
CFontDialog fonttesto;
if(fonttesto.DoModal() == IDOK) {
 fonttext=fonttesto.GetFOnt();
 }
Ma eseguendo così mi dà un "Debug Assertion Failed" dopo aver premuto OK
nella finestra di dialogo.
Ammesso che il tutto non sia un immane obbrobrio (cosa a questo punto molto
probabile :-|), come faccio a dire a TextOut che deve usare quel font?
Oppure per questo c'è un altro comando?
Se il problema si può risolvere in maniera simile OK, altrimenti se la cosa
è più complessa ti ringrazio molto per l'interessamento e non preoccuparti
oltre, non lo metterà mai nel compito perchè abbiamo fatto solo cose del
genere.
Saluti
Gianluca
Newsgroup: it.comp.programmare.win32
Titolo: Esecuzione di Programmi

Come posso lanciare dei file Eseguibili dall'interno di un'applicazione
realizzata con C++Builder. Ad esempio vorrei lanciare WinZip o EinRar.
Grazie a chiunque mi sarą di aiuto.

 Grazie a chiunque mi sarà di aiuto.
Usa l'API
BOOL ShellExecuteEx(
    LPSHELLEXECUTEINFO lpExecInfo
);
Per lanciare un qualsiasi programma devi conoscere però la sua posizione sul
disco, al limite puoi lanciare il prog predefinito per i .zip passando
all'API un qualunque file zip.
Es:
         SHELLEXECUTEINFO execinfo;
          memset(&execinfo, 0, sizeof(execinfo));
            execinfo.cbSize = sizeof(execinfo);
         execinfo.lpFile = "myFile.zip";
         execinfo.lpVerb = "open";
         execinfo.lpParameters = "";
         execinfo.fMask = SEE_MASK_NOCLOSEPROCESS;
         execinfo.nShow = SW_SHOWDEFAULT;
         ShellExecuteEx(&execinfo);
Spero nella fretta di non aver sbagliato qualcosa...
^DunE^

Newsgroup: it.comp.programmare.win32
Titolo: problema con TCanvas

sto usando Borland C++Builder 3.
devo fare delle operazioni su due immagini caricate da file e mostrare l'output su un controllo TImage.
inoltre devo poter leggere i pixel dello schermo direttamente (dal DC del desktop).
per caricare le 2 bitmap uso delle TBitmap, e fin qui per leggere i pixel delle bitmap non c'è nessun problema.
il problema è come faccio a leggere i pixel del desktop, perchè mi serve un TCanvas temporaneo, in modo da poter accedere ai pixel
dello schermo attraverso la matrice Pixels[x][y] del TCanvas (che contiene una copia dell'immagine del desktop).
per fare questo ho usato BitBlt, con DC di destinazione myCanvas->Handle (myCanvas è un TCanvas, dichiarato con TCanvas *myCanvas =
new TCanvas;).
ma quando eseguo mi da un errore:
"Canvas does not allow drawing"
allora come posso fare per leggere questi pixel?
so che GetPixel( hDCdesk, ...) sarebbe troppo lento
grazie
ciao
xaero


Newsgroup: it.comp.programmare.win32
Titolo: Caratteri speciali in stringhe lette da file

Ho inserito tutte le stringhe del programma in un file che viene letto al 
momento dell'esecuzione.
Cio mi consente di utilizzare dei correttori automatici ed eventualmente 
tradurlo in altre lingue.
Pero' accade che i caratteri speciali tipo \n non vengono visti dal 
programma.
ad esempio per la frase, da in serire in un MessageBox()
Vuoi chiudere il programma? \n Premi OK
\n viene stampato e non funziona come "a capo".
Inserendo la frase direttamente in MessageBox(), il tutto funziona.
Ringrazio in anticipo a chi mi rispondera'
Ciao
Franco

Fram wrote:

Certo: '\n' è un singolo carattere.
Se tu metti nel file di testo \n, quando lo leggi (non so che linguaggio tu
stia usando) prendi due caratteri: '\' e 'n'.
Per ovviare al problema devi combinare i due caratteri, ad esempio: quando
leggi i caratteri dal file, se il carattere è uguale a '\', controlla se il
prossimo è uguale a 'n'. Se la condizione è soddisfatta, nella stringa metti
il carattere newline '\n'.
Spero di essere stato chiaro.
--
Lupino
Azzurranet IRC: @#afiad, @#fils, @#pokegalaxy - ICQ: 91528290
Mail: Remove PAN to contact me
- "It is not important what you believe, only that you believe." -

Newsgroup: it.comp.programmare.win32
Titolo: apertura COM10 fallita

ciao,
problema strano:
ho due adattatori USB to serial e uno finisce con una porta su COM10,
ora, la com1 viene aperta da VC normalmente, mentre la com10 no,
da notare che VB la apre!
ecco le linee di codice:
 tmpComHandle = CreateFile(commPortName, GENERIC_READ | GENERIC_WRITE,
  0,       // Comm ports must be opened with exclusive access
  NULL,      // No security attributes
  OPEN_EXISTING, // Comm ports must use OPEN_EXISTING
  0,       // Not overlapped I/O
  NULL);     // hTemplate must be NULL for comm ports
se commPortName  e'  "COM1" o cmq sotto 10 funziona, sopra no!
ripeto, in VB la apre e da hyperterminal pure...
idee?
grazie
GCL 

 ripeto, in VB la apre e da hyperterminal pure...
Prova a specificare "COM10:" anziché "COM10".
-- 
emboliaschizoide.splinder.com

> Prova a specificare "COM10:" anziché "COM10".
niente da fare, rende INVALID_HANDLE_VALUE lo stesso...
ma la porta esiste ed e' utilizzabile da altre applicazioni,
e' come se la CreateFile trimmasse il comando a COM1, ma
non e' vero neppure questo, perche' COM2 esiste ma COM20
(che trimmato darebbe COM2) non la apre...
boh? 

 wrote in message
news:sxpWg.19550$pp1....@tornado.fastwebnet.it...

da VC le porte sopra la 9 vanno aperte col nome \\.\COMxx
x comodita' ... preponi SEMPRE \\.\
Cia'
  Sko

 x comodita' ... preponi SEMPRE \\.\
mettendolo ESATTAMENTE come mi hai inviato tu, e cioe'
\\.\COM10 tra doppi apici come nome del file
mi dava un warning: warning C4129: 'C' : unrecognized character escape 
sequence
e poi non andava comunque,
allora ho raddoppiato gli \
scrivendo:
\\\\.\\COM10  tra apici.
Adesso va!
grazie mille!
GCL 

 wrote in message
news:yosWg.19910$pp1....@tornado.fastwebnet.it...

Bona la seconda ;)
Cia'
  Sko
Newsgroup: it.comp.programmare.win32
Titolo: [] Radio Group, li usiamo oppure no ?

Sempre piu' spesso mi viene da chiedere a che servano ormai i radio 
group, le raccomandazioni MS riguardo l'interfaccia utente non li citano 
quasi mai, la stessa interfaccia dei programmi windows piu' nuovi ne fa 
uso in un modo che sarebbe giusto definire simbolico (ad esempio, sono 
usati al max 4-5 volte in tutte le componenti dell'interfaccia di 
Windows2000) 
Il loro sostituto sono le combobox, spesso piu' flessibili..
Ora vi chiederete...questo che vuole da noi :-)) ebbene, volevo sapere 
(siccome sono certo che molti di voi qui si occupano anche del design 
d'interfaccia, e non solo dell'implementazione del codice) cosa ne 
pensavate al riguardo
Meglio EVITARLI, usarli solo per una selezione binaria (eg. SI- Riavvia, 
NO- Ritorna a WIndows) , o fare finta di nulla? :)
-- 
  . 
darX...@tin.it
      . 
darx...@wappi.com
 (GSM SMS)
   . Fido 2:335/241.5     . 
http://darxstar.cjb.net
  ICQ UIN# 11151997 -   
  trough Britannia: Gwydion the Mage <UO: EUROPA,now in Trisinc>
---
I don't want my freedom: there's no reason for living, with a broken heart
 -- The Queen

 NO- Ritorna a WIndows) , o fare finta di nulla? :)
Personalmente trovo i radio groups molto "immediati e veloci" delle combo: vedi
tutte le varie alternative a colpo d'occhio e cambi le impostazioni con un
singolo click o anche con una sequenza di tasti (in modo molto semplice, senza
bisogno di scrivere codice).
Ovviamente le combo permettono di fare cose interessanti, soprattutto in virtu`
della loro dinamicita` e del fatto che occupano poco spazio. Ma quando lo
spazio me lo permette e ho un numero limitato di alternative, trovo molto piu`
efficaci i radio.
--
Bye! Lorenzo Lutti
http://www.geocities.com/SiliconValley/Peaks/6258/

Il loro sostituto sono le combobox, spesso piu' flessibili..
In effetti la combobox permette di scegliere un'opzione, anche tra molte, in
pochissimo spazio. Di fatto, credo possa sostituire in tutto e per tutto i
radio buttons; tuttavia, se le scelte sono poche (e note a priori), come
impatto grafico preferirei un po' di radio buttons...
Saluti,
    Mardy

Considera anche che puoi dare la forma di un bottone alle Combo Box, e
velocemente assegnagli una bitmap. La velocità e l'immediatezza poi sono molto
superiori alle Combo. Ovviamente una Combo occupa meno spazio.
+-O Selezione 1 --------------+
| Testo in Grigio se non selez     |
+------------------------------+
+-@ Selezione 2 --------------+
| Testo visibile selezionato         |
+------------------------------+
Scusate per il disegno orribile (e incomprensibile)
Newsgroup: it.comp.programmare.win32
Titolo: WndProc in una classe

Ho bisogno di inserire la WndProc per la gestione dei messaggi in una classe
di gestione della finestra Windows.
Essendo una CALLBACK il compilatore (Visual C++ 6) mi dà un errore del tipo
:
error C2440: 'type cast' : cannot convert from '' to 'long (__stdcall
*)(struct HWND__ *,unsigned int,unsigned int,long)'    None of the functions
with this name in scope match the target type
nella riga :
 wc.lpfnWndProc  = (WNDPROC) WndProc;
dove wc è la WNDCLASS.
Ho inserito come metodo della classe nella parte public:
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM
lParam);
e il corpo della funzione inizia così :
LRESULT CALLBACK CClasse::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam,
LPARAM lParam)
dove CClasse è la mia classe.
Qualcuno sa come posso eliminare l'errore.
Grazie  e ciao

 lParam);
Quando dichiari delle callback (o delle thread procedures, o in generale
delle funzioni chiamate da Windows) come funzioni membro di una classe, le
devi sempre dichiarare static.
---
Bye! Lorenzo Lutti
http://antani.virtualave.net/

Newsgroup: it.comp.programmare.win32
Titolo: Font come attaccarlo.....

Ciao utilizzo VC++ 6.0
Ho il seguente problema:
ho una variabile membro di tipo: CFont m_font;
Vorrei creare una funzione che mi permetta di estrapolare il Font di un CDC
per attacarlo
poi sulla mia variabile m_font.
Come posso fare???
Ciao e grazie.

per attacarlo poi sulla mia variabile m_font.
CFont *selfont = tuo_cdc.GetCurrentFont();
LOGFONT lf;
selfont->GetLogFont( &lf);
CFont nuovofont;
nuovofont.CreateFontIndirect( &lf);
E, se devi usare un CFont esterno gia` creato,
altrofont.DeleteObject();
altrofont.Attach( nuovofont.Detach());
Bye! Lorenzo Lutti (
http://www.geocities.com/SiliconValley/Peaks/6258/
)

Newsgroup: it.comp.programmare.win32
Titolo: GetCurrentDirectory non funziona?

La rispote del seguente codice c++ è "C:\dentienti".
Qualcuno sà dove sbaglio?
Grazie
LPTSTR   lpBuffer;
SetCurrentDirectory("c:\\documenti\\");
 GetCurrentDirectory(MAX_PATH,lpBuffer);
 AfxMessageBox(lpBuffer);

 ha scritto nel messaggio
news:aPLW6.47050$Uo3.1...@news6.giganews.com...

Non so, hai provato a verificare che la chiamata SetCurrentDirectory abbia
buon esito?
Ciao


wrote:

Probabilmente non funziona perche non hai definito il buffer .
La dichiarazione 
       LPTSTR   lpBuffer;
e' equivalente a 
       char *lpBuffer ;
cioe un puntatore a un buffer .
Ma la memoria per il buffer ?
Allora devi fare cosi :
     char  lpBuffer[MAX_PATH+1] ;
 

 ha scritto nel messaggio
news:3b2cd1cd...@news.inwind.it...

Newsgroup: it.comp.programmare.win32
Titolo: Visualizzazione dati in maschera con Access 2000

Salve a tutti.
Pongo un problema sicuramente semplice da risolvere ma che mi crea qualche
grattacapo.
ho un database access 2000 con 3 tabelle legate fra loro: tabella A a cui è
legata la tabella B a cui a sua volta è legata la tabella C; ho creato una
maschera principale la cui sorgente dati è la tabella A e una sottomaschera
che ha come sorgente dati la tabella B per cui al cambio del record della
tabella A mi si visualizzano nella sottomaschera i record della tabella B
... e fin qui tutto ok. Vorrei però inserire nella stessa maschera un'altra
sottomaschera (legata alla tabella C) in modo tale che selezionando un
record della sottomaschera legata alla tabella B mi si visualizzassero i
relativi record della tabella C ma ogni volta che tento di inserire questa
"sotto-sotto-maschera" access tenta di subordinarla alla maschera
prinicipale e non alla prima sottomaschera (quella della tabella B).
Grazie anticipate a chi saprà darmi qualche utile consiglio.
--
togli l'ANTISPAM per la reply
 
f.rmpA...@libero.it

