Pointui è una nuova interfaccia style iPhone per palmari che "montano" Windows Mobile.
Attualmente sono stati rilasciati degli screenshot della versione beta assieme ad un interessante video:
Fonte: blog Jason Langridge's
Labels
- .Net Framework 3.5 (7)
- Asp.Net 1.1 (21)
- Asp.Net 2.0 (44)
- Asp.Net 3.5 (23)
- Asp.Net Ajax (6)
- Asp.Net MVC (4)
- Biztalk (2)
- Blend (5)
- C# (26)
- css (10)
- DB2 (3)
- Framework 1.1 (10)
- Framework 2.0 (9)
- IE 7.0 (5)
- Interop Office (2)
- javascript (29)
- Library (11)
- Links (19)
- LINQ (1)
- Micro Framework (2)
- Microsoft (57)
- Microsoft Expression (3)
- Mobile (14)
- Office (9)
- Oracle (1)
- Photosynth (3)
- PowerShell (6)
- Regular Expression (2)
- Sharepoint 2007 (8)
- Silverlight (34)
- SQL Server 2000 (6)
- SQL Server 2005 (5)
- SQL Server 2008 (3)
- Tools (34)
- varie (46)
- VB.NET (19)
- Virtual Earth (10)
- VS 2003 (6)
- Vs 2005 (12)
- VS 2008 (20)
- VS 2010 (1)
- web (48)
- Windows (3)
- Windows Media Center (4)
- Workflow Foundation (14)
- WPF (20)
Sunday, December 30, 2007
Pointui: interfaccia iPhone style
Etichette: MobileSaturday, December 29, 2007
Sql Server Tools
Etichette: SQL Server 2000, SQL Server 2005, ToolsUna lista di vari tools sia free che commerciali, documentazione e tanto altro per Sql Server divisi per categoria sul blog di Mladen Prajdić:
- SQL Server Management Studio Add-in's
- Administration
- Best practices, analysis, health and performance
- Database Publishing to hosted servers
- Upgrade and Migration
- SQL Server Analysis Services
- SQL Server Integration Services
- SQL Server 2005 BI Development Studio (BIDS)
- Samples
- Non MS stuff
- SQL and other code Formatting
Monday, December 24, 2007
ListItemCollection e gli Attributes
Etichette: Asp.Net 1.1, Asp.Net 2.0, C#I controlli in ASP.NET come per esempio DropDownList, RadioButtonList, ListBox e CheckBoxList ereditano da System.Web.UI.WebControls.ListControl, quindi espongono il contenuto attraverso una collection Items.
In generale se si vuole modificare lo stile dei vari item si fa uso della collection Attributes, peccato che in ASP.NET 1.1 tali attributi non vengano renderizzati, si tratta di un bug.
Ovviamente in ASP.NET 2.0 tale problema non si "manifesta" (è fondamentale sottolineare come sia necessario eseguire l'add ad ogni postback, questo perchè sia in Asp.Net 1.x che in 2.0 la collezione degli attributes dei ListItem contenuti nel controllo non vengono salvati nel ViewState), infatti se per esempio vogliamo modificare l'attributo background dei singoli elementi che compongono il controllo RadioButtonList(rbList) basta valorizzare la chiave style nel seguente modo:
1: rbList.Items[0].Attributes.Add("style", "background-color:red");
2: rbList.Items[1].Attributes.Add("style", "background-color:DeepPink");
Se vogliamo ottenere lo stesso risultato anche in ASP.NET 1.1?
Nel caso specifico una possibile soluzione è quella di creare il proprio controllo ereditando da RadioButtonList ed effetturare l'override del metodo Render:
1: public class RadioButtonListPlus : RadioButtonList
2: {
3: protected override void Render(HtmlTextWriter writer)
4: {
5: ListItemCollection items = this.Items;
6: if (items.Count > 0)
7: {
8: for (int i=0; i<items.Count; i++)
9: {
10: ListItem item = items[i];
11: //Creazione del tag span
12: writer.WriteBeginTag("span");
13: AttributeCollection attrs = item.Attributes;
14: foreach (string key in attrs.Keys)
15: //Add dello stile
16: writer.WriteAttribute( key, attrs[key]);
17: writer.Write( ">");
18: //Creazione del controllo radio
19: writer.WriteBeginTag("input");
20: writer.WriteAttribute( "id", this.ClientID + "_" + i.ToString());
21: writer.WriteAttribute("type", "radio");
22: writer.WriteAttribute("name", this.UniqueID);
23: writer.WriteAttribute("value", item.Value);
24: if( item.Selected)
25: writer.WriteAttribute("checked", "checked");
26: if( this.AutoPostBack)
27: {
28: RadioButton rb = new RadioButton();
29: rb.ID = this.ClientID + "_" + i.ToString();
30: writer.WriteAttribute( "onclick", Page.GetPostBackClientEvent( rb, string.Empty));
31: }
32: writer.Write( ">");
33: //Creazione del controllo label contenente il testo da visualizzare accanto al RadioButton
34: if( item.Text.Length > 0)
35: {
36: writer.Write( "<label");
37: writer.WriteAttribute( "for", this.ClientID + "_" + i.ToString());
38: writer.Write( ">");
39: writer.Write( item.Text);
40: writer.WriteEndTag( "label");
41: }
42: writer.WriteEndTag("input");
43: writer.WriteEndTag("span");
44: }
45: }
46: }
47: }
In sostanza nel metodo Render vado a creare e manipolare l'HTML del controllo RadioButtonList, in modo da aggiungere un tag span, che fa da contenitore al controllo RadioButton e al controllo Label.
Infine nella nostra pagina aspx è necessario registrare il nuovo controllo:
1: <%@ Register TagPrefix="cc1" Namespace="namespace" Assembly="assembly" %>
1: <cc1:RadioButtonListPlus runat="server" id="rbListPlus">
2: <asp:ListItem Value="1" Selected="True">test1</asp:ListItem>
3: <asp:ListItem Value="2">test2</asp:ListItem>
4: </cc1:RadioButtonListPlus>
Thursday, December 20, 2007
Tafiti: codice sorgente
Etichette: Microsoft, SilverlightDal blog si Giuseppe Guerrasio apprendo che è stato rilasciato sul sito delle Windows Live Quick Apps il codice sorgente di Tafiti, un'applicazione che mostra le potenzialità di Silverlight e di Windows Live Search.
Read More »»Tuesday, December 18, 2007
Debug o Release?
Etichette: Framework 1.1, Framework 2.0, VB.NETTramite la reflection è possibile conoscere se un determinato assembly è stato compilato in modalità debug o release, andando a spulciare nella lista degli attributi:
1: Private Function VerifyDebug() As Boolean
2: Dim assembly As Assembly = Reflection.Assembly.LoadFile("path assembly")
3: Dim attributes() As Object = assembly.GetCustomAttributes(True)
4: If Not (attributes Is Nothing) AndAlso (attributes.Length > 0) Then
5: For i As Integer = 0 To attributes.Length - 1
6: If (attributes(i).GetType() Is GetType(System.Diagnostics.DebuggableAttribute)) Then
7: Return True
8: End If
9: Next
10: End If
11: Return False
12: End Function
Con il ciclo sugli attributi vado a verificare se è presente l'attributo DebuggableAttribute, attributo non presente se l'assembly è stato generato in modalità release. Read More »»
Saturday, December 15, 2007
MasterPage e Url
Etichette: Asp.Net 2.0In determinati scenari ci si può imbattare in un "particolare problema" che interessa le masterpage e gli url relativi.
In pratica se la masterpage e la pagina dei contenuti(aspx) si trovano nella stessa folder un codice come il seguente:
1: <IMG SRC="../test/images/in1.JPG" />
Ma supponiamo di avere una struttura di cartelle simile a quella indicata nell'immagine qui in basso:
in cui la pagina dei contenuti si trova in una folder diversa da quella della masterpage, in tal caso l'immagine non viene visualizzata.
Questo perchè il browser cerca l'immagine in un cartella superiore:
Per evitare ciò si può procedere in diversi modi, il più semplice è quello di indicare un url assoluto alla risorsa:
1: <IMG SRC="http://localhost:1146/WebTestPort/test/images/in1.JPG" />
1: <asp:Image ID="img" runat="server" ImageUrl="../test/images/in1.JPG" />
Altro modo per risolvere il problema è l'uso di un nuovo metodo messo a disposizione dal Framework 2.0: ResolveClientUrl per restituire un url idoneo, utile al client per accedere alle risorse del server web(immagini, link ad altre pagine):
1: <IMG src="<%= ResolveClientUrl("../test/images/in1.JPG")%>" />
Wednesday, December 12, 2007
I-Load per l'upload di immagini
Etichette: Asp.Net 1.1, Asp.Net 2.0, LibraryDal nuovo blog/sito di Alberto Falossi son venuto a conoscenza di un ottimo controllo ASP.NET (non free) per la gestione delle immagini e dell'upload.
Il controllo I-Load della RadActive compatibile sia con la versione 1.1 che con la 2.0 del framework permette di caricare, ritagliare, ridimensionare le immagini, con funzionalità di zoom, anteprima ecc.
E' possibile fare qualche esperimento direttamente online.
Monday, December 10, 2007
ASPhere per i web.config
Etichette: Asp.Net 1.1, Asp.Net 2.0, Tools ASPhere è un tool che permette di creare e modificare i files web.config.
Rispetto all'ambiente Visual Studio, in ASPhere è possibile eseguire le modifiche o la creazione del file di configurazione sia nella classica modalità testuale ma anche in modo visuale rendendo tutto molto più semplice ed intuitivo.
ASP.NET 3.5: preview extensions
E' possibile scaricare una preview delle extensions per ASP.NET 3.5 che comprende:
- Silverlight Controls for ASP.NET
- ADO.NET Entity Framework
- ASP.NET MVC
- ASP.NET Dynamic Data
- ASP.NET AJAX
- ADO.NET Data Services
Per quanto riguarda il quickstart lo trovate qui.
Read More »»Saturday, December 8, 2007
TIFF Multipage
Etichette: Asp.Net 2.0, C#, VB.NETTramite alcuni metodi della classe System.Drawing.Image è possibile estrapolare/salvare le immagini contenute in un TIFF, tale formato infatti, può essre costituito da più immagini divise su più pagine.
In Vb.Net:
1: Private Sub SaveTIFFMultipage(ByVal imageType As String, ByVal pathImageTIFF As String)
2: Dim file As FileInfo = New FileInfo(pathImageTIFF)
3: If (file.Exists) Then
4: Using img As System.Drawing.Image = System.Drawing.Image.FromFile(pathImageTIFF)
5: 'Recupero il numero di pagine che costituiscono il TIFF
6: Dim countPages As Integer = img.GetFrameCount( _
7: New System.Drawing.Imaging.FrameDimension(img.FrameDimensionsList(0)))
8: For i As Integer = 0 To countPages - 1
9: img.SelectActiveFrame(New System.Drawing.Imaging.FrameDimension( _
10: img.FrameDimensionsList(0)), i)
11: Dim imageThumb As System.Drawing.Image = img.GetThumbnailImage( _
12: 300, 300, Nothing, Nothing)
13: 'Salvo le immagini
14: imageThumb.Save(String.Format("c:\{0}.{1}", _
15: file.Name.Replace(file.Extension, String.Empty) + i.ToString(), imageType))
16: Next
17: End Using
18: End If
19: End Sub
private void SaveTIFFMultipage(string imageType, string pathImageTIFF)
{
FileInfo file = new FileInfo( pathImageTIFF);
if( file.Exists)
{
using( System.Drawing.Image img = System.Drawing.Image.FromFile(pathImageTIFF))
{
//Recupero il numero di pagine che costituiscono il TIFF
int countPages = img.GetFrameCount(
new System.Drawing.Imaging.FrameDimension( img.FrameDimensionsList[0]));
for( int i=0; i<countPages; i++)
{
img.SelectActiveFrame(new System.Drawing.Imaging.FrameDimension(
img.FrameDimensionsList[0]), i);
System.Drawing.Image imageThumb = img.GetThumbnailImage( 300, 300, null, IntPtr.Zero);
imageThumb.Save(string.Format(@"c:\prova\{0}.{1}", file.Name.Replace(file.Extension, string.Empty) +
i.ToString(), imageType));
}
}
}
}
I due metodi fondamentali usati allo scopo di "estrapolare" le varie immagini contenute nel TIFF sono senza ombra di dubbio GetFrameCount e SelectActiveFrame.
Tramite il primo metodo GetFrameCount sappiamo il numeto totale di frame presenti nell'immagine, mentre il metodo SelectActiveFrame seleziona e rende attivo un determinato frame all’interno dell’immagine.
Nel caso specifico utilizzo anche GetThumbnailImage per ottenere la miniatura(300X 300) dell'immagine da salvare su disco per poi visualizzarle tramite il controllo Repeater:
<asp:Repeater ID="repImage" runat="server">
<ItemTemplate>
<asp:Image ID="img" runat="server" ImageUrl='<%#DataBinder.Eval(Container.DataItem, "src")%>'/>
</ItemTemplate>
</asp:Repeater>
Wednesday, December 5, 2007
Volta technology
Etichette: .Net Framework 3.5, Microsoft, VS 2008Oggi è stata presentata la tecnologia Volta che dovrebbe aiutare lo sviluppatore nella costruzione di applicazioni web multi-tier usando Visual Studio 2008 e il .Net Framework 3.5.
Read More »»Monday, December 3, 2007
TouchPal
Etichette: MobileTouchPal è un software creato dalla CooTek e permette di aver sul proprio dispositivo mobile una tastiera virtuale "simile" a quella dell'iPhone.
Tra i prerequisiti Windows Mobile 5.0/6.0 e solo per i dispositivi dotati di touch screen QVGA (320X240) o VGA (640X480).
Fino all'8 Dicembre è possibile scaricarlo gratis.