TaskDialog


Interessante dll con sorgenti per evolvere le ns. classiche Messagebox.

Lo trovate a questo indirizzo.

TaskDialog

author: Paolo Ongari | posted @ giovedì 3 luglio 2008 9.32 | Feedback (0)

WMI Code Creator tool


Tool gratuito di Microsoft che ci aiuta con WMI.

Clicca qui per scaricare.

author: Paolo Ongari | posted @ giovedì 26 giugno 2008 12.36 | Feedback (0)

Timestamp server URL


Dato che tutte le sante volte che devo usarlo perdo 10 minuti a cercarlo eccolo che me lo appunto e magari torna utile anche a voi:

http://timestamp.verisign.com/scripts/timestamp.dll

author: Paolo Ongari | posted @ lunedì 9 giugno 2008 12.50 | Feedback (0)

NSIS: trucchettini


Mi segno alcune cosette che spesso mi tornano comodo con NSIS:

 

* lanciare un eseguibile prima dell'uninstall

Function un.onInit ClearErrors ExecWait 'C:\MyApp.exe' $0 ${If} ${Errors} Abort ;cancel uninstall ${ElseIf} $0 <> 0 Abort ;cancel uninstall ${EndIf} FunctionEnd

 

* personalizzare la scritta "Nullsoft Install System..."

BrandingText "nome mia azienda"

 

* lanciare uno dei link installati a fine installazione

leggi articolo

author: Paolo Ongari | posted @ giovedì 1 maggio 2008 19.02 | Feedback (0)

101 Esempi query LINQ


In questa pagina sono riassunti un sacco di esempi di query LINQ.

Interessanti anche un esempio di paginazione fatta da Brunetti e una carrellata di distinct su questo blog.

Per provarli esiste questo LINQPad molto comodo e ben fatto.

author: Paolo Ongari | posted @ martedì 22 aprile 2008 23.45 | Feedback (0)

Odinare numeri pari e dispari con LINQ


Bellissimo post di Pietro Brambati che mi appunto per non dimenticarmene.

Il problema che risolve 1 riga di codice è: "data una lista di numeri pari e dispari non in ordine come si separano i numeri pari da quelli dispari ?"

List<int> elenco = new List<int> { 1,7,9, 2, 3, 4, 3, 4, 2, 3, 4, 5, 2, 0, 9 }; var pariEdispari = elenco.OrderBy(s => s % 2 != 0); var pariEdispariOrdinati = elenco.OrderBy(s => s % 2 != 0).ThenBy(s => s); foreach (var item in pariEdispariOrdinati) { Console.WriteLine(item); }

... che dire C# evolve...

author: Paolo Ongari | posted @ giovedì 17 aprile 2008 2.06 | Feedback (0)

Grafici in Silverlight


Ho appena letto di questo componente 'VISIfire' che permette di visualizzare grafici animati... a vederlo sembra proprio carino, in piu' è anche free!

author: Paolo Ongari | posted @ sabato 5 aprile 2008 22.58 | Feedback (0)

FastSharp, testare al volo un metodo


Mi capita spesso di dover provare due righe di codice "al volo": cosa fare? Apri visual studio, crea un progettino console, scrivi il codice da testare...

Con questo eseguibile si fa tutto in 2 secondi:

1) non si installa

2) si scrive e si esegue

 

Esiste sia per il framework 3.5 che 2.0.

La limitazione è che non si possono ovviamente scrivere classi ecc... serve solo per testare quello che scrivereste dentro un metodo.

Ecco il link.... e lo inserisco tra i miei tools.

author: Paolo Ongari | posted @ sabato 29 marzo 2008 22.28 | Feedback (0)

Se è potente WPF


Mi è stato chiesto da un grafico se in windows form si riusciva a fare una splash screen un po particolare: in pratica era un rettangolo in trasparenza con ombra, con sopra del testo non opacizzato... + altre cosucce (tipico da richiesta dei grafici: questo si può fare?... questo si può mettere?...)

Welcome

Ci ho provato ed in windows forms non è possibile (magari lo è ma non è così semplice come farlo in wpf)

Ecco il codice d'esempio:

1 <Window x:Class="Splash.Window1" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 Title="MiaApplicazione" Height="350" Width="450" 5 WindowStyle="None" 6 AllowsTransparency="True" 7 Background="Transparent" 8 MouseLeftButtonDown="Window_MouseLeftButtonDown" > 9 <Grid> 10 <Rectangle Fill="WhiteSmoke" Opacity="0.5" Margin="10" Width="380" Height="250"> 11 <Rectangle.BitmapEffect> 12 <DropShadowBitmapEffect ShadowDepth="5" Opacity="0.5"/> 13 </Rectangle.BitmapEffect> 14 </Rectangle> 15 <TextBlock Text="Babba - questa e' la splash del mio programma" 16 Margin="52" FontFamily="Tahoma" FontSize="9" /> 17 <TextBlock x:Name="txtBlock" Text="WELCOME" 18 Foreground="White" 19 HorizontalAlignment="Center" 20 VerticalAlignment="Center" 21 FontSize="70" 22 FontFamily="Tahoma" 23 Loaded="txtBlock_Loaded"> 24 <TextBlock.BitmapEffect> 25 <OuterGlowBitmapEffect GlowColor="YellowGreen" GlowSize="10" /> 26 </TextBlock.BitmapEffect> 27 </TextBlock> 28 </Grid> 29 </Window> 30

L'animazione del testo che vedete sotto l'ho presa da un sito (non ho + l'url... cmq se ne trovano un sacco di esempi per creare da codice una animazione)

1 public partial class Window1 : Window 2 { 3 public Window1() 4 { 5 InitializeComponent(); 6 } 7 8 private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) 9 { 10 this.DragMove(); 11 } 12 13 private void txtBlock_Loaded(object sender, RoutedEventArgs e) 14 { 15 Storyboard storyboard = new Storyboard(); 16 storyboard.RepeatBehavior = RepeatBehavior.Forever; 17 storyboard.AutoReverse = true; 18 19 txtBlock.TextEffects = new TextEffectCollection(); 20 21 for (int i = 0; i < txtBlock.Text.Length; i++) 22 { 23 TextEffect effect = new TextEffect(); 24 effect.PositionCount = 1; 25 effect.PositionStart = i; 26 27 effect.Transform = new TranslateTransform(); 28 txtBlock.TextEffects.Add(effect); 29 30 DoubleAnimation animation = new DoubleAnimation(0, 20, 31 new Duration(TimeSpan.FromSeconds(1))); 32 animation.AccelerationRatio = 0.5; 33 animation.DecelerationRatio = 0.5; 34 animation.AutoReverse = true; 35 animation.RepeatBehavior = RepeatBehavior.Forever; 36 animation.BeginTime = TimeSpan.FromSeconds(i * 0.25); 37 Storyboard.SetTargetName(animation, "txtBlock"); 38 39 string path = String.Format("TextEffects[{0}].Transform.Y", i); 40 PropertyPath propPath = new PropertyPath(path); 41 Storyboard.SetTargetProperty(animation, propPath); 42 storyboard.Children.Add(animation); 43 } 44 storyboard.Begin(this); 45 } 46 } 47

author: Paolo Ongari | posted @ venerdì 28 marzo 2008 0.56 | Feedback (0)

Un TreeView WPF molto interessante


Interessante treeview che carica i nodi in thread separati per non bloccare l'intefaccia utente... quando posso me lo studierò per bene. Articolo e codice d'esempio a questo indirizzo.

author: Paolo Ongari | posted @ giovedì 27 marzo 2008 0.00 | Feedback (0)

Query XPath con namespace


Mi capita alle volte di fare query xpath e di non veder restituito nulla... capita quando ci sono i namespaces di mezzo :)

...e tutte le volte me ne dimentico!!!

Posto un esempio che ho appena fatto per poter settare a "False" tutti i CopyLocal="True" di un progetto di Visual Studio.NET

image

1 private void ProcessProj(string file) 2 { 3 XmlDocument doc = new XmlDocument(); 4 doc.Load(file); 5 6 bool isChanged = false; 7 8 // aggiungo il namespace 9 XmlNamespaceManager ns = new XmlNamespaceManager(doc.NameTable); 10 ns.AddNamespace("pr", "http://schemas.microsoft.com/developer/msbuild/2003"); 11 12 // prendo i nodi che hanno private a true 13 XmlNodeList nodes = 14 doc.SelectNodes(@"//pr:Project/pr:ItemGroup/pr:Reference/pr:Private[text()='True']", ns); 15 16 // faccio sostituzione 17 foreach (XmlNode nodename in nodes) 18 { 19 nodename.InnerText = "False"; 20 isChanged = true; 21 } 22 23 if (isChanged) 24 doc.Save(file); 25 } 26

author: Paolo Ongari | posted @ giovedì 6 marzo 2008 0.33 | Feedback (0)

Errori che fanno sorridere


Quando l'ho letto mi sono sganasciato dal ridere... ma quanto contorto è sto messaggio?? hahahhahaaa!!!!

ErroreDivertente

author: Paolo Ongari | posted @ giovedì 21 febbraio 2008 22.11 | Feedback (0)