Hi all folks!
I’ve just committed the version 0.2 of RIMA!
Check it out on SourceForge.net.
Now the problem with the required library is fixed.
Posts Tagged “best-practices”I used to get the form validation by hand, with some ugly checks, message boxes, several boolean variables to combine with a lot of operators && and ||. A TOTAL mess. My target was to provide a simple validation tool that I can spread (by inheritance) to all the forms in a project. How to get itIn a base form class, the parent of all my forms in the project, get an instance of an ErrorProvider, by putting it into the form. Be sure to have “Modifier” property set to “Protected”.
namespace ValidationTest{
public partial class MyBaseForm
{
...
protected void ValidateControlHandler(object sender, CancelEventArgs e)
{
// this string will be the tooltip shown when an error appears
String error = null;
String textToCheck = String.Empty;
// we need to be sure that the sender control is
// of the type System.TextBox
Type senderType = sender.GetType();
if (senderType == typeof(TextBox))
textToCheck = ((TextBox)sender).Text;
else
throw new ArgumentException(
"The sender is not a TextBox, but a " + senderType.Name);
// Mandatory field: if the textToCheck is null or empty, fire up the error
if (String.IsNullOrEmpty(textToCheck))
{
error = "Mandatory field";
// this CancelEventArgs property locks the pointer over the control
// until the error disappears
e.Cancel = true;
}
// if there isn't any error, the SetError get a
// null string and it will not shown.
// otherwise the SetError will show an icon and a tooltip
// next to the control that fails the validation
errorProvider.SetError((Control)sender, error);
}
protected void SetValidationHandlerOnControl(Control ctrl)
{
// we need to be sure that the sender control
// is of the type System.TextBox
Type ctrlType = ctrl.GetType();
if (ctrlType == typeof(TextBox))
ctrl.Validating += new CancelEventHandler(this.ValidateControlHandler);
}
}
}
Ok, that’s almost done.
namespace ValidationTest{
public partial class MyChildForm : MyBaseForm
{
public MyChildForm(){
InitializeComponent();
SetValidationHandlerOnControl(this.textBox1);
SetValidationHandlerOnControl(this.textBox2);
SetValidationHandlerOnControl(this.textBox3);
...
}
}
}
that’s it! EDIT: corrected a typo. Sorry! Tag:.Net, best-practices, c#, coding, how-to, Informatica, visual studioSingleton Pattern per C# piccolo esempio di pattern singleton thread safe per C#. dal momento che lo uso molto spesso e che devo copiarmelo di qua e di là, ho deciso di scriverlo sul sito, che almeno so sempre dove trovarlo =D
public class Oggetto
{
#region Singleton
//singleton pattern
private static bool _isInit;
private static Exception _error;
private static volatile Oggetto _instance = null;
private static object _syncObj = new object();
///
c#, dotnet, lavoro, pattern, singleton, best practices Tag:best-practices, c#, dotnet, lavoro, pattern, singletonstamattina ho fatto il mio primo danno. sto lavorando sul mio schema di database in un’istanza di oracle. il mio user ha grant di administer database trigger perchè ho bisogno di creare un logon trigger del tipo
create or replace trigger user_logon_trigger
after logon on database
begin
my_package.do_something();
end;
Insomma ricreo lo schema (trigger compreso), faccio logout-login. Non va, non riesco ad entrare. _system_trig_enabled = false che permette di far partire il db senza trigger. bon. riabilitiamo il trigger e vediamo se tutto gira. Sì, gira tutto.
create or replace trigger user_logon trigger
after logon on database when user not in ('sys', 'system', 'pippo')
begin
...
end;
Poi ho imparato che è meglio tenersi amico il DBA. |


















Articoli (RSS)