Archivi categoria: C#

Robette utili per c#

Avoid Memory Leak in .NET

Problem: In .NET for some components like webBrowser component seems that occurs memory leaks, so we see a growth of RAM until we don’t stop our application.

Solution C#
First of all you need to declare this

[DllImport("KERNEL32.DLL", EntryPoint = "SetProcessWorkingSetSize", SetLastError = true, CallingConvention = CallingConvention.StdCall)]
internal static extern bool SetProcessWorkingSetSize(IntPtr pProcess, int dwMinimumWorkingSetSize, int dwMaximumWorkingSetSize);

[DllImport("KERNEL32.DLL", EntryPoint = "GetCurrentProcess", SetLastError = true, CallingConvention = CallingConvention.StdCall)]
internal static extern IntPtr GetCurrentProcess();

and later in your code you need to write

IntPtr pHandle = GetCurrentProcess();
SetProcessWorkingSetSize(pHandle, -1, -1);

Solution Vb.NET
First of all you need to declare this

#Region "Stuff for Closing the Processes"
'# to close all the resources
Private Declare Auto Function SetProcessWorkingSetSize Lib "kernel32.dll" (ByVal procHandle As IntPtr, ByVal min As Int32, ByVal max As Int32) As Boolean

Public Sub SetProcessWorkingSetSize()
Try
Dim Mem As Process
Mem = Process.GetCurrentProcess()
SetProcessWorkingSetSize(Mem.Handle, -1, -1)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
#End Region

and later you need to write in your code:

GC.Collect()
If (Environment.OSVersion.Platform = PlatformID.Win32NT) Then
SetProcessWorkingSetSize(Process.GetCurrentProcess().Handle, -1, -1)
End If

Reference Link:

Microsoft Forums

[C#] – Ordinare un DataTable…

Problema: ordinare un DataTable secondo un certo campo…
Soluzione: La soluzione sfrutta semplicemente la possibilitÓ di ricorrere alla proprietÓ sort della DataView. la funzione che chiameremo Sort, accetta tre parametri:
– dtTable: il datatable
– field: il campo su cui fare l’ordinamento
– sortOrder: ASC o DESC

Problem: How to order a DataTable
Solution: this solution simply use Sort property of DataView. Function name is Sort and has three params:
– dtTable: the datatable
– field: the key field on which we want sort the DataTable
– sortOrder: ASC or DESC
ecco il codice:
this is the code:

private DataTable Sort(DataTable dtTable, string field, string sortOrder)
{
string sortFormat = "{0} {1}";
dtTable.DefaultView.Sort = string.Format(sortFormat, field, sortOrder);
return dtTable.DefaultView.Table;
}

e se invece volessimo ordinare una tabella secondo campi diversi con diversi ordinamenti?
Tutto molto semplice, basta ricorrere sempre alla solita sort fornita dalla vista:

dtTable.DefaultView.Sort = "campo1 DESC, campo2 ASC ecc ecc";

facile vero?

Il mio consiglio, qual’ora non funzioni l’ordinamento Ŕ quello di controllare bene il formato delle colonne, ovvero se intendete ordinare per data e notate che l’ordinamento non funziona, probabilmente il motivo Ŕ che la colonna esibisce dati in formato testo e non data.

[C#] – Serializzare una classe

Quello che andr˛ ad illustrare oggi Ŕ un processo molto utile che consente di memorizzare facilmente degli oggetti su un supporto fisico, quindi diamo prima un p˛ di teoria e successivamente passiamo ad un progetto di esempio (il codice lo potrete scaricare in fondo all’articolo).
Definizione: In informatica, la serializzazione Ŕ un processo per salvare un oggetto in un supporto di memorizzazione lineare (un file o un’area di memoria), e/o per trasmetterlo su una connessione di rete. Lo scopo della serializzazione Ŕ di trasmettere l’intero stato dell’oggetto in modo che esso possa essere successivamente ricreato nello stesso identico stato dal processo inverso, chiamato deserializzazione.

Cosa realizzeremo: Quello che andremo a realizzare consta di un progettino scritto in C# con Visual Studio 2005, il quale non fa altro che salvare una classe in formato XML, e quello che faremo sarÓ man mano aggiungere carne al fuoco. Alla fine il file che andremo a scrivere sarÓ il seguente:

< ?xml version="1.0"?>
Il gatto con gli stivali
9788817001625
Perrault Charles
50
Il gatto con gli stivali2
97888170016252
Perrault Charles2
502

Continua la lettura di [C#] – Serializzare una classe

[.NET] Best of Articles :: Microsoft Smartphone Programming

Questa sorta di libro Ŕ un insieme di link, i quali proprio come in un libro partono dalle basi della programmazione fino ad arrivare allo sviluppo di videogames, il tutto utilizzando il framework .NET

Chapter 1: Introduction to the .NET Compact Framework

  1. Fundamentals of Microsoft .NET Compact Framework Development for the Microsoft .NET Framework Developer
  2. What’s New in Smartphone 2003
  3. Develop for Windows Mobile-based Smartphones Using the .NET Compact Framework
  4. An Introduction to Microsoft SmartPhone, and Programming SmartPhone using C#
  5. Design Considerations for Microsoft Smartphone Applications

Chapter 2: The Smartphone User Interface

  1. Write Apps for the Smartphone without Dumbing Down Your UI
  2. Creating a Multiple Form Application Framework for the Microsoft .NET Compact Framework
  3. How to Create a Microsoft .NET Compact Framework-based Image Button
  4. Crafting Smartphone User Interfaces Using .NET Compact Framework
  5. Develop for the SmartPhone Using Techniques You Already Know

Chapter 3: Smartphone Controls

  1. Creating Controls by Hand in the .NET Compact Framework
  2. .NET Compact Framework Sample: Hosting A Native Windows Control
  3. Developing Custom Controls in C# with Smart Device Extensions

Continua la lettura di [.NET] Best of Articles :: Microsoft Smartphone Programming