SQL Reportin Service | Render
(...)
Reporting servis ile oluşturulan raporu programatik olarak render etmek:
Parametreler:
  1. FileFormat: XML, NULL, CSV, IMAGE, PDF, HTML4.0, HTML3.2, MHTML, EXCEL, HTMLOWC
  2. reportPath: /MyReportPath/MyReport
  3. Parameters: Raporun aldığı parametreler.
  4. NewFilePathAndName: FileFormat ile belirttiğimiz tip ile render edilen raporu kaydetme konumu ve adı.
Imports Microsoft.VisualBasic
Imports System.Data
Imports System.IO
Imports reportingservice 'Reportin Service web referansi


Public Class ReportingServiceHelper

    
Public Shared Sub Render(ByVal FileFormat As String, _
                            
ByVal reportPath As String, _
                            
ByVal parameters() As ParameterValue, _
                            
ByVal NewFilePathAndName As String)

        
Dim rs As New reportingservice.ReportingService
        rs.Credentials 
System.Net.CredentialCache.DefaultCredentials
        rs.Credentials 
= New System.Net.NetworkCredential("UserName", _
                                                  
"Password""Domain")

        
' Render parametreleri
        
Dim result As Byte() Nothing
        
Dim historyID As String = Nothing
        
Dim devInfo As String = "<DeviceInfo><Encoding>ISO 8859-8" & _
                                "</Encoding></DeviceInfo>"
'Türkçe için
       

        
Dim credentials As DataSourceCredentials() Nothing
        
Dim showHideToggle As String = Nothing
        
Dim encoding As String = Nothing

        
Dim mimeType As String = Nothing
        
Dim warnings() As reportingservice.Warning Nothing
        
Dim reportHistoryParameters As ParameterValue() Nothing
        
Dim streamIDs As String() Nothing
        
Dim sh As New SessionHeader()
        rs.SessionHeaderValue 
sh

        rs.RequestEncoding 
System.Text.Encoding.UTF8'Türkçe için


        
result rs.Render(reportPath, FileFormat, historyID, devInfo, parameters, _
                          credentials, showHideToggle, encoding, mimeType, _
                   reportHistoryParameters, warnings, streamIDs)


        sh.SessionId 
rs.SessionHeaderValue.SessionId

        
Dim stream As FileStream File.Create(NewFilePathAndName, result.Length, _
                                               FileOptions.RandomAccess)
        stream.Write(result, 
0, result.Length)
        stream.Close()

    
End Sub
End Class

Sql Server | 05.2009 | Bahadır Bekeç | 0 Comment
Global.asax Application_Error | Genel hata denetimi.
(...)
    Global.asax
    void Application_Error(object sender, EventArgs e)
    {
          
//  Code that runs on application shutdown

        
Exception ex Server.GetLastError().GetBaseException();

         
// olusumum tarihini getir
        
string dateTime DateTime.Now.ToLongDateString() + ", at "
                            
+ DateTime.Now.ToShortTimeString();

        string 
errorMessage "Exception generated on " + dateTime;
        
// hatanin olustusgu url
        
System.Web.HttpContext context System.Web.HttpContext.Current;
        
errorMessage +"\n\n Page location: " + context.Request.RawUrl;      
        
errorMessage +"\n\n Message: " + ex.Message;
        
errorMessage +"\n\n Source: " + ex.Source;
        
errorMessage +"\n\n Method: " + ex.TargetSite;
        
errorMessage +"\n\n Stack Trace: \n\n" + ex.StackTrace;
        string 
from Configuration.AdminMail;
        string 
to Configuration.ErrorMailAddress;
        string 
subject " Error Report";
        string 
body errorMessage;
        
SendMail(from, to, subject, body);
            
        
Server.ClearError();
        
Response.Redirect("GenericErrorPage.aspx"true);
    
}
Asp.Net | 02.2009 | Bahadır Bekeç | 0 Comment
Delete Confirm | Gridview üzerinde Delete Confirm
(...)
     Gridview üzerinde kayıt eklemek, kayıt silme veya kayıt düzeltme işlemleri yapmak isteyebiliriz. Mesela bir alış-veriş sitemiz var ve sepete eklenen 3 üründen birisini yanlışlıkla ekledik ve silmemiz gerekiyor ama yanlış ürünü silersek tekrar ürünler sayfasına gidip eklememiz gerekecek bu da bazılarına göre sıkıcı bir iş olabilir. Ziyaretcinin yanlış birşeyler yapmasını engellemek için; daha kullanışlı, daha user-friendly bir sistem kurmamız gerekmekte. 

       Grid üzerinde bulunan kayıtların her birini sepetimizde bulunan birer ürün olarak farzedelim. Yanlışlıkla ekledigimiz ürünün Del butonu yerine yanlışlıkla bir sonraki ürünün Del butonuna bastık, eğer "Silmek istediğinizden emin misiniz?" sorusunu sormadan direk kaydın silinmesine izin vermiş olsaydık, ziyaretcinin tekrar ürünler sayfasına gidip o ürünü eklemesi gerekecekti. 
Grid üzerinde Del butonuna bastoğımız zaman açılan confirm penceresi.   
grid Gride ekledigimiz  TemplateField içerine yerleştirdiğimiz butonun onclick olayına " ShowConfrim " isimli function yazıyoruz.
            <asp:TemplateField>
                <ItemTemplate>
                    <input id="btnDel" type="button" value="Del" onclick=<%# "javascript:ShowConfrim('" + Eval("Id").ToString() + "')"  %> />
                </ItemTemplate>
            </asp:TemplateField>


ShowConfrim() Function:
    function ShowConfrim (Id){
            if (confirm(Id + ' Id  li kaydı silmek istediginizden emin misiniz?')){
              DoPostBack(Id);
            }
      } 
    function DoPostBack (Id){
           var oHiddenField = document.getElementById('<%= HiddenField1.ClientID %>');
           oHiddenField.value=Id;
          
            <%= Page.ClientScript.GetPostBackEventReference(btnDel, "") %>
       }   
        Protected Sub btnDel_Click (ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDel.Click
        Dim Id As String = HiddenField1.Value
        Dim row As DataRow = _Data.Select("id='" & Id & "'")(0)
        row.Delete()

        GridView1.DataBind()
    End Sub

 
JavaScript | 11.2008 | Bahadır Bekeç | 0 Comment
Developer | Nedir ne değildir?
(...)
    Günlük hayatta tanıştığım insanlar mesleğimi sorduklarında Bilgisayar programcısıyım diyorum, onlar da kaşlarını kaldırarak çok iyi, çok güzel bir meslek diyorlar. Tabiki bende teşekkür ediyorum ve Bilgisayar Programcılığı ile ilgili neler bildiklerini soruyorum. Aldığım cevaplar beni pek tatmin etmemekle birlikte tamamem kulaktan dolma bilgiler olduğunu anlıyorum. Ama buna ragmen nedense herkesin tepkisi aynı, iyi, güzel, hoş :) 
     Hatta bir keresin de yine Programcıyım dediğim de, şaşkın arkadaşın birisi; "hadi ya hangi kanalda program yapıyorsun?" gibi beni güldüren bir soruyla bile karşılaştım :) ve dilim döndüğünce programcının ne oldugunu anlatmaya çalıştım. Bir keresinde yine bir otobus seyehatimde yanıma oturan 60 yaşlardaki Hasan amca (hala yaşıyor ise Allah uzun ömür versin) 

    Hasan Amca : -ne işle ugrasıyon
    Ben : -Bilgisayar Programcısıyım amca 
    Hasan Amca : -Nedir evladım o ben anlamam
    Ben : - Bilgisayarın ne olduğunu biliyomusun amca?
    Hasan Amca : - Şu üzerinde 10 15 dene dugmesi olan televizyonlu alet degel mi?
    Ben :evet amca o :)
    
             
    Programcı nedir? 
    Bu sorularda önce programın ne oldugunu bilmemiz gerekiyor sanırım. Kısaca program; bilgisayarın donanım kısmına hayat veren onlara neler yapmasını söyleyen kod parçalarıdır. Dolayısıyla programcıda Bilgisayarın donanım kısmına hayat veren onlara ne yapmasını söyleyen kodları yazan, derleyen, deploy eden kişilerdir. 

Mesayi arkadaşım Sayın Kadir Selçuk' un bulduğu bir resim,
sanırım programcılığa bizim gözümüzden bakıyor :)



Ordan Burdan | 08.2008 | Bahadır Bekeç | 0 Comment
Struct | .Net Framework ile Object Oriented
(...)
    Yazdığımız kodların geliştirilebilirliğini kolaylaştırmak, uzun bir süre sonra yazılan kodlara bakıldığında okunabilir halde bulmak gibi bir çok sebeple Object Oriented ve katmanlı kod yapıları oluşturmak durumundayız. 
    Ben bu yazımda  Struct kod yapısna değinmek istiyorum. Tabiki bu konu için yine ufak bir örnek hazırladım;

    public struct ProductDetails
    {
        public string Name;
        public string Description;
        public decimal Price;
        public string Image1FileName;
        public string Image2FileName;
    }


    public static class Product
    {    
        public static ProductDetails GetProductDetails()
        {
            ProductDetails details = new ProductDetails();

            details.Name = "HP iPAQ hx2490 PDA ";
            details.Description = "Microsoft Windows Mobile 5.0 işletim sistemi " +
                                           "256 MB RAM" +
                                          "520 mhz Marvell PXA270 işlemci" +
                                          "Wi-Fi  +  Bluetooth" +
                                          "Dual Slot Expansion";
            details.Price = Decimal.Parse("490,00");
            details.Image1FileName = "Image/1.jpg";
            details.Image2FileName = "Image/2.jpg";

            return details;
        }
    }



    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            ProductDetails productDetail;

            Label1.Text = productDetail.Name;
            Label2.Text = productDetail.Description;
            Label3.Text = productDetail.Price;
            Image1.ImageUrl = Server.MapPath(productDetail.Image1FileName);
            Image2.ImageUrl = Server.MapPath(productDetail.Image2FileName);
        }
    }

C# | 07.2008 | Bahadır Bekeç | 0 Comment
Adsız Sevgi | Güncel
(...)



Bir kırciceği saçlı kadın tanıdım;
Acıya yol alan sevgilere yelken açan..
O daha çok sevdi sandım aldandım.
Sevgiyi herşeyin üstünde tuttum oysa,
Kanayan kalbimi bana bakmayan gözlerine bıraktım
Bir kırçiçegi saçlı kadın tanıdım;
Maviye yol alan düşlere kanat açtım.
O daha çok mutlu oldu sandım aldandım.
Sevgiyi herşeyin üstünde tuttum oysa,
Ağlayan gözlerimi bana acımayan kalbine bıraktım..

                                                  Murat Yılmazyıldırım.

Diğer | 07.2008 | Bahadır Bekeç | 0 Comment
Ajax | Prototype ile Ajax
(...)
    İnternette elimizin altında onlarca hazır JavaScript Fremework bulunmakta. Bu frameworkler belkide de en çok alkış alanı :) Prototype.
Ben bu yazım da prototype' ın Ajax methodlarına değineceğim. Bunun için ufak bir örnek hazırladım.
Senoryomuz şu şekilde;
     Ekrandan iki adet textbox olacak ve biz bu textboxlara iki adet sayı girip Topla butonuna basacağız. Sonucu ise prototype Ajax methodları yardımı ile kendi sayfamıza getirecegiz.





Default.aspx :

    <script src="prototype-1.6.0.2.js" language="JavaScript" type="text/javascript"></script>
    <script language="javascript" type="text/javascript">
    function Hesapla(){
        var Sayi1 = $('TextBox1');
        var Sayi2 = $('TextBox2');
        Topla(Sayi1.value,Sayi2.value);       
    }
   
    function Topla(Sayi1,Sayi2) {
      var url = "ToplaVeGonder.aspx?Sayi1=" + Sayi1 + "&Sayi2=" + Sayi2 ;
      var AjaxObjesi = new Ajax.Request(
            url,
            {
                  method: 'get',
                  onFailure: HataOlustu,
                  onComplete: Sonuc
                  });}
      var Sonuc = function(orjinalRequest) {
      var islemCiktisi = orjinalRequest.responseText;
      $('Sonuc').innerHTML = ' Sonuc :' + islemCiktisi;
      }
      var HataOlustu = function(orjinalRequest) {
          alert('Hata ' + orjinalRequest.status + ' -- ' + orjinalRequest.statusText);
      }
    </script>

ama asıl işi yapacak olan sayfamız ToplaVeGonder.aspx sayfasıdır.

ToplaVeGonder.aspx.cs

    protected void Page_Load(object sender, EventArgs e)
    {
        int Sayi1 = int.Parse(Request.QueryString["Sayi1"].ToString());
        int Sayi2 = int.Parse(Request.QueryString["Sayi2"].ToString());

        this.Sonuc.InnerText = (Sayi1 + Sayi1).ToString();
    }


İşin aslı şu; Ajax.Request methodu ile ToplaVeGonder.aspx sayfasına iki adet querystring den parametre gönderiyoruz (var url = "ToplaVeGonder.aspx?Sayi1=" + Sayi1 + "&Sayi2=" + Sayi2 ;
) bu parametreleri Request.QueryString["Sayi1"] ve Request.QueryString["Sayi2"] ile alıp Toplama işlemini yaptıktan sonra sonucu ekrana yazdırıyoruz ve elimizde html satırları oluşuyor bu html satırlarınıda giriş ekranımızdaki divin içerisine innerHtml diyerek yazdırıyoruz.



Ajax | 07.2008 | Bahadır Bekeç | 0 Comment
Unable to start debugging on the web server | IIS7
(...)
    Unable to start debugging on the web server. Debugging failed because integrated Windows authentication is not enabled.
    Visual Studio 2005 Windows yüklü bir makinada çalıştırabilmek için bir takım pack ler yüklemek gerekiyor. Visual Studio 2005 ile yukarıdaki hatayı alıyor iseniz VS80sp1-KB937523-X86-ENU pach yüklemeniz gerekmekte.
İndirmek için tıklayınız.
Asp.Net | 06.2008 | Bahadır Bekeç | 0 Comment
Etkin Hata Denetimi | Hata Loglamak - Error Log
(...)
    Bazen doğruluğundan 100% emin olduğumuz kod bloglarında bile hata oluşabiliyor. Run Time da oluşan hataların birçok sebebi olabilir; sql server time out, web service time out, sql server connectin hatalrı yada veri tabanında gelen beklenmedik bir kayıt projemizin hata vermesine neden olabilir.
    Ziyaretcinin başına gelen her hata mesajı sitemiz açısından olumsuz bir etki yaratabileceği gibi ziyaretcinin bir daha ziyaret etme isteğini de yok edecektir. Bu yüzden etkin bir hata denetim sistemi kurup oluşan hatalara anlık mudahele edebiliriz. Bunun bir çok yöntemi var ama akla ilk gelen yöntem hata mesajının ayrıntılı içeriği, hangi sayfada ne zaman oluştuğu vs.. gibi bilğileri sistemin mail adresimize göndermesi yöntemidir.

    Yazacağımız bir Functionu Try catch de çagırmak yetecektir.
        try
        
{
            
new Exception("Error");
        
}
        
catch (Exception ex)
        {
             LogError(ex)
;
        
}

      
public void LogError(Exception ex)
        {
            
// olusum tarihini getir
            
string dateTime DateTime.Now.ToLongDateString() + ", at "
                            
+ DateTime.Now.ToShortTimeString();

            string 
errorMessage "Exception generated on " + dateTime;
            
// hatanin olustugu url
            
System.Web.HttpContext context System.Web.HttpContext.Current;
            
errorMessage +"\n\n Page location: " + context.Request.RawUrl;
            
            
errorMessage +"\n\n Message: " + ex.Message;
            
errorMessage +"\n\n Source: " + ex.Source;
            
errorMessage +"\n\n Method: " + ex.TargetSite;
            
errorMessage +"\n\n Stack Trace: \n\n" + ex.StackTrace;

            string 
from Configuration.AdminMail;
            string 
to Configuration.ErrorMailAddress;
            string 
subject " Error Report";
            string 
body errorMessage;
            
SendMail(from, subject, to, body);
     
}
            
Asp.Net | 06.2008 | Bahadır Bekeç | 0 Comment
Dynamic Inline JavaScript Form Validation | JavaScript ve css ile dinamik validation
(...)
    Tamamen JavaScript ve css ile oluşturulmuş güzel bir çalışma



Kaynak kodlarını inceledigimizde görülecegi üzere validationun alt yapısı tamamen regex ile oluşturulmuş. Bizde uygulamızın senaryosuna göre regex oluşturabilir ve istegimiz kalıba uygun verilerin girilmesine izin verebiliriz. 

inlineMsg('name','You must enter your name.',2);



Kaynak kodlar ve Ayrıntılı bilgi için leigeber
JavaScript | 05.2008 | Bahadır Bekeç | 1 Comment
Standard Windows Keyboard | Klavye Kısayolları
(...)
    Windows kısayol tuşları gösteren güzel bir sayfa. İncelemekte fayda var.
    Standard Windows Keyboard
Diğer | 05.2008 | Bahadır Bekeç | 1 Comment
Database Publishing Wizard | Ms SQL Server
(...)
    Ms Sql Server kullanılarak geliştirilen Web tabanlı uygulamaları yayına açmak bazen çok kolay olmaya biliyor. Özellikle Plesk gibi Sql Server Menagement 'i çok gelişmemiş bir Admin paneli var ise yazdıgımız uygulamanın veritabanını hostinge taşımak bizi biraz yoruyor. Oluşturduğumuz veritabanında bulunan tablo, view, storeprocedurler, vs.. Sql scriplerini oluşturup teker teker Plesk Sql Server Menegament te çalıştırmamız gerekiyordu.  
    Database Publishing Wizard  tüm databasemizin içinde bulunan tablo, view, storeprocedurler,vs.. istege göre de tabloda bulunan kayıtların insert scriptleri ile bareber bize veriyor. Bizde tek seferde sadece copy paste yaparak koca bir database'yi hostingimize diploy edebiliriz.

SET IDENTITY_INSERT [dbo].[Uyeler] ON

INSERT [dbo].[Uyeler] ([UyeId], [Email], [Sifre], [Onay], [KayitTarihi], [Guid], [UyeTuruId]) VALUES (41, N'bahadir@gitaristan.com', N'1', 1, CAST(0x00009A61013C3186 AS DateTime), N'fae78d29-1764-4d29-8aca-1fecf784a086', 1)

INSERT [dbo].[Uyeler] ([UyeId], [Email], [Sifre], [Onay], [KayitTarihi], [Guid], [UyeTuruId]) VALUES (42, N'a@a.com', N'1', 1, CAST(0x00009A650145B832 AS DateTime), N'ffcbd6cd-9267-473b-833e-72b7ddcedc02', 2)

SET IDENTITY_INSERT [dbo].[Uyeler] OFF


Sql Server | 04.2008 | Bahadır Bekeç | 0 Comment
Visual Studio Default Keybindings | Visual Studio
(...)
    Ms ' download sitesinde yayınladığı her developer'in elin olması gereken güzel bir kaynak.

        Visual Basic Default Keybindings
        C# Default Keybindings


Diğer | 03.2008 | Bahadır Bekeç | 0 Comment
Linq To Sql | Framework 3.0 - LINQ TO SQL
(...)
    Framework 3.0 ile beraber gelen güzel bi teknoloji. Ben bu makalede gerçek bir Tabloya Linq ile nasıl sorgu gönderileceği konusuna değineceğim.
    Bu konu için ufak bir örnek hazırladım.

Öncelikle tablomuzu oluşturalım


Sonra Visual Studio 2008 ile yeni bir ASP.Net 3.5 yada 3.0 projesi oluşturalım ve  solution Add New Item/LINQ to SQL Classes ekleyelim.
  




   1:      protected void btnTip_Click(object sender, EventArgs e)
2: {
3: var sorgum = from t in db.myTables
4: where t.Tipi == Convert.ToInt16(txtTip.Text)
5: select t;
6:  
7: GridView1.DataSource = sorgum;
8: GridView1.DataBind();
9: }
10:  
11: protected void btnDurum_Click(object sender, EventArgs e)
12: {
13: var sorgum = from t in db.myTables
14: where t.Durumu == Convert.ToInt16(txtDurum.Text)
15: select t;
16:  
17: GridView1.DataSource = sorgum;
18: GridView1.DataBind();
19: }
20: protected void btnUnvan_Click(object sender, EventArgs e)
21: {
22: var sorgum = from t in db.myTables
23: where t.Unvani == txtUnvan.Text
24: select t;
25:  
26: GridView1.DataSource = sorgum;
27: GridView1.DataBind();
28: }




Asp.Net | 03.2008 | Bahadır Bekeç | 1 Comment
Css ve JavaScript ile Dialog Box | Css JavaScript
(...)
    Web tabanlı uygulamalar geliştirilirken karşılaşılan zorluklar her zaman bizi araştırmaya ve yeni birşeyler öğrenmeye zorluyor. Bilişim dünyası ucu bucağı olmayan bir evren, her geçen gün yeni teknolojiler, yeni teknikler, yeni methotlar çıkıyor.
    Aslında Css ve JavaScript kullanılarak yapılan Dialog Box çok da yeni bir şey değil ama ben bu konuyu bloğumda işlemek istedim.

Bunlar Css Kodlarımız

 1:  <style>
2: #myBox {
3: visibility: hidden;
4: position: absolute;
5: left: 0px;
6: top: 0px;
7: width:100%;
8: height:100%;
9: text-align:center;
10: z-index: 1000;
11: }
12:  #myBox div
13: {
14: border: 1px double #98B5E2;
15: width: 450px;
16: margin: 100px auto;
17: background-color: #C2D3FC;
18: padding: 15px;
19: text-align: left;
20: }  
21: </style>
JavaScript Kodlarımız : 
   1:  <script type="text/javascript"> 
2: function acKapa() {
3: el = document.getElementById("myBox");
4: el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";}
5: </script>
HTML Kodlarımız : 
   1:  <input id="Button1" onclick='acKapa()' type="button" value="Aç" /> 
2: <div id="myBox">
3: <div align="left">
4: <img src="about.png" align="left" alt="Error" border="0" />
5: <center>
6: <strong>Bilgi</strong>
7: </center>
8: <p align="left">
9: Mesajınız mesajınız mesajınız mesajınız mesajınız mesajınız
10: </p>
11: <center>
12: <input id="Kapat" onclick='acKapa()' type="button" value="Kapat" />
13: </center>
14: </div>
15: </div>
JavaScript | 03.2008 | Bahadır Bekeç | 1 Comment
Regular Expression Library | Regular Expressions
(...)
         using System.Text.RegularExpressions; 


        public bool IsEmailAdress(String emailAdress)
        {
            string MailAdressFormat = @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";
            Regex regEx = new Regex(MailAdressFormat);
            return regEx.IsMatch(emailAdress);
        }
        public bool IsDate(String strDate)
        {
            Regex objAlphaPattern = new Regex(@"(^|\s|\()((([1-9]){1}|([0][1-9]){1}|
([1][012]){1}){1}[\/-]((2[0-9]){1}|(3[01]){1}|([01][1-9]){1}|([1-9]){1}){1}[\/-](((19|20)(
[0-9][0-9]){1}|([0-9][0-9]){1})){1}(([\s|\)|:])|(^|\s|\()((([0-9]){1}|([0][1-9]){1}|([1][0
12]){1}){1}[\/-](([11-31]){1}|([01][1-9]){1}|([1-9]){1}){1}[\/-](((19|20)([0-9][0-9]){1}|(
[0-9][0-9]){1})){1}(([\s|\)|:|$|\&gt;])){1}){1}){1}){1}"
); return !objAlphaPattern.IsMatch(strDate); }

http://regexlib.com/DisplayPatterns.aspx adresinden yüzlece regex örnegi bulabilirsini. 
Asp.Net | 02.2008 | Bahadır Bekeç | 0 Comment
BaseClass 'da JavaScript | JavaScript
(...)
public class JavaScriptKodu
{
    private Page page;

    private string StartScript;
    private string EndScript;

    public JavaScriptKodu(Page ThisPage)
    {
        page = ThisPage;
        StartScript = "<script language='javascript' type='text/javascript'> \r\n";
        EndScript =  "</Script>";
    }

    private string ClearText(string myString)
    {
        myString = myString.Replace("\r\n", String.Empty);
        myString = myString.Replace("\n", String.Empty);
        myString = myString.Replace("\r", String.Empty);
        myString = myString.Replace("\"", "\\\"");
        myString = myString.Replace("\'", "\\\'");
        return myString;
    }

    public void ShowAlert(string mesaj)
    {
        string script = "     alert(\" " + ClearText(mesaj) + " \");";
        page.ClientScript.RegisterStartupScript(typeof(string), "key", script);
    }
}
Asp.Net | 02.2008 | Bahadır Bekeç | 0 Comment
Mehmet İlker Özbek | Müzik
(...)
    2000' li yıllarda başlayan müziğe ilğim beni bir süre sonra gitaristan.com sitesine götürdü. Aslında bu siteye yakınlaşmamın asıl sebepleri arasında gitara olan ilgim ve foruma üye olan sıcak kanlı, sevecen arkadaşlardı.
    O arkadaşlardan biriside Mehmet İlker Özbek, o başalı bir müzisyen olmasının yanı sıra iyi bir dost. Beraber yapmayı planladığımız bir çok proje var :) hatta bu projelerin başlangıcı olan Gitarparki.com şu an yayında olmakla beraber istenilen ilgiyi göremedi :( , buna benzer bir çok planımız var ama sadece planlamakla kalıyor nedense :). 
    İlker' in yazmıs olduğu birçok söz ve beste var bu besteleri ev ortamında kayda alıyor ve ortaya inanılmaz güzel şeyler çıkıyor. Kayıtlarını dinlemek için www.mehmetilkerozbek.com adresine gidebilir ve yorum bırabilirsiniz. Eminim müzikleri büyük bir zevkle dinleyeceksiniz.
    İlker' e tekrar müzikal yaşamında başarılar diliyorum.
Diğer | 02.2008 | Bahadır Bekeç | 0 Comment
Code Snippet | Visual Studio
(...)
    Visual Studio 2005 ile beraber gelen ve özellikle benim gibi klavye kullanmaktan pek haz etmeyen :) yazılımcıların, işini kolaylaştıran güzel bir özellik : Ctrl +K +X veya Ctrl +K+S klavye kısa yolları ile erişebileceğimiz code snippets proje geliştirme sürecini de oldukça kısaltacağına inanıyorum. Code Snippet Vb de daha da gelişmiş olmasına rağmen C# da da oldukça işimizi kolaylaştıracak kodlar mevcut.
    Code Snippets Manager(Ctrl + B) , Vb,C# ve XML snippets lerimiz yönetmemize yardımcı olan Visual Studio ekranıdır. Kendi yazdığımız code snippet leri import edebilir, remove yapabilir yada düzenleyebiliriz. 

    Notepad' de oluşturabilecegimiz snippets kodlarını *.sinippet olarak kaydedip Visual Studio Import edebilirsiniz.

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns=" http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet ">
 <CodeSnippet Format="1.0.0">
  <Header>
   <Title>try</Title>
   <Shortcut>try</Shortcut>
   <Description>Code snippet for try catch</Description>
   <Author>Microsoft Corporation</Author>
   <SnippetTypes>
    <SnippetType>Expansion</SnippetType>
    <SnippetType>SurroundsWith</SnippetType>
   </SnippetTypes>
  </Header>
  <Snippet>
   <Declarations>
    <Literal>
     <ID>expression</ID>
     <ToolTip>Exception type</ToolTip>
     <Function>SimpleTypeName(global::System.Exception)</Function>
    </Literal>
   </Declarations>
   <Code Language="csharp">
   <![CDATA[try
 {        
  $selected$
 }
 catch ($expression$ ex)
 {
  $end$
  throw ex;

 }]]>
   </Code>
  </Snippet>
 </CodeSnippet>
</CodeSnippets>

C# | 02.2008 | Bahadır Bekeç | 0 Comment
IE8 | Internet Explorer 8
(...)
IE7 de umduğunu bulamayan Mikrosoft yine bir atak yaparak IE8 'in çok yakında piyasaya sunulacağının işaretini verdi. Merakla bekliyoruz acaba ne tür gelişmeler olacak. Mesala Firefox yayınladığı 3 beta 3 sürümünde eski versiyonların da olduğu gibi developerların işini kolaylaştıracak bir çok eklenti sunmakta , acaba IE8 bize bu gibi imkanları sunabilecek mi? Hep beraber bekleyip göreceğiz.
Dean Hachamovitch
Diğer | 02.2008 | Bahadır Bekeç | 2 Comment