mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.programmare.win32
Titolo: Creare un eseguibile auto-estraente

Salve a tutti.
Vorrei creare un eseguibile auto-estraente.
Ho già creato programmi di compressione-decompressione con la libreria bz2,
che ho scoperto, facendo delle prove, essere la più efficiente (come
compressione) delle altre che ho testato, soprattutto per i file ASCII  (il
prezzo è il tempo di calcolo).
Il problema è che vorrei unire insieme in un unico file il file bz2
compresso e il file exe che dovrebbe scompattarlo e non so come fare.
E' possibile includere nelle risorse del programma un file con qualsiasi
estensione? Come si fa?
Premetto che uso il Dev-C++, che non ha un editor grafico per le risorse,
anche se comunemente riesco ad includere nelle risorse le icone bmp che
metto nell'intestazione della finestra.

Ciao, Flix!
Il giorno 29/02/2004 alle ore 16:17 hai scritto:
 F> Ho già creato programmi di compressione-decompressione con la libreria
 F> bz2, che ho scoperto, facendo delle prove, essere la più efficiente
 F> (come compressione) delle altre che ho testato, soprattutto per i file
 F> ASCII  (il prezzo è il tempo di calcolo).
Premessa: ci sono gia' programmi che creano eseguibili auto estraenti, dallo
zip al rar e probabilmente, cercando, anche con bz2.
 F> Il problema è che vorrei unire insieme in un unico file il file bz2
 F> compresso e il file exe che dovrebbe scompattarlo e non so come fare.
Appendi la parte compattata all'exe dello scompattatore e aggiungi 4 byte in
fondo al file risultante con dentro la dimensione del solo scompattatore. Lo
scompattatore come prima cosa legge gli ultimi 4 bytes del suo stesso file
per sapere in che punto inizia la parte compattata e inizia a scompattare.
In fondo puoi anche mettere piu' di quattro bytes ovviamente, sarebbe
opportuno magari mettere un marker che indichi che e' effettivamente un
eseguibile autoestraente.
La dimensione della parte eseguibile si dovrebbe poter ricavare anche
dall'header dell'exe eventualmente (in rete trovi tutto).
Bye
-- 
Marco Maccaferri
MaccaSoft - 
http://www.maccasoft.com

 Bye
Bye

Newsgroup: it.comp.programmare.win32
Titolo: per i programmatori

Hai realizzato un sw originale ?
vuoi distribuire il tuo software di *pubblico dominio* senza sostenere
alcuna spesa?
invia una mail all'indirizzo:
soft...@nicebels.it
ti offriamo la possibilita' di far conoscere a tutto il mondo il tuo
prodotto.
Saluti.
Sara Marini

vuoi distribuire il tuo software di *pubblico dominio* senza sostenere
alcuna spesa?
www.nicebels.it/software.shtml

Newsgroup: it.comp.programmare.win32
Titolo: [ot]forse :) UML

Salve a tutti,
Ragazzi dove posso trovare gruppi di discussione in italiano su UML ?

 Ragazzi dove posso trovare gruppi di discussione in italiano su UML ?
http://groups.yahoo.com/group/UML-Italia/
Non e` un gruppo di discussione ma magari ti torna utile
ciao!
-- 
Lawrence "Rhymes" Oluyede
http://loluyede.blogspot.com
Newsgroup: it.comp.programmare.win32
Titolo: [VC6] [MFC] Ridefinire gli operatori di confronto per la classe CString

Buonasera a tutti,
Uso Visual C++ 6.0 con MFC; in un mio progetto vorrei reimplementare alcune
"helper functions" della classe CString di MFC.
Nel file afx.h ho la dichiarazione dei seguenti metodi:
// Compare helpers
bool AFXAPI operator==(const CString& s1, const CString& s2);
bool AFXAPI operator==(const CString& s1, LPCTSTR s2);
bool AFXAPI operator==(LPCTSTR s1, const CString& s2);
....
Nel file afx.inl sono presenti le implementazioni (funzioni inline)i:
_AFX_INLINE bool AFXAPI operator==(const CString& s1, const CString& s2)
 { return s1.Compare(s2) == 0; }
_AFX_INLINE bool AFXAPI operator==(const CString& s1, LPCTSTR s2)
 { return s1.Compare(s2) == 0; }
_AFX_INLINE bool AFXAPI operator==(LPCTSTR s1, const CString& s2)
 { return s2.Compare(s1) == 0; }
Ora io vorrei in un mio progetto reimplementare questi operatori.
Ovviamente se nel mio sorgente scrivo:
bool AFXAPI operator==(const CString& s1, LPCTSTR s2)
{
    return (COMPARE_STRING(s1, s2) == 0);
}
il compilatore (giustamente) mi grida dietro...
 error C2084: function 'bool __stdcall operator ==(const class CString
&,const char *)' already has a body
C'č qualche stratagemma che posso sfruttare per aggirare questo problema.
O piů semplicemente non posso fare ciň che voglio fare.
Grazie per l'attenzione
Porlock

 "helper functions" della classe CString di MFC.
Devi derivare CString in una tua nuova classe. Quello che stai tentando 
di fare è da arresto.
;-)
-- 
Luc.

 ha scritto nel messaggio
news:MPG.1857d4489...@tornado.fastwebnet.it...

Infatti mi sto infognando in problema di proporzioni catastrofiche ;-)
Partendo dalla tua soluzione (la più ovvia e logica) dovrò andare a rivedere
oltre 400 librerie per "scovare" tutti i confronti di stringa che ci sono in
giro.
Come tu sai gli operatori di confronto (<,<=,>,>=,==,!=) del CString operano
con il confronto binario.
A me serve qualcosa di un po' più flessibile, ovvero il tipo di confronto
degli operatori potrebbe essere binario, case insensitive (con _tcscoll)
oppure case sensitive (con _tcscoll).
Come dici tu (e sono d'accordo) la cosa più semplice è inventare una nuova
classe che deriva da CString e definire i nuovi operatori.
La problematica più complessa è andare in oltre 400 sorgenti a scovare tutti
gli utilizzi "rilevanti" del CString e sostituirlo con la nuova classe.
Da suicidio ... ma se non c'è un alternativa soddisfacente...
Grazie per l'aiuto.
Porlock.
Newsgroup: it.comp.programmare.win32
Titolo: IMPOSSIBILE TROVARE "ISAM" INSTALLABILE

Cari amici,
dall'Oggetto di questa Mail potete già capire il problema a cosa si
riferisce:
Ho un progetto in VB 6, ho installato il SP4 ed utilizzo DAO per gestire un
DataBase Access 2000.
Durante la fase di Editing sembra funzionare tutto per il meglio, quando
invece compilo il progetto e lancio l'Eseguibile mi salta fuori questo
errore:   IMPOSSIBILE TROVARE "ISAM" INSTALLABILE
MI SAPRESTE SPIEGARE COSA DIAVOLO DEVO FARE??????????????????????
Perdonate l'Ignoranza, ma non si finisce mai di Imparare!!!

 errore:   IMPOSSIBILE TROVARE "ISAM" INSTALLABILE
Capitato anche a me con Access 97, provato l'impossibile.
Unica soluzione trovata: installare ( e poi se si vuole rimuovere) Access
sul Pc in questione.
Ciao
                   :-) Hd (-:
-^- Verso l'infinito e oltre...  -^-

MI SAPRESTE SPIEGARE COSA DIAVOLO DEVO FARE??????????????????????
Evidentemente non trova il driver ODBC o la libreria necessaria (DLL)
per il collegamento con il driver.
Dall'MSDN:
Couldn't find installable ISAM. (Error 3170)
The DLL for an installable ISAM file could not be found. This file is
required for linking external tables (other than ODBC or Microsoft Jet
database tables). The locations for all ISAM drivers are maintained in
the Windows Registry. These entries are created automatically when you
install your application. If you change the location of these drivers,
you need to correct your application Setup program to reflect this
change and make the correct entries in the Registry.
Possible causes: 
An entry in the Registry is not valid. For example, this error occurs
if you're using a Paradox external database and the Paradox entry
points to a nonexistent directory or driver. Exit the application,
correct the Windows Registry, and try the operation again.
One of the entries in the Registry points to a network drive and that
network is not connected. Make sure the network is available, and then
try the operation again. 
Resolutions:
In Microsoft Access 7.0 or 97, you can edit the Windows Registry. For
more information on registry changes, search for "Registry," and then
"Customize Windows Registry settings used by Microsoft Access" using
the Microsoft Access 97 Help index. For troubleshooting tips related
to this error message in Microsoft Access 7.0, please see the
following article in the Microsoft Knowledge Base: 
   ARTICLE-ID: Q155666
   TITLE     : ACC95: Troubleshoot "Couldn't Find Installable ISAM"
Error
For information about the ISAM drivers in Microsoft Access 97, please
see the following article in the Microsoft Knowledge Base: 
   ARTICLE-ID: Q159322
   TITLE     : ACC97: Paradox, Lotus, & MS Exchange/Outlook ISAMs in
               ValuPack
Vedi i corrispondenti articoli dell'MSDN evidentemente.
Newsgroup: it.comp.programmare.win32
Titolo: Intercettare i tasti premuti con un applicazione dialog based

> qual'e' la differenza con la cdialog???
Cosě a naso mi sento di dire che i tasti premuti non vanno al gestore
dialog, ma al controllo della dialog che ha il fuoco. Probabilmente avresti
lo stesso problema con una CFormView.
Non ho il tempo di fare prove, ma certamente puoi intercettare tutti i
messaggi della dialog nella PreTranslateMessage...
Federico.

 proc non viene mai richiamata...
Mi sembra di ricordare che sia sufficiente intercettare la
PreTranslateMessage() della dialog, e poi "filtrare" da li` i messaggi
che ti interessano. Di default la dialog li dirotta sul controllo che ha
il focus (e fa anche altre cose, tipo processare la pressione del tasto
Invio riferendola al pulsante di default).
--
Lorenzo

grazie dell'aiuto, ho provato ad utilizzare la PreTranslateMessage e con
questa intercetto
la pressione dei tasti della keyboard, ma arrivato a quel punto non so
come fare a gestire
gli otto tasti funzione che mi servono (F1->F8)
...come posso fare???
se mi scrivi una riga d'esempio, mi sarai di grande aiuto...
BOOL CDialogDlg::PreTranslateMessage(MSG* pMsg) 
{
	// TODO: Add your specialized code here and/or call the base class
	if (pMsg->message == WM_KEYDOWN)
	{
		MessageBox("","Premuto",MB_OK);
	}
	//
	return CDialog::PreTranslateMessage(pMsg);
}
ciao e grazie in anticipo!!!
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ...come posso fare???
Devi controllare il virtual key code. Qualcosa tipo:
BOOL CDialogDlg::PreTranslateMessage(MSG* pMsg)
{
    if (pMsg->message == WM_KEYDOWN &&
        pMsg->wParam >= VK_F1 &&
        pMsg->wParam <= VK_F8)
    {
        // fai quello che devi fare
        return TRUE;
    }
    return CDialog::PreTranslateMessage(pMsg);
}
Il return TRUE serve per "magiarsi" il messaggio (tanto lo processi gia`
dentro all'if). Non sono sicurissimo che quest'ultima cosa funzioni
anche per le dialog, pero`.
--
Lorenzo

 anche per le dialog, pero`.
funziona eccome...
anzi, se avessi messo il return TRUE, quando aprivo una dialog e da qui
ne aprivo
un'altra con la DoModal(), se richiudevo quest'ultima e passavo quindi a
quella
sotto, mi dava errore!
ho messo la return TRUE e adesso passo da una modale all'altra senza 
errore...
ciao e grazie a tutti!!!


scusate l'errore, la prima riga e' se NON avessi messo return TRUE...
ciao

Newsgroup: it.comp.programmare.win32
Titolo: Sfondo finestra

Salve,
dove posso trovare informazioni cu come impostare uno sfondo ad una finestra 
(tipo editbox) con il c++ e le api windows? non uso mfc. A quanto ho capito 
mi serve gestire il messaggio wm_paint e crearmi un hdc. Il problema è che 
non so neanche cos'è un hdc. Tutti i link sono utili.
Grazie. 



          case WM_CTLCOLOREDIT :
          if ( (HWND) lParam  ==  GetDlgItem(hDlg,IDC_EDIT1 ) )  {
             SetTextColor((HDC)wParam,RGB(60,200,255) ) ;
             SetBkColor((HDC)wParam,RGB(0,0,0) ) ;
             return (LRESULT) GetStockObject(BLACK_BRUSH) ;
}
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceui40/html/cerefwm_ctlcoloredit.asp

 }
Grazie, ma mi devo essere espresso male come al solito, io voglio mettere 
un'immagine di sfondo non un colore. 


          case WM_ERASEBKGND :
          hdc = GetDC(hwnd) ;
          BitBlt(hdc,0,0,300,300,hdcmem,0,0,SRCCOPY) ;
          ReleaseDC(hwnd,hdc) ;
          return 1 ;
          case WM_PAINT :
          hdc = BeginPaint(hwnd,&ps) ;
         SetBkMode(hdc,TRANSPARENT) ;
          TextOut(hdc,0,0,"Ciao",4) ;
          EndPaint(hwnd,&ps) ;
          return 0 ;

Newsgroup: it.comp.programmare.win32
Titolo: visual basic

esiste un buon programma visual basic o VB .NET GRATUITO???
sapreste darmi qualche link??
Grazie mille!!!

 
Vuoi i sorgenti di un programma scritto in VB.net o visual basic?
Puoi cercare sui siti rivolti agli sviluppatori, sicuramente troverai 
esempi interessanti.
Se invece cerchi un ambiente di sviluppo gratuito che ti consenta di 
sviluppare in VB, allora prova a cercare "sharpdevelop" su google.
-- 
Valter Minute
(the reply address of this message is invalid,
but you may be able to guess the right one)

Newsgroup: it.comp.programmare.win32
Titolo: Pulsanti con immagini

Ciao a tutti,
sto vedendo in molti programmi che i pulsanti ( BUTTON ) contengono sia
testo che immagini, qualcuno sa come realizzarli in "Visual C/C++"?
Da "Resource Editor" di "Visual Studio" se imposto la classica proprità
di stile "Bitmap" o "Icon" poi non mi permette di visualizzare anche il
testo nel pulsante.
Grazie a tutti per le eventuali risposte.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

testo nel pulsante.
Cosi a memoria mi sembra devi inviare un SendMessage per passargli
l'handle all'icona o al bitmap .
Newsgroup: it.comp.programmare.win32
Titolo: [VC++ API] un pessimo figlio di listview

Salve a tutti,
posto perchè ho un insulso problemino con un controllo
listview; o meglio....
Voglio inserire una bmp nella mia finestra principale: come una
volta ho letto proprio su questo NG, un buon sistema (se non
quello + comodo) e' quello di creare un listview ad icone,
e settare il BackGround.
Cosi, ho creato il listview,
<code>
BG = CreateWindow(WC_LISTVIEW,NULL,
		LVS_ICON|WS_BORDER,
		6,72,124,272,MainWnd,NULL,
		(HINSTANCE) GetWindowLong(MainWnd,GWL_HINSTANCE),
		NULL);
</code>
E settato il background.
Ed infatti ha funzionato.
Ora, il problema e' che se includo lo stile WS_CHILD nel
CreateWindow per il listview, la finestra non viene
creata!
GetLastError() restituisce 1406 ovvero:
ERROR_TLW_WITH_WSCHILD
Cannot create a top-level child window.
A parte questo, sul Platform SDK, non sono riuscito a
trovare altro su questo errore.
Perchè non può creare il controllo nella finestra?
Come posso risolvere il problema?
In realta', il modo in cui uso il listview non e' interessante
per la discussione del problema...Volevo tuttavia chiedervi
quale ritenete essere il modo migliore di inserire una immagine
in una finestra (non dlg!).
Io l'immagine la dovrò far apparire e sparire diverse volte durante
l'esecuzione della finestra: in termini di prestazioni del programma
credo che la soluzione migliore sia rendere il controllo
visibile/invisibile...questa non e' una soluzione ottimale
invece per la memoria, in cui continua a risiedere il bmp
(di media grandezza)..
D'altronde creare e distruggere il controllo mi sembra pessimo!
Grazie a chi ha avuto la pazienza di leggere!
Ph.
--------------------------------
Inviato via 
http://usenet.libero.it

in una finestra (non dlg!).
Per le icone io uso un controllo STATIC con stile SS_BITMAP o SS_ICON,
con immagini/icone a 16 colori non ho mai avuto problemi.
Ciao
Stefano "HappyMan" (Lago Maggiore - NO)
--
Personal Web 
http://www.sgr.info
Email happyman69 (at) 
libero.it

 con immagini/icone a 16 colori non ho mai avuto problemi.
Mmm..
Ho anche provato cosi:
chiamo CreateWindow() con classe "Static", stile SS_BITMAP e come nome
window, la mia risorsa (bmp) tramite MAKEINTRESOURCE.
Quando eseguo questa chiamata si crea un Access Violation in lettura!
Ho anche provato a passargli un handle creato da LoadBitmap(), al posto
della risorsa direttamente, ma l'effetto e' lo stesso!
Almeno con il LV funziona! Devo solo riuscire ad inglobarlo nella finestra
(impostarlo WS_CHILD)....

Newsgroup: it.comp.programmare.win32
Titolo: StrToFloat in C++ Builder

Il mio problema č molto semplice..
io passo una stringa alla funzione
StrToFloat (ad esempio "0.065") e quello che ottengo č un float, come
volevo..
ma perchč cavolo mi arrotonda per difetto il numero? 
il float č
piů o meno 0.064999799...
ma a me serve cosě come gliel'ho passato!
Mi
potete aiutare?
Grazie!! 
Ciao, Minjo
--------------------------------
Inviato via 
http://usenet.iol.it

 wrote in message
213Z26Z181Z8Y1...@usenet.iol.it...


 ma a me serve cosě come gliel'ho passato!
Boh...prova con la vecchia double atof(const char *string)...
Ciao
        Riccardo

MyDouble = StrToFloat(MyString);
Ti ringrazio!!
ora
funziona perfettamente.. se non ti disturbo troppo, mi sai dire anche
perchč?


 wrote in message
213Z26Z181Z8Y1...@usenet.iol.it...


 quello...
In pratica questo dovrebbe avvenire perchč con la codifica č possibile
rappresentare solo un numero finito e non continuo di mantisse...
Ciao
        Riccardo

Vi ringrazio davvero...
non avevo idea che potesse esserci un problema del genere!
mi inchino di fronte alla vostra saggezza!
Bye Minjo

Newsgroup: it.comp.programmare.win32
Titolo: Scrivere un file di testo

come faccio a scrivere un file  di testo da CDocument, senza utilizzare
'serialize'?
Grazie per l'aiuto Francesco

BOOL CMyDocument::SaveTextFile(const CString &FileName)
{
  BOOL Result =
FALSE;
  TCHAR buff[1024];
  TRY
  {
    CFile file(FileName,
CFile::modeWrite | CFile::shareDenyNone);
    CArchive arc(&file,
CArchive::store, sizeof(buff), buff);
 
    //scrivi quello che ti
pare...
    arc.WriteString(_T("Ciao pippo!!"));
arc.WriteString(m_strMiaVariabileStringa);
arc.WriteString(_T("\r\n"));  //vai a capo
    arc.Close();
file.Close();
    Result = TRUE;
  }
  CATCH(CFileException, pEx)
  {
pEx->ReportError();
    Result = FALSE;
  }
AND_CATCH(CMemoryException, pEx)
  {
    AfxMessageBox(_T("Memory
Exception!"));
    Result = FALSE;
  }
  END_CATCH
  return Result;
}
--------------------------------
Inviato via 
http://usenet.iol.it
Newsgroup: it.comp.programmare.win32
Titolo: perchè il file non si apre ???

Ho 2 problemi assurdi (nel senso che sono talmente banali che mi fanno
pensare a qualche bug), col BCB4 devo creare un metodo che legge un file il
cui pathname è passato in un AnsiString:
TForm1::readFile(AnsiString nameFile)
{
       FILE *pF = fopen(nameFile , "r");
.........
1° problema se richiamo il metodo così:
readFile("C:\miadir\tizio\miofile.txt"); il parametro attuale all'interno
del metodo vale: nameFile="C\miadirtizio\miofile.txt" come è possibile cio??
2° problema, ho provato a fare direttamente
       FILE *pF = fopen("C:\miadir\tizio\miofile.txt", "r");
   ebbene, mi da pF=NULL anche se il file esiste e il path è corretto!!!
E' da tanto che non programmo in C (C++) ma ricordo che non era poi così
difficle aprire un file.
Qualcuno sa aiutarmi, grazie.

        FILE *pF = fopen("C:\miadir\tizio\miofile.txt", "r");
prova a scrivere: FILE *pF = fopen("C:\\miadir\\tizio\\miofile.txt",
"r");
Ciao, Marco ;-))
Sent via Deja.com 
http://www.deja.com/
Before you buy.

       FILE *pF = fopen("C:\miadir\tizio\miofile.txt", "r");
Hemmm! non vorrei offenderti, ma.... non e` che devi scrivere
"C:\\miadir\\tizio\\miofile.txt"?
Ciao.

 E' da tanto che non programmo in C (C++) ma ricordo che non era poi cosě


        FILE *pF = fopen(nameFile , "r");
Oltre alle indicazioni che ti sono sicuramente gia' pervenute,
deve essere anche:
FILE *pF = fopen(nameFile.c_str(), "r");
perche' l'AnsiString non ha il convertitore a char*.

Newsgroup: it.comp.programmare.win32
Titolo: Prima Prova

Scusate per l'intromissione.
Prova messaggio.

Prova messaggio.
Sei OT . esiste it.test
--
Lawrence "Rhymes" Oluyede
rhy...@myself.com
http://www.foxhound-games.it

 Sei OT . esiste it.test
e speriamo che sia la Prima e l'Ultima  :)
Faber
Newsgroup: it.comp.programmare.win32
Titolo: Posizione del Mouse, Finestra con focus.

Ciao a tutti,
nonostante sia convinto che questi siano problemi molto semplici, anche 
cercando nella documentazione (MSDN) non ho trovato soluzione.
Anzitutto la posizione del Mouse: all'interno di un mio programma vorrei 
poter interrogare (tramite una API - il programma e' scritto interamente 
in C puro) il sistema per sapere qual'e' la posizione corrente del 
mouse. Mi aspettavo ci fosse una cosa tipo GetMousePos ma sulla 
documentazione non c'e'...
Altro problema. Mi piacerebbe riuscire a recuperare l'Handle della 
finestra con il focus. Esisterebbero GetFocus() o GetForegroundWindow() 
ma restituiscono l'handle riferito alla finestra principale. Se voglio 
sapere qual'e' la finestra figlia con il focus che faccio?
Grazie,
P.

>sapere qual'e' la finestra figlia con il focus che faccio?
GetFocus() torna l'handle della finestra (quindi anche il controllo tipo un
campo di edit) che ha il keyboard focus.
-- 
a n t o n i o
www.geminisoft.com
Newsgroup: it.comp.programmare.win32
Titolo: Misurare il tempo in "user space"

Ciao a tutti,
ho la necessità di misurare il tempo per cui una funzione viene
eseguita in user space, il tutto sotto Windows XP.
per ora ho utilizzato la funzione clock():
clock_t start_clock=clock();
funzione();
clock_t end_clock=clock();
double time = (double)(end_clock-start_clock) / CLOCKS_PER_SEC;
printf("%f\n",time);
Secondo voi è coretto?
Conoscete qualche altro sistema?
Grazie.

 Conoscete qualche altro sistema?
http://msdn.microsoft.com/en-us/library/ms683237.aspx
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Conoscete qualche altro sistema?
GetTickCount() ?
GCL

Newsgroup: it.comp.programmare.win32
Titolo: messaggi di errore

Scusate la banalità della mia domanda, ma ho bisogno urgente di risposte.
Esiste un manuale o un sito che mi possa spiegare il significato degli
errori che appaiono in windows 9x quando qualcosa non procede nel verso
giusto ?
Grazie.
turdom@topvideo-net

Secondo me l'help in linea di Windows 9x di può dare tutte le informazioni
che cerchi. Comunque se non fossi soddisfatto, puoi provare a cercare sul
sito di Microsoft nelle FAQ le risposte alle tue domande.
Ciao
turdom ha scritto:


,

Sent via Deja.com 
http://www.deja.com/
Share what you know. Learn what you don't.

Newsgroup: it.comp.programmare.win32
Titolo: Colore progress bar

In un porgetto MFC, è possibile cambiare colore dinamicamente ad una
progress bar?
Quello che devo fare è un indicatore di livello audio, e vorrei che il
colore cambiasse da verde a rosso man mano che aumenta il livello.
Grazie.

 
certo, lo puoi fare, mappati i messaggi PBM_SETBKCOLOR e
PBM_SETBARCOLOR...
ciao
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.programmare.win32
Titolo: BCB - E' possible che accada cio'

Col bcb3 il costrutture di un form veniva eseguito prima di FormCreate
(), mentre col bcb6 viene dopo, e' possibile cio'?
Se si, esiste un opzione per far eseguire prima il costruttore.
Fatemi sapere, grazie
Franco

, 
fr...@leva.ciaoweb.it
 says...

L'ho trovato! OldCreateOrder (che non esisteva nel bcb3) deve essere 
true; invece nella conversione veniva settato a false
Franco

 (), mentre col bcb6 viene dopo, e' possibile cio'?
Giusto per tua informazione, FormCreate non andrebbe utilizzata in BCB.
Dai un'occhiata a queste (ed altre) discussioni sui NG Borland:
http://groups.google.it/groups?hl=it&lr=&ie=UTF-8&threadm=3db9a701%241%40newsgroups.borland.com&rnum=5&prev=/groups%3Fq%3D%252Bformcreate%2B%252Bconstructor%2B%252Bgambit%26hl%3Dit%26lr%3D%26ie%3DUTF-8%26selm%3D3db9a701%25241%2540newsgroups.borland.com%26rnum%3D5
http://groups.google.it/groups?hl=it&lr=&ie=UTF-8&threadm=97f88o%24rrq6%40bornews.inprise.com&rnum=7&prev=/groups%3Fq%3D%252Bformcreate%2B%252Bconstructor%2B%252Bgambit%26hl%3Dit%26lr%3D%26ie%3DUTF-8%26selm%3D97f88o%2524rrq6%2540bornews.inprise.com%26rnum%3D7
Ciao,
Paolo.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Dai un'occhiata a queste (ed altre) discussioni sui NG Borland:
Ho letto, eliminero' tutti i FormCrete e FormDestroy.
grazie 1000
Franco

Newsgroup: it.comp.programmare.win32
Titolo: Directory dove risiede l'eseguibile

Come si fa a sapere in che directory risiede l'eseguibile stesso?
Grazie.


GetCurrentDir() in VC++
in VB app.Path
ciao JoGiò

 ciao JoGiņ
GetCurrentDir non va bene, potrebbe non essere quella 
dell'eseguibile.
Meglio usare GetModuleFileName
Con il primo parametro (HMODULE) impostato su NULL che restituisce il 
path completo (file incluso) che ha generato il processo in 
esecuzione.
ciao!
-- 
Molebio

 Grazie.
Lo puoi sapere estraendolo da GetCommandLine()
--
  Jerle Shannara
Per rispondere in email togli JERLEANTISPAM
homepage 
http://utenti.tripod.it/jerleshannara

 Grazie.
in c++
char	buffer[1024] ;
::GetModuleFileName( NULL , buffer , 1024 ) ;


Perchè non andiamo a casa e glielo scriviamo *noi* direttamente sul *suo*
computer?
Kiuhnm

Lo puoi sapere estraendolo da GetCommandLine()
GetCommandLine potrebbe non comprendere il percorso completo.
-- 
Marco Barisione (ICQ 84277092)

Newsgroup: it.comp.programmare.win32
Titolo: bynary resources di un programma (.res)

Ciao.. volevo sapere una cosa...
Quando uso Borland C++ v5.02
mi capita che se apro le: bynary resources di un programma (.res) e modifico
qualcosa nell'interfaccia... poi se salvo.. il programma mi crea dei
problemi o non apre comunque la finestra modificata..
come devo fare?
aspetto una risposta
--
~°~°~°~°~°~°~°~°~°~°~°~°~°~°~
Alessandro Zarcone
alias Skymode
zar...@studenti.unina.it
alex...@deskmail.com
alex_zar...@hotmail.com
icq: 19879662
http://w3.to/alessandrozarcone

Trovi la risposta su it.comp.land.c++
Stefano
Newsgroup: it.comp.programmare.win32
Titolo: HELP IPC

Vediamo se mi sapete risolvere questo...
Ambiente Win32....
Vi spiego il mio problema: ho un'applicazione (di cui non ho il sorgente,
solo il .exe) e devo scrivere
una seconda applicazione che manda messaggi alla prima.
Fin qui niente di strano o "difficile". Il problema viene quando devo
mandare alcuni messaggi
che richiedono in lParam un puntatore ad una struttura dati che poi verrà
riempita in risposta al messaggio.
L'applicazione (il .exe) in questo caso esce dicendo di non poter scrivere
nella memoria.
Il problema credo derivi dal fatto che io do un puntatore alla memoria
riservata al mio processo, dove l'altro
processo non può scrivere. Allora come fare?? Esiste un modo di condividere
memoria o magari, non so, un modo
per rendere il processo .exe figlio della mia applicazione, o magari
duplicare tutti gli HANDLE in modo da rendere
la mia memoria condivisa con il processo .exe??
NB. Il processo .exe al momento del lancio del mio eseguibile è già in
esecuzione. Non posso lanciarlo io in alcun modo.
Grazie in anticipo per le eventuali possibili soluzioni.
--
 ---  MiB ----

riempita in risposta al messaggio.
Per fortuna, è ormai impossibile condividere memoria in maniera così grezza
fra 2 processi. Quindi è necessario che sia il tuo programma sia quello che
vuoi pilotare girino nello stesso processo (eliminando alternative più
complesse come RPC, visto che di un programma hai solo il file exe). Potresti
concentrarti:
1) Per trovare un altro metodo;
2) Per eseguire codice nel processo che vuoi comandare (tipo riuscire, in
qualche modo, a fargli caricare una tua dll).
--
Stefano Pettini
Please answer here, not by email.
Newsgroup: it.comp.programmare.win32
Titolo: istanziare una classe o allocare memoria con "new"?

Scusate per la domanda super niubbia, ma non mi è chiara una cosa. Che
differenza c'è tra istanziare una classe e crearla con l'operatore new
(oltre ovviamente la diversa sintassi)? Utilizzando un puntatore per
istanziare una classe, viene allocata memoria fin quando non chiamo
delete mentre per l'istanza l'oggetto viene distrutto appena uscito dal
loop di visibilità. Questa è l'unica differenza? Cos'è lo stack?
Cos'è l'heap? Dove mi posso documentare?
class A {
public:
A() { }
~A() { }
void print() { std::cout << "ciao" << std::endl; }
};
void foo() {
    A a;
    a.print();
}
void boo() {
     A* pnt = new A();
     pnt->print();
     delete pnt;
}
int main() {
    foo();
    boo();
}
Senza il delete del "pnt", avrei un memory leak o il compilatore sa che
pnt sarà inutilizzabile e quindi chiamerebbe comunque l'operatore
delete?

Ho sbagliato newsgroup, avrei dovevo spedire su
it.comp.lang.c++...vabbè, sono convinto che qui mi risponderete
ugualmente :). Grazie

 delete?
No. Lo scopo dei puntatori è proprio lasciare viva la memoria alla fine 
delle funzioni. Così puoi utilizzare strutture che allocano dinamicamente la 
memoria, a seconda delle necessità. Ecco un esempio (bruttissimo) di lista 
concatenata:
#include <iostream>
using namespace std;
struct Nodo {
 int m_iDato;
 Nodo *m_pnext;
};
class List {
 Nodo *m_pnodoRadice;
public:
 List() {
  m_pnodoRadice = 0;
 }
 ~List() {
  Nodo *pnodo;
  while (m_pnodoRadice) {
   pnodo = m_pnodoRadice->m_pnext;
   delete m_pnodoRadice;
   m_pnodoRadice = pnodo;
  }
 }
 Nodo *Insert (int iDato) {
  Nodo *pnodo = new Nodo;
  pnodo->m_iDato = iDato;
  pnodo->m_pnext = m_pnodoRadice;
  return m_pnodoRadice = pnodo;
 }
 Nodo *GetFirst() {
  return m_pnodoRadice;
 }
 Nodo *GetNext(Nodo *pnodo) {
  return pnodo->m_pnext;
 }
};
void main ()
{
 List l;
 l.Insert(5);
 l.Insert(7);
 l.Insert(8);
 for (Nodo *pnodo=l.GetFirst();pnodo;pnodo=l.GetNext(pnodo))
  cout << pnodo->m_iDato << endl;
}
-- 
Costantino Grana 

void main ()
int main()
Il valore di ritorno di main() *DEVE* essere int.

 L'heap è memoria gestita come un grosso array.
WTF...?!
l'heap in Win32 è un oggetto (nel senso specifico del termine, cioè entità
gestita da HANDLE) che permette la gestione di allocazioni dinamiche di
blocchi di memoria. un processo può avere più d'un heap, di default ne ha
uno.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Il valore di ritorno di main() *DEVE* essere int.
Giusto, non lo sapevo.
-- 
Costantino Grana 

 di default ne ha uno.
E' in pratica un array a cui accedi come ti pare, una volta richiesto al 
sistema operativo quale pezzo puoi usare. E ci accedi con un indirizzo, non 
con funzioni specifiche tipo GetValue o qualcosa di simile.
Ovviamente è giusto quello che dici. Per allocare memoria sfrutti una 
funzione che fa riferimento al tuo/ ai tuoi heap.
-- 
Costantino Grana 

 E' in pratica un array a cui accedi come ti pare
Non lo č.

Newsgroup: it.comp.programmare.win32
Titolo: SPAM?

Vorrei tenere questo NG fisso. Vorrei sapere prima pero` se chi lo frequenta
ha avuto problemi di spamming (in tal caso prenderei provvedimenti sul mio
from address)
Grazie in anticipo
fred

Uno al mese , sempre lo stesso , quindi appena lo metti in utenti proibiti
hai risolto.
--
Ciao , Ricardo Antonio Piana
(Rico per gli amici)
ricard...@tiscalinet.it
ICQ #53211666
______________________________________________
Tutti i miei racconti , alcune poesie ed altro nel mio sito
http://kiss.to/rico
______________________________________________

E dov'è che non c'è SPAM?
Beh, guarda la mia firma...
--
Diego "1985" Pettenò
per gli spammer la mail è
diego...@hotmail.com
ATTENZIONE: rispondo ai messaggi di pubblicità indesiderata
su TiscaliNet con un bel messaggio al provider di competenza!
per i messaggi seri è
diego....@tiscalinet.it

Che SPAM era? Ho cancellato gli spammer la prima volta che sono entrato in
questo NG e quindi non riesco a capire di quale si tratti...
Ad ogni modo casi di SPAM se ne vedono molti.
Se non mi sbaglio anche tu ne hai ricevuto uno poco tempo fa (arrivato in
crossmail anche a me).

Newsgroup: it.comp.programmare.win32
Titolo: Utilizzare le DLL in Borland C++

Ciao a tutti,
sono alle prime armi nell'utilizzo di API in Borland C++ Builder 6. In
pratica sto cercando di controllare una camera fiwire tramite il C++.
Ho a disposizione la libreria fornita dal costruttore ma non riesco a
farla funzionare.
La libreria si compone di:
PixeLINKApi.h //Qui vengono elecate tutte le funzioni contenute nella
dll
PixeLINKCodes.h
PixeLINKTypes.h
PxLApi40.lib
PxLApi40.dll
Tutti i file sono stati messi nella directory del programma
(PxLApi40.dll è anche presente in c:\windows\sistem32). Ho provato le
seguenti istruzioni:
#include <PixeLINKApi.h> //PixeLINKCodes.h e PixeLINKTypes.h sono
incluse in PixeLINKApi.h
#pragma lib PxLApi40
/*e chiamo la funzione PXL_RETURN_CODE PxLGetNumberCameras (OUT PU32
pSerialNumbers,IN OUT PU32 pNumberSerial); con: */
PxLGetNumberCameras(a,b); //naturalmente a e b sono definiti
e quando compilo mi dà il seguente errore:
[Linker Error] Unresolved external 'PxLGetNumberCameras' referenced
from C:\PROGETTOT\C++\CAMERA_LINK\050 NF\UNIT1.OBJ
Dalla mia poca esperienza ho capito che legge il file h, in quanto dà
il suggerimento per i parametri per completare la funzione, ma quando
va a linkare non riesce ad entrare nella dll.
Grazie anticipatamente


Hai aggiunto al progetto questo file PxLApi40.lib?
Project --> Add to Project --> PxLApi40.lib

 Project --> Add to Project --> PxLApi40.lib
no, non l'avevo inserito, cercavo di farlo via codice, cmq ora dà il
seguente errore:
[Linker Error] 'C:\PROGETTOT\C++\CAMERA_LINK\050 NF\PXLAPI40.LIB'
contains invalid OMF record, type 0x21 (possibly COFF)
Un'altra domanda, ma utilizare le dll con VC++ o Borland C++ può dar
problemi ho è uguale?
Grazie mille

 problemi ho è uguale?
Scusa ti ho risposto nella mail privata!!
Non non è uguale devi utilizzare  prima  l'utility coff2omf che trovi nella
directory di istallazione del borland
devi fare una cosa del genere:
coff2omf  PXLAPI40.LIB  PXLAPI40_PER_BORLAND.LIB
Coff2Omf is a command line tool that converts a COFF import library file
(InputFile) to a corresponding OMF import library file (OutputFile).
Coff2Omf.exe is located in the C++Builder BIN directory.  The syntax is:
Coff2Omf [options] InputFile OutputFile
Coff2Omf converts the publicly exported symbols in the COFF import library
to a corresponding set of symbols in the OMF import library.  Coff2Omf
enables C++Builder users to link to Microsoft and other third-party DLLs
that use the COFF format. Coff2Omf does not convert .OBJ files.

Grazie mille Fabuloso,
sei stato grande. Ora non dà più errori in compilazione.
Newsgroup: it.comp.programmare.win32
Titolo: DLL In C++6 Per VB

Per creare una dll utilizzabile da Vb(type library?) che cosa devo fare??
So come fare (più o meno) per creare una dll per vc++, ma non riesco a
creare una dll che visual basic possa importare...
Per favore aiutatemi!!
Sto pensando di abbandonare MFC per la programmazione dell'interfaccia
gradica, usare vb e  quando avrò bisogno di funzioni molto veloci, pensavo
di usare delle dll scritte in c++, ma mi sono bloccato.
Grazie ciao!!!
p.s esiste un FAQ del News?
Per favore postate la risposta anche alla mia email 
celli...@hotmail.com
Grazie!!!

Leggi l'articolo "Extending Visual Basic with C++ Dlls" che troverai su
MSDN.
Inoltre utilizza ATL. E' la maniera piu' rapida e sicura per sviluppare
"oggetti" riutilizzabili dai linguaggi Java, C e C++.
Ciao e buon anno.
Fausto


 Per favore aiutatemi!!
Il metodo migliore e` sicuramente di usare il C++ per scrivere
serventi COM (in-process, quindi impacchettati in DLL); MFC non
e` il massimo per questo, ma ATL si`.  Una volta che hai posto
una certa funzionalita` (implementata in C++) in una coclass
del COM, con interfacce Automation-compatibili (duali), puoi
usarla con facilita` da VB (e da tanti altri ambienti) con le varie
"new Classe", "CreateObject", eccetera.
Se hai gia` del codice C++ in una DLL, e non vuoi rifarne il
packaging in termini COM, "ad interim" puoi anche provare ad
accedere direttamente alla DLL da VB.  Anche qui, la cosa
migliore e` fare una type library (in IDL) -- "Hardcore Visual
Basic", un ottimo testo che trovi anche in italiano da Mondadori
Informatica (scontato 40% da 
www.gorilla.it
, credo!), e in
inglese e` compreso nell'MSDN (quindi probabilmente lo hai
gia`, e gratis:-) utilizza questo approccio, anche per rivestire
piu` o meno tutte le API di Win32 (l'accesso e` molto piu`
facile cosi`, che non a colpi di declare in VB...).
La cosa fondamentale e` che le funzioni che esporti dalla DLL
siano STDCALL, cioe` WINAPI, *NON* "__cdecl"; in secondo
luogo, accertati che i loro nomi siano non-"decorati", cioe` che
le funzioni siano viste come extern "C", se vuoi accederle con
declare (questo non e` necessario se usi COM, mentre l'uso
delle convenzioni standard di chiamata e` parte dello standard
COM).
Alex

> ma non riesco a creare una dll che visual basic possa importare...
Se ti accontenti sul sito Papero c'e' un articolo sulle DLL da usare
sotto VB. Niente OLE/COM pero'.
-------------------------------------------------------
Tieni per te il Papero se vuoi la mia email
Sito Papero -> 
http://utenti.tripod.it/papero
Newsgroup: it.comp.programmare.win32
Titolo: Windows API?

C'è nessuno che ha qualche documentazione sulle API e le chiamate alle DLL?
Grazie gente e buon Natale (o buon fine anno... se + vi stimola!)
mailto: 
nah...@tin.it


tutta la documentazione possibile sull'argomento si trova presso
http://msdn.microsoft.com
Altrimenti, mi si dice, che una patch di un qualche prodotto
Borland/Inprise contiene un file *.HLP con molte delle API di Win32
Sent via Deja.com 
http://www.deja.com/
Before you buy.




> C'è nessuno che ha qualche documentazione sulle API e le chiamate alle
DLL?
A questo sito trovi qualcosa:
http://skyscraper.fortunecity.com/transmission/45/api/index.html
non l'ho guardato in dettaglio (anche perche' non ho le conoscenze tecniche
necessarie per poterlo giudicare), ma il titolo "Welcome to the Windows API
Guide!" promette bene ...
Ciao.

 wrote in message news:10idlfh$5au$1...@fe2.cs.interbusiness.it...

Sembra interessante, soprattutto per gli utenti di Visual
Basic, naturalmente, visto che e` interamente orientato
appunto a questo linguaggio -- tutte le dichiarazioni, e
tutti gli esempi, sono strettamente Visual Basic.
Alex

Borland/Inprise contiene un file *.HLP con molte delle API di Win32
Eccolo
http://www.borland.com/devsupport/borlandcpp/patches/BC52HLP1.ZIP
Buona Pasqua :-)))).
Bye.
Joseph Parrello - OWL/C++ Programmer
http://JoParrello.freeweb.org
(
jopar...@geocities.com
)

Newsgroup: it.comp.programmare.win32
Titolo: Accesso diretto al Disco.

Conosco alcuni programmi che accedono al disco rigido o a dischi
removibili settore per settore, ma non trovo nessun tutorial o
documentazione di qualsiasi genere che mi parla di accesso ai Settori di
un disco. Sai come si possa fare?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 un disco. Sai come si possa fare?
Trovi la risposta al thread "accesso hard disk" del 20-01-2002.
Cristiano
Newsgroup: it.comp.programmare.win32
Titolo: Consigli per App e ODBC?

Io dovrei creare un'applicazione che gestisce varie tabelle
di un DB. Mi piacerebbe usare OBDC?
Dovrei dare all'utente la possibilita` di muoversi (il classico
avanti e indietro di una posizione) sul risultato di una SELECT
(quindi mi muovo su una CRecordSet).
Il mio problema e` che l'utente dovrebbe avere la possibilita`,
oltre che di leggere, anche di inserire nuovi record.
Siccome Access non prevede l'aggiornamento dinamico, cosa
dovrei fare?
Riscrivere forse il CRecordSet sul DB ad ogni modifica?
Scusate le imprecisioni ma sono molto poco esperto di DB.
Ciao e grazie, Michele.

Allora mettiamo un po' in chiare le idee. Innzanzitutto se utilizzi
ACCESS ti consiglio di usare i DAO che sono molto piu' veloci e simili
da usare. Un record set e' una classe che ti permette di gestire appunto
un insieme di record, tali record possono provenire da una tabella o da
una qualsiasi query. Class wizard ti permette comunque di creare una
classe che erdita da CRecordSet semplicemente specificando il DB e la
tabella che vuoi usare. Una volta che hai creato la tua classe puoi vare
tutta una serie di operazioni come muoverti all'interno dei record con
le funzioni MoveFirst, MoveNext, MoveLast (o qualcosa di simile comunque
guarda nell'help per maggiori informazioni) ed anche cancellare
aggiungere (con AddNew) e modificare i dati.
Ciao, Antonio.




Newsgroup: it.comp.programmare.win32
Titolo: CopyFileEx() errore di undeclared identifier

ricevo un errore di undeclared identifier usando la CopyFileEx(), la
funzione e' dichiarata in winbase.h incluso in windows.h che ho
opportunamente incluso.
Il fatto strano e che non ho errori usando la CopyFile() sempre dichiarata
nel winbase.h, e soprattutto ho un altro undeclared identifier se tento di
usare le costanti COPY_FILE_FAIL_IF_EXSISTS e COPY_FILE_RESTARTABLE che sono
dichiarate sempre nel winbase.h
Qualcuno mi puo aiutare ???
Rolando

 wrote in message
news:8kickl$3cf$1...@news.mclink.it...

Le dichiarazioni in Winbase.h sono condizionate a
#if(_WIN32_WINNT >= 0x0400)
visto che la funzione esiste solo sotto NT, e solo per
NT 4.0 (e Win2000, un tempo detto Win NT 5).
Accertati dunque [a] di essere su NT 4.0 o meglio, e
[b] di avere un #define di _WIN32_WINNT al valore
giusto (che sia almeno 0x0400).
Naturalmente, l'applicazione che scrivi non funzionera`
su Win/95 e Win/98, ma questo immagino che tu gia`
lo sapessi.
Alex

Newsgroup: it.comp.programmare.win32
Titolo: Resize screen

Qualcuno conosce le API che mi permettano di fare il resize screen? (
che so ..da 1024*768 a 800*600...), tutte quelle trovate mi permettono
solo di "guardeare ma non toccare" la risoluzione.
Grazie
Carlo

 solo di "guardeare ma non toccare" la risoluzione.
La funzione canonica per questo scopo è ChangeDisplaySettings. Avevo scritto
una funzioncina (in Delphi) per cambiare la risoluzione, senza molti
problemi dovresti riuscire a convertirla per il tuo ambiente di lavoro ...
Function ChangeRisol (PixelOriz,PixelVert,BitPixel : Integer) : Boolean;
Var Dev : TDevMode;
    Chng : Integer;
Begin
  Result:=False;
  Dev.dmSize:=SizeOf(Dev);
  Dev.dmPelsWidth:=PixelOriz;
  Dev.dmPelsHeight:=PixelVert;
  Dev.dmBitsPerPel:=BitPixel;
  Dev.dmDisplayFrequency:=60;
  Chng:=ChangeDisplaySettings(Dev,0);
  If (Chng=DISP_CHANGE_SUCCESSFUL) or (Chng=DISP_CHANGE_RESTART) Then
     Result:=True;
end;
Saluti
--
- Carlo -
c.b...@libero.it
Newsgroup: it.comp.programmare.win32
Titolo: ellipsis notation

ciao, ho la necessita' di cambiare il valore di n edit box, ma non so a
priori quante possano essere...
leggendo il lippman ho letto qualcosa sulla cd ellipsis notation, ovvero la
possibilita', come in C, di passare come argomenti ad una funzione un numero
imprecisato di variabili, utilizzando come sintassi i tre puntini (...)...
ma poi come posso fare, all'interno della funzione cambiare i valori di
tutte la variabili passate???
es. void Scrivi ( CEdit *, ...);
avrei potuto, come dice il lippman a pag. 135, scrivere void Scrivi (...);
ma poi, dopo la definizione del prototipo, come utilizzo questa tecnica
nella definizione della procedura???
cioe'
void Scrivi (CEdit* ptEdit, ...)
{
    ptEdit->SetWindowText("mia stringa");
}
// poi come passo il valore delle altre tre EditBox, se ne ho quattro da
cambiare???
ciao e grazie in anticipo!!!

 ciao e grazie in anticipo!!!
Di solito il primo parametro è noto (prendi come esempio la printf) e ti
aiuta a capire il tipo ed il numero dei parametri che seguono. E se poi c'è
difformità tra quanto indicato fra il primo parametro ed i seguenti? In
questo caso l'esito è inpredicibile (anche per la printf è così), in quanto
non c'è modo di cogliere l'errore a compile-time.
Per recuperere i parametri devi usare le macro va_start(), va_arg() e
va_end() definite in <stdarg.h>.
Ciao e buona fortuna. Federico Molara.

Newsgroup: it.comp.programmare.win32
Titolo: Group Box abilitato/disabilitato

Mi servirebbe creare una dialog con 2 radiobutton, di cui il secondo
inserito come caption di un group box, in modo da abilitare i controlli
solo se settato.
Per capirci, come la dialog delle Condivisioni di un'unita' disco sotto
Win 98.
Il mio problema e' avere come caption del gruppo il radiobutton.
Ho provato con vari settaggi (transparent...) e ho provato a carpire lo
stile delle Condivisioni con Spy++, ma non ancora ho l'effetto
desiderato (il radiobutton scompare sotto la caption del group box).
Chi mi puo' aiutare? (anche con soluzioni alternative)
Grazie.
Alessandro.

 desiderato (il radiobutton scompare sotto la caption del group box).
Questo succede perche` probabilmente il radiobutton precede il group box
nel "tab order". Basta che tu metta prima la static e poi il bottone
(usando Layout->Tab Order).
Apparentemente la dialog delle condivisioni di Explorer fa cosi`.
--
Bye! Lorenzo Lutti (
http://www.geocities.com/SiliconValley/Peaks/6258/
)

Grazie, ho fatto!
Bastava avvolgere il Radio Button con il Group Box, e settare il Tab
Order!
Per disabilitare...AHIME' devo abilitare/disabilitare le ocmponenti una
x una...
Ma almeno funziona.
Saluti.
Alessandro
Newsgroup: it.comp.programmare.win32
Titolo: tb_pressbutton a toolbar

Mando la costante tb_pressbutton correlata con id del  button e il flag 1 o
0 ma non ottengo mai l'effetto desiderato.
Chi mi posta per piacere un esempio su come pressare un bottone di una
toolbar .
Ciao ho bisogno della tua intelligenza per effettuare una cosa facile facile
per te sicuramente.
Comunque il problema è questo:
Volgio pressare un button su una toolbar di cui ho l'handle.
Io voglio pressare un dato button avendo l'id della toolbar.
Vorrei evitare di pressare tramite le coordinate ovvero mandando un click
del mouse perche potrebbe accadere che la finestra sia minimizzata o non
visibile.
Sai postarmi un esempio per piacere io uso questo, scusa se te lo posto
tutto ma è solo per farti capire dove sbaglio , perche io riesco a far tutto
(ridimensionare cancellare settare il test )meno che pressare un dato
button:
Questa è lòa riga tutte le costanti sono valorizzate
    Riga che mi interessa
L'assurdità cè ceh quando creo io i bottoni il pressbutton funziona.
Ci sono metodi alternativi?
ret = SendTBMessage(TH, TB_PRESSBUTTON, 3, 0)
Codice con gli eperimenti
Dim r As ButtonInfo
Dim T As Long
't = t + 1
 Const TB_GETBUTTONTEXTW = (WM_USER + 75)
'ret = SendMessage(TH, TB_GETBUTTONTEXTa, i, t)
Dim Button As TBBUTTON
'button.iString = i
 Const TB_GETBUTTONINFOA = (WM_USER + 65)
Call UpdateWindow(TH)
'Call SendMessage(TH, TB_CHECKBUTTON, i, button)
Dim lParam As Long
lParam = 0 + (1)
ButtonSize = 1
lParam = (ButtonSize * 1)
Dim wpar As Long
wpar = i
'Dim Button As TBBUTTON
ret = SendTBMessage(TH, TB_PRESSBUTTON, i, 0)
Clipboard.Clear
Clipboard.SetText TH
lParam = 0 + (0)
ret = SendTBMessage(TH, TB_PRESSBUTTON, i, lParam)
'ret = SendMessage(TH, TB_CHECKBUTTON, i, 0)
'ret = SendMessage(TH, TB_PRESSBUTTON, i, button)
'MsgBox TB_CHECKBUTTON
Dim a As Byte
Const TB_BUTTONSTRUCTSIZE = (WM_USER + 30)
ret = SendMessage(TH, TB_BUTTONSTRUCTSIZE, a, 0)
Call UpdateWindow(TH)
Const TB_COMMANDTOINDEX = (WM_USER + 25)
 Const TB_GETBUTTON = (WM_USER + 23)
'Const TB_COMMANDTOINDEX = (WM_USER + 25)
'ret = SendMessage(TH, TB_GETBUTTON, (i + 0), button)
ret = SendMessage(TH, TB_COMMANDTOINDEX, Button.idCommand, 0)
'MsgBox r.xWidth
Grazie
Grazie
--
Piero Romani
HomePage:
http://digilander.iol.it/vbsegreti
"Non dico mai non si può fare."

Grazie
Prego-Prego
Paolo

Infatti come quando i bottoni li creo funziona.
Quando invece cerci di premere su toolbar gia esistenti dei bottoni non va.
Chissa perche
Grazie.
"Goodidea" <pop...@TOGLIyahoo.com> wrote in message
news:3c4122b8...@news.flashnet.it...


Newsgroup: it.comp.programmare.win32
Titolo: Implementazione MD5

in rete ne ho trovati alcuni,ma tutti cross-platfoem
ce ne sono di ottimizzati per win/386?
grazie,ciao

 ha scritto nel
messaggio news:wWNub.44804$9_.17...@news1.tin.it...


 Ti interessa ?
molto :-)
anche perche da solo non sarei in grado di farmela,ne capisco troppo poco di
asm

 ha scritto nel
messaggio news:LV1vb.47718$9_.18...@news1.tin.it...


 wrote in message
news:UL9vb.134732$e6.48...@twister2.libero.it...
