mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.programmare.win32
Titolo: WNetAddConnection2 e Win98

Salve a tutti,
qualcuno ha mai usato la funzione WNetAddConnection2 ??
Sentivo la mancanza sotto Win98 della funzione di Connect As per montare
drive di rete.
Allora ho trovato questa funzione ed ho fatto questa prova:
#include <windows.h>
#include <windowsx.h>
int APIENTRY WinMain(HINSTANCE hInstance,
        HINSTANCE hPrevInstance,
        LPSTR lpCmdLine,
	int nCmdShow) {
        NETRESOURCE NetResource;
        char* lpPassword = "password\0";
        char* lpUsername = "username\0";
        DWORD dwFlags = 0; 
 
	char* LocalDrive = "z:\0";
	char* Unc = "\\\\server\\share\0";
 
	int res;
	NetResource.dwType =  RESOURCETYPE_DISK;  	
	NetResource.lpProvider = NULL;
	NetResource.lpLocalName = LocalDrive;
	NetResource.lpRemoteName = Unc;
	res = WNetAddConnection2(&NetResource,lpPassword, lpUsername,dwFlags);
	return res;
}
Questo pezzetto di codice funziona perfettamente sotto WinNT. Sotto
Win98 (e notare che sull'help di Win32 SDK non se ne fa cenno) qualsiasi
cosa si metta come username il tentativo di apertura dello share viene
fatto con il nome dell'utente corrente (e questo l'ho verificato anche
usando un packet sniffer).
Qualcuno ha idea di come aggirare il problema? Veramente mi devo
riloggare sul mio win ogni volta che voglio aprire uno share con i
diritti di un altro utente?
Grazie,
Marco.

usando un packet sniffer).
Sotto Windows 95/98 quei parametri devono essere NULL o una stringa
vuota. Non e' possibile specificare nome utente e password.
Aggiungo tra l'altro, che non e' necessario aggiungere \0 al testo
della stringa per costruire una stringa ASCIIZ.

 vuota. Non e' possibile specificare nome utente e password.
Forse volevi dire che non e' possibile specificare un utente. La
password funziona eccome. Se metto una pwd sbagliata non apre lo share...
Probabilmente, mettendo NULL si usa la PWD usata per il logon.
Cmq. grazie, vorra' dire che rinunciero'....
Eppure non posso credere che non sia possibile mappare uno share
forzando uno username diverso (magari gabbando un po' il win98 ;-)
Boh...
Ciao,
Marco.

Probabilmente, mettendo NULL si usa la PWD usata per il logon.
Tratto da MSDN :
"lpPassword points to a null-terminated string that specifies a
password to be used in making the network connection. 
If lpPassword is NULL, the function uses the current default password
associated with the user specified by lpUserName. 
If lpPassword points to an empty string, the function does not use a
password. 
Windows 95/98: This parameter must be NULL or the empty string."

Newsgroup: it.comp.programmare.win32
Titolo: path exe

come ricavare in un char * o altro il path dell'exe???? solo il path 
tipo C:\Programma\.
esiste una getcurrentpath??? o simile???

Ciao, Matteo!
Il giorno 05/12/2003 alle ore 18:24 hai scritto:
 M> come ricavare in un char * o altro il path dell'exe???? solo il path
 M> tipo C:\Programma\.
 M>
 M> esiste una getcurrentpath??? o simile???
GetCurrentDirectory
Pero' per sapere dove si trova l'eseguibile e' meglio GetModuleFileName
togliendo il nome del file.
Bye
Newsgroup: it.comp.programmare.win32
Titolo: come rilevare il computer name?

Ciao a tutti,  io dovrei rilevare,  tramite un'applicazione in visual basic,
il computer name ma non sò quale sia la DLL (quindi l'API) che mi consente
di fare ciò.
Di solito come si fa in questi casi ad ottenere un'informazione del genere?
Grazie infinite!
James
--
mailto: 
b_...@hotmail.com

Di solito come si fa in questi casi ad ottenere un'informazione del genere?
Si setaccia l'MSDN...
Davide





Ciao,
eccoti quelache esempio per trovere: il nome del computer, il nome
dell'utlizzatore, la windows directory, la windows system directory. Per
altre informazioni non esitare a contattarmi!!!
bye Bye
Matteo Ferrini
const int BUFFER = 256;
 LPTSTR lpszSystemInfo;     // pointer to system information string
 DWORD cchBuff = 256;       // size of computer or user name
 TCHAR tchBuffer2[BUFFER];  // buffer for concatenated string
 DWORD dwResult;            // function return value
 SYSTEM_INFO siSysInfo;     // structure for hardware information
 int aTabs[1] = {260};      // tab stop for TabbedTextOut
 TCHAR tchBuffer[BUFFER];   // buffer for expanded string
 int nSize;                 // size of string
 lpszSystemInfo = tchBuffer2;
 // Get and display the name of the computer.
 GetComputerName(lpszSystemInfo, &cchBuff);
 Label25->Caption = "Computer Name : " + AnsiString(lpszSystemInfo);
 GetUserName(lpszSystemInfo, &cchBuff);
 Label26->Caption = "User Name        : " + AnsiString(lpszSystemInfo);
 GetWindowsDirectory(lpszSystemInfo, MAX_PATH);
 Label27->Caption = "Windows Dir      : " + AnsiString(lpszSystemInfo);
 GetSystemDirectory(lpszSystemInfo, MAX_PATH);
 Label28->Caption = "System Dir         : " + AnsiString(lpszSystemInfo);

Newsgroup: it.comp.programmare.win32
Titolo: BitMap con colori non corrispondenti!

Ho incluso una bitmap nel file risorse ( .rc).
Ma quando vado a visualizzare l'immagine, i  colori sono diversi.
Come si carica la palette di un Bitmap a 256 colori?
Qualcuno ha un esempio?
--
Ciao, Alessandro
-----------------------------------------
Revel Team
[Software] [Lotto]
http://come.to/RevelTeam
-----------------------------------------

Qualcuno ha un esempio?
Credo possa aiutarti l'API "LoadImage".
- Giangio
Newsgroup: it.comp.programmare.win32
Titolo: aggiornamento dell'sdk

ciao, devo scrivere un applicativo di rete per XP/w2k con il visual c++
6.0
per recuperare i settaggi della scheda di rete con l'api GetAdaptersInfo
ho scaricato l'aggiornamento dell'sdk, l'ho installato sul mio
calcolatore (Windows XP) ed ho linkato la nuova directory ner i file di
intestazione all'interno del mio compilatore Visual C++ 6.0 (percorso:
Tools/Options/Directories, e ho aggiunto il percorso
"C:\Programmi\Microsoft SDK\include").
Ho incluso il file di intestazione nel mio file di
implementazione(#include "iphlpapi.h") ed ho linkato la libreria
"Iphlpapi.lib" nei settings del progetto.
ecoo il problema: quando vado richiamare la GetAdaptersInfo nel mio
modulo di implementazione ho il seguente errore: "c:\programmi\microsoft
sdk\include\iphlpapi.h(183) : error C2065: 'PMIB_ICMP_EX' : undeclared
identifier"
ecco la porzione di codice incriminata, ma la sintassi va bene, sono
sicuro perche' l'ho gia' utilizzata su CE...
dov'e' l'errore??? ciao e grazie in anticipo!!!
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 identifier"
Molto strano...
La documentazione dice che PMIB_ICMP_EX e' dichiarata in "Iprtrmib.h",
prova a vedere se e' presente.
HTH
C:\>iao Angelo


Newsgroup: it.comp.programmare.win32
Titolo: motore scacchi

vorrei programmare un motore di scacchi.
che linguaggio mi consigliate tra il c e il c++ ??

 che linguaggio mi consigliate tra il c e il c++ ??
L'astrazione del C++ potrà esserti molto utile.
Dall'analisi dei vari tornei fra computer (WCCC), soprattutto nei primi anni
dove si trovavano processori 6502 contro macchine dedicate, è emerso
chiaramente che più delle velocità dell'hardware quello che conta ai fini
della forza di gioco del programma è l'algoritmo (chiaramente se Deep Blue
ha un hardware eccezionale e pure il software è ottimo non ce n'é per
nessuno, comunque i vari Fritz e Shredder danno ottima prova di sé girando
su volgarissimi PC).
Ci sono algoritmi che valutano molti più nodi al secondo ma il loro gioco
risulta meno efficace perché valutano meno correttamente di altri la
posizione oppure sono meno abili nel potare l'albero delle varianti.
Ricordo un programma molto forte sul Commodore 64 scritto in assembly
(processore 6510), non certo paragonabile ai programmi di oggi ma non era un
milione di volte meno forte, a discapito delle differenze prestazionali con
i calcolatori di oggi.
Per questo motivo non aver paura di scrivere codice in C++ che possa essere
in qualche modo meno efficiente di come potresti fare in C (senza contare
che un buon programmatore C++ scrive codice altrettanto efficiente):
concentrati soprattutto sull'algoritmo, non pensare all'ottimizzazione fino
a quando non hai un motore che gioca!
Se vuoi un riferimento (in C però) che il gnu chess che è open-source e
quindi puoi darci un'occhiata tranquillamente.

Newsgroup: it.comp.programmare.win32
Titolo: Funzioni asincrone

qualcuno sa come fare aspettare il programma il completamento di una
funzione asincrona? (VB)
grazie mille
--
morp...@4ds.it

 qualcuno sa come fare aspettare Al programma il completamento di una

Newsgroup: it.comp.programmare.win32
Titolo: Problema con CreateThread

Ho cominciato da poco la programmazione con i Thread e subito ho avuto
un problema, che č il seguente:
Se come terzo parametro della funzione CreateThread() uso un puntatore
a funzione l'indirizzo di un metodo di una classe nella forma
"nomefunc" mi da il seguente errore:
cannot convert parameter 3 from 'unsigned long (void *)' to 'unsigned
long (__stdcall *)(void *)
Se invece do il puntatore nella funzione "&nomeclasse::nomefunc" mi da
l'errore:
cannot convert parameter 3 from 'unsigned long (__stdcall
Socket::*)(void *)' to 'unsigned long (__stdcall *)(void *)
Come devo fare? Premettendo che non posso mettere la funzione del
thread all'esterno della classe xchč usa variabili private e
riferimenti all'oggetto stesso...
Grazie....

 
Uhm... temo che tu abbia scelto la strada sbagliata.
LA funzione che viene lanciata nel nuov thread, non puň essere un metodo di 
una classe a meno che questo non sia definito come static! (nel qual caso 
l'accesso alle variabili private non sarebbe cosě immediato come vorresti)
Il perchč č abbastanza intuibile!
Il codice delle funzioni membro vive con l'istanza del tuo oggetto.
Se fai partire un thread con un metodo di tale oggetto e poi cancelli 
quest'ultimo, che succederebbe?
I thread vivono insieme al processo che l'ha generati, quindi il codice che 
eseguono deve essere altrettanto longevo :)
La soluzione potrebbe essere o il metodo static oppure una funzione 
"tradizionale" a cui passi un riferimento al tuo oggetto!
Ciao
-- 
Molebio
Newsgroup: it.comp.programmare.win32
Titolo: cursore sfarfallante... sapete come fare?

ho un bitblt continuo sull'area client, e vorrei evitare quel orribile
sfarfallio del cursore... ho provato di tutto... come si fa?

 sfarfallio del cursore... ho provato di tutto... come si fa?
strano, a me non è mai capitato.
posta il tuo codice.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 sfarfallio del cursore... ho provato di tutto... come si fa?
Hai provato a non cancellare il Background usando WM_ERASEBKGND?
E poi di quale cursore parli? Mouse o tastiera?
-- 
/* Costantino Grana                                */
main(int c,char**o){char*s=c?"+L7?+;:7?+:OKIK+9?;9=;"
":+9?;:<:;+9?;;;:;+9<:;<::;+RLJ;K9+":1[o],t,a=!c,m;do
for (m=*s-'0',t=a?m/c:m%c;m>>7?c=1<<m+8,!a&&puts(&a)*
*&a:t--;printf("  \0/*"+a));while ((a^=3)||a[++s]);;}
/* Original code due to Chris Brown... impressive! */

 sfarfallio del cursore... ho provato di tutto... come si fa?
dipende dal fatto che probabilmente il cursore (se ho capito bene intendi
quello del mouse) sul tuo pc è disegnato lato software, oggi la maggior
parte (se non la totalità, forse) delle schede video permette di disegnare
il cursore lato hardware, per questo non è apprezzabile su tutti i computer.
L'unica soluzione è ridurre al minimo possibile i bitblt (magari usando un
back buffer, non so cosa fa il tuo programma e se sia adattabile) e
rassegnarsi, se hai una scheda video "nuova" scarica gli ultimi driver, che
dovrebbero permetterti di decidere come disegnare il cursore.
ciao, assa.
--
gosclient: 
http://members.xoom.it/gosclient/
join the mailing list: 
http://groups.yahoo.com/group/gosclient/join
icq: #215876894
Newsgroup: it.comp.programmare.win32
Titolo: Come vedere i messaggi a console cin VC++

Ciao a tutti,
come faccio a vedere i messaggi stampati su console con printf da
un'applicazione Win32?
Uso Visual C++ 6, ma non trovo nessun comando apposito.
Grazie!
Dustin

Dustin wrote:

Se non ricordo male un applciativo win32 non tiene aperti i canali standard 
(STDIN,STDOUT,STDERR), quindi le chiamate a printf vanno redirette sul 
nulla. 
-- 
Luca Ferrari,
fluc...@libero.it

 redirette sul nulla.
tutto dipende da come č stato creato il processo, quindi da cosa (non) 
ha fatto il chiamante:
 - specificare STARTF_USESTDHANDLES e copiare i tre handle dai propri, 
   usando GetStdHandle, non č difficile. Non farlo, perň, č ancora piů 
   facile
 - questo vale anche per chi, in Microsoft, ha sviluppato ShellExecute
   - perchč va bene semplificare le cose (specialmente se si tratta di 
   quell'orrore di CreateProcess), ma almeno lo si faccia per bene
 - chi ha scritto le funzioni della famiglia spawn* della runtime C di 
   Microsoft, invece, ne capiva qualcosina in piů. Peccato che:
    - il trucco (mi riferisco ai campi cbReserved2 e lpReserved2 della 
      struttura STARTUPINFO, usati per passare i file descriptor della
      libreria stdio al processo figlio) č carino ma funziona solo tra 
      programmi C compilati con quella particolare runtime
    - nessuno usa spawn* nč probabilmente ne č a conoscenza, perň sono 
      tutti capacissimi (e entusiasti) di lamentarsi di CreateProcess
 - forse il prompt dei comandi fa bene a non assegnare stdin/stdout ai 
   processi GUI (forse). Per un debugger direi che č inaccettabile. Se 
   lo metta almeno in pipe e mostri l'output in una sua finestra
-- 
 < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
     Don't stand, REACT!      version 0.0.20. C, C++ and ASM developers
                              and beta testers are welcome!

Newsgroup: it.comp.programmare.win32
Titolo: Re: return di una connect()

 riceve correttamente?
Per questo aspetto bloccante o non bloccante conta poco. 
Controlli eventuali errori della funzione che usi per inviare i 
dati?
HTH,
-- 
Stefano Frosio
www.esse-effe.com

 buona riuscita di una ricezione di grandi quantità di dati?
La ricezione è comunque sempre a pacchetti. Casomai si tratta di 
ottimizzare la dimensione del buffer di trasmissione/ricezione 
in base alla mole di dati che si suppone di inviare/ricevere. Ma 
sono ottimizzazioni, l'invio dei dati deve riuscire a 
prescindere.
-- 
Stefano Frosio
www.esse-effe.com
Newsgroup: it.comp.programmare.win32
Titolo: Errore: Class not registered

Ho distribuito un programma in VB6 che illustra il catalogo della nostra
ditta.
Su alcuni PC dà però un problema e compaiono questi due messaggi:
1) Class not registered
Looking for object with clsid:
(00000010-0000-0010-8000-00AA006D2E4A)
Prendo sul tasto ok compare l'altro messaggio:
2) Run-time error 713
Class not registered
Looking for object with clsid:
(00000010-0000-0010-8000-00AA006D2E4A)
ed esco fuori dal programma.
Questo mi capita quando cerco di accedere alla parte grafica del catalogo.
Per far ciò utilizzo un Database Access che usa ADO.
Grazie.

Il clsid che riporti si riferisce all'oggetto DAO.DBEngine, che può essere
installato su alcune macchine e su altre no. L'oggetto in questione è la
radice di tutti gli oggetti per la gestione di un database Jet (.mdb). Jet
non è specifico di Access (non è corretto dire "Database di Access"), ma è
Access ad appoggiarsi su di esso, quindi non è necessario che Access stesso
sia installato nel sistema, ma il motore di gestione di Jet deve esserlo,
così come deve esserlo qualunque altro oggetto che sia utilizzato
dall'applicazione e non è scontato che sia già presente nel sistema in cui
verrà installata (quindi occhio anche agli oggetti ADO).
La soluzione è includere nel pacchetto di installazione tutti i componenti
necessari al corretto funzionamento del programma.
Non vorrei dire una stupidaggine, ma mi pare che il pacchetto MDAC
(Microsoft Data Access Components) comprenda anche Jet (DAO) oltre che
l'accesso ai dati (ADO, ecc.). MDAC dovrebbe essere ridistribuibile
liberamente, quindi se è così, non devi fare altro che includerlo nel CD e
invocarlo durante l'installazione (se non ricordo male è il classico package
di Microsoft: autoestraente, autoinstallante e magari anche
autobloccante;-)).
Per quanto riguarda il run-time error 713 non so che cosa dire, ma, se è
strettamente collegato al primo errore dovrebbe sparire da solo.
Stefano.
Newsgroup: it.comp.programmare.win32
Titolo: [OT] Visual Studio .NET

Scusate se OT, ma con 
new.tin.it
 non riesco a vedere i newsgroup che
trattano l'argomento.
Ho piena fiducia di voi e credo che sicuramente mi risolverete il problema.
Un paio di giorni fa, ho avuto la fortuna di vedere per la prima volta
VisualStudio.NET sul computer di un collega.
Ho aperto un mio progetto scritto in VC++, dopo avermi chiesto se
convertirlo nella vers.7 non mi ha dato problemi, ma volevo sapere se era
rimasta la compatibilità, o meglio, usa MFC, WFC o il Framework.NET?
cerco di  spiegarmi meglio:
Visto che devo migrare, volevo risolvere alcuni dubbi.
1 - Visual C++.NET e non C# si serve del framework o continua il discorso di
exe + dll + COM?
2 - Sulla macchina del cliente per forza il Framework installato?
3 - l'IDE (per la creazione di Dialog e tutto il discorso User Frieldly) è
migliorato?
Ditemi voi
ciao e grazie
JoGiò

 migliorato?
Bisogna un po' prenderci la mano. Alcune funzioncine sono piuttosto nascoste
e lo stile di accesso ai parametri degli oggetti risorsa è molto Visual
Basic.
In generale comunque si nota un passo in avanti (molto comoda la possibilità
di sostituire una parola in tutti i documenti aperti) e soprattuto la
coesistenza con source safe ha coperto i buchi che invece lo rendevono
difficilmente utilizzabile nelle scorse versioni.
Oltre questo  non so cosa altro dirti. Sono anche io passato da poco.
Ciao

Newsgroup: it.comp.programmare.win32
Titolo: stampare dati

Ciao a tutti
Ho da poco cominciato a programmare in C++ e come ambiente di
sviluppo, uso il Borland C++ 5.02 .
Ho la necessità di riportare su carta, dei dati, tramite la stampante.
Come si fa'?
Grazie. Ciao !!!!!

 Ciao a tutti
Ho da poco cominciato a programmare in C++ e come ambiente di
sviluppo, uso il Borland C++ 5.02 .
Ho creato una semplice applicazione che elabora una serie di dati e mi
stampa a video i risultati. Ora ho la neccessità di mandare gli stessi
risultati alla stampante. Esiste qualche libreria particolare da
utilizzare o basta la iostream.h?
Grazie. Ciao !!!!!
Newsgroup: it.comp.programmare.win32
Titolo: Oggetti COM e finestre

Salve,
volevo sapere se un oggetto COM puo' creare una finestra.
Sicuramente riesce ad eseguire una MessageBox, ma visualizzare
una finestra con eventuale caption e menu?
Grazie,
Paolo
--
Posted from 
twingo.tiscalinet.it
 [195.130.224.85] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Senza problemi, basta che hai 'attivato' il supporto MFC nel wizard
(VC++), sempre che tu non voglia usare le API (create() ecc).
Luc.

:

Se il controllo è realizzato tramite ATL puoi sfruttare le (ridotte) 
funzioni offerte dalle sue classi di gestione delle finestre o (in caso di 
necessità più complesse) utilizzare WTL che è sicuramente più leggera di 
MFC e si integra meglio con ATL (se solo fosse documentata a dovere...).
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

MFC e si integra meglio con ATL (se solo fosse documentata a dovere...).
Temo che le WTL abbiano smesso di supportarle... ne sapete qualcosa?
Luc.

: 

Tempo fa su codeproject (che fra l'altro è la fonte di informazioni 
migliore per WTL) era passata una dichiarazione (poi ridimensionata) di un 
responsabile microsoft che sosteneva che l'inclusione di WTL nel Platform 
SDK e, di conseguenza, in VC++ era da considerarsi un errore e che il 
framework ufficiale rimarrà MFC. 
Ed è purtroppo vero che cercando WTL su MSDN si ottiene il nulla assoluto e 
mi sembra un peccato che la microsoft stia "uccidendo" una delle sue 
creature migliori (dal punto di vista della programmazione C++).
E' anche vero che WTL è utilizzata iternamente in microsoft (è necessario 
installarla per compilare gli esempi del media-player) e, considerando che 
è rilasciata in forma sorgente ed è completamente linkata all'interno 
dell'applicazione, nulla (se non un'eventuale e improbabile azione 
legale di microsoft) impedisce agli utenti di continuare ad utilizzarla (ed 
eventualmente aggiornarla o modificarla).
Francamente l'approccio MFC (comprendere tutte le funzionalità applicative, 
dal supporto COM ai socket TCP/IP e forzare l'utente a impostare tutto il 
progetto in modalità MFC) non mi piace molto (tanto che, per programmi 
semplici preferisco ricorrere alle API nude e crude..).
Potrebbe essere una domanda da fare alla prossima WPC o ai responsabili ms 
allo SMAU...

Newsgroup: it.comp.programmare.win32
Titolo: Font grandi= applicazione storpiata

Ho fatto una piccola applicazione, ma se l'utente ha selezionato "font
grandi" l'applicazione viene storpiata....
Come posso risolvere questo problema?
Confido in un vostro aiuto
Grazie
--------------------------------------------------
Brayan Fix Kirys Solfory
Remove DELTHIS from the address to replay
Kirys Tech 2000: 
http://www.kt2k.com

Solo sei stai usando compilatori Builder/Delphi..
Aggiungi una PixelsPerInch = (valore che hai con i caratteri piccoli, lo
ricavi dall'Object Inspector) nei vari FormCreate di tutte le form. Vedrai
che ora le cose non saranno al top, ma sicuramente visibili.
"Kirys" <Ki...@DELTHIStechnologist.com> ha scritto nel messaggio
news:54k72tcdb2qclvm2b...@4ax.com...


 Kirys Tech 2000: 
http://www.kt2k.com
Ciao,
se usi il C++ Builder o Delphi puoi provare a inserire nell'OnCreate:
AutoSize = True;
dovrebbe funzionare.

Kirys Tech 2000: 
http://www.kt2k.com
La mia applicazione e' fatta con le chiamate di sistema quindi non ho
tali oggetti :D


Newsgroup: it.comp.programmare.win32
Titolo: passaggio variabili

Salve a tutti, vorrei porvi un quesito.
Ho il codice sorgente di quattro exe (indipendenti, a seconda della mia
scelta ne viene eseguito solo uno) che leggono dai file A,B,C alcuni
parametri. I file A,B,C vengono selezionati manualmente dall'utente finale
poichč possono variare. Eseguono svariati calcoli (differenti per ogni exe)
e scrivono un file D.
Oltre al file "D" a me servirebbe scriverne uno "E", attingendo un pņ di
dati da A, un pņ da B ecc...
Per evitare di aggiungere quattro volte del codice a quello gią presente,
chiedevo se era possibile scrivere un codice unico adatto a tutte le quattro
situazioni. Nel caso, come faccio a passare i valori letti dai file A,B,C
senza richiederne nuovamente la selezione all'utente finale?
Grazie dell'attenzione
Mattia

 senza richiederne nuovamente la selezione all'utente finale?
Un paio di soluzioni:
Puoi scrivere la tua funzione che legge dai file A,B,C in un sorgente a 
parte da compilare e linkare ai 4 programmi.
oppure
Puoi far scrivere ai tuoi 4 programmi un file testo con il percorso completo 
dei file A, B, C e scrivere un quinto programma che legge da questo file 
testo i nomi dei file e genera il file E.
-- 
Guglielmo
I programmatori passano il tempo a combinare cose ovvie in modi non ovvi
(Robert Dewar) 

 -- 
Grazie mille della risposta. Opterei per la prima soluzione, ma siccome non 
l'ho mai fatto non so bene come muovermi. Scrivo un file sorgente a parte, 
ma i file A,B,C come li passo dai programmi principali?
Alla fine in ogni programma dovrò scrivere nella riga di comando del linker 
il collegamento con questo file, giusto? Come? "cl filefinale.c"?
Scusa l'ignoranza ma sono costretto ad usare il visual c per la tesi e non 
perchè ne sia veramente appassionato.
Mattia 

 linker il collegamento con questo file, giusto? Come? "cl filefinale.c"?
Se non ricordo male (e' da una vita che non uso il CL direttamente) mi pare 
che basta scrivere qualcosa tipo
CL programma1.c filefinale.c
dove programma1.c e' il sorgente del tuo main () e
-- 
Guglielmo
Newsgroup: it.comp.programmare.win32
Titolo: 64bit

Salve a tutti e buon 2004!
Volevo sapere se avete suggerimenti per risolvere un mio piiiiiiiiccolo 
problemino: ho intenzione di stendere l'algoritmo per calcolare 
l'SHA-512 e questo prevede l'utilizzo di variabili a 64 bit.
Il problema è che queste variabili devono essere sommate.
Il mio intento è quello di usare coppie di variabili a 32 bit per 
rappresentare quelle a 64.
Ora mi (e vi) chiedo:
	ho due variabili A,B a 32 bit (unsigned long int);
	A,B hanno entrambe il valore 0xffffffff
	Come faccio ad avere il riporto di A+B?
Infatti la somma di 0xffffffff + 0xffffffff è 0x1fffffffe, ma quell'1 
che "compare" oltre i 32 bit come me lo calcolo? Cioè come faccio a 
sapere il riporto di una somma di due variabili a 32 bit?
Oppure..... Soluzioni alternative all'uso di coppie di variabili a 32 bit?
Thx in anticipo.
-- 
Nella vita una sola cosa è certa: se la storia ci ha insegnato qualcosa, 
è che si può uccidere chiunque. (Micheal Corleone)
Posted from X-Privat Free NNTP server - 
www.x-privat.org

 wrote:
[cut]
prova a dare un occhio al tipo ULARGE_INTEGER, da msdn
"The ULARGE_INTEGER structure is used to specify a 64-bit unsigned
integer"
Ciao
Stefano "HappyMan" (Lago Maggiore - NO)
--
Personal Web 
http://www.sgr.info
Email happyman69 (at) 
despammed.com

 Il problema è che queste variabili devono essere sommate.
In assembly ti direi
and eax,eax ;azzera il carry flag
mov eax, dword[LOW_PART_LARGE_INT_1]
add eax, dword[LOW_PART_LARGE_INT_2]
mov dword[LOW_PART_RESULT],eax
mov eax,dword[HI_PART_LARGE_INT_1]
adc eax,dword[HI_PART_LARGE_INT_2]
mov dword[HI_PART_RESULT],eax
In C, salvo che qualcuno non conosca una funzione apposita nell'sdk o sia
previsto a livello di compilatore un qualche supporto per i long long, farei
una cosa del tipo (suppongo che si parli di valori unsigned)
ULARGE_INTEGER op1,op2,res;
res.LowPart=op1.LowPart+op2.LowPart;
res.HiPart=op1.HiPart+op2.HiPart+(res.LowPart<op1.LowPart?1:0);
--
zello

 ha scritto:

Sicuramente se il compilatore che usi è recente, prevede anche un tipo a
64bit...
se così non fosse, puoi utilizzare una libreria (libgmp) open source da
compilare su win che serve proprio per i calcoli complessi(combinatori,
crittografia...). Pensa che io l'ho utilizzata in un prog di Super Enalotto
per calcolare il num di combinazioni dati n numeri...numeri a 15 e più
cifre!
E' abbastanza veloce...ho già la versione compilata per win, se ti interessa
invia un msg al mio indirizzo di posta e te la invio...
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Il problema è che queste variabili devono essere sommate.
__int64 se usi un Visual C++ non troppo recente (ma nemmeno arcaico),
long long se usi un compilatore che lo supporta (gcc lo fa da
parecchio).
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Newsgroup: it.comp.programmare.win32
Titolo: Heap Corruption

Dopo aver modificato l'evento WM_PAINT di una finestra ho iniziato a 
ricevere questo errore:
HEAP CORRUTION DETECTED:
after Normal block(#47) at 0x008C44B8.
CRT detected that the application wrote to memory after end of heap buffer.
Questo è il codice dell'evento WM_PAINT:
case WM_PAINT:{
    BITMAP bmMap;
    HDC hdcEdit = BeginPaint(hEditorWnd, &psEdit);
    HDC hdcMem = CreateCompatibleDC(hdcEdit);
    HDC hdcTemp = CreateCompatibleDC(hdcEdit);
    HBITMAP hbmOld = (HBITMAP) SelectObject(hdcMem, g_hCell);
    for(int i=0; i<20; i++){
        for(int j=0; j<26; j++){
            switch(EditingMap->GetCellInfo(i, j)){
                case 0:
                    if(iBkg == 0)
                        g_hCell = LoadBitmap(hInst, 
MAKEINTRESOURCE(IDB_EMPTY));
                    else
                        g_hCell = LoadBitmap(hInst, 
MAKEINTRESOURCE(IDB_ERASE));
                break;
                case 1:
                    g_hCell = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_WALL));
                break;
                case 2:
                    g_hCell = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_POINT));
                break;
                default:
                    MessageBox(hEditorWnd, "Error Choosing Bitmap to 
Display", "Error!", MB_OK);
            }
        SelectObject(hdcTemp, g_hCell);
        GetObject(g_hCell, sizeof(bmMap), &bmMap);
        BitBlt(hdcMem, i*15, j*15, bmMap.bmWidth, bmMap.bmHeight, hdcTemp, 
0, 0, SRCCOPY);
    }
}
BitBlt(hdcEdit, 0, 0, bmMap.bmWidth, bmMap.bmHeight, hdcMem, 0, 0, SRCCOPY);
SelectObject(hdcMem, hbmOld);
DeleteDC(hdcMem);
EndPaint(hEditorWnd, &psEdit);
}
Mi scuso se la questione è banale ma non ho ancora sufficiente dimestichezza 
col debugger per capire dove dia l'errore quindi spero in voi per un'indizio 
su dove guardare.
Grazie
Ale

su dove guardare.
Codice corretto, non usa una DC temporanea:
PAINTSTRUCT psEdit;
BITMAP bmMap;
HBITMAP g_hCell;
HDC hdcEdit,hdcTemp;
int i,j;
hdcEdit = BeginPaint (hEditorWnd,&psEdit);
hdcTemp = CreateCompatibleDC (hdcEdit);
for (i=0;i<20;i++)
   for (j=0;j<26;j++)
      {
      switch (EditingMap->GetCellInfo(i,j))
         {
         case 0:
            if (iBkg == 0)
               g_hCell = LoadBitmap (hInst,MAKEINTRESOURCE
(IDB_EMPTY));
            else
               g_hCell = LoadBitmap (hInst,MAKEINTRESOURCE
(IDB_ERASE));
            break;
         case 1:
            g_hCell = LoadBitmap (hInst,MAKEINTRESOURCE
(IDB_WALL));
            break;
         case 2:
            g_hCell = LoadBitmap (hInst,MAKEINTRESOURCE
(IDB_POINT));
            break;
         default:
            MessageBox (hEditorWnd,"Error Choosing Bitmap to
Display","Error!",MB_OK);
            // Pulisci TUTTO !
            return 0;
         }
   SelectObject (hdcTemp,g_hCell);
   GetObject (g_hCell,sizeof (bmMap),&bmMap);
   BitBlt
(hdcEdit,i*15,j*15,bmMap.bmWidth,bmMap.bmHeight,hdcTemp,0,0,SRCCOPY);
   DeleteObject (g_hCell);
   }
DeleteDC (hdcTemp);
EndPaint (hEditorWnd,&psEdit);

 Codice corretto, non usa una DC temporanea:
Grazie del consiglio proverò immediatamente.
Ale
Newsgroup: it.comp.programmare.win32
Titolo: OLE - Word97

(Visual C++ 5.0, MFC)
Ho bisogno di raccogliere piu' informazioni possibili (possibilmente
anche esempi MFC) per realizzare un programma che utilizza word come OLE
automation server. 
Il programma dovrà aprire una serie di documenti memorizzati in un
database sotto forma di OLE object (in campi BLOB) e "fonderli" in un
unico documento formattato.

...


 L'ho provato ed e` molto lento, ma fico.
Ciao, 
ho provato a scaricare il progetto e a compilarlo ed e' tutto ok, pero'
quando vado a esguire il programma viene aperta la finestra dos ma poi
no succede niente e il programma termina.
Ho provato a dare un'occhiata al codice ma non riesco a capire dove sta
il problema, ci sono dei settaggi particolari da fare (tipo il percorso
di word) o a te ha funzionato subito?
Grazie per l'interessamento.
-- 
     (ZZZ)       Filippo Salotti, Bagni di Lucca, Lucca, Italy.
    //   \\  _                 E-mail : 
fil...@humnet.unipi.it
   /Y\    ZD<_o===============================================o
 .oZZZZZo.     | Studente Ingegneria Informatica Automatica  |
<OXXXXXXXO>    | Dip. Sistemi Elettrici Universita' di Pisa. |

In realta` sei riuscito a fare tutto.
Scherzi a parte:
l'esecuzione di quel programmino dovrebbe aver
creato il file "C:\example.doc".
Guarda, se c'e` vuol dire che e` andato tutto bene.
Per le modifiche dovresti mettere mano ai metodi
dell'unica classe che esiste ne progetto, mi
sembra si chiami CStreamWord.
Per capire come passati tutta la serie di metodi
chiamato nel main (non sono molti, mi sembra
solo 4 o 5, ma potrebbero essere anche meno
se tralasci le impostazioni degli stili).
Ciao.
Michele


 se tralasci le impostazioni degli stili).
Grazie ora ho capito tutto, solo che mi aspettavo qualcosa che apriva
Word mi faceva scrivere e salvare i dati del documento in un file con
struttura creata da me.
Es. 1k di dati custom + doc + 2k di dati custom.
Sai mica se estono in rete esempi che aiutino a relizzare questo
meccanismo?


Newsgroup: it.comp.programmare.win32
Titolo: Hook dei links (come GetRight o Go!Zilla)

Vorrei sapere se qualcuno di voi è in grado di dirmi come posso far rilevare
al mio programma
i link con la richiesta di salvataggio in IE, Opera e Netscape.
In pratica il programma dovrebbe fare quello che fanno GetRight o
Go!Zilla...
Grazie anticipatamente,
    Luca

 Go!Zilla...
Ciao, cercando con il Registry Monitor ho visto che GR modifica le
chiavi :
HKEY_CLASSES_ROOT\PROTOCOLS\Name-Space Handler\http
HKEY_CLASSES_ROOT\PROTOCOLS\Name-Space Handler\ftp
inserendo la CLSID di XX2GR.DLL, che sembra essere un server COM (?boh!)
--
Ciao !  Davide DG.
Newsgroup: it.comp.programmare.win32
Titolo: SDI con dialoghi multipli o MDI?

Ciao a tutti.
 
Vorrei costruire un'applicazione SDI che dia la possibilità all'utente di
cambiare visualizzazione (muoversi tra i vari dialoghi) attraverso alcuni
bottoni (control).
Prima di tutto è possibile avere più oggetti vista in un'applicazione SDI?
Come?
Mi conviene utilizzare la tecnica MDI?
 
Altra piccola domanda: se voglio creare un'area di visualizzazione di testo
non editabile (output di connessioni socket simile ad una chat) dovrei usare
un TextBox giusto? Ma perchè in Visual studio .NET (C++) non trovo tra i
controlli dei dialoghi questa funzionalità? (TextBox)? Non fa parte dei
dialoghi?
 
In ogni caso posso creare un'intera area di visualizzazione come ho descritto
senza inserirla in un dialogo? Come?
 
Grazie in anticipo delle risposte se ci saranno.
 
Ciao
 
-- 
Caronte
-- 
Inviato da 
Newsgate.Localinfo.IT
 Web Service
http://newsgate.localinfo.it

 senza inserirla in un dialogo? Come?
basta che crei una finestra specificando "EDIT" al nome della classe,
oppure (se usi MFC) basta che usi la classe CEdit. Esiste anche una certa
funzione API che serve per rendere l'edit di sola lettura, solo che
a) non ricordo come si chiama
b) quando l'edit è diventato a sola lettura, il colore diventa per forza
grigio, e non c'è modo di cambiarlo; se lo vuoi bianco devi lasciar
perdere quella funzione API e bloccare manualmente tutti i messaggi
WM_CHAR.
ciao
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 senza inserirla in un dialogo? Come?
Su una dialog si puo' tranquillamente disegnare e scrivere.
Usa TextOut per esempio.
Chiaramente non e' una soluzione pronta...
Saluti 
JJ
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Newsgroup: it.comp.programmare.win32
Titolo: Componenti Builder?

Mi sapreste spiegare come aggiungere e dove trovare dei COMPONENTI nuovi per
Builder 5.0?
Grazie
--
°Īø,ļļ,øĪ°`°Īø,ļļ,øĪ°`°Īø,ļ Free to Love  ,ļ,øĪ°`°Īø,ļļ,øĪ°`°Īø,ļļ,øĪ°
Tommaso Mazza
Webmaster by   
www.atrambia.com
 
www.ameliosas.com
 
http://web.tiscali.it/epos2000

 ha scritto nel messaggio
news:PMe38.31037$tl3.9...@twister2.libero.it...


 Grazie
che facciano cosa? qualunque cosa strana? o basta che siano coloratissimi?
;)
ciao
p.s. ma che caxxo se ne fa la gente del form tondo?

 wrote in message
news:01c16a0d$f83dbfc0$6d430b3e@hal9000...

Newsgroup: it.comp.programmare.win32
Titolo: Problema con Class Wizard !!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Ho un problema molto semplice con Class Wizard (o almeno
spero...):importando una classe ad esempio di un bottone o di una finestra
in un progetto,come mai non viene vista da Class Wizard?
Confido in voi e vi ringrazio anticipatamente!

 wrote in message
news:96lu8f$2ni$1...@lacerta.tiscalinet.it...


Newsgroup: it.comp.programmare.win32
Titolo: Svuotare buffer tastiera...

Salve!
Sto sviluppando un applicativo in Visual C++.
Ho la necessità di svuotare il buffer di tastiera all'apertura di un
pannello... onde evitare che un ENTER premuto precedentemente abbia
effetto sul pannello corrente.
Grazie, Samuel.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Ho la necessità di svuotare il buffer di tastiera all'apertura di un
...[CUT]
Ho risolto così:
while (PeekMessage(&msg, hwnd,  0, 0, PM_REMOVE))
In realtà vorrei eliminare soltanto i messaggi provenienti dalla
tastiera... se
però uso il parametro PM_QS_INPUT il compilatore mi da errore.
Dice che il parametro non è specificato :-(


 Dice che il parametro non è specificato :-(
fflush(stdin);
Dovrebbe "funzionare" (come puo' funzionare qualcosa che
lo standard definisce un "undefined behavior") anche nei
programmi Win32.
HTH
C:\>iao Angelo


 però uso il parametro PM_QS_INPUT il compilatore mi da errore.
WM_KEYFIRST,WM_KEYLAST al posto di 0,0. 
-- 
Luc

Newsgroup: it.comp.programmare.win32
Titolo: A.A.A. cercasi sorgenti.

Mi piacerebbe avere dei sorgenti di pgm tipo port scanner, wingate e
ipspoofer, in modo da capire come funzionano a livello pratico. dove potrei
trovarli?
Oppure se siete così gentili da spiegarmi voi o indicarmi dove poter trovare
spiegazioni xkè vorrei crearne uno io ma non so bene come funz tutta la
faccenda.
Grazie e ciao,
NIM

Nimroad ha scritto nel messaggio ...

Io partirei dando un'occhiata a 
www.sysinternals.com
Ciao!
--
- Carlo -

 trovarli?
Astalavista.box.sk
Neworder.box.sk
www.2600.com
...divertiti... :-)
Newsgroup: it.comp.programmare.win32
Titolo: Query su access con BCB

Ciao a tutti. ho un problema sulla chiamata ad una query da BCB5pro su un
database access. Ho bisogno di fare una query (QueryCustomer) sul risultato
di una prima query(QueryBatch) solo che non riesco a far accettare come
tabella di ingresso la prima query. Qualcuno può darmi una dritta??
 try
 {
  AnsiString MyQ="select BATCH_ID from "+tabella_1+" where fn="+Splice;
   AnsiString Prec="select en,fn from "+tabella_1+" where BATCH_ID in
("+MyQ+")" ;
  QueryBatch->DatabaseName=Data_BMC->DatabaseName;
  QueryBatch->SQL->Clear();
  QueryBatch->SQL->Add(Prec);
  QueryBatch->Open();
  QueryCustomer->DatabaseName=Data_BMC->DatabaseName;
  QueryCustomer->DataSource=PassaBatch;
  QueryCustomer->SQL->Clear();
  AnsiString Query2="select fn from QueryBatch";
  QueryCustomer->SQL->Add(Query2);
  QueryCustomer->Open();
 }
 catch(...) {
 }

 tabella di ingresso la prima query. Qualcuno può darmi una dritta??
Well... non conosco Access (lavoro con Oracle); tuttavia, almeno ad un primo
sguardo (anche se poco attento, devo essere sincero), mi sembra che il
problema risieda nel fatto che la forma SQL utilizzata sia un pochino
"barbara" : non è possibile (almeno in SQL2) eseguire una query di filtering
sul risultato di un'altra query indipendente dalla prima.
Ragion per cui, la forma che dovresti utilizzare dovrebbe prevedere un
nesting di due query, di cui quella più interna sarà quella che tu esegui
attualmente per prima, e l'altra (che la racchiude) è quella di filtering
(scrivo il codice, poi lo converti nel formato BCB) :
select en,fn
from <nome_tabella>
where BATCH_ID in (
    select BATCH_ID
    from <nome_tabella_1>
    where fn=<valore_dato>
    )
Spero ti sia utile.
Ciao
--
Alessio
Computer Science Engineering Student
rm -rf /bin/Ladin
Newsgroup: it.comp.programmare.win32
Titolo: USB con VC++

Ciao, sto usando il Visual C++ per comunicare con un microcontrollore
collegato sulla porta USB, fino ad ora creando una COM virtuale con un
convertitore e quindi programmando la USB come fosse una COM (rs232).
Ora vorrei comunicare con il micro direttamente con la USB, mi sapete
dire come posso fare con il VC++ o se esistono delle librerie adatte a
questo scopo.


Sui sistemi Win32 devi scrivere un driver per poter comunicare via USB. 
Non s� se esistono drivers "generici" che trasferiscono il controllo a 
livello applicazione (come faceva il vecchio "giveio.sys" per gli I/O 
tradizionali).
L'alternativa � far si che il microcontrollore implementi il protocollo 
USB-CDC (quello utilizzato da molti convertitori USB-seriale e da modem 
USB etc.). In questo modo Windows lo riconoscer� senza bisogno di 
drivers e attiver� automaticamente una nuova COM virtuale.
Buon lavoro
-- 
Valter Minute
(the reply address of this message is invalid)
(l'indirizzo di reply di questo messaggio non � valido)

Un bel giorno tibe02 digit�:

E' una domanda un po' generica; dipende dal microcontrollore, dalla
velocit� che ti serve, dal tipo di "classe" USB che ti serve (storage,
human interface...), eccetera. Perch� il convertitore USB-seriale (che
immagino sia il FT232 o un suo clone) non ti soddisfa pi�?
-- 
emboliaschizoide.splinder.com

Newsgroup: it.comp.programmare.win32
Titolo: Funzioni C++ in un'interfaccia VB

Devo utilizzare alcune funzioni C++ ( scritte da me ) all'interno di eventi
di un'interfaccia VB.
Come posso fare?
Se creo un'eseguibile per ogni evento, devo salvare e ricreare la struttura
su cui lavoro ogni volta, con grande spreco di tempo.
Se creo più DLL, una per ciascun evento di mio interesse, posso lavorare
sempre sulla stessa struttura dati, evitando di salvarla al termine di
ciascuna funzione per ricrearla all'inizion della funzione chiamata
successivamente?????
Vi prego aiutatemi......................
Grazie mille
Linda

:

Da quello che ho capito, credo che la soluzione migliore sia realizzare un 
oggetto COM che "incapsula" le varie funzioni e strutture dati e 
richiamarne le funzioni-membro in risposta agli eventi.
P.S. se hai già una buona porzione di codice in C/C++ e l'interfaccia 
utente non è terribilmente complessa, forse potresti lasciare da parte 
VB...
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)
Newsgroup: it.comp.programmare.win32
Titolo: Disabilitare un bottone in MFC

Salve a tutti, una domanda,
non riesco a capire come posso disabilitare un bottone su una dialog da
codice...
Qualcuno mi può aiutare?
Grazie
Roberto


CButton* wndButton = (CButton*) GetDlgItem (ID_OK); // ID_OK č l'ID del tuo
pulsante p.e.
wndButton->EnabledWindow(false);
Attenzione la prima riga di codice che ho utilizzato non č molto elegante da
utilizzare e, in alcuni casi (non in questo) non funziona sotto MFC. Questa
l'altra soluzione:
CButton wndButton;
wndButton.Attach (GetDlgItem (ID_OK)->m_hWnd));
wndButton.EnabledWindow(false);
wndButton.Detach();
------------------------------
Analizziamo la riga
            CButton* wndButton = (CButton*) GetDlgItem (ID_OK);
la funzione GetDlgItem restituisce un puntatore CWnd dato l'ID del
controllo. Tutti i controlli sono finestre secondarie derivate dalla classe
CWnd. Successivamente si fa un sublassing alla classe CButton.
Con la funzione membro Attach() della classe CWnd, invece, crei
dinamicamente un subclassing alla classe desiderata e lo "scolleghi"
(scusami il termine poco consono al nostro linguaggio tecnico) tramite la
funzione Detach().
Saluti
Sergio Mola

 wrote in message
news:3aa75a4a.0@inetnews...



Di nulla, figurati!
Sergio Mola

Successivamente si fa un sublassing alla classe CButton.
NO!
Non si tratta di un subclassing alla classe CButton, ma di un casting a
_puntatore_ a classe (oggetto) CButton.
Dopo questo cast, il compilatore accede, tramite il puntatore, ad una zona
di memoria maggiore di quella prevista inizialmente, in quanto un oggetto
CButton e' piu' specializzato di uno CWnd...
La differenza con il subclassing e' notevole.
Ciao Ciao, Davide.
-- 
Posted from 
origin.vit.iit.nrc.ca
 [132.246.41.10] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG


A tutto il "personale" di codesto ng: chiedo venia per l'errore riportato
nella mia risposta e prontamente e giustamente corretto da Davide Piras.
Leggevo (qualche ora prima) un articolo sul subclassing pertanto mi č venuto
spontaneo  ricorrere a quel termine. Ero perfettamente convinto del casting
e non del subclassing...effettivamente c'č molta differenza! Chiedo scusa
ancora...e ringrazio tanto Davide Piras.
Sergio Mola

Newsgroup: it.comp.programmare.win32
Titolo: Socket

Dove trovare documentazione ed esempi sui Socket (a parte MSDN)
Grazie

Dove trovare documentazione ed esempi sui Socket (a parte MSDN)
Postate a volonta'!
Questa la facciamo entrare in FAQ...
-- 
DGP85
http://daps.cjb.net/
No HTML or Binaries with this address

 ha scritto nel messaggio
news:G9jo5.104475$dF5.1...@news.infostrada.it...


 Grazie
La raccolta piu' completa  che conosca e' disponibile su
http://www.private.org.il/tcpip_rl.html
 (socks in windows, protocolli,
tools, etc.).
Ciao
            Dario
Newsgroup: it.comp.programmare.win32
Titolo: grazie a tutti!!!

volevo ringraziare tutti quelli che mi hanno risposto fino ad adesso
sono finalmente riuscito a realizzare la mia prima applicazione in
C_win32!!!
il progetto non era proprio adatto come primo progetto, infatti è stato
molto impegnativo
vi volevo chiedere un favore.
mi potete testare l'applicazione?? io l'ho provata solo su WinME e Win2000,
e mi hanno detto che con win98 non va...
l'url è questo:
http://spazioweb.inwind.it/xaero/alphasplash-win32-release-v.1.0.8.zip
fatemi sapere cosa ne pensate
provate a fare dei loghi voi...  ;-)
--
ciao
..::[xaero]::..

 l'url č questo:
http://spazioweb.inwind.it/xaero/alphasplash-win32-release-v.1.0.9.zip
modificata una piccola cosa essenziale
qualcuno che ha win95 o win98 me la puň provare?
lo zip pesa solo 39 kb!


Provata! Funzionante anche su P 75 con Win98 F.E.
Bravo bella quella bitmap che fai apparire. MA COME LO POSSO FARE ANCHE IO?
Vorrei semplicemente capire che codice dovrei implementare per poter
mostrare a schermo una bitmap.
Ti prego aiutami!

 qualcuno che ha win95 o win98 me la può provare?


 Drugo
grazie
cmq con la nuova versione (1.0.9) ho scoperto cosa era il bug in win98
usavo GetCurrentDir() anzichè GetModuleFileName() per avere il path
dell'exe, e stranamente win98 non caricava la mask



molto semplice.
spero che sei capace a crearti una finestra base, con RegisterClass(),
CreateWindow() e saper gestire i messaggi.
io ho fatto così:
ho defnito un HDC pubblico (a liv. di mod.) che creo appena ho creato la
finestra e rilascio in WM_DESTROY
da quello crei un DC compatibile con il video
poi usi l'API LoadImage() per caricare una bitmap dal disco, selezioni
l'oggetto restituito nel DC, e nel messaggio WM_PAINT blitti il dc sul DC
della finestra. occhio a usare BeginPaint e EndPaint
io non le usavo e ho fatto un casino... (me ne sono accorto dopo quando il
sistema si impallava) :-)
 case WM_PAINT:
 hdc = BeginPaint(...);
 BitBlt(...);
 EndPaint(...); // e non c'è bisogno di usare ReleaseDC
ricordati di cancellare tutti gli oggetti GDI che crei, di rilasciare i DC
ottenuti con GetDC, e di eliminare i DC creati.

Newsgroup: it.comp.programmare.win32
Titolo: CreateFile(...)

Qualcuno puņ aiutarmi a capire perchč non mi apre l'Handle?
Mauro
//---------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <winbase.h>
#include <string.h>
#include <tchar.h>
#include <winioctl.h>
#define unita "\\.\C:"
int main(int argc,char * argv[])
{
HANDLE disk;
printf("checkpoint\n");
if((disk=CreateFile("\\.\C:",GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL))==INVALID_HANDLE_VALUE)printf("Errore 
su apertura handle \n");
printf("checkpoint\n");
if(disk!=INVALID_HANDLE_VALUE)CloseHandle(disk);
return 1;
}
//------------------------------------------------------------


Prova a cambiare il nome del file magari cosģ, per non ricevere errori assicurati che il file esista e non sia gią aperto...
CreateFile("c:\\test.txt",GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL));

 Qualcuno puņ aiutarmi a capire perchč non mi apre l'Handle?
GetLastError() is your friend. In ogni modo, dai un'occhiata alla 
documentazione in particolare nel punto in cui parla su come aprire le 
directory e i volumi: ho la sensazione che tu tenti di fare quest'ultima 
operazione.

> Qualcuno puň aiutarmi a capire perchč non mi apre l'Handle?

infatti cercavo di aprire un volume e ho trovato l'errore ( lo mando che non 
si sa mai potesse servire )
da documentazione microsoft:
When opening a volume or floppy drive, the lpFileName string should be of 
the form \\.\<x>:. Do not use a trailing backslash. This would indicate the 
root directory of the drive. The following table shows some example drive 
strings.
      String Meaning
      \\.\A: Opens drive A (floppy drive).
      \\.\C: Opens drive C (volume).
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/createfile.asp
che era come passavo il parametro relativo al volume sotto forma di stringa 
come avevo postato precedentemente , invece andava passato cosě : 
"\\\\.\\C:" dato che per indicare un \ dentro una stringa si usa il \\ . Mi 
ha ingannato quello String sulla tabella degli esempi.
Grazie cmq a tutti
Mauro