Code



[C++] Directory di winxp

posted by Viralex | 04-Oct-2007 21:02 comments : 0

Ecco come ottenere alcune directory note del sistema operativo windows.
Altre costanti sono presenti nell'header SHLOBJ.H


#include < shlobj.h >

SHGetFolderPath(NULL,37|CSIDL_FLAG_CREATE,NULL,0,fName);

CSIDL_DESKTOP 0
CSIDL_PROGRAMS 2
CSIDL_PERSONAL 5 (Documenti)
CSIDL_FAVORITES 6
CSIDL_STARTUP 7 (Esecuzione automatica)
CSIDL_RECENT 8
CSIDL_SENDTO 9 (Invia a)
CSIDL_STARTMENU 11 (Menu di avvio)
CSIDL_FONTS 20 (Fonts)
CSIDL_LOCAL_APPDATA 28 (Dati Applicazioni)
CSIDL_INTERNET_CACHE 32
CSIDL_COOKIES 33
CSIDL_HISTORY 34
CSIDL_WINDOWS 36
CSIDL_SYSTEM 37
CSIDL_PROFILE 40

[C++] Colorare la console

posted by Viralex | 02-Oct-2007 21:34 comments : 0

Conosco due modi...

Uno è system("color A"); (verde lime)

l'altro è :

void setColor(unsigned short color) {
HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hCon,color);
}

[C++] Windows Treads

posted by Viralex | 02-Oct-2007 21:19 comments : 4

In questo esempio vediamo come è possibile eseguire i thread. In parole povere si esegue pezzi di codice, solitamente cicli, in maniera parallela ad altri.
Difficilemnte i cicli sono sincronizzati quindi c'è da stare attenti.
Ecco il primo esempio di thread senza argomenti.

#include < windows.h >
#include < iostream >

using namespace std;

ULONG WINAPI Thread(void*){

while(1){
cout<<"thread"<< endl;
Sleep(1000);
}
return 0;
}

int main(){
unsigned long ThreadId;
CreateThread(NULL,0,Thread,0,0,&ThreadId);
...Continua

[C++] Scaricare un file via HTTP con winsock

posted by Viralex | 02-Oct-2007 20:20 comments : 0

Ecco come utilizzare la libreria winsock per scaricare un file via http in maniera semplicissima.(ide utilizzato devc++)
Si può opportunamente manipolare la stringa per scrivere i dati su file, nell'esempio metto in evidenza l'atto pratico del download senza altri miglioramenti.

Ecco il codice (ovviamente c'è da linkare la libreria) :


WSADATA WSAData;
WSAStartup(MAKEWORD(2,0),&WSAData);
SOCKET sock;
SOCKADDR_IN sin;

char buffer[1024],source[8192]="";
// la stringa deve terminare con una linea vuota finale.
char sreq[256] = "GET /path/file.txt HTTP/1.1rnHost: sito.itrnrn");

int ...Continua

[C++/ASM] Swap di variabili

posted by Viralex | 28-Sep-2007 16:27 comments : 0

Ecco aluni simpatici modi di scambiare il contenuto di due variabili senza usare variabili temporanee. Anche se non è una cosa utilissima, per i maniaci del risparmio di memoria può essere interessante. (ovviamente mi riferisco a Claudio che mi ha fatto notare questa cosa)
Se si usa questa funzione con quicksort o altri su un array grandi si dovrebbe notare la differenza. (non ho testato)

per chi non lo sa in c e c++ ^ è lo xor
ecco qua:

void swap(int *a, int *b){
*a=*a^*b;
*b=*b^*a;
*a=*a^*b;
}


altrimenti va bene anche questa :D

void swap2(int *a, ...Continua


page 1 - 6 posts

page 1 2