Perché non fare i conti con Chrome: basta digitare un' espressione (la percentuale si fa con: 20% of 356)
e Chrome mostrerà il risulttato, provare per credere!!!!!!!!!!!!!!!!!!
x^y = xy
sqrt(x) = √x
x^(1/y) = y√x
log(x) =log10 x
logY (x) = logy x
giovedì 19 dicembre 2013
martedì 17 dicembre 2013
martedì 10 dicembre 2013
Creare form che verrà gestito da JS
Ajax permette di gestire comodamente un form, ma per fare ciò bisogna cambiare il pulsante da submit a button (per evitare il ricaricarsi della pagina),ma questo comporta alla perdita del controllo dei campi required introdotti in HTML. Questo può essere ovviato utilizzando il bottone di tipo submit e l' evento onsubimit:
Questo form esegue automaticamente il controllo dei dati senza procedere all' invio i essi.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <head> <script> function logon(u,m,p){ var aj; //costruttore AJAX if (window.XMLHttpRequest) aj=new XMLHttpRequest(); //Su browser moderni else aj=new ActiveXObject("Microsoft.XMLHTTP"); //per vecchi IE aj.onreadystatechange=function(){ if (aj.readyState==4 && aj.status==200) alert(aj.responseText);}//otteniamo la risposta dal server aj.open("POST","http://dpdmancul.bugs3.com/logon.php",true); aj.setRequestHeader("Content-type","application/x-www-form-urlencoded"); aj.send("username_reg="+u+"&password_reg="+p+"&email_reg="+m);} //invio richiesta </script> </head> <body> <form id="log" method="post" action="" onsubmit="var user=document.forms['log']['user'].value; var mail=document.forms['log']['email'].value; var pass=document.forms['log']['pass'].value; logon(user,mail,pass);return false;"> <!--- onsubmit="return false;" : quando il form è pronto per l' invio non inviarlo --> <h1>LOGON</h1> <input type="text" id="user" placeholder="Username" required > <input type="text" id="email" placeholder="E-mail" required > <input type="password" id="pass" placeholder="Password" required > <!--- button type="submit" : permette il controllo dei campi required e poi esegue onsubmit--> <button type="submit" class="button"> Registrati </button></br> <input type="checkbox" id="checkbox1" required><label for="checkbox1" >Acconsento al trattamento dei dati personali sopra riportati da parte del gestore della pagina</label> </form></body> |
lunedì 2 dicembre 2013
Ubuntu Touch
Ubuntu Touch è un OS per dispositivi mobili basato sulla nota versione di Linux adattata sul modello di Android per girare su processori ARM.
Le core apps vengono sviluppate da Cananical e dalla comunity: chiunque si iscriva può partecipare al loro miglioramento.
Le app per Ubuntu Touch possono essere scritte in C++ o in JS come webapps (sul sito è già disponibile ubuntu-sdk-tem); una volta compilate e presentate verranno controllate (ora da persone fisiche, ma in futuro da software) per poi essere pubblicate sul Software Center senza che lo sviluppatore debba sviluppare l' installer.
Ora Ubuntu Touch gira su 4 dispositivi, ma è possibile configurarlo su più di 50 altri dispositivi e più di altri 25 sono in lista d' attesa.
Ubuntu Touch è al primo posto in quanto a sicurezza, grazie al suo sistema di isolamento,per il quale non si può modificare il sistema operativo, delle applicazioni e ai criteri di privacy gard.
Ubuntu Touch non usa GTK+, ma MIR e infatti Canonical sta provvedendo alla conversione di tutte le app di Ubuntu software Center; la prossima versione di Ubuntu Desktop dovrebbe avere Unity Next con il supporto sia del GTK+ che di MIR.
Il progetto finale per il futuro è un unico dispositivo che si adatta agli schermi e usa le stesse app in modalità smartphone,tablet e desktop; questo è comodo sotto vari aspetti: non occorre sincronizzare i dispositivi, si portano le app da desktop a smartphone e viceversa, con un unico dispositivo si può fare tutto,...
Si può anche installare un emulatore per testarlo su Ubuntu (solo 14.04):
Le core apps vengono sviluppate da Cananical e dalla comunity: chiunque si iscriva può partecipare al loro miglioramento.
Le app per Ubuntu Touch possono essere scritte in C++ o in JS come webapps (sul sito è già disponibile ubuntu-sdk-tem); una volta compilate e presentate verranno controllate (ora da persone fisiche, ma in futuro da software) per poi essere pubblicate sul Software Center senza che lo sviluppatore debba sviluppare l' installer.
Ora Ubuntu Touch gira su 4 dispositivi, ma è possibile configurarlo su più di 50 altri dispositivi e più di altri 25 sono in lista d' attesa.
Ubuntu Touch è al primo posto in quanto a sicurezza, grazie al suo sistema di isolamento,per il quale non si può modificare il sistema operativo, delle applicazioni e ai criteri di privacy gard.
Ubuntu Touch non usa GTK+, ma MIR e infatti Canonical sta provvedendo alla conversione di tutte le app di Ubuntu software Center; la prossima versione di Ubuntu Desktop dovrebbe avere Unity Next con il supporto sia del GTK+ che di MIR.
Il progetto finale per il futuro è un unico dispositivo che si adatta agli schermi e usa le stesse app in modalità smartphone,tablet e desktop; questo è comodo sotto vari aspetti: non occorre sincronizzare i dispositivi, si portano le app da desktop a smartphone e viceversa, con un unico dispositivo si può fare tutto,...
Si può anche installare un emulatore per testarlo su Ubuntu (solo 14.04):
sudo su
apt-get update
apt-get install android-emulator cp -r /usr/share/android/emulator/ ~/
cd ~/emulator/
./build-emulator-sdcard.sh
./run-emulator.sh
domenica 1 dicembre 2013
Firefox OS
Firefox OS è un recente OS open source per dispositivi mobili che si basa solo su webapp, questo fa si che sia un sistema leggero e veloce, senza limitarne l' uso; inoltre il mercato delle webapps e in notevole aumento e segnerà il futuro dello sviluppo software: una webapp è compatibile con tutti i dispositivi ed il suo sviluppo è abbastanza semplice.
Mozilla fornisce in oltre delle api per l' integrazione con l' O.S. : queste webapp sareanno disponibili sul market.
Ma come provare queste app se non si ha un cellulare con Firefox OS?
1) UTILIZZANDO FIREFOX SU LINUX
2) UTILIZZANDO FIREFOX SU ANDROID
Mozilla fornisce in oltre delle api per l' integrazione con l' O.S. : queste webapp sareanno disponibili sul market.
Ma come provare queste app se non si ha un cellulare con Firefox OS?
1) UTILIZZANDO FIREFOX SU LINUX
Andiamo qui e scarichiamo l' estensione |
Su strumenti > sviluppo Web > Firefox OS Simulator |
2) UTILIZZANDO FIREFOX SU ANDROID
UDOO
UDOO
UDOO è un progetto di open source hardware italiano basato su Arduino DUE e Raspberry Pi.
Ha due processori (uno per Arduino e uno per il sistema operativo) ARM e 1 GiB di RAM.
E' adatto si per Linux sia per Android.
Grazie alla coesistenza delle due scjhede può essere programmato da se stesso senza computer aggiuntivi ed è compattibile con tutti i programmi e le espansioni Arduino.
Grazie all' ADK fornito da Google è facile interagire fra Android e UDOO potendo creare controlli a distanza.
UDOO ha intrapreso un progetto chiamato Kick Starter avviato già durante lo sviluppo: questa comunità ha riscontrato le esigenze degli utilizzatori delle versioni beta e ha contribuito al miglioramento del prodotto finito.
UDOO è ancora in fase di sviluppo, ma è già disponibile in commercio sul sito ufficiale.
Il prezzo attualmente gira sui 100€.
Android ROMs
Per ROM si intende, anche se impropriamente, il sistema operativo di un cellulare.
In questo articolo andremo a vedere le principali versioni modificate di Android.
Attenzione: gli argomenti trattati in questo articolo evolvono molto velocemente.
AOKP
E' attualmente la ROM più veloce.
Permette di impostare un ritmo personalizzato per la vibrazione e il led, diverso per ogni tipo di notifica.
La gestione della Privacy è simile a quella di Miui.
Inoltre è possibile modificare al 100% la barra di navigazione (quella sotto) e la status bar.
Paranoid Android
E' instabile (il dispositivo potrebbe crashare da un giorno all'altro) , ma in compenso offre molte funzioni interessanti:
Si possono impostare DPI diversi per ogni app, si può usare lo smartphone in modalità tablet,...
Carine sono anche le notifiche: sono come il cerchio della chat di facebook, poi se ci clicchi sopra si apre la finestra relativa in popup senza chiudere l' app in utilizzo.
PAC-MAN
E' nata recentemente e raccoglie tutte le precedenti ROMs. E' molto instabile (è già bene se si accende)
ma promette molto. Riportiamo solo una screen.
OMNIROM
E' il progetto più recente e si basa tutto sulla comunity.
Supporta il multiscreen (due applicazioni in contemporanea).
In questo articolo andremo a vedere le principali versioni modificate di Android.
Attenzione: gli argomenti trattati in questo articolo evolvono molto velocemente.
E' la ROM attualmente più diffusa.
Grazie al DSP Manger si può avere un controllo totale sull' audio: equalizzatore,
cuffie, auricolari e player bluetoooth,...
Inoltre vengono semplificate le gesture del quicksetting (per esempio premendo su un' impostazione si attiva o si disattiva e solo tenendo premuto si apre il menù completo)
La Cyanogen include anche Focal: una fotocamera con svariate impostazioni (multiscatto, regolazioni,...).
Un altro vantaggio di Focal è il sitema di compressione: le foto vengono salvate con una qualità superiore a quelle di Android.
Grazie a Trebuchet si possono personalizzare la schermata di blocco e il launcher al 100%.
Privacy Gard permette di bloccare l' accesso alle informazioni personali ad alcune applicazioni, c'è però la possibilità che alcune applicazioni non funzionino se gli si blocca l' accesso a tali dati.
Una grande funzione è la gestione dei profili: si può impostare che in una data posione (GPS), quando ci si connette ad un determinato wi-fi, ad una data ora, cambi profilo: cioè cambi suonerie, volumi, sfondo,...
cuffie, auricolari e player bluetoooth,...
Inoltre vengono semplificate le gesture del quicksetting (per esempio premendo su un' impostazione si attiva o si disattiva e solo tenendo premuto si apre il menù completo)
La Cyanogen include anche Focal: una fotocamera con svariate impostazioni (multiscatto, regolazioni,...).
Un altro vantaggio di Focal è il sitema di compressione: le foto vengono salvate con una qualità superiore a quelle di Android.
Grazie a Trebuchet si possono personalizzare la schermata di blocco e il launcher al 100%.
Privacy Gard permette di bloccare l' accesso alle informazioni personali ad alcune applicazioni, c'è però la possibilità che alcune applicazioni non funzionino se gli si blocca l' accesso a tali dati.
Una grande funzione è la gestione dei profili: si può impostare che in una data posione (GPS), quando ci si connette ad un determinato wi-fi, ad una data ora, cambi profilo: cioè cambi suonerie, volumi, sfondo,...
MIUI
Miui stravolge totalmente la grafica di Andorid, ed adotta un proprio market solo per i temi.
Interessanti son i Quicksettings: rapidi e intuitivi.
Il Memory Manager consente di chiudere le applicazioni definitivamente e di eliminarle dalla memoria RAM.
Il player è completamente diverso e permette di vedere il testo della canzone mentre la si ascolta.
Importante è il discorso sicurezza: Miui include antivirus, Antispam, Backup e un privacy guard migliore di quello della Cyanogen: permette di scegliere quali informazioni mostrare a quali applicazioni , e se ad una applicazione viene negato di conoscere certe informazioni, questa non crasha perché le viene restituito un elenco vuoto.
Miui stravolge totalmente la grafica di Andorid, ed adotta un proprio market solo per i temi.
Interessanti son i Quicksettings: rapidi e intuitivi.
Il Memory Manager consente di chiudere le applicazioni definitivamente e di eliminarle dalla memoria RAM.
Il player è completamente diverso e permette di vedere il testo della canzone mentre la si ascolta.
Importante è il discorso sicurezza: Miui include antivirus, Antispam, Backup e un privacy guard migliore di quello della Cyanogen: permette di scegliere quali informazioni mostrare a quali applicazioni , e se ad una applicazione viene negato di conoscere certe informazioni, questa non crasha perché le viene restituito un elenco vuoto.
E' attualmente la ROM più veloce.
Permette di impostare un ritmo personalizzato per la vibrazione e il led, diverso per ogni tipo di notifica.
La gestione della Privacy è simile a quella di Miui.
Inoltre è possibile modificare al 100% la barra di navigazione (quella sotto) e la status bar.
E' instabile (il dispositivo potrebbe crashare da un giorno all'altro) , ma in compenso offre molte funzioni interessanti:
Si possono impostare DPI diversi per ogni app, si può usare lo smartphone in modalità tablet,...
Carine sono anche le notifiche: sono come il cerchio della chat di facebook, poi se ci clicchi sopra si apre la finestra relativa in popup senza chiudere l' app in utilizzo.
E' nata recentemente e raccoglie tutte le precedenti ROMs. E' molto instabile (è già bene se si accende)
ma promette molto. Riportiamo solo una screen.
E' il progetto più recente e si basa tutto sulla comunity.
Supporta il multiscreen (due applicazioni in contemporanea).
giovedì 7 novembre 2013
Compilare in C++ da Linux
ctrl+alt+t sudo su apt-get install g++
nano file.cpp -modifica ctrl+x s INVIO
g++ file.cpp -o output.sh ./output.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #include <iostream> #include <math.h> using namespace std; int main (){ float a,b,c; cout << "Inserisci il primo cateto "; cin >> a; cout << "Inserisci il secondo cateto "; cin >> b; c=sqrt(a*a+b*b); cout << "L' ipotenusa e' " << c <<endl; return 0;} |
lunedì 14 ottobre 2013
Ripristinare il Microsoft Boot Manger
Ripristinare il GRUB
- Inserisci il CD di Linux (Noi useremo Ubuntu e quindi il terminale di Gnome) e avvia la Live
- Apri il terminale (Ctrl+Alt+Canc) e digita sudo su
- digita la password
- digita fdisk -l (l'ultimo carattere è una "elle")
- Prendi nota della partizione su cui è installato Linux (Noi nei codici seguenti useremo /dev/sdaX)
- Digitare mount /dev/sdaX /mnt
- Digitare:
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys - chroot /mnt
- Se Linux è installato su una partizione /boot separata digitare mount /dev/sda2 /boot (Se non sai salta questo passaggio)
- Installiamo il GRUB:
grub-install /dev/sda
update-grub2 - In caso di errori utilizzare: grub-install --recheck /dev/sda
- exit
- cd ~ (la tilde (~) si fa con AltGr+ì )
- unmount /mnt/dev
- unmount /mnt/proc
- unmount /mnt/sys
- unmount /mnt/
- Riavviare
giovedì 10 ottobre 2013
mercoledì 27 marzo 2013
Compilare in C++ su Windows
Per compilare in c++ su Windows si può utilizzare sempre GCC che è incluso in Code::Blocks (download)
WINDOWS 7/8 64bit
Per i processori a 64 bit bisogna installare anche MinGW-w64.
1)Installa Code::Blocks
2)Installa MinGW-w64 (Scarica versione testata)
3)Apri Code Blocks ->Sttings -> Compiler
4)Seleziona la scheda toolchain Executables
5)
1)Installa Code::Blocks
2)Installa MinGW-w64 (Scarica versione testata)
3)Apri Code Blocks ->Sttings -> Compiler
4)Seleziona la scheda toolchain Executables
5)
martedì 26 marzo 2013
Compilare C++ in Ubuntu e altri Linux
Usando il compilatore gcc
Usando un ide che include gcc
Per sempificarsi le cose vi consiglio di usare l' IDE Code::Blocks disponibile dal Software Center.
INSTALLA ORA (apt)
Creare una lista di adiacenza di un grafo in C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include <cstdlib> #include <iostream> #include <fstream> using namespace std; int nodi,narchi; int main() { ifstream in ("input.txt"); ofstream out ("output.txt"); in >>nodi>>narchi; int adiacenza [nodi+1][nodi+1]; for(int i=1;i<nodi+1;i++) for(int j=1;j<nodi+1;j++) adiacenza [i][j] =0; for(int i=0;i<narchi;i++) { int u,v; in >> u >> v >> adiacenza[u][v]; adiacenza[v][u]=adiacenza[u][v]; } for(int i=1;i<nodi+1;i++){ for(int j=1;j<nodi+1;j++) if(j==nodi) out<<adiacenza[i][j]; else out<<adiacenza[i][j]<<" "; out<<"\n";} return 0; } |
lunedì 18 marzo 2013
Dobri (COCI 3/13)
TESTO
SOLUZIONE:
SOLUZIONE:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #include <cstdlib> #include <iostream> using namespace std; int main() { int A [1001], N; cin >> N; int S [N] [N]; for (int i = 0; i <N; i++){ for (int j = 0;j <N; j++){ cin >> S[j][i]; } } if (N==2){ cout << S[0][1]/2<<" "<<S[0][1]/2; return 0;} A[2] = (S[1][0]-S[2][0]+S[2][1])/2; A[1] = S[1][0]-A[2]; int k =2; for (int i = 0; i <N; i++){ for (int j = 0;j <N; j++){ A[++k]= S[k-1] [0] -A[1]; } } for (int i = 1; i <= N ; i++) cout << A [i] << " "; return 0; } |
Baka (COCI 3/13)
Soluzione 1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | #include <cstdlib> #include <iostream> using namespace std; string parole; int main() { cin >> parole; char get = parole [0]; int i =0, tempo = 0; while (i != 200){ switch (get){ case 'A': case 'B': case 'C': tempo +=3 ; break; case 'D': case 'E': case 'F': tempo +=4 ; break; case 'G': case 'H': case 'I': tempo +=5 ; break; case 'J': case 'K': case 'L': tempo +=6 ; break; case 'M': case 'N': case 'O': tempo +=7 ; break; case 'P': case 'Q': case 'R': case 'S': tempo +=8 ; break; case 'T': case 'U': case 'V': tempo += 9; break; case 'X': case 'W': case 'Y': case 'Z': tempo +=10 ; break; } get = parole [++i]; if (get == '\0') i =200; } cout << tempo; return 0; } |
Sapendo però che 'c' - 'a' = 2
Soluzione 2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <cstdlib> #include <iostream> using namespace std; string parole; int main() { cin >> parole; char get = parole [0]; int i =0, tempo = 0, time []={3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,8,9,9,9,10,10,10,10}; while (i != 200){ tempo+=time[get-'A']; get = parole [++i]; if (get == '\0') i =200; } cout << tempo; return 0; } |
Grand Prix (OII 2012)
TESTO DEL PROBLEMA
Per esempio, considerate il seguente gran premio, con 3 macchine e 4 sorpassi. L'ordine iniziale di partenza è stato: la vettura numero 2, poi la vettura numero 1 e infine la vettura numero 3. I sorpassi sono stati, nell'ordine:
In lettura basta assegnare ad una variabile <primo> il numero di chi sorpassa la prima vettura e stampare questa variabile.
Selezioni Territoriali 2012 - Olimpiadi Italiane dell' Informatica
Grand Prix
Descrizione del problema
State assistendo a un Gran Premio di Formula 1. Prima dell'inizio, il tabellone riporta la griglia di partenza, ovvero l'ordine in cui le vetture partiranno dalla linea del traguardo. Non appena inizia il gran premio, per ogni sorpasso, il tabellone scrive due numeri: quello della vettura che ha effettuato il sorpasso, e quello della vettura che è stata superata. Il vostro compito è di scrivere un programma che, ricevuti in ingresso l'ordine di partenza e la lista dei sorpassi, calcoli chi ha vinto il gran premio.Per esempio, considerate il seguente gran premio, con 3 macchine e 4 sorpassi. L'ordine iniziale di partenza è stato: la vettura numero 2, poi la vettura numero 1 e infine la vettura numero 3. I sorpassi sono stati, nell'ordine:
- la numero 3 ha superato la numero 1;
- la numero 3 ha superato la numero 2;
- la numero 1 ha superato la numero 2;
- la numero 2 ha superato la numero 1;
Dati di input
Il file di input è costituito da 1+N+M righe di testo. La prima riga contiene due interi positivi separati da uno spazio: N che è il numero di vetture e M che è il numero di sorpassi. Le successive N righe contengono l'ordine di partenza: per ogni riga c'è un numero intero K che rappresenta una vettura, con 1 ≤ K ≤ N. La vettura che parte in i-esima posizione nell'ordine di partenza si trova quindi nella riga (i+1) del file. Le restanti M righe contengono tutti i sorpassi, nell'ordine in cui sono avvenuti, uno in ogni riga. Ogni riga contiene due interi separati da uno spazio: A, ovvero il numero della vettura che ha effettuato il sorpasso, e B, ovvero il numero della vettura che ha subito il sorpasso.Dati di output
Il file di output deve contenere un solo intero: il numero della vettura che ha vinto il gran premio.Assunzioni
- 2 ≤ N ≤ 30
- 1 ≤ M ≤ 100
Soluzione
In lettura basta assegnare ad una variabile <primo> il numero di chi sorpassa la prima vettura e stampare questa variabile.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include <cstdlib> #include <iostream> #include<assert.h> #include <fstream> using namespace std; int i; ifstream in("input.txt"); ofstream out("output.txt"); int main() {int macchine, sorpassi, uno, x, y; in >> macchine; in >> sorpassi; in >> uno; for(i=1; i< macchine;i++) in >> x; for (i=0; i< sorpassi;i++){ in >> x >> y; if (y == uno) uno = x; } out << uno; return 0; } |
Ordinare un vettore con costo N log2 (N)
Ordinare un vettore è un' operazione che solitamente (con algoritmi tra i quali c'è il Bubble Sort) ha un costo N².
Con Merge Sort questo no è un problema.
Con Merge Sort questo no è un problema.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | void mergesort(int* V, int g){ if(g == 1) return; int k = (g /2); int s2 = g-k; int V1 [k]; assert(V1!=NULL); int V2 [s2]; assert(V2!=NULL); for ( i = 0; i < k ; i++) V1[ i ] = V[ i ]; for ( i = 0; i < s2 ; i++){ V2[i] = V[k+i]; } merge(V1,k); merge(V2,s2); int i1,i2; i1=i2 =0; while (i1 <k && i2<s2){ if (V1[i1] <= V2[i2]) { V[i1+i2] = V1[i1]; i1++; } else{ V[i1+i2]=V2[i2]; i2++; }} while (i1 < k) { V[i1+i2] = V1[i1]; i1++; } while (i2 <s2) { V[i1+i2] = V2[i2]; i2++; } return; } |
martedì 8 gennaio 2013
Spostare un form senza barra del titolo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | Dim bClick As Boolean Private Sub Form1_MouseDown(ByVal sender As Object, _ ByVal e As MouseEventArgs) Handles MyBase.MouseDown bClick = True End Sub Private Sub Form1_MouseMove(ByVal sender As Object, _ ByVal e As MouseEventArgs) Handles MyBase.MouseMove Static nX As Single Static nY As Single If bClick Then If nX <> 0 Then Me.Left = Me.Left + e.X - nX Else nX = e.X End If If nY <> 0 Then Me.Top = Me.Top + e.Y - nY Else nY = e.Y End If Else nX = 0 nY = 0 End If End Sub Private Sub Form1_MouseUp(ByVal sender As Object, _ ByVal e As MouseEventArgs) Handles MyBase.MouseUp bClick = False End Sub |
Inserendo il codice soprariportato potrete muovere il vostro form in drag and drop
lunedì 7 gennaio 2013
AERO Controller
Vedremo come creare un form Visual Basic con aero e come fare in modo che venga visualizzata una certa immagine - colore al posto dell' areo su Windows Xp e precedenti, oppure su 7/Vista con aero disattivato, il tutto senza digitare neanche una riga di codice!!!
Il controllo funziona in tutti i Visualstudio e in tutti i linguaggi (VB, C#, C++, F) creando un' applicazione Windows Form, o Libreria con .NET di versione superiore al 2.0
3- Usa il controllo come se fosse un ImageBox
Windows 7 Aero attivo |
Il controllo funziona in tutti i Visualstudio e in tutti i linguaggi (VB, C#, C++, F) creando un' applicazione Windows Form, o Libreria con .NET di versione superiore al 2.0
Iscriviti a:
Post (Atom)