HyperLink MouseOver

ThickBox 3.1 within ASP.NET UpdatePanel

Technorati tags: , , , ,

ORDA vrea să ne ceară bani pe filmulețele youtube/trilu* postate pe blog.

Citiți și minunați-vă!

Technorati tags: ,

Știați că Silverlight 2.0 e lansat încă de ieri ?

Și mai știati că Eclipse are suport pt. Silverlight 2.0 ?

Răspuns : da, nu, aflăm acum, deja lucrăm din beta-uri cu sl & eclipse, ce e sl2.0, etc:)

Technorati tags: , ,

If all fails...

Reporniți cu un dvd bootabil vista sau cu dvdul de Recovery ce a venit cu laptopul dell.

Intrați în command prompt.

Format C:
D:\Tools\Imagex.exe /apply D:\dell\Image\Factory.wim 1 C:

Technorati tags: , ,

  1. string fileMask = String.Format("{0}_*.jpg", baseProductCode);
  2.  
  3. FileInfo[] files = (new DirectoryInfo(Server.MapPath("~/Images")).GetFiles(fileMask));
  4.  
  5. // doar Fisiere de forma [baseproductcode]_[singleChar].jpg
  6. Repeater1.DataSource = files.Where(p =>
  7.     Regex.IsMatch(p.Name, baseProductCode + "_[a-z].jpg", RegexOptions.IgnoreCase));
  8.  
  9. // doar Fisiere de forma [baseproductcode]_[singleNumeric].jpg
  10. //Repeater1.DataSource = files.Where(p =>
  11. //    Regex.IsMatch(p.Name, baseProductCode + "_[0-9].jpg", RegexOptions.IgnoreCase));
  12.  
  13. Repeater1.DataBind();
  14. Repeater1.DataMember = "Name";

Simplu nu :)?

LE : Varianta optimizată.

 

  1. string fileMask = String.Format("{0}_*.jpg", baseProductCode);
  2.  
  3. var filesLinq = from f in (new DirectoryInfo(Server.MapPath("~/Images")).GetFiles(fileMask))
  4.                 where Regex.IsMatch(f.Name, baseProductCode + "_[0-9].jpg", RegexOptions.IgnoreCase)
  5.                 select new { f.Name };
  6.  
  7. Repeater1.DataSource = filesLinq;
  8. Repeater1.DataBind();
  9. Repeater1.DataMember = "Name";

Technorati tags: , ,

As we begin the private beta for Stack Overflow later this week, I wondered: where do the software terms alpha and beta come from? And why don't we ever use gamma

Alpha, Beta, and Sometimes Gamma

 

Pentru că nu-mi rezolvă problema veche de 5 luni de zile. În concluzie acest service pack îmi este inutil.
 

Technorati tags: , , ,

Mi-e rușine de mine.

 

Technorati tags: , ,

  • DataSets
    • DataSet enhancements in VS2008 (link)
  • VS 2008 articles
    • Weekend crash-course reading (link)
    • ASP.NET 3.5 Extensions Preview - new features (link)
    • 4 posturi despre cum să dezvolți o aplicație cu MVC (post1, post2, post3, post4)
    • Targeting .NET 2.0 and using C# 3.0 language features (link)
  • Shuffle algorithms
    • The Danger of Naïveté (link)

Technorati tags: ,

Lucrezi cu multe Threaduri și faci treburi importante pe acolo.
Ai un coleg de muncă care-ți sabotează codul și-ți ascunde un Thread.Abort() în metoda folosită de delegatul threadului (ThreadStart sau
ParameterizedThreadStart) pentru bonusul de Crăciun.

ThreadStart threadStart = new ThreadStart(DoImportantStuff);
Thread
t = new Thread(threadStart);
t
.Start();

//-- Do some other important stuff
//--
//--evil malicious code from envious developer

t.Abort();

 

//--Do Important Stuff

static void DoImportantStuff()
{
    //call to SaveTheWorld(this);

    SaveTheWorld(this);

    CleanUpSaveTheWorld();
    DoUselessStuff();
}

 

În acest moment cum o dai procedura SaveTheWorld a crăpat, lumea s-a sfârșit și colegul s-a ales cu prima de Crăciun în locul tău.

Pentru a împiedica aceste evenimente neplăcute există 2 metode :  Thread.BeginCriticalRegion() și Thread.EndCriticalRegion() .
Ele împiedică executarea metodei .Abort sau tratarea/aruncarea unei excepții pentru codul aflat între cele 2 metode.
În concluzie codul corect pentru codul de mai sus este :

static void DoImportantStuff()
{
    Thread.BeginCriticalRegion();
    //call to SaveTheWorld(this);

    SaveTheWorld(this);
    Thread.EndCriticalRegion();

    CleanUpSaveTheWorld();
    DoUselessStuff();
}

 Poate știați, poate nu, oricum eu am scris :) Enjoy!

Technorati tags: ,

Ce sunt și cum se calculează aici.

Technorati tags: , ,

A apărut și arată foarte bine.

Fiind vorba de un preview, funcționalitatea este redusă(no webcam, no archives, no advanced preferences) dar viitorul sună bine.
Este bine că se poate instala side-by-side cu celelalte versiuni (8.1, 9.0) deci nu e nici un pericol că-l instalați.
Enjoy ;)

Main Window 

 main

Preferences

preferences

 

Old Menu | Contact details | Change window theme (inspirat 100% din demoul din MS Expression Blend Color Swatch) | Change contact details (Explorer File details clone)

 

menu contact details change theme change contact details

About Yahoo Messenger - îmi place cum arată numărul versiunii curente :)

about ym

Technorati tags: ,

A trebuit să apară Visual Studio 2008 ca să aflu și eu că există o funcție similară ALT+TAB în Visual Studio 2005.
Și anume CTRL + TAB :)

Technorati tags: ,

http://www.hacktheday.com/survival-hacks-in-crowded-subways/

Via alexbrie.

Technorati tags:

Technorati tags: , ,

O funcționalitate destul de necunoscută pentru cei care lucrează în c# 2.0 o reprezintă nullable types.

Putem fie folosi genericul Nullable<Type> sau mai curatul operator ? care reprezintă un alias pentru tipul nullable.
Ceva în genul următor : int? variable1; bool? Variable2;.

Care sunt diferențele între cele 2 sintaxe ? Simplu  Nullable<Type> este generic pentru toate limbajele .net 2.0 iar ? este doar pentru c#.

Dacă vrem în VB o variabilă care să știe de null folosim Nullable(Of bool).

As simple as that.

Technorati tags: ,

11 Visual Studio 2005 IDE Tips and Tricks to Make You a More Productive Developer.

Un articol foarte bun, am mai învățat ceva interesant astăzi.

Technorati tags:

Să zicem că vrem să avem într-un DataGridView o coloană de parole.
Evident că nu vrem să afișăm parolele în clar ci prin intermediul caracterului *. Deasemenea trebuie să putem edita/vizualiza parola în clar când selectăm celula respectivă.

O soluție rapidă constă în utilizarea evenimentelor CellFormatting și EditingControlShowing ale controlului DataGridView.

 private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (
dataGridView1.Columns[e.ColumnIndex].Name == "passwordDataGridViewTextBoxColumn" && e.Value != null)
    {
       
dataGridView1.Rows[e.RowIndex].Tag = e.Value;
        e.Value = new String(
'*', e.Value.ToString().Length);
    }
}


private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
    if (
dataGridView1.CurrentRow.Tag != null)
        e.Control.Text =
dataGridView1.CurrentRow.Tag.ToString();
}

Technorati tags: , ,

Am o problemă - nu mai pot instala/dezinstala nimic din windows features. Ok, ok rectific - am o problemă gravă.

După ceva căutări am aflat cu resemnare că nu sunt singurul în această situație.
Ba chiar există un ms-fix-article dar din păcate nu rezolvă problema (nu râdeți :P ).

Soluția temporară-sugerată este un fresh reinstall. Not going to happen!

Deci în concluzie, dacă de exemplu ai nevoie de telnet client folosești search în root\windows, rename de câteva ori, create shortcut și ai rezolvat problema.

Microsoft hai cu SP1 mai repede că am nevoie de telnet. Pretty please.

Voi aveți această problemă ? 

A folosit cineva în ultima vreme serviciul *222 ?

Dacă da ați observat

  1. ce varză e vocea de bărbat
  2. ce aiurea e structurat meniul
  3. Sunetul e nesincronizat. La un anumit moment dat am auzit ceva de genul "1 2 4 pentru informații xx". What ?
Am încercat 10 minute să găsesc o informație și n-am reușit. Way to go Vodafone!

Technorati tags:

Continuarea postului de aici.

  1. public partial class ReadOnlyNumericUpDown : NumericUpDown
  2. {
  3.     public ReadOnlyNumericUpDown()
  4.     { InitializeComponent(); }
  5.  
  6.     public override void DownButton()
  7.     {
  8.         if (ReadOnly)
  9.             return;
  10.         else
  11.             base.DownButton();
  12.     }
  13.  
  14.     public override void UpButton()
  15.     {
  16.         if (ReadOnly)
  17.             return;
  18.         else
  19.             base.UpButton();
  20.     }
  21. }
  22.  
  23.  public partial class ReadOnlyCheckBox : CheckBox
  24. {
  25.     private bool readOnly;
  26.     public bool ReadOnly
  27.     {
  28.         get { return readOnly; }
  29.         set { readOnly = value; }
  30.     }
  31.     public ReadOnlyCheckBox()
  32.     { InitializeComponent(); }
  33.  
  34.     protected override void OnClick(EventArgs e)
  35.     {
  36.         if (!readOnly)
  37.             base.OnClick(e);
  38.     }
  39. }
  40.  
  41. public partial class ReadOnlyComboBox : ComboBox
  42. {
  43.     public ReadOnlyComboBox()
  44.     { InitializeComponent(); }
  45.  
  46.     public bool ReadOnly
  47.     {
  48.         get { return readOnly; }
  49.         set
  50.         {
  51.             readOnly = value;
  52.  
  53.             if (readOnly)
  54.                 this.DropDownStyle = ComboBoxStyle.Simple;
  55.             else
  56.                 this.DropDownStyle = ComboBoxStyle.DropDown;
  57.         }
  58.     }
  59.  
  60.     protected override void OnKeyPress(KeyPressEventArgs e)
  61.     {
  62.         if (ReadOnly)
  63.             e.Handled = true;
  64.         else
  65.             base.OnKeyPress(e);
  66.     }
  67.  
  68.     protected override void OnKeyDown(KeyEventArgs e)
  69.     {
  70.         if (ReadOnly)
  71.             e.Handled = true;
  72.         else
  73.             base.OnKeyDown(e);
  74.     }
  75. }
  76.  
  77. public partial class ReadOnlyDateTimePicker : DateTimePicker
  78. {
  79.     private DateTime maxD = new DateTime(9998, 12, 31);
  80.     private DateTime minD = new DateTime(1753, 01, 01);
  81.  
  82.     private bool readOnly;
  83.     public bool ReadOnly
  84.     {
  85.         get { return readOnly; }
  86.         set
  87.         {
  88.             readOnly = value;
  89.  
  90.      DateTime dt = this.Value;          
  91.  
  92.             if (readOnly)
  93.             {
  94.                 this.MaxDate = dt;
  95.                 this.MinDate = dt;
  96.             }
  97.             else
  98.             {
  99.                 this.MaxDate = maxD;
  100.                 this.MinDate = minD;
  101.             }
  102.         }
  103.     }
  104.  
  105.     public ReadOnlyDateTimePicker()
  106.     { InitializeComponent(); }
  107.  
  108.     protected override void OnKeyDown(KeyEventArgs e)
  109.     {
  110.         if (!ReadOnly)
  111.             base.OnKeyDown(e);
  112.         else
  113.             e.Handled = true;
  114.     }
  115. }
Și am încălecat pe-o șa...


 

Technorati tags: , , ,

În 2 zile am fost la 2 filme românești După ea și 4 luni, 3 săpt și 2 zile.

Concluzia ? Filmul românesc a murit o dată cu Ceaușescu.

Technorati tags: ,

Nu știu cum un astfel de organism internațional să aibă un site de toată jena.

Filmele se văd doar cu plugin de wmp. Preferabil doar din IE.
Orice combobox este inutil(link), paginile se încarcă relativ greu, interfață aiurea, filmele se văd și mai aiurea din cauza bufferingului.
Concluzia ? Dacă vrei să vezi un crash test mai bine încerci pe youtube decât pe euroncap.

PS: păcat de backendul aspx irosit complet aiurea.

Technorati tags:

În sfărșit upgradeul a venit. Din ce pot eu să observ momentan avem

  • search în toate feed-urile
  • numărul total de item-uri necitite per feed.
Mișto!

Technorati tags: ,

Dacă vrei să cauți ceva pe siteul vodafone românia cu modulul de căutare inclus mai bine te lași păgubaș. Nu vei avea mare noroc.

Mai bine apelezi la un search de calitate. 

Am încercat să caut informații despre înlocuirea cartelei sim, care este procedura, etc.

Google la primul search, mi-a returnat exact ce-mi trebuie din primul link. Pe când la vodafone am primit un sec "Căutarea dupa 'inlocuire sim cartela' nu a generat nici un rezultat.".
Măi să fie, chiar așa stau lucrurile ?

Dacă nu sunteți capabili să oferiți funcția de căutare prin cod propriu mai bine integrați modulul oferit de la google în pagina voastră. Oricum oferă rezultate mai bune ;)

Technorati tags: , , ,

More Posts Next page »