[HowTo] Dividere una stringa in base ad un carattere in Python.

Salve a tutti.

Da qualche mese mi sto dedicando anche allo studio del Python come linguaggi di programmazione, e dato  che un po di tempo fa non ho trovato una guida buona che tratti di questo argmento ho deciso di scriverne una io. Tratteremo di come dividere una stringa in base ad un carattere da noi specificato.

Per prima cosa, creiamo un nuovo file in Notepad++ ed impostiamo come di programmazione il Python.
Adesso dichiariamo una nuova stringa:

StringaBase = “Prova di una stringa da splittare.”

Quindi, la variabile “StringaBase” conterrà la nostra stringa da dividere.

A questo punto, dobbiamo creare un nuovo array che contenga la nostra stringa splittata.

StringaDivisa = StringaBase.split(” “)

In particolare soffermiamoci su “split(” “)”: questa è una funzione che posseggono tutte le stringhe che consente di dividerle attraverso un carattere specificato nel primo parametro. Il risultato sarà un array di stringhe.

Per esempio, se io ho questa stringa:

StringaBase2 = “Splittiamo_tramite_under_score”

E la splittiamo così:
StringaDivisa2 = StringaBase2.split(“_”)

Facendo “print StringaDivisa2”, otterremo:

Immagine

Quindi, volendo ottenere, per esemio, solo il primo elemento dell’array, dobbiamo fare “print StringaDivisa2[0]”

Immagine

Giusto per completezza, questo è il codice da me utilizzato per il tutorial:

StringaBase = “Prova di una stringa da splittare.”
StringaDivisa = StringaBase.split(” “)
print “Array: ” + str(StringaDivisa)

StringaBase2 = “Splittiamo_tramite_under_score”
StringaDivisa2 = StringaBase2.split(“_”)
print “Array: ” + str(StringaDivisa2)
print “Primo elemento: ” + StringaDivisa2[0]

Spero di essere stato esausitivo, e se dovessero esserci parti che non sono chiare non esitate a commentare:)

Byebye

[How To] Installare Ubuntu 11.04 su Virtual Box

[How To] Installare Ubuntu 11.04 su Virtual Box

Salve a tutti, in questa guida vedremo come installare Ubuntu Linux 11.04 su Virtual Box 4.0.2.

Innanzitutto per chi non avesse Virtual Box, lo può scaricare dal sito ufficiale (http://www.virtualbox.org). Poi dovete scaricare Ubuntu dal sito ufficiale (http://www.ubuntu.it ).

Una volta installato Virtual Box, apritelo e create una nuova macchina virtuale:

Assegnateci un nome e proseguite:

Adesso, assegnate una quantità di RAM a piacere, vi consiglio però di assegnare 500 o più MB alla vostra virtual machine ( che da ora in poi chiameremo VM). Clicchiamo avanti e ci apparirà la seguente schermata:

Lasciamo tutto come sta e proseguiamo:

Andiamo avanti:

Di nuovo avanti:

Adesso selezioniamo la dimensione e il percorso che vogliamo dare al nostro disco rigido virtuale.  Appena finite di settare questi parametri, andate avanti e cliccate Fine. Fate così anche sull’ altra finestra.

Ora prima di avviare la nostra VM, modifichiamo le sue impostazioni. Nella nuova finestra che si è appena aperta, selezionate il tab “Schermo” e spuntate la casella “Abilita accelerazione  3D”.

Finite queste piccole impostazioni, avviata la VM, vi dovrebbe apparire questa schermata:

Selezioniamo avanti e ci uscirà quest’ altra schermata:

Questa schermata ci chiede di selezionare il percorso dove risiede lì immagine iso della nostra distro. Selezionatelo e andate avanti. Premete fine ed attendete che il SO finisca di caricarsi. Alla fine del caricamento, vi troverete questa schermata:

Selezionate la lingua italiana e premete su “Installa Ubuntu”. Una volta premuto:

Andiamo avanti non toccando niente:

Anche qui non tocchiamo niente.

In fine premiamo “Installa”. Nel corso dell’ installazione ci verrà chiesto di inserire il fuso orario e di creare un account:

Attendete 20 minuti ed uscirà quest’ avviso. Premete su riavvia ora.:

Premete su riavvia ora e rimuovete l’ iso dalla VM.

Adesso godetevi il nuovo Ubuntu 11.04 con la nuovissima e bellissima interfaccia Unity 3D

PS: per chi al primo avvio ricevesse un messaggio che dice che non è possibile avviare Unity 3D, lo ignori ed apra Ubuntu Software Center. Una volta aperto, installi i seguenti pacchetti:

virtualbox-ose-guest-dkms

virtualbox-ose-guest-utils

virtualbox-ose-guest-x11

Saluti,

BlackWolf96

Dropbox.com – Archiviazione on-line facile e gratuita

Salve a tutti, è da un pò do tempo che non scrivo sul mio blog per vari motivi, ma oggi ho trovato un pò di tempo (e voglia) e così ho scritto quest’ articolo 😀 . In quest’ articolo vedremo un servizio di archiviazione file on-line completamente gratuito. Il sito ufficiale è questo. Per prima cosa registratevi da questo link. Appena registrati, otterrete uno spazio di 2GB, ampliabile tramite vari servizi (che vedremo tra poco) fino ad 8gb.

Aumentare lo spazio a disposizione.

Se 2GB di spazio gratuito non vi bastano, Dropbox permette di aumentare lo spazio a disposizione facendo un pò di publicità su social network ed altro. Andate su questa pagina (dopo esservi registrati) e invitate tramite e-mail e social network qualche amico. Facendo così vi verranno accreditati 250MB al vostro spazio. Un altro metodo, è andare su questa pagina e completare tutti gli step, e così riceverete altri 250MB di spazio web.

Ecco il video ufficiale dei creatori di Dropbox:

Ciao a tutti 😀

BlackWolf96

Inizio Bulid chromeos

Vi annuncio che in questi giorni, sto iniziando a compilare il famoso sistema operativo di google: ChromeOS. Ovviamente scuola permettendo. Se tutto va bene,posterò al più presto una guida ed una videoguida su come compilarlo.

Blackwolf96

Come interfacciarsi ad un database mysql da visual basic .NET

Giorno a tutti, in questo piccolo tutorial vedremo come creare una connessione a MySql in visual basic, alla fine inoltre vedremo come sarà possibile creare una piccola rubrica per numeri telefonici. La prima cosa da fare è scaricarsi mysql dal sito ufficiale, per questa guida scaricheremo mysql in formato zip (link qui). Un altra cosa di cui abbiamo bisogno è il connettore per .Net, senza questo connettore infatti non saranno installati i driver per la connessione a MySql. Il connettore lo possiamo trovare qui. In ultimo vi consiglio di scaricarvi HeidiSql che è un client open source creato da sviluppatori tedeschi che permette di visualizzare il database, crearne nuovi ed amministrare dati e tabelle, da precisare che lo useremo in questa guida per creare le tabelle e il database 🙂 . Adesso che abbiamo finito la lista dei file da scaricare possiamo iniziare.
Visto che il database l’ abbiamo scaricato sotto formato zip il servizio lo dovremo avviare manualmente. Estraete il file zip in una directory conosciuta, adesso creiamo un file di testo e incolliamoci questo codice dentro:

@echo off
cd bin
mysqld.exe

e salviamo il file con estenzione .bat nella cartella contenente tutti i file di MySql: Screen.
Doppio click su quel file e si aprirà una finestra DOS, probabilmente in xp se avete attivato il firewall vi chiedera se sbloccare o meno questo processo, clicchiamo su sblocca e il server mysql si avvierà.

Impostazione del database e creazione Tabelle.

Adesso apriamo HeidiSQL e facciamo click sul bottone new, diamo un nome alla connessione es: provaprova. Adesso sempre dalla schermata principale di heidisql modifichiamo l’ ip “127.0.0.1” nel campo hostname/ip. Siccome heidisql mette automaticamente il nome root nel campo username non dobbiamo modificare questo campo. Adesso clicchiamo su save e i nostri parametri saranno salvati:  Screen. Adesso nella schermata che si è aperta dobbiamo aggiungere un database e qualche tabella, vediamo come fare:
1. Tasto destro su root@127.0.0.1/ create new > Database;
2. Inseriamo il nome provaguida nel campo name e clicchiamo su OK.
Appena clicchiamo OK nella colonna di sinistra verrà automaticamente selezionato il database da noi creato. Adesso dobbiamo creare le tabelle, si fa così:
1. Clicchiamo sul nostro database e andiamo nel campo query
2. Inseriamo questo codice (da ora in poi lo chiameremo query) e premiamo il tasto F9 (Attenzione! il testo deve stare in una sola riga!):

CREATE TABLE `rubrica` (  `Nome` TEXT NOT NULL,  `Cognome` TEXT NOT NULL,
`Numero di telefono` TEXT NOT NULL );

Spieghiamo un po cosa fa questa query: Crea una tabella di nome rubrica con campi (‘nome‘ come testo non vuoto, ‘cognome’ come testo non vuoto, ‘numero di telefono‘ come testo non vuoto.

Passiamo finalmente al Visual Basic!

In questo secondo capitolo della guida creeremo una rubrica telefonica che salverà i nostri numeri di telefono nel database.
Creiamo un nuovo progetto e chiamiamolo Rubrica Mysql. Nel form principale inseriamo i seguenti elementi:
3 label
3 textbox
2 button
1 datagridview

e cerchiamo di disporli come è possibile vedere in questo Screen
Prima di

Public Class Form1

Inserite questa riga:

Imports System.Data.Odbc

Adesso fate doppio click sul bottone inserisci e aggiungete dentro il seguente codice:

Try 

Dim ipdatabase As String = “127.0.0.1” ‘ indirizzo ip database

Dim pswdatabase As String = “” ‘ password database

Dim iddatabase As String = “root” ‘ username database

Dim nomedatabase As String = “provaguida” ‘ nome database

Dim connectionString = “DRIVER={MySQL ODBC 3.51 Driver};SERVER=” & ipdatabase & “;DATABASE=” & nomedatabase & “;UID=” & iddatabase & “;PASSWORD=” & pswdatabase & “;OPTION=3”

Dim conn As New OdbcConnection(connectionString)

Dim nonqueryCommand As OdbcCommand = conn.CreateCommand()

conn.Open()

nonqueryCommand.CommandText = “INSERT INTO `rubrica` (`Nome`, `Cognome`, `Numero di telefono`) VALUES (‘” & TextBox1.Text & “‘, ‘” & TextBox2.Text & “‘, ‘” & TextBox3.Text & “‘);”

nonqueryCommand.ExecuteNonQuery()

MsgBox(“Contatto inserito”)

Catch errore_di_connessione As Odbc.OdbcException

MsgBox(“Non sono riuscito a connettermi perchè: ” + errore_di_connessione.Message)

Finally

End Try

Eseguiamo il codice ed inseriamo dei valori a caso per fare una prova:

Ed ecco il risultato visualizzato in HeidiSQL:

Bene, adesso che abbiamo creato la funzione per inserire i dati, vediamo la lettura e la visualizzazione in un Datagridview. Creiamo una nuova sub “chiamata ricavanumeri”

Private Sub ricavanumeri() 

End Sub

Dentro questa nuova sub inseriamo il seguente codice:

Try 

Dim ipdatabase As String = “127.0.0.1” ‘ indirizzo ip database

Dim pswdatabase As String = “” ‘ password database

Dim iddatabase As String = “root” ‘ username database

Dim nomedatabase As String = “provaguida” ‘ nome database

Dim cnString = “DRIVER={MySQL ODBC 3.51 Driver};SERVER=” & ipdatabase & “;DATABASE=” & nomedatabase & “;UID=” & iddatabase & “;PASSWORD=” & pswdatabase & “;OPTION=3”

Dim query As String

Dim conn As Common.DbConnection

conn = New OdbcConnection(cnString)

Dim MyConnection As New OdbcConnection(cnString)

Dim MyCommand As New OdbcCommand()

Dim da As Common.DbDataAdapter

Dim ds As DataSet = New DataSet

Dim nonqueryCommand As OdbcCommand = conn.CreateCommand()

conn.Open()

query = “SELECT `Nome`, `Cognome`, `Numero di telefono` FROM `provaguida`.`rubrica` LIMIT 0, 1000;” ‘la query per ricavare i dati dal database

da = New OdbcDataAdapter(query, conn)

Dim cb As OdbcCommandBuilder = New OdbcCommandBuilder(da)

da.Fill(ds, “dati”)

DataGridView1.DataSource = ds ‘nomedatagridview.datasource = ds

DataGridView1.DataMember = “dati” ‘nomedatagridview.DataMember = “dati”

Catch ex As Common.DbException

MsgBox(ex.ToString)

Finally

End Try

Ok. Adesso andiamo nella finestra di progettazione, facciamo doppio click sul form 1 ed inseriamo nel formload il seguente richiamo alla funzione “ricavanumeri”:

ricavanumeri()

La stessa stringa la inseriamo anche nell’ evento click del bottone inserisci.

In questo modo avremo l’ aggiornamento automatico del datagridview non appena verrà inserito un contatto o aperta la schermata principale.

Ritorniamo nella finestra di progettazione e facciamo doppio click sul bottone “Aggiorna” ed inseriamo di nuovo il richiamo alla funzione per aggiornare il datagridview:

ricavanumeri()

Bene, adesso dobbiamo vedere come si fa ad eliminare un record dal database. Il codice è simile a quello dell’ inserimento. Procediamo.

Doppio click sul bottone elimina ed inseriamo il codice:

Dim ricavanome As String = DataGridView1.SelectedCells.Item(0).Value ‘ricava il nome della riga selezionata 

Dim ricavacognome As String = DataGridView1.SelectedCells.Item(1).Value ‘ricava il cognome ”

Dim ricavanumtel As String = DataGridView1.SelectedCells.Item(2).Value ‘ricava il num di tel ”

Try

Dim ipdatabase As String = “127.0.0.1” ‘ indirizzo ip database

Dim pswdatabase As String = “” ‘ password database

Dim iddatabase As String = “root” ‘ username database

Dim nomedatabase As String = “provaguida” ‘ nome database

Dim connectionString = “DRIVER={MySQL ODBC 3.51 Driver};SERVER=” & ipdatabase & “;DATABASE=” & nomedatabase & “;UID=” & iddatabase & “;PASSWORD=” & pswdatabase & “;OPTION=3”

Dim conn As New OdbcConnection(connectionString)

Dim nonqueryCommand As OdbcCommand = conn.CreateCommand()

conn.Open()

nonqueryCommand.CommandText = “DELETE FROM `rubrica` WHERE (`Nome`='” & ricavanome & “‘ AND `Cognome`='” & ricavacognome & “‘ AND `Numero di telefono`='” & ricavanumtel & “‘) LIMIT 1;”

nonqueryCommand.ExecuteNonQuery()

MsgBox(“Contatto eliminato”)

Catch errore_di_connessione As Odbc.OdbcException

MsgBox(“Non sono riuscito a connettermi perchè: ” + errore_di_connessione.Message)

Finally

End Try

ricavanumeri()

Da notare che abbiamo aggiunto anche il refresh del datagridview subito dopo la modifica.

Eccoci alla fine, è stato difficile? Per aiuti o spiegazioni mandate un commento J.

Bye bye

BlackWolf96

Leggere e scrivere file INI con visual basic .NET

Un file ini è un formato di teso virtuale che serve per salvare le impostazioni di un programma senza usare database e dintorni. Adesso vi mostrerò come usare questo formato di file per salvare delle impostazioni con un programma in visual basic.

Mettete queste righe subito dopo l’ apertura della classe.

Private Declare Auto Function GetPrivateProfileString Lib “kernel32.dll” (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer

Private Declare Auto Function WritePrivateProfileString Lib “kernel32.dll” (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Integer

Friend Function IniRead(ByVal Filename As String, ByVal Section As String, ByVal Key As String, Optional ByVal lpDefault As String = “”, Optional ByVal bRaiseError As Boolean = False) As String

Dim RetVal As String = New String(” “, 255)

Dim LenResult As Integer

Dim ErrString As String

LenResult = GetPrivateProfileString(Section, Key, lpDefault, RetVal, RetVal.Length, Filename)

If LenResult = 0 AndAlso bRaiseError Then

If Not (System.IO.File.Exists(Filename)) Then

ErrString = “Impossibile aprire il file INI” & Filename

Else

ErrString = “La sezione o la chiave sono errate oppure l’accesso al file non è consentito”

End If

Throw New Exception(ErrString)

End If

Return RetVal.Substring(0, LenResult)

End Function

Friend Function IniWrite(ByVal Filename As String, ByVal Section As String, ByVal Key As String, ByVal Value As String, Optional ByVal bRaiseError As Boolean = False) As Boolean

Dim LenResult As Integer

Dim ErrString As String

LenResult = WritePrivateProfileString(Section, Key, Value, Filename)

If LenResult = 0 And bRaiseError Then

If Not (System.IO.File.Exists(Filename)) Then

ErrString = “Impossibile aprire il file INI” & Filename

Else

ErrString = “Accesso al file non consentito”

End If

Throw New Exception(ErrString)

End If

Return IIf(LenResult = 0, False, True)

End

End Function

Ok, vediamo come utilizzarle.

Per scrivere dentro un file ini usiamo:

IniWrite(“fileini.ini”, “sezione”, “chiave”, “valore”)

Il risultato di questa funzione sarà un file ini chiamato “fileini.ini” (senza virgole) contenente il seguente testo:

[sezione]

chiave=valore

Adesso per leggere il contenuto di un file ini e passarlo ad una variabile facciamo così:

dim lettura as string

lettura = IniRead(“fileini.ini”, “sezione”, “chiave”)

msgbox(lettura)

Ecco. Appena finito di eseguire questo codice vi verrà stampato un msg box contenente il valore di quella specifica chiave.

Il seguente codice è valido per Visual Basic 2005, 2008, 2010 (testato con tutti e tre)

Non esitate a commentare se non vi è chiaro qualcosa.

Al prossimo articolo 😛

By blackwolf96

Il Sistema

Il sistema è un insieme di elementi correlati fra loro in modo logico;

cioè tutto può essere un sistema:

Esempio scemo(giusto per farvi capire) : la penna =)

La penna è un sistema cioè (come ho specificato su) è costituita da elementi messi insieme tra di loro in un modo logico; se la smontiamo pezzo per pezzo quei pezzi da soli non valgono niente.

Ci sono vari tipi di sistema:

SISTEMA:

-naturale   e   artificiale

-aperto   e   chiuso

-combinatorio    e   sequenziale

-a grandezza continua(analogica)   e   a grandezza discreta(digitale)