vbdotnet.it

Tricks & tips, workaround, forum and ideas with .Net

About the author

Enrico Rossini è il gestore di questo blog.
E-mail me Send mail

Recent posts

Recent comments

Contributi

Best 6 ~ 6 users ~ 6 comments

Info legali

Le opinioni espresse in questo blog sono strettamente personali e ogni persona è responsabile dei commenti che inserisce. I marchi citati sono delle rispettive aziende.

© Copyright 2010

Advertising


Formattazione con String.Format

formatting strings

exampleoutput
String.Format("--{0,10}--", "test"); --      test--
String.Format("--{0,-10}--", "test"); --test      --

formatting numbers

specifiertypeformatoutput
(double 1.2345)
output
(int -12345)
c currency {0:c} £1.23 -£12,345.00
d decimal
(whole number)
{0:d} System.FormatException -12345
e exponent / scientific {0:e} 1.234500e+000 -1.234500e+004
f fixed point {0:f} 1.23 -12345.00
g general {0:g} 1.2345 -12345
n number {0:n} 1.23 -12,345.00
r round trippable {0:r} 1.23 System.FormatException
x hexadecimal {0:x4} System.FormatException ffffcfc7

custom number formatting

specifiertypeformatoutput
(double 1234.56)
0 zero placeholder {0:00.000} 1234.560
# digit placeholder {0:#.##} 1234.56
. decimal point placeholder {0:0.0} 1234.6
, thousand separator {0:0,0} 1,235
% percentage {0:0%} 123456%

date formatting

specifiertypeoutput
(June 8, 1970 12:30:59)
d Short Date 08/06/1970
D Long Date 08 June 1970
t Short Time 12:30
T Long Time 12:30:59
f Full date and time 08 June 1970 12:30
F Full date and time (long) 08 June 1970 12:30:59
g Default date and time 08/06/1970 12:30
G Default date and time (long) 08/06/1970 12:30:59
M Day / Month 8 June
r RFC1123 date string Mon, 08 Jun 1970 12:30:59 GMT
s Sortable date/time 1970-06-08T12:30:59
u Universal time, local timezone 1970-06-08 12:30:59Z
Y Month / Year June 1970

custom date formatting

specifiertypeoutput
(June 8, 1970 12:30:59)
dd Day 08
ddd Short Day Name Mon
dddd Full Day Name Monday
hh 2 digit hour 12
HH 2 digit hour (24 hour) 12
mm 2 digit minute 30
MM Month 06
MMM Short Month name Jun
MMMM Month name June
ss seconds 59
tt AM/PM PM
yy 2 digit year 70
yyyy 4 digit year 1970
: seperator, e.g. {0:hh:mm:ss} 12:30:59
/ seperator, e.g. {0:dd/MM/yyyy} 08/06/1970

Currently rated 3.0 by 2 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Categories: asp.net | Generalità | vb.net
Posted by enrico on Friday, August 07, 2009 11:15 AM
Permalink | Comments (0) | Post RSSRSS comment feed

Directory del programma

Ciao, questo è un semplice tricks. Molto spesso accade che si vuole sapere in quale directory gira il nostro programma. COn questa semplice riga lo si sa.

Private myFileName As String = System.Reflection.Assembly.GetExecutingAssembly().Location
myFileName = myFileName.Substring(0, myFileName.LastIndexOf("\"))

Attenzione. La funzione System.Reflection.Assembly.GetExecutingAssembly().Location restituisce anche il nome del file eseguibile. Per questo è stato necessario aggiungere la riga sottostante. Buon lavoro.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by enrico on Tuesday, July 28, 2009 12:46 PM
Permalink | Comments (0) | Post RSSRSS comment feed

Cartella Virtual Store in Vista

Mi sta venendo un’allergia a Vista! Siccome non ho trovato praticamente niente su questo argomento, vi scrivo le conclusioni alle quali sono arrivato.

In Windows Vista ha introdotto un sistema di sicurezza denominato UAC (User Account Control). Questa funzione per l’utente finale si concretizza in una serie di richieste di autorizzazione per l’esecuzione di programmi o modifiche di configurazione.

Il sistema UAC non permette ad un utente qualsiasi di accedere a funzionalità o cartelle ritenute critiche o di sistema. Ad esempio, UAC non permette di scrivere nella cartella di sistema di Windows o nella cartella Program Files dove vengono installati tutti i software.

Per noi poveri programmatori si traduce in un calvario. Infatti se la nostra applicazione deve scrivere qualcosa nella directory del programma, questa non verrà scritta. O meglio non verrà scritta nella cartella del programma ma nella cartella

C:\Users\username\AppData\Local\VirtualStore\Program Files\appname

Io sono stato diversi giorni per capirlo. Ovviamente la tua applicazione se punta direttamente ai file presenti in questa cartella non funzionerà poiché non verrà trovata dal programma. Al programma è necessario continuare a passare il path nella directory corrente e poi è Vista che si occupa di gestire il resto.

Da questo ricavo l’insegnamento che la cosa migliore sarebbe di non creare mai i file nella directory del programma ma in una delle cartelle appositamente messe a disposizione da Windows (buona norma non solo in Vista).

Ciao Ciao!

Currently rated 4.0 by 1 people

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by enrico on Monday, March 02, 2009 10:46 PM
Permalink | Comments (0) | Post RSSRSS comment feed

Accesso ad un file Microsoft Access

Ogni tanto capita di doversi collegare ad un file Microsoft Access. E capita anche di non ricordarsi più come si fa :)

Ricorda inoltre che è necessario sempre importare il namespace System.Data.OleDB.

 

Recuperare dei dati dal file Access

   1:  Try
   2:     cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\emp.mdb;")
   3:     ' questo è il provider che si usa quando ci si deve collegare ad un file Microsoft Access
   4:     cn.Open()
   5:     
   6:     cmd = New OleDbCommand("select * from table1", cn)
   7:     dr = cmd.ExecuteReader
   8:     While dr.Read()
   9:        ' carica i dati nei textbox attraverso l'index delle colonne
  10:        ' il numero può essere sostituito dal nome delle colonne
  11:        TextBox1.Text = dr(0)
  12:        TextBox2.Text = dr(1)
  13:        TextBox3.Text = dr(2)
  14:     End While
  15:  Catch
  16:  End Try
  17:   
  18:  ' chiude le connessioni
  19:  dr.Close()
  20:  cn.Close()

 

Inserire un record nel file Access

   1:  Dim cn As OleDbConnection
   2:  Dim cmd As OleDbCommand
   3:  Dim dr As OleDbDataReader
   4:  Dim icount As Integer
   5:  Dim str As String
   6:   
   7:  Try
   8:     cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\emp.mdb;")
   9:     cn.Open()
  10:   
  11:     ' crea la stringa di inserimento. Questa stringa può essere modificata anche per cancellare dei record
  12:     str = "insert into table1 values(" & CInt(TextBox1.Text) & ",'" & TextBox2.Text & "','" & TextBox3.Text & "')"
  13:     cmd = New OleDbCommand(str, cn)
  14:     icount = cmd.ExecuteNonQuery
  15:   
  16:    ' visualizza il numero di record inseriti
  17:     MessageBox.Show(icount)
  18:  Catch
  19:  End Try
  20:   
  21:  cn.Close()

Ecco perché ho scritto questo post... a futura memoria! Ciao!

P. S.: ogni tanto scrivetemi qualche commento :(

Currently rated 5.0 by 4 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by enrico on Monday, December 15, 2008 7:26 PM
Permalink | Comments (0) | Post RSSRSS comment feed

Differenza tra SQL Server Express e Compact Edition

La principale differenza è che SQL Server Express gira su sistemi Windows Desktop mentre la Compact Edition è progettata fondamentalmente per dispositivi mobili. Nel documento allegato Microsoft spiega dettagliatamente le funzionalità della famiglia SQL Server e le differenze tra i due sistemi.

Compact_Express_Comparison.pdf (535,32 kb)

 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Categories: Generalità | Documenti
Posted by enrico on Thursday, November 06, 2008 3:38 PM
Permalink | Comments (0) | Post RSSRSS comment feed

Benvenuto su vbdotnet.it

vbdotnet.it è un sito in cui metterò le soluzioni a dei problemi che ho incontrato nello sviluppare programmi con .NET in generale e più precisamente con vb.net e asp.net.

Currently rated 4.6 by 4 people

  • Currently 4.55/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Categories: Generalità
Posted by enrico on Monday, July 28, 2008 8:00 PM
Permalink | Comments (0) | Post RSSRSS comment feed