• Home
  • Contact
  • video
  • links
  • rss
  • rss

Archive for the ‘C Sharp’ Category

15
Şub

Asp.Net form datası almak

   Posted by: Yılmaz Yavuz Tags: , , , , , ,

Asp.Net de herhangi bir html form elementinin verisini server-side olarak işlemek için; elementin üzerine runat=server yazdığınızda verdiğiniz id ile server-side ulaşabilmektesiniz.

Örnek aspx :

 <input type="hidden" id="hdnGizliBilgi" runat="server" />

Csharp :

 hdnGizliBilgi.Value = "CokGizliBilgi";

Ancak runat=”server” demediğiniz form elementlerinin değerine ulaşabilmek için ; ilgili elementin name attribute ünü vermeniz gerekmektedir. Ve server-side olarak alırken içindeki değeri şu şekilde alabilirsiniz.

Örnek aspx :

<input type="hidden" name="hdnGizliBilgi"  />

Csharp:

 string gelenveri =Request.Form["hdnGizliBilgi"];
if(gelenveri == "AzGizliVeri")
Response.Redirect("http://www.google.com");
else
Response.Redirect("http://yilmazyavuz.com");

yytoolkit

Xml dosyalarını excel yada başka bir dosya tipine anlamlı bir şekilde çevirmek için yazdığım Xml Exporter i aşağıdaki linkten kurabilirsiniz. Programla ilgili öneri ve hata bildirimlerini bu yazıya yorum olarak ekleyebilirsiniz.

XmlExporter i indir

20
Eki

Devexpress AspxGridView – InitNewRow

   Posted by: Yılmaz Yavuz Tags: , , ,

Asp.net Gridview üzerinde yeni bir kayıt eklerken varsayılan değerleri server-side olarak belirlemeye yarayan bu Event’ın kullanımı şu şekildedir :

protected void dxgridBlogOrnek_InitNewRow(object sender, DevExpress.Web.Data.ASPxDataInitNewRowEventArgs e)
{
e.NewValues["FieldName"] = 15;
}

Burda dikkat edilmesi gereken nokta FieldName olarak belirttiğimiz kolon un EditForm üzerinde görünüyor olması gerekmekte, yani visible ını false yaptığımız bir column a verdiğimiz değer malesef kaydedilmiyor.

Screen shot 2009-10-20 at 02.05.51

Arasıra takip etmeye çalıştığım mono projesine bugün göz attığımda, Novell in MonoTouch adında bir SDK geliştirdiğini gördüm. İlgili SDK 400$ bir fiyata satılıyor ve yaptığı şey ise, Iphone application geliştirmeye çalışan bir .Net yazılımcısı için paha biçilemez. Xcode da yazmak yerine MonoDevelop ile C# da Iphone application geliştirmenize yarayan bu sdk, arayüz tasarlayıcı olarak apple in Interface designer ını kullanıyor.
Yeni kurduğum için, hakkında çok fazla bilgi veremediğim ancak  bu sdk ile ilgili yazılarımı, burdan yayımlayacağım.
Ayrıca bir soap webservice çağırmak için ojb-c ile okadar çok boğuştuktan sonra, bunu monotouch ile ne zamanda yapacağımı çok merak ediyorum : )

Merak edenler için linkler:

Mono-Project
MonoDevelop (2.2 beta versiyonu MonoTouch için gerekli)
MonoTouch

MonoTouch ın yapabildikleri :

  • C# and .NET on the iPhone
  • .NET Bindings to Native APIs
  • Distribute on the Apple App Store
  • Enterprise deployable
  • MonoDevelop Integration
  • XCode Integration

Assemblies (MonoTouch ile kullanabileceğiniz Assembly ler)

MonoTouch ships with several assemblies.  Just as Silverlight is an extended subset of the desktop .NET assemblies, Monotouch is also an extended subset of several Silverlight and desktop .NET assemblies.

Note: MonoTouch is not ABI compatible with existing assemblies compiled for a different profile.  You must recompile your source code to generate assemblies targeting the MonoTouch profile (just as you need to recompile source code to target Silverlight and .NET 3.5 separately).

The assemblies shipped with MonoTouch include:

Assembly API Compatibility
mscorlib Silverlight
Mono.Security.dll Cryptographic APIs.
OpenTK.dll The OpenGL/OpenAL object oriented APIs, extended to provide iPhone device support.
System.Core.dll Silverlight
System.Json.dll Silverlight
System.ServiceModel.dll WCF stack as present in Silverlight
System.Xml.dll .NET 3.5
System.Web.Services Basic Web services from the .NET 3.5 profile, with the server features removed.
System.Xml.Linq.dll .NET 3.5
System.dll Silverlight, plus types from the following namespaces:

  • System.Collections.Specialized
  • System.ComponentModel
  • System.ComponentModel.Design
  • System.Diagnostics
  • System.IO.Compression
  • System.Net
  • System.Net.Mail
  • System.Net.Mime
  • System.Net.NetworkInformation
  • System.Net.Security
  • System.Net.Sockets
  • System.Security.Cryptography
monotouch.dll This assembly contains the C# binding to the CocoaTouch API.
Mono.CompilerServices.SymbolWriter.dll For compiler writers.

29
Eyl

IsGuid() – Csharp da Guid doğrulama

   Posted by: Yılmaz Yavuz Tags: , , ,

İşinize yarayabileceğini düşündüğüm guid doğrulama kodunu google araştırırken bir blog da görmüştüm.


private static Regex isGuid = new Regex(@"^(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}$", RegexOptions.Compiled);

                                    internal static bool IsGuid(string candidate, out Guid output)

                                    {

                                                bool isValid = false;

                                                output=Guid.Empty;

                                                if(candidate!=null)

                                                {

                                                            if (isGuid.IsMatch(candidate))

                                                            {

                                                                        output=new Guid(candidate);

                                                                        isValid = true;

                                                            }

                                                }

                                                return isValid;

                                    }

sorgula

Kargo bilgilerini ve ptt nin yurtiçi ve dışı kayıtlı gönderilerini sorgulayan bir programa ihtiyacım oldu ve ortaya böyle birşey çıktı.
bir form oluşturup şekilde görüldüğü üzere bir TextBox, bir ComboBox , bir Button ve birde WebBrowser controlü ekleyip aşağıdaki kodları yazdığınızda program çalışacaktır.

       public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            var cmbItem = (CmbItem)comboBox1.SelectedItem;

            String postdata = String.Format(&quot;{0}={1}&quot;,cmbItem.FieldToPost,textBox1.Text);

            System.Text.Encoding a = System.Text.Encoding.UTF8;

            byte[] byte1 = a.GetBytes(postdata);

            webBrowser1.Navigate(cmbItem.Url, &quot;&quot;,byte1, &quot;Content-Type: application/x-www-form-urlencoded&quot; );

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            List&lt;CmbItem&gt; list =new List&lt;CmbItem&gt;();
            list.Add(new CmbItem(&quot;PTT-Yurtiçi Kayıtlı Posta&quot;,&quot;barkod&quot;,&quot;https://interaktif.ptt.gov.tr/apps/sonuc.php&quot;));
            list.Add(new CmbItem(&quot;PTT-Yurtdışı Kayıtlı Posta&quot;, &quot;barkod&quot;, &quot;https://interaktif.ptt.gov.tr/apps/sonuc-yd.php&quot;));
            list.Add(new CmbItem(&quot;Yurtiçi Kargo(GönderiNo)&quot;, &quot;DocId&quot;, &quot;http://selfservis.yurticikargo.com/reports/SSWDocumentDetail.aspx&quot;));
            list.Add(new CmbItem(&quot;Aras Kargo(GönderiNo)&quot;, &quot;Cargo_Code&quot;, &quot;http://appl-srv.araskargo.com.tr/yurticigonbil.aspx&quot;,METHOD.GET));

            comboBox1.DataSource = list;
        }
    }

    internal class CmbItem
    {
        public string Url { get; set; }
        public string FieldToPost { get; set; }
        public string DisplayName { get; set; }
        public METHOD SendMethod { get; set; }

        public CmbItem(string displayName,string fieldToPost,string url) : this(displayName, fieldToPost, url, METHOD.POST)
        {}

        public CmbItem(string displayName,string fieldToPost,string url,METHOD sendMethod)
        {
            SendMethod = sendMethod;
            Url = url;
            DisplayName = displayName;
            FieldToPost = fieldToPost;
        }
        public override string ToString()
        {
            return DisplayName;
        }
    }
    public enum METHOD
    {
        POST,
        GET
    }

Burda kullandığımız method webBrowser in Navigate methodunda post edilecek veriyi alan değişkeni göndermekten ibarettir. Bilindiği üzere POST ve GET olmak üzere iki adet methodla web sayfalarına veri gönderebiliyoruz. GET methodu url string i içinde gönderilebilirken POST için bizim kullandığımız methodu uygulamak gerekiyor.
Burda SendMethod property si programı geliştirebilmek açısından yazılmıştır. Bu property i siz kendiniz buttonun tıklanma olayında kontrol ederek Navigate methodunun uygun overload unu çağırabilirsiniz.

12
Tem

OpenId nedir ?

   Posted by: Yılmaz Yavuz Tags: , , ,

OpenID tek bir kullanıcı adı ve parola ile birden fazla web sitesine kolaylıkla giriş yapmanızı amaçlayan ücretsiz bir oluşum. Geliştiricilere kendi üyelik sistemlerine alternatif olarak sunuluyor. Kullanıcılar içinse zaten sıklıkla kullandıkları google hesabı, yahoo hesabı gibi hesapları ile openId destekli web sitelerine tekrar kayıt olmaksızın giriş yapabilmeyi sağlıyor. Web site geliştiricilere ilgili sağlayıcının (google, yahoo, myspace, flicker, wordpress …) üzerinde kullanıcının daha önce tanımladığı bilgilerede ulaşma imkanı sağlıyor.
Böylece yeni bir web sitesi açtınız ve openId destekliyorsunuz kullanıcıyı direk openId nin hangi sağlayıcısını kullanmak istiyorsa oraya yönlendirip, sağlayıcıya bana bu kullanıcının adı soyadı email adresi ve irtibat adresi lazım diyor, sağlayıcıda bunları kullanıcıya soruyor eğer kullanıcı girişi başarılı bir şekilde yapıp istediğiniz bilgileri onaylarsa, web siteniz üzerinden bu bilgileri kullanıcının tekrar girmesini önlüyorsunuz.
Kısaca nasıl apple sitelerine girerken yada hizmetlerinden faydalanırken bir AppleId niz olmalı, aynı şekilde Microsoft hizmetleri için bir LiveId ve Google hesabınız ile nasıl tüm google hizmetlerinden faydalanabiliyorsanız. OpenId kullanan siteler üzerindede tek bir hesap ile yeni parolalar ve kullanıcı adları ile uğraşmadan gezinti yapabiliyor sitelerin üyelerine özel sunduğu hizmetlerden faydalanabiliyorsunuz.

OpenId community tarafından oluşturulan bu sistemin kullanılması tamamen ücretsizdir.

.Net ile openId kullanmak için

openId.Net

ExtremeSwankOpenId

Get the Flash Player to see this player.

Video Devexpress in en çok kullanılan kontrölü olan GridControl ile Müşteri-Satışlar tablolarının master-child gösteriminin en baştan itibaren nasıl yapılacağını anlatmaktadır. Ayrıca grid üzerinden filtreleme, yeni kayıt girme, gruplama gibi fonksiyonlarına biraz değinilmiştir.

Get the Flash Player to see this player.

Video sonsuz kategori mantığının bir tablo üzerinde uygulanması ve Devex TreeList i üzerinde gösterimini anlatmaktadır. Ayrıca çok kısa bir şekilde foreignkey lerin işlevinede değinilmiştir.

Video ile ilgili örnek daha sonra eklenecektir.

Get the Flash Player to see this player.
Visual studio DataSources kısmından kolayca bir veritabanı bağlantısı yapıyor ve bunu arayüzde çalışır hale getiriyoruz.
Csharp projesi olarak oluşturduğum bu başlangıç videosu. Sadece kolay bir şekilde visual studio yardımıyla nasıl veritabanı bağlantısı yapılır onu göstermek amacıyla çekilmiştir.

Yapılan örneği burdan indirebilirsiniz:
Video Örneği db ve solution

Sayfa 1 / 41234»