mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.programmare.win32
Titolo: Leggere da file

 
         Salve,
vengo da VB e sto imparando la programmazione C con WIN-API . Vorrei leggere
dei valori di tipo LONG da un file . Ho aperto il file così :
 if((g_fileh=CreateFile(g_fhandle,GENERIC_READ,FILE_SHARE_READ,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL))!=INVALID_HANDLE_VALUE)
Poi vorrei leggere un valore LONG in una variabile, è possibile ? Facendo
così ottengo un errore di assegnazione:
 ReadFile(g_fhandle,&MY_VAR,4,&tmppin,NULL);
Come posso assegnare il valore alla variabile ? Grazie mille!
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 ReadFile(g_fhandle,&MY_VAR,4,&tmppin,NULL);
Devi passargli l'handle del file e cioč g_fileh casomai, non 
g_fhandle e poi bisognerebbe capire come sono definite le altre 
variabili in gioco.
Boh, forse con g_fileh risolvi (ne dubito), altrimenti devi 
postare qualcosa in piů per farci capire meglio...
Paolo. 

 postare qualcosa in più per farci capire meglio...
Sì, è vero quello è stata una svista !
Dunque, MYVAR è definita come;
LONG MYVAR;
Anche mettendo i g_fileh e READ_FILE, ottengo un errore su MYVAR !
Grazie ancora.


 Grazie ancora.
Prego.
Paolo.

OK, ecco allora il tutto: (grazie per l'aiuto)
HANDLE g_fileh=NULL;
TCHAR g_NOM[]=TEXT("prova.inf");
int MYVAR=0;
int tmppin;
//queste variabili sopra sono GLOBALI
if((g_fileh=CreateFile(g_NOM,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING
,FILE_ATTRIBUTE_NORMAL,NULL))!=INVALID_HANDLE_VALUE)
{
 ReadFile(g_NOM,&MYVAR,4,&tmppin,NULL);
}
Adesso compila bene. E' il modo corretto per leggere un valore in MYVAR?


 in MYVAR?
No. Nella ReadFile devi mettere l'handle del file e cioč 
g_fileh, non g_NOM (strano non dia nemmeno warning). Poi anzichč 
quel brutto 4 metterei sizeof(MYVAR). Poi devi verificare il 
valore di ritorno di ReadFile e che tmppin coincida con 
sizeof(MYVAR). Per il resto, ad occhio, sembra OK.
Paolo. 

 cosě ottengo un errore di assegnazione:


consiglio di un buon manuale dove avete studiato c++?
grazie enzo


> consiglio di un buon manuale dove avete studiato c++?
Beh qui più che altro si parlava di API Win32, come vedi lo 
snippet in pratica era in C puro. Per il C++ parlano molto bene 
di "Thinking in C++" di Bruce Eckel, comunque in rete trovi 
molti tutorial, alcuni fatti anche molto bene ed in Italiano.
Paolo.

Newsgroup: it.comp.programmare.win32
Titolo: Toolbar in Dialog

Vorrei inserire con le MFC una toolbar in una finestra di dialogo (CDialog).
La creo con queste due funzioni in OnCreate:
 Tool.Create (this,WS_CHILD | WS_VISIBLE | CBRS_FLOATING | CBRS_TOP,
IDR_TOOLBAR);
 Tool.LoadToolBar(IDR_TOOLBAR);
Entrambe ritornano 1 (cioe' successo), ma poi non la vedo comparire nella
finestra. Qual e' il problema?
Grazie
Frank

 La creo con queste due funzioni in OnCreate: [...]
Prova a metterle in OnInitDialog().
--
Bye! Lorenzo Lutti
http://www.geocities.com/SiliconValley/Peaks/6258/

La classe CDialog NON supporta le toolbar.
Per utilizzare le toolbar devi utilizzare ad es. l'architettura
DOCUMENT/VIEW

Newsgroup: it.comp.programmare.win32
Titolo: Problemi con i font..

Scusate, ma ho dimenticato di dire che sto programmando in VC++ 6.
Ri - CIAO
Antonio

Ciao A tutti ...
Ho creato dei controlli tipo editbox e ho cambiato il loro font. Il problema
che mi si presenta č che, dopo il cambiamento del font, il testo all'interno
dell'edit risulta essere spostato di uno spazietto dal margine sinistro ...
cosa che prima non accadeva.
Qualcuno sa spiegarmi il perchč di ciň?? e magari come posso fare ad ovviare
a questo fastidioso problema.
Grazie e CIAO
Antonio

Newsgroup: it.comp.programmare.win32
Titolo: LPCSTR ?

Salve a tutti.
Ho qualche problema a visualizzare una messagebox con Visual C++ Express 
2005.
Il compilatore richiede dei dati di tipo LPCSTR al posto dei due array di 
caratteri indicati con "stringa".
Ho provato a cercare nella documentazione dell'MSDN ma non sono riuscito a 
cavare un ragno dal buco.
Qualcuno puň darmi un consiglio?
Grazie
Ale 

 Qualcuno può darmi un consiglio?
Se non sbaglio LPCSTR corrisponde a "const char *", quindi se tu gli 
passi un normale "char *" il compilatore si incazza.
Dovrebbe essere sufficiente un cast:
char titolo[255], testo[255];
...
   MessageBox( hwnd, (LPCSTR)testo, (LPCSTR)titolo, tipo );
...
ciao
Giacomo

   MessageBox( hwnd, (LPCSTR)testo, (LPCSTR)titolo, tipo );
Grazie dell'aiuto.
In realtą il tipo era LPCWSTR (non so nemmeno copiare :).
Il problema (casomai capitasse a qualcun'altro di incapparci) era che nelle 
proprietą del progetto il testo era impostato come unicode.
Le soluzioni sono alternativamente:
1 - Cambiare le impostazioni nel progetto
2 - Aggiungere una "L" prima della stringa ( "stringa" diventa L"stringa")
Ale 

passi un normale "char *" il compilatore si incazza.
Ma quando mai , visto che trattasi di conversione implicita.


Se lavori in c, forse. Se lavori in c++ non mi sembra che ci
sia un cast implicito tra un valore const e uno non const o viceversa.
ciao
Giacomo

sia un cast implicito tra un valore const e uno non const o viceversa.
Forse una bella ripassatina sull'argomento ........


Infatti mi sa che l'ho sparata grossa! :)
In effetti e' da const a non const che serve il cast esplicito e non il 
contrario... e' da troppo tempo che non lavoro piu' in c++ mi serve 
proprio una rinfrescatina!
ciao
Giacomo
Newsgroup: it.comp.programmare.win32
Titolo: Problemi con librerie in Visual Studio C++ 6.0

Ciao a tutti!
Premetto che sono una neofita di Visual Studio C++.
Devo creare un applicativo per far funzionare un reader RFId
utilizzando delle funzioni di una libreria che mi è stata data dalla
casa produttrice.
Mi sono stati dati i file .h .lib e .dll.
Nel file header ci sono i prototipi di variabili di tipo UINT8, che
immagino sia definito nella libreria. Nel compilare, però, mi dà un
errore proprio sul tipo UINT8 perchè non definito.
Nel creare il progetto con Visual Studio C++ 6.0, oltre a includere il
file .h, come faccio a linkare la libreria?
Grazie molte.
Ciao
Michela


wrote:

Devi includere il path delle lib nelle opzioni LINKER del tuo ambiente
di sviluppo :)

 di sviluppo :)
tra le opzioni del linker c'e un campo in cui devi specificare in quali 
cartelle deve controllare per cercare i file lib, ma anche un altro campo in 
cui specificare i nomi dei file da usare

file .h, come faccio a linkare la libreria?
Menu Project, Settings, tab Link, Category: General, in
Object/library modules aggiungi in fondo il nome della tua
libreria.
Se questa libreria non e' nella stessa cartella del progetto,
devi specificare il percorso in... tab Link, Category: Input,
Additional library path. Se ci sono piu' percorsi separali tra
loro con una virgola, esempio:
../library1/,../library2/
Ciao e buon lavoro!

 Ciao e buon lavoro!
Innanzitutto grazie per l'aiuto!
Ho fatto come consigliato, ma l'errore (anzi, gli errori) "missing
storage-class or type specifiers"
continuano a presentarsi numerosi...
A questo punto inizio a convincermi che ci sia un qualche errore nella
libreria fornita dal produttore
del reader (compilando gli esempi di codice forniti col reader mi si
presentano gli stessi errori...).
C'è un modo per sapere se i tipi che risultano non specificati siano
definiti nella libreria???
grazie ancora

 definiti nella libreria???
Basta fare un find (anche dall'interno di VC++) e cercare se per
UINT8 esiste un typedef o un define.
Es
typedef qualche tipo predefinito UINT8;
oppure
#define UINT8 qualche tipo predefinito
Se non trovi niente del genere, vuol dire che ti mancano degli
header o non li hai inclusi.
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

libreria fornita dal produttore
Come ti ha consigliato Angelo, controlla l'header e chiedi al
produttore quali altri header andrebbero inclusi.
Al limite definisci tu (prima dell'header):
typedef BYTE UINT8;
compila e testane il funzionamento.
Newsgroup: it.comp.programmare.win32
Titolo: Cambiare la stampante predefinita da programma.

Salve a tutti.
Vi spiego il problema (sotto Windows '98 ed utilizzando Visual C++ - MFC):
ho fatto un programma di gestione che per effettuare le stampe si collega
tramite COM al componente Access.9 e lancia dei report precreati un un
database .mdb.
Il tutto funziona correttamente ma sia č presentato un problema che
purtroppo non sono ancora riuscito a risolvere e sul quale non riesco a
trovare documentazione adeguata.
Il fatto č che quando lancio il report, questo viene stampato sulla
stampante predefinita. Ho provato in diversi modi a fargli prendere quella
selezionata da CPrintDialog ma non ci sono riuscito.
Ora avevo pensato di cambiare automaticamente la stampante predefinita prima
della stampa e subito dopo reimpostare quella originariamente predefinita.
C'č qualcuno che puň indicarmi quale chiave/i di registro devo cambiare?
(Sempre ammettendo che il registro abbia parte in questo...).
Oppure qualcuno ha una soluzione piů "professionale"?
Grazie per l'attenzione.
Marco Muratore
estr...@tin.it

 database .mdb.
Se Access è simile al Word, allora tutto ciò che puoi fare "manualmente" in
Access lo puoi fare via COM. Sei sicuro di non esserti dimenticato qualcosa?
Che interfaccia stai usando? Dov'è documentata?
--- bye

 ha scritto nel messaggio
news:ULZ4c.52952$O31.2...@news4.tin.it...

La classe è IDispatch.
Le varie classi che utilizzo sono:
class _Application : public COleDispatchDriver    // Per l'applicazione in
generale
class Reports : public COleDispatchDriver    // Per l'insieme dei report
class _Report : public COleDispatchDriver    // Per il singolo report
class DoCmd : public COleDispatchDriver    // Per eseguire vari tipi di
comando.
Quello che utilizzo per stampare è
m_DoCmd.OpenReport(vtReportName,
        0 /* 0 = Stampa, 1 = Design, 2 = Anteprima */, vtNull, vtNull);
poi ho trovato questi metodi, ma non sembrano rispondermi :-\ ... forse li
utilizzo male?!
m_Report.SetPrtDevMode(vtDeviceName);
m_Report.SetPrtDevMode(vtDevMode);
La documentazione l'ho presa da quella di Visual Basic for Application di
Access stesso. L'ho poi riportata in C++; ma non ho trovato nessuna
documentazione direttamente per C++.
Per curiosità, in Word come fai?
Grazie.

Il deja č una soluzione al 90% dei problemi di programmazione (specialmente
quando sai cosa cercare, in questo caso per esempio OpenReport printer) :-)
Ottengo per esempio
http://groups.google.com/groups?q=OpenReport+printer&hl=it&lr=&ie=UTF-8&oe=UTF-8&selm=qbKD4.2022%24%25u.144093%40juliett.dax.net&rnum=2
Da cui poi volendo: 
http://www.mvps.org/access/reports/rpt0009.htm
E poi da qui si passa a due pagine della Microsoft a cui si passa ad altre
pagine :-)
Ma il succo č che devi cambiare DUE proprietą: INSIEME: PrtDevNames e
PrtDevMode e che i parametri con cui "riempirle" li ottieni dalla dialog box
delle stampanti.
Ma sul deja ho visto che tante altre persone hanno fatto domande simili.
--- bye


Ti ringrazio infinitamente per il tuo supporto!
Con quelle informazioni credo proprio che arriverò alla soluzione.
Grazie ancora.
Ciao ciao
Newsgroup: it.comp.programmare.win32
Titolo: SetWindowLong e WNDCLASS

Non mi e' chiaro come funzionano i membri cbClsExtra e cbWndExtra nella
struttura WNDCLASS .
Cioe' ho capito che riservano dei byte addizionali nella struttura della
Classse e Finestra ma se io uso ad esempio :
                   SetWindowLong(hwnd,GWL_WNDPROC,MyWNDPROC)
funziona correttamente se il membro cdWndExtra della WNDCLASS era
impostato a zero quando ho registrato la WindowClass ?
grazie

 wrote in
news:3B7062F6...@libero.it
: 

Set/GetWindowLong permettono di controllare una serie di parametri 
associati a ogni window. Oltre ai parametri standard (comuni a tutte le 
finestre) è possibile aggiungere dei parametri utente accessibili 
dall'indice GWL_USERDATA in poi (se guardi in winuser.h potrai notare 
che i valori GWL_* di sistema sono negativi). Il numero di queste DWORD 
addizionali è controllato da cbWndExtra.
E' da notare che per le dialog box sono previsti dei valori aggiuntivi e 
i valori "utente" partono da DWL_USER, tanto che se vuoi registrare una 
tua classe da collegare a una dialog devi riservare almeno 
DLGWINDOWEXTRA bytes nel campo cbWndExtra.
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

 DLGWINDOWEXTRA bytes nel campo cbWndExtra.
Ti ringrazio per la chiarezza .
Non mi posteresti del codice (in C\C++) per vedere come vanno implementate ?
grazie


Newsgroup: it.comp.programmare.win32
Titolo: Finestre dalle forme personalizzate...

Salve a tutti,
sapete dove trovare informazioni su come creare finestre tipo quelle del 
Winamp o del Sonique?
Mi servirebbe tutta la documentazione su come oltrepassare le funzioni 
standard di disegno dell'area non client delle finestre...
Grazie a tutti ciao!
p.s. Giuro che se riesco rendo il codice di pubblico dominio :)
Siderion - " La pianta dell'ingegno non smette mai di germogliare...ma 
cerchiamo di aiutarla a non morire! "
Francesco "Foca" Pischedda
Coder - Siderion
Visitate il nostro sito : 
http://digilander.iol.it/Siderion/Index.htm
--
Posted from 
twingo.tiscalinet.it
 [195.130.224.85] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 wrote in message
4.3.0.20000508...@pop.tiscalinet.it...


 standard di disegno dell'area non client delle finestre...
Per quest'ultimo scopo, basta gestirti tu il messaggio WM_NCPAINT e
presumibilmente, a seconda dei tuoi esatti scopi, altri WM_NCxyz.
Per le forme non-rettangolari, usa le "region" e SetWindowRgn.
Alex

 Grazie a tutti ciao!
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Remove ICE from e-Mail
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Newsgroup: it.comp.programmare.win32
Titolo: Distribuzione di un'applicazione Visual C++ 6

Quali files devo distribuire per essere sicuro che un programma realizzato
in VC++ 6 con MFC appwizard funzioni su qualunque computer windows? Devo per
forza creare un programma di setup, con InstallShield o programmi simili,
per registrare le dll?
Scegliendo di collegare le librerie MFC staticamente, posso distribuire solo
il file exe senza alcuna dll?
Yugo Amaryl
yugo . amaryl @ jumpy . it

 il file exe senza alcuna dll?
Se cerchi nella cartella del visual studio c'è un programma che si chiama
depends.exe. Con quello puoi vedere le dipendenze di un tuo programma. Se
linki staticamente e non hai usato altre librerie esterne che non siano le
mfc allora dovresti andare sul sicuro :-)
Non serve registrare le mfc.
--- bye

 --- bye


Non con tutte le versioni di Windows. Mi sembra che con il 95 non siano
incluse... Però poi magari installando l'IE 5.5 (l'ultima versione per 95)
ti vengono installate. Mi sembra che ci fosse scritto nell'msdn cosa viene
installato per ogni versione.
--- bye

 ha scritto nel messaggio
news:IIp5c.70323$Kc3.2...@twister2.libero.it...


Newsgroup: it.comp.programmare.win32
Titolo: Installare drive a run-time

Possiedo i tre file .inf, .dll, .sys di un drive. E possibile installarlo a 
run-time? Che funzioni si devono usare?
Grazie, Giorgio 

 run-time? Che funzioni si devono usare?
mica tutti i driver hanno una DLL associata, quello ce l'avrą per motivi
suoi... comunque non ti serve neanche il file inf, a meno che non vuoi
installarlo passando per la shell (ShellExecute); devi caricarlo come
servizio oppure devi usare le SetupDi per installarlo. nel primo caso vedi
le API:
OpenSCManager
CreateService
StartService
ControlService
CloseServiceHandle
e nel secondo non lo so :P
-- 
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: Countdown & Timer

Salve a tutti.
Vi avviso non sono un programmatore professionista, non ho neanche software
per programmare,  vorrei per� crearmi un software semplice da poter
utilizzare nel mio pc.
In pratica vorrei far visualizzare nel secondo schermo del pc, un timer a
conto alla rovescia, con un form che lo comanda dal primo schermo.
Es. di funzionamento:
Nella maschera principale che vedo nel mio schermo del portatile inserisco
per esempio 5 minuti. clicco su un pulsante, e il proiettore (collegato
nella seconda uscita video) proietta un timer con i numeri che vanno alla
rovescia partendo appunto da 5 minuti....Basta.
Sembra semplice..ma non saprei da dove iniziare..
Consigliatemi anche un software per crearlo..C++ pu� andare bene?
Vi ringrazio tanto lo stesso anche se non potrete aiutarmi.



 Consigliatemi anche un software per crearlo..C++ pu� andare bene?
Io userei il visual basic   e creerei 2 forms che vanno a posizionarsi in punti ben precisi.
Ma non conosco bene quelle utility che sdoppiano il desktop su 2 monitor quindi non saprei se si pu� posizionarli facilmente.
Al limite farei un unico form che pu� switchare tra la modalit� "inserimento tempo" e la modalit� "conto alla rovescia".
Pero' se non hai la piu' pallida idea di cosa sia la programmazione (non hai nemmeno un ambiente di sviluppo), non so come tu possa 
illuderti di farlo!
Non � difficile, ma bisogna saperlo fare.
Marco 

 
C++ non ï¿œ un software, ma un linguaggio.
Va bene per fare un pï¿œ tutto, quindi anche per quello che serve a te, ma 
non ï¿œ semplicissimo da padroneggiare.
Per software forse intendi l'ambiente di sviluppo, per quello c'ï¿œ ad 
esempio Microsoft Visual Studio, che ï¿œ free nella versione Express, ma 
mi pare abbia dei limiti se non sbaglio nella creazione delle maschere.
In ogni caso, su Windows le funzioni per ottenere informazioni per 
gestire piï¿œ monitor sono EnumDisplayMonitors e GetMonitorInfo, cerca le 
info e gli esempi su MSDN.

 rovescia partendo appunto da 5 minuti....Basta.
Ma se colleghi il notebook al proiettore e proietti quello che appare sul 
notebook stesso non va bene?
A quel punto basta avere un form con i secondi a tutto schermo.
Oppure durante quel tempo di attesa il pc lo devi usare?
Newsgroup: it.comp.programmare.win32
Titolo: memory leak!

Salve a tutti,
sto sviluppando un`applicazione in Visual Studio C++ 6.0 come Win32 Console
Application, utilizzando anche le classi MFC sherate dinamicamente.
l`applicazione e` multithreading, utilizzo la classe CWinThread per gestire
le attivita` dei singoli thread che lavorano come user-interface. Inoltre
importo una libreria dinamica acquistata e registrata appositamente che
impiego istanziandone le classi importate in ogni thread. Questo e` in linea
di massima la situazione del mio project. Il problema riguarda l`allocazione
di memoria: succede che una volta avviata l`applicazione e creati i thread
di lavoro con le relative strutture dati, da task manager osservo che la Mem
Usage ovviamente cresce ad ogni allocazione di un nuovo thread ma al termine
delle sue operazioni, all`atto della sua chiusura non tutta la memoria
allocata viene deallocata. Percio` mi ritrovo pian piano una situazione in
cui la memoria usata satura (in quanto continua a crescere) e l`eseguibile
si cresha. Ho controllato attentamente le strutture dati utilizzate (delle
list<> standard) e sono abbastanza sicuro della pulizia del loro utilizzo,
in termini di new e delete degli ogetti collezionati nelle list, e ho
inoltre potuto osservare (sempre tramite task manager) che il "grosso" della
memoria allocata durante la creazione dei thread e` dovuta alla conseguente
istanziazione in essi degli oggetti importati dalla dll impiegata, oggetti
che, all`atto della distruzione sembrano non rilasciare la memoria
precedentemente allocata. Sto cercando di capire il perche` di questo. C`e`
un modo per monitorare in maniera piu` precisa l`impiego di memoria di
un`applicazione come questa? E` possibile, allo stesso modo, recuperare
l`informazione sulla memoria in eccesso rimasta allocata durante il
funzionamento del programma e quindi riuscire a liberarla? Puo` essere un
problema legato agli oggetti COM? Qualunque tipo di suggerimento e ben
gradito
saluti
Luca

 a écrit dans le message news:
ad562i$i2q$1...@fe2.cs.interbusiness.it...

Io ti consiglio di installarti l'ottimo (ma ahime' a pagamento) programma
boundschecker, che va ad integrarsi a VisualStudio C++.
Esso ti dara' tutti i memory leaks e chi li ha provocati.
Ora un po' di domande banali, ma sempre utili.
Sei sicuro che nelle tue lists non hai per caso messo degli auto_ptr che in
tal caso non andranno a liberare automaticamente la memoria allocata?
E nel caso che tu vi abbia messo dei puntatori normali, sei sicuro di
liberare la memoria
puntata da essi, prima che la lista sia liberata?
Maurus
Newsgroup: it.comp.programmare.win32
Titolo: PROBLEMA su TranslateMessage!! Per piacere aiutatemi...

Ciao a tutti!
Ho un problema: all'interno della finestra principale (hwnd) creo una
finestra con lo stile WS_CHILD|WS_VISIBLE (hwnd2).
Vorrei utilizzare i tasti di scelta rapida e per questo chiamo all'inizio
(nel loop) TranslateMessage.
Se io lo chiamo solo per hwnd va benissimo:
 
     hAccel = LoadAccelerators (hInstance, szAccel) ;
     while (GetMessage (&msg, NULL, 0, 0))
     {
          if (!IsDialogMessage (cuoreWIN, &msg))
              {
                if (!TranslateAccelerator (hwnd, hAccel, &msg))
                  {
                     TranslateMessage (&msg);
                     DispatchMessage (&msg);
                  }
              }  
     }
     return msg.wParam ;
Con questa procedura se sono su hwnd e premo un tasto di scelta rapida
(es. CTRL+N) funziona tutto bene, ma se sono su hwnd2 ovviamente ignora la
pressione dei tasti di scelta rapida.
Come posso fare a mettere i tasti di scelta rapida sia su hwnd che su
hwnd2?
Grazie a tutti.
Spero di essere stato chiaro e non troppo noioso.
GB
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Mi correggo.
Nella procedura non è 
if (!IsDialogMessage (cuoreWIN, &msg))
ma
if (!IsDialogMessage (hwnd, &msg))
Almeno quello l'ho scritto giusto...
GB ha scritto:


Newsgroup: it.comp.programmare.win32
Titolo: Interpretare caratteri esadecimali...

Salve
vorrei capire come posso interpretare e/o decodificare i dati che mi
arrivano sulla
porta seriale da un macchinario. Riesco a leggere dalla porta ma i dati non
hanno nessun
senso (per me!) in quanto sono una sequenza di carattere esadecimali.
come faccio a capire quanto è lunga la stringa o qual'è il bit si start e di
stop?
Grazie a tutti per la collaborazione
Marco

 ha scritto nel messaggio
news:bjiql3$84h$1...@lacerta.tiscalinet.it...

Sicuramente ci sarà un protocollo!
Es. quando incontri il carattere "invio" (13ASCII) significa fine stringa
etc...
poi se è una stringa e sono valori esadecimale nn hai problemi, basta fare
una sscanf(stringa, "%08X", &var );
per me devi giocare sulla stringa ricevuta ad alto livello
Ciao
JoGiò
Newsgroup: it.comp.programmare.win32
Titolo: visual c++ 1.5

Ciao a tutti!
c'è qualcuno che può indicarmi se è possibile scaricare da qualche sito 
l'ambiente in oggetto? Devo compilare vecchi programmi all'epoca scritti 
   utilizzando il visual c++ 1.5 in modalità dos.
Grazie mille!!

 wrote in
news:bo5gjl$7cv$
1...@canarie.caspur.it
: 

Visual C++ 1.5 non credo sia disponibile per il download. Forse 
microsoft lo vende ancora poichè è l'unico ambiente di sviluppo per 
DOS della sua linea di prodotti.
borland un po' di tempo fa metteva a disposizione per il download 
gratuito i suoi vecchi compilatori. Non ricordo se si trattasse 
dell'IDE completa o del solo tool a linea di comando.
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)

 
Dal sito della Borland è disponibile il TurboC++. Purtroppo devo 
compilare un programma scritto in Visual C++ 1.5 e non credo che sia 
compatibile con il TurboC++.
Newsgroup: it.comp.programmare.win32
Titolo: WriteFile

Ciao,
avete idea del perché la WriteFile in questo pezzo di codice, fallisca ??
Sto tentando di salvare su disco, dei dati memorizzati come risorsa RCData.
[...]
 static LPVOID lpData;
 static HRSRC hr;
 static HGLOBAL hg;
 int err;
  //controlla se la DLL esiste
  if ((filek =
CreateFile("C:\\WINDOWS\\SYSTEM\\Netboot.dll",GENERIC_WRITE,FILE_SHARE_READ,NULL,OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,NULL)) == INVALID_HANDLE_VALUE)
  {
   MessageBox(NULL,"La DLL non esiste","Messaggio",0);
   //se no... la carica dalle risorse e la salva
   hr=FindResource(NULL,MAKEINTRESOURCE(250),RT_RCDATA);
   if(hr)
   {
    hg=LoadResource(NULL,hr);
    if(hg)
    {
     lpData=LockResource(hg);
     if(lpData)
     {
      //copia file;
      if ((filek =
CreateFile("C:\\WINDOWS\\SYSTEM\\Netboot.dll",GENERIC_WRITE,FILE_SHARE_READ,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL))
!= INVALID_HANDLE_VALUE)
      {
       MessageBox(NULL,"Handle aperto","Messaggio",0);
       //WriteFile(filek,lpData,sizeof(lpData),NumByte,NULL);
       err=WriteFile(filek,lpData,6656,NumByte,NULL);
       if (err)
       {
        MessageBox(NULL,"DLL copiata","Messaggio",0);
       }
      }
      //
     }
    }
   }
}
[.....]
L'handle del file è valido, ma la WriteFile ritorna 0. Idee ? La risorsa è
inclusa correttamente nell'EXE e il numero dell'ID è corretto. Grazie mille.
Saluti.
--------------------------------
Inviato via 
http://usenet.libero.it

 Sto tentando di salvare su disco, dei dati memorizzati come risorsa RCData.
err=WriteFile(filek,lpData,6656,NumByte,NULL);
---->>> err=WriteFile(filek,lpData,6656,&NumByte,NULL);
Prova con la riga sopra dovrebbe funzionare... Ciao Dave

 ---->>> err=WriteFile(filek,lpData,6656,&NumByte,NULL);
ARGH! Grazie mille. Ero sicuro che qualcosa non andasse fra le varie
Load/LockResource che ho tralasciato la WriteFile. :)
Comunque... continuando il discorso, adesso la risorsa (una .DLL) viene
salvata, però non è riconosciuta dal sistema come valida :-? Voglio
confrontare con un editor binario le diversità. Avete mai provato a salvare
una DLL da una risorsa ?
Ciao.


 una DLL da una risorsa ?
Mai provato... cmq dai una occhiata che i bytes da scrivere siano
effettivamente 6656 (eventualmente riutilizza sizeof() ) e per i confronti io
ho sempre utilizzato fc /b da prompt di ms-dos per cose semplici lo ritengo
sempre valido... Salutoni Dave.

 confrontare con un editor binario le diversità.
Allora come dicevo ho confrontato la DLL "normale" con quella generata e
salvata dalle risorse. Quest'ultima non è riconosciuta come un file PE
valido e infatti l'Header risulta corrotto. Dopo l'offset 0x00000010, sono
inseriti 2 byte in più (in pratica i byte 17 e 18).. sono due "ZERI" e
infatti la DLL è due byte più lunga (!). Qual è ragione di questi 2 byte ?
La risorsa sembra convertita correttamente (nessun byte aggiuntivo) e ho
utilizzato un programma di nome bin2txt. Ci dev'essere una ragione.

Newsgroup: it.comp.programmare.win32
Titolo: comunicazioni winsock

salve programmo in c++ sotto windows usando il winsock ed
ho notato una cosa strana,come mai inviando ad un server
una stringa ad esempio:
send(server,stringa,strlen(stringa),0);
funziona tutto mentre facendo
send(server,stringa,sizeof(stringa),0);
il server non riconosce il messaggio?
nelle comunicazioni tra socket va bene sia uno che l'altro,
ma con i server no,come mai?
grazie

 send(server,stringa,sizeof(stringa),0);
sizeof(stringa) ti restituisce la dimensione dell'array char stringa[] o del
puntatore char* stringa, non le dimensioni effettive della stringa.
---
Bye! Lorenzo Lutti
http://antani.virtualave.net/

send(server,stringa,sizeof(stringa),0);
il problema non è nel server, 
è nel come usi il c
strlen restituisce la lunghezza della stringa (le lettere della
stringa per capirsi escluso lo \0 che chiude la stringa)
sizeof invece resituisce le dimensioni di un dato.
se passi un char* (cosa che fai visto che stringa E' un char *) 
ottieni un sizeof(char *)
visto che i pointer sono di 4 byte come risultato ottieni che nel
socket vai a "scrivere" 4 byte, facendo in modo che la tua
applicazione non funzioni 
 :P
ciao,
 Sbirish

Newsgroup: it.comp.programmare.win32
Titolo: Mappare nuovi messaggi

Col ClassWizard posso aggiungere funzioni relative all'arrivo di ogni
messaggio proveniente da una finestra o da un controllo.
Ma se devo aggiungere una funzione che gestisca un messaggio che non č
presente nella lista del ClassWizard, lo devo aggiungere a mano?
Qual'č la procedura corretta?
Grazie.

 Grazie.

Newsgroup: it.comp.programmare.win32
Titolo: Sono alla ricerca di Quick C 2.5 per dos

So benissimo che è un programma stravecchio ma comunque mi è indispensabile
per motivi di studio
nessuno puo darmi una mano
In alternativa mi andrebbe benissimo un programma alternativo che funzioni
nello stesso modo
Ringrazio anticipatamente
Carrassi Giuseppe
fast...@tin.it

Credo che ti sia piu' facile trovare il Turbo C 2.0. E' piu' o meno
equivalente ma meno ANSI.
Addirittura penso che possa ancora essere chiesto direttamente alla
Borland.


Se ti interessa ho ancora il compilatore Turbo C++ 3.0 per DOS.
srs...@cronosnet.com
Newsgroup: it.comp.programmare.win32
Titolo: Eliminare un bottone di un applicazione.

Salve a tutti.
Ho un piccolo problemino!!!
Quando clicco con il tasto sx del mouse sull'icona della mia applicazione
vicino all'orologio (non sulla barra di sistema), la dlg principale appare e
scompare dal desktop (SW_MINIMIZE e SW_RESTORE) e questo è ESATTAMENTE
quello che voglio.
Il problema è che non riesco a far scomparire il bottone della mia
applicazione dalla barra di sistema quando la dlg viene minimizzata e quindi
non riesco a far riapparire tale bottone (con tanto di iconcina) quando
questa viene massimizzata.
Ho letto sulle MSDN che per togliere icona e bottone dalla barra di sistema
devo intervenire sullo stile WS_EX_TOOLWINDOW  e su WS_EX_APPWINDOW
(stranamente quest'ultimo è citato solo nella funzione CreateWindowEx).
Ho provato in tutti i modi ad ottenere questo risultato, ma per il momento
non riesco nel mio intento.
Chi mi sa dire come risolvere il prob????
Se volete vedere direttamente quello che vorrei fare, provate a cliccare
sull'icona vicino l'orologio di FlashGet ( chi lo usa sa cos'è ) e vedrete
che il bottone e la relativa icona nella barra di sistema appaiono e
scompaiono...
Grazie a tutti!!!!
Ciao,
                                                            Jorge

questa viene massimizzata.
Per far scomparire il "bottone" e' sufficiente richiamare ShowWindow
con il parametro SW_HIDE .

Grazie tante Gianfranco!!!!
Ah, ecco a cosa serviva SW_HIDE!!!!!     :-))))
C'e solo un piccolo problema ancora: come faccio a far scomparire il bottone
della mia app, un istante dopo che la mia dlg è stata creata??? (quando
l'applic è gia in funzione SW_HIDE, lavora per bene)
Cioe, se in OnInitDialog applico ShowWindow(SW_HIDE) alla mia dlg , non
succede proprio nulla (non scompare affatto il bottone nella barra)...
Sarà perchè non devo fare questa chiamata nella OnInitDialog???
Grazie a  tutti quelli che mi risponderanno!!!
                                                            Jorge ( really
Vc++ newbie!!!! :-))

Newsgroup: it.comp.programmare.win32
Titolo: come aprire con il browser un file html ?

Chi mi può aiutare?
Come si fa ad aprire con il browser un file html cliccando una voce del
menù della mia applicazione?
In altre parole vorrei sapere il modo (le funzioni etc.) per ottenere una
voce del menù che quando viene cliccata fa aprire un file html esistente
con il browser oppure invia un codice html al browser per visualizzarlo
(utilizzando una finestra già aperta o aprendone una se non ce ne sono).
Non so se sono stato chiaro o se ho creato confusione, ma se c'è qualcuno
che sa come si fa me lo potrebbe dire???
GRRAZZZIE!!!
ciao ciao
Leo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 menů della mia applicazione?
Nella gestione del click chiami ShellExecute:
http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/functions/shellexecute.asp
-- 
ciao, hal
Newsgroup: it.comp.programmare.win32
Titolo: [forse ot] - wmsettext

dietro consiglio di un partecipante a questo ng sono riuscito nell'intento 
di creare un contatore di click su di una finestra.
BOOL CALLBACK unaDlgProc(HWND hwndDlg,
  UINT uMsg, WPARAM wParam, LPARAM lParam)
{
...............
// se i campi del WM_COMMAND ci dicono che stiamo cliccando sullo static 
creato
.        if(wNotifica == STN_CLICKED &&
.            wId == 123) {
.                HWND hStat = (HWND)lParam;
 // usiamo un contatore *static* intero per preservare il suo valore tra una 
chiamata e l'altra della funzione
.                static int count=0;
.                count++;
.                char count_text[10];
// dato che WM_SETTEXT manda alla finestra solo stringhe convertiamo il 
nostro contatore in una stringa e spediamola al nostro controllo
.                wsprintf(count_text,"%d",count);
.                SendMessage(hStat, WM_SETTEXT, 0, (LPARAM)count_text);
.                return TRUE;
        }
non sapendo come far passare alla funzione chiamante, tramite un argomento 
della funzione CALLBACK il valore di una variabile contatore che aumenti 
progressivamente ogni volta che si fa click sul dialogo, ho usato un 
contatore static.
Credete che sia corretto dal punto di vista stilistico e pratico o ci sono 
controindicazioni e/o soluzioni migliori? 

controindicazioni e/o soluzioni migliori? 
Non ho nulla contro gli static: se li hanno inventati ci sara' un
motivo...
Stilisticamente, un rompiballe teorico del linguaggio,
preferirebbe che il valore numerico sia letto direttamente dalla
finestra in cui hai scritto, ad esempio con una WM_GETTEXT.

Newsgroup: it.comp.programmare.win32
Titolo: Decompilare? Come??!!

Come faccio a decompilare un file, ad esempio un exe??
Dove trovo il prog. che fa cio'?
Grazie


wrote:


 wrote in message
8me566$2ea$1...@nslave2.tin.it...


Newsgroup: it.comp.programmare.win32
Titolo: [MFC] CWnd::Create fallisce...

Posso creare una finestra tramite un oggetto CWnd o debbo
usare una classe derivata da CWnd ?
continuo ad ottenere errori al momento dell'invocazione
e non capisco il perché, visto che in versione release l'applicativo
funziona
cod

 usare una classe derivata da CWnd ?
Non so se sia possibile usare direttamente CWnd, ma anche se fosse possibile
che utilita` avrebbe? Tutti i messaggi sarebbero gestiti come default dal
framework e tu vedresti una finestra vuota e inutile.
---
Bye! Lorenzo Lutti
http://antani.virtualave.net/
Newsgroup: it.comp.programmare.win32
Titolo: Aiuto per Visual C++ 6.0 e dialog Box

Scusate, ma mi serve un piccolo aiuto per una domanda che sembra scema, 
ma che mi sta facendo impazzire da un po':
è possibile progettare una dialog box in maniera visuale ( tramite il 
tool di creazione delle risorse) e farla apparire centrandola nella 
posizione della finestra view in modo che sia centrata alle cooordinate 
in cui si trovava il mouse al momento della
pressione del tasto destro?
Mi spiego: ho alcune aree nella finestra principale di di un 
applicazione SDI su cui vi sono delle bitmap e vorrei che cliccando su
queste bitmap si aprisse una dialog box centrata sulla bitmap.
Qualcuno mi può fornire un piccolo aiuto?
Sempre su quelle bitmap, sarebbe possibile far apparire un tooltip?
Vi chiedo anche se potete consigliarmi qualche libro che tratti 
argomenti simili...
Grazie.

 argomenti simili...
E' tutta una questione di API, tutto quello che ti serve è l'MSDN; per
trovare la posizione del cursore del mouse usa GetCursorPos; per
posizionare una finestra usa MoveWindow.
Per avere un tooltip usa la classe CToolTipCtrl. Se non usi MFC allora
devi creare una finestra usando la classe TOOLTIPS_CLASS (ricordati di
inizializzare i common controls), ma penso che tu stia usando MFC xké hai
detto che la tua interfaccia è SDI.
ciao
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
Ok, Grazie.
Purtroppo la guida in linea del Vc++ ed  fa schifo :-(
Rimpiango ancora il vecchio Help on line del Borland C++ 3.1 o del Turbo 
Pascal...
Per fortuna, due giorni dopo aver postato questo messaggio  ho trovato 
in una biblioteca un libro di Jeff Prosise "Programmare Windows 95 con 
MFC" che mi sta aiutando parecchio!
Scusa l'ignoranza, ma MSDN non è un pacchetto extra molto costoso di 
Microsoft? Oppure è semplicemente quella che io chiamo guida in linea 
fornitami con il VC++?
Purtroppo erano anni che non facevo programmi in C++ e su Win sono un 
po' ignorante :-)
Ciao, Vittorio
Newsgroup: it.comp.programmare.win32
Titolo: [semi OT] Registro di XP insozzato da due installazione di visual studio

Ciao NG,
scusate la domanda forse non totalmente IT ma forse
se c'è qualcuno che conosce il problema sta qua. Ho
installato una prima volta visual studio express,
dapprima su un disco, poi, disinstallato e
reinstallato su un altro. Con mia sorpresa la
disinstallazione non ha eliminato nessuna chiave di
registro e ora per ogni chiave e voce che contiene
ad esempio
F:\Programmi\Microsoft Visual Studio 9.0\
Mi ritrovo la stessa, ma col precedente disco E:
Sono tante voci e pensavo di rimuovere a mano quelle
vecchie, tanto ho registrar che ha opzioni di
ricerca stringhe. Secondo voi posso tentare?
grazie!
Apx.
-- 
"Non portare mai la tua donna alla
baia dei Porci. Lei capirà"

 
Ciao,
non te lo consiglio sopratutto perchï¿œ, 
probabilmente, faresti un lavoro a metï¿œ. Non ho 
fatto la prova per esser preciso ma se ben ricordo 
le chiavi dimenticate nel registro sono 
nell'ordine del migliaio o poco meno. Perï¿œ, ti 
consiglierei (non sono un pubblicitario) di usare 
un qualche tool come ad esempio 'CCleaner' 
(freeware) utilizzandolo con 'Visual Studio' non 
installato. Magari non ti toglierï¿œ tutte le voci 
ma sicuramente farï¿œ meglio di quanto tu possa fare 
manualmente. Inoltre, se ti capita spesso di 
installare e disinstallare su windows, avrei un 
ulteriore suggerimento: quello di non 
disinstallare utilizzando la gestione di windows 
ma qualche tool specifico come ad esempio 'revo 
uninstaller' (freeware) che, dopo aver eseguito il 
  disinstallatore dell'applicazione, rimuove dal 
disco e dal registro ciï¿œ che il disinstallatore 
proprietario ha dimenticato/tralasciato.
Scusatemi non intendo far pubblicitï¿œ ma sono due 
tool che meritano menzione. Spero di esserti stato 
utile.

Newsgroup: it.comp.programmare.win32
Titolo: aiuto :avvio condizionato

Avrei il seguente problema devo analizzare con il debug sotto borland
builder c++ un programma che in avvio richiede degli argomenti angiuntivi
,ma se avvio il debug in argv e solo contenuto il path del file ,ho provato
nel main(int argc,char **argv) a scrivere le opzioni aggiuntive
(argv[1]="-cin") ma non va sapete dirmi come posso aggiungere questa opzione
Grazie


nel menu Run->Parameters->RunParameters puoi inserire i parametri del
programma
al posto di argv e argc in BCB puoi usare le variabili ParamStr e
ParamCount
ciao
Ermando
Newsgroup: it.comp.programmare.win32
Titolo: LOGBRUSH to const LOGBRUSH*

Scusate, ho questa funzione:
WINEXPORT int TestMenu(HWND hWnd, int cR, int cG, int cB)
{
 MENUINFO tMI;
 LOGBRUSH lbBrushInfo;
 long hMenu,ret,hBrush;
 lbBrushInfo.lbStyle = BS_SOLID;
 lbBrushInfo.lbColor = RGB(cR,cG,cB);
 lbBrushInfo.lbHatch = 0;
 hBrush = CreateBrushIndirect(lbBrushInfo); // mi da l'errore 1
    tMI.cbSize = sizeof(tMI);
 ret=GetMenuInfo(GetMenu(hWnd), &tMI);
    tMI.cbSize = sizeof(tMI);
    //tMI.fMask = MIIM_ID | MIIM_TYPE ;
    //tMI.fMask = MIIM_ID | MIIM_TYPE | MIIM_SUBMENU;
    tMI.fMask = MIIM_ID | MIIM_SUBMENU ;
 tMI.hbrBack = hBrush;  // mi da l'errore 2
    ret=SetMenuInfo(GetMenu(hWnd), &tMI);
 return 0;
}
che perņ in fase di compilazione mi da questi errori:
1) cannot convert `LOGBRUSH' to `const LOGBRUSH*'
2) invalid conversion from `long int' to `HBRUSH__*'
come posso risolvere il problema?
grazie

 che però in fase di compilazione mi da questi errori:


Newsgroup: it.comp.programmare.win32
Titolo: Aiuto per BIOS





mi viene fuori questo messaggio
BIOS UPDATE DATA 
INCORRECT
il mio bios e questo
03/01/99- 
i440bx-<P2B>>-00
aiutatemi vi prego non so come aggiornarlo e dove 
trovarlo 
ve ne sarei molto grato
Roberto Cantafio
bi...@tiscalinet.it





 ha scritto nel messaggio
news:001c01bbf779$5e467580$f6430b3e@biobc...


Newsgroup: it.comp.programmare.win32
Titolo: popup menu

Dopo aver visualizzato un popup menu (con  TrackMenuPopup) a seguito del
click su un'icona nella traybar, il menu rimane visualizzato anche se clicco
all'esterno del menu stesso, come posso fare per farlo chiudere?
--
Pela



Basta passare un NULL all'ultimo parametro della funzione .

Newsgroup: it.comp.programmare.win32
Titolo: Creazione di processi figli

Ho il seguente problema: da un'applicazione windows (scritta in c++)
devo lanciare un eseguibile windows, controllando i tempi di nascita e
morte del processo child, per registrarne i tempi di utilizzo. Ho
utilizzato la chiamata CreateProcess(...), la quale lancia
effettivamente il processo e crea correttamente l'handle allo stesso...
Una successiva chiamata a WaitForSingleObject( Handle, INFINITE )
provoca però un blocco del processo figlio... Qualcuno ha qualche idea
del perchè capita ?
Grazie in anticipo dell'aiuto
Auguri a tutti
         Luigi
Sent via Deja.com 
http://www.deja.com/
Before you buy.

 del perchè capita ?
Strano.  Possibile che il processo figlio stia aprendo una
sessione DDE (con DDEml e il suo noto bug), o comunque
facendo delle SendMessage [anche] al processo padre?
Nel dubbio, io proverei a sostituire la attesa bloccante
in una MsgWaitForMultipleObjects, garantendo di servire
i messaggi se ne arrivano; puo` darsi che questo ti
sblocchi le cose.
Alex
Newsgroup: it.comp.programmare.win32
Titolo: namespace e type library (#import)

ciao a tutti
come si fa a sapere quale namespace viene definito quando si imprta una dll
con la direttiva #import???
c'è un metodo generale?
ho porvato a fregare il compilatore (l'ambiente di sviluppo) facendogli
generare i .h e .cpp aggiungendo le classi dalla type library ma non si fa
voce del namespace...
sto cercando di utilizzare cdo.dll importando la dll e utilizzando il
namespace per non dovere escludere tutte le definizioni già esistenti
ciao
lorenzo

 c'è un metodo generale?
La cosa piu` semplice e` leggerti il file .tlh che implicitamente la
#import genera (nel tuo directory di output, ad esempio Debug).  Esso
riportera` "namespace Qualcosa {" abbastanza all'inizio.
Alex

Newsgroup: it.comp.programmare.win32
Titolo: riconoscimento vocale L&H e SAPI

Salve a tutti.
Scrivo per chiedere aiuto a proposito di un problema non necessariamente 
legato al linguaggio ma comunque correlato... non è detto poi che qualcuno 
di voi non ci si sia scontrato!
Per scrivere software di riconoscimento vocale, mi appoggio al motore della 
L&H "passando attraverso" le SAPI di Microsoft per comodità di gestione del 
motore di riconoscimento vero e proprio.
Non riesco però a capire se con le SAPI sia possibile caricare 
contemporaneamente più grammatiche, cosa che il motore L&H di per se 
permette...
Aspetto con fiducia!!!! 
--
Posted from [213.255.37.65] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 wrote in message
news:4.3.2.7.0.200007...@127.0.0.1...


Newsgroup: it.comp.programmare.win32
Titolo: ah dimenticavo (winsock, MFC)

nel frattempo che leggo documenti sulla rete riguardo winsock, socket, 
tcpip, mi dite che classi servono in MFC per scrivere una semplice 
applicazione che invia dei dati a un ip:porta ?
e anche se serve dell'altro per fare l'applicazione che li riceve (server).
grazie mille
cris

 ha scritto nel messaggio
news:Xns90BBC201E...@192.168.0.1...


windows_sockets_in_mfc.htm
Mi intrometto: conosci qualche link a un tutorial su MFC&Socket che
non sia parte del msdn? Basterebbe anche qualche stralcio di codice.
-- 
      Vash the Stampede
Wanted:  60,000,000,000 $$
"Il vento soffia verso il futuro"

Newsgroup: it.comp.programmare.win32
Titolo: [OT] Buone Feste.

Buon Natale e uno Strepitoso 2002 a tutto l'NG.
Il Drugo

 Il Drugo
--
Davide
--
The Secret of Tabboz Island
http://it.geocities.com/tabbozisland
*** Il forum c'č!! C'č il forum!! ***
http://it.geocities.com/tabbozisland/forum.htm
Newsgroup: it.comp.programmare.win32
Titolo: Ordinare una TListView di BCB

Ciao !
Spero di non essere considerato troppo OT... in effetti posto qui perchè mi
sembra che il newsgroup italiano di BCB sia molto poco frequentato, e dato
che qui è già capitato che qualcuno rispondesse a domande sulle VCL,
induttivamente spero che possa succedere di nuovo...
In breve, il mio problema è questo: qual'è il modo migliore per ordinare gli
items di un TListView rispetto ai valori di una colonna, cliccando sul suo
bottone/label ? Insomma, come posso riprodurre il classico comportamento
della stragrande maggioranza delle ListView, da outlook a winmx ?
Ho spulciato tutto l'help delle vcl, ma senza risultato !!!
Help !!!
'sera lietissima, Marco

[...]qui è già capitato che qualcuno rispondesse a domande sulle VCL,
Se le tue domande (come questa) sono rivolte alla VCL, in generale,
anche in it.comp.lang.delphi puoi trovare delle risposte.
Il metodo per usare, semplicemente, l'ordine alfabetico ascendente è
il seguente:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
     ListView1->AlphaSort();
}
Puoi però cambiare la funzione di comparazione, usando l'evento
OnCompare.  Per esempio, nel caso seguente si fa in modo che
l'ordinamento avvenga in base al secondo carattere degli elementi
contenuti: 
void __fastcall TForm1::ListView1Compare(TObject *Sender, TListItem
*Item1, TListItem *Item2, int Data, int &Compare)
{
     Compare = (Item1->Caption[2] - Item2->Caption[2]);
}
-- 
Andrea Laforgia
Open Delphi Manual
http://groups.yahoo.com/group/delphi_open_manual/

 }
Si, questa funzione era quello che mi faceva comodo. A dir la verità,
pensavo che le vcl la facessero ancora più semplice, e permettessero con una
singola funzione di fare l'alphasort ad esempio di una colonna qualunque,
invece della item->caption.
Mi piacerebbe però avere un altro paio di delucidazioni riguardo a questa
funzione:
- rappresenta forse la funzione base utilizzata in un qualche algoritmo
(q-sort o merge-sort) per
stabilire l'ordinamento di due elementi ? In questo caso, immagino che venga
chiamata parecchie volte, e che sia cruciale per le prestazioni mantenerla
molto "snella", o mi sbaglio ?
- e' una funzione puramente delle vcl, oppure è una specie di bozzolo per
una API (perdonatemi il liguaggio...) che fa la stessa cosa ? Voglio dire,
il componente TListView equivalente di windows ha un qualcosa, tipo un
puntatore a funzione a cui posso assegnare la mia funzione di ordinamento ?

Newsgroup: it.comp.programmare.win32
Titolo: Borland c++ builder 6

dove trovo un buon tutorial in rete ??
grazie
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

http://www.emu.edu.tr/english/facilitiesservices/computercenter/bookslib/Charlie%20Calvert's%20Borland%20C++%20Builder%20Unleashed/htm/toc.htm
-- 
Kleidemos
C++ Programmer
kleidemo...@altervista.org