C# etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
C# etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

4 Mart 2013 Pazartesi

WebForms UnobtrusiveValidationMode Hatası ve Çözüm Yolları

      Visual Studio 2012'de oluşturduğunuz bir .net projesi içerisinde bulunan bir web sayfasına doğrulama kontrolü(validation control) nesnesi eklediğiniz zaman sayfayı çalıştırdığınızda "WebForms UnobtrusiveValidationMode, 'jquery' için bir ScriptResourceMapping gerektiriyor. Lütfen jquery (büyük/küçük harfe duyarlı) adında bir ScriptResourceMapping ekleyin." şeklinde bir hata ile karşılaşıyorsunuz.




Bu hatayı aldığınızda projenizin kök klasöründe bulunan web.config dosyasının içine   satırlarının arasına aşağıdaki kodu eklemek.
add key="ValidationSettings:UnobtrusiveValidationMode" value="None"
Bu kodu ekledikten sonra sitenizin çalışıyor olması gerekiyor.


Web.config dosyası; 
    <configuration>
  <appSettings>
   
   <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
  </appSettings>
  <system.web>
    <compilation debug="true" targetFramework="4.5"/>
    <httpRuntime targetFramework="4.5"/>
   
  </system.web>
</configuration>

27 Aralık 2012 Perşembe

C# ile Registry Yazma İşlemleri

    Windows 95 den beri bütün Windows sürümlerinde registry  işletim sistemindeki kullanıcı ayarları , program ve donanım ayarları ve Windows ile ilgili bütün ayarların saklandığı bir veri havuzudur.Bunun nedicesinde de registry işlemleri  program yazan lar için bir zorunluluk gibi gözükmektedir.Piyasadaki çoğu yazılım regisrty üzerine programların ayarlarını yazmakta ve okumaktadır.
Bu sebepten ötürü sizler ile uzun bir aradan sonra bu konu hakkında yazı yazmaya karar verdim.




Registry dosya sistemleri gibi hiyerarşik bir yapıya sahiptir.


  • HKEY_CURRENT_USER (HKCU) : Lokal makina'ya logon olan kullanıcının ayarlarını ihtiva eder.Bunlar nelerdir;Masaüstü ayarları network ayarları,printer ayarları vb...
  • HKEY_LOCAL_MACHINE (HKLM): Makinamızdaki donanım ve yazılım ile bilgileri ihtiva eder.
  • HKEY_USERS (HKUSR):Bütün kullanıcıların ayarlarını ihtiva eder.
  • HKEY_CURRENT_CONFIG (HKCF): Makina üzerindeki donanım ayarlarını ihtiva eder.
Daha ayrıntılı bilgi için microsfot.com üzerinden registry işlemlerine bakabilirsiniz.

.Net ile registry üzerinde işlemler yapmak için  "using Microsoft.Win32;" class'ını kullanmamız gerekli.


Class'ımızı ekledikten sonra ,yazma işlemini gerçekleştirmek için konuyu özetleyen kısa kodu yazıyorum.



public partial class Form1 : Form
    {
        private const string regPath = @"SOFTWARE\merolozsoy";
        public Form1()
        {
            InitializeComponent();
                   
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // ana registry key oluşturma
            RegistryKey key = Registry.CurrentUser.CreateSubKey(regPath);
           
            //Oluşurulan registry key için alt değerler atama 
            key.SetValue("data source", "192.168.1.6");
            key.SetValue("user", "sa");
            MessageBox.Show("Kayıt oluşturuldu");
        }
    }
















Yukarıda gördüğünüz gibi ben "CurrentUser" sekmesine ekledim .Siz yukarıdaki resimde gördüğnüz gibi istedğiniz sekmeyi seçebilirsiniz.

Bu işlemi yaptıktan sonra Başlat Çalıştır regedit yazarak registry ekranını açtığınızda CurrentUser sekmesi altında merolozsoy subkey içindeki atanmış değerleri görebilirsiniz.


3 Ağustos 2012 Cuma

c# ile excel'e aktarım yaparken excel ayarlarını değiştiren komutlar.


            
Aldığımız Raporların programlama kısmındaki tarafı son kullanıcı için tam olarak bir şey ifade etmez.Bu raporu excel gibi programlara aktarması raporlama konusunda ve şekil verme konusunda daha rahat ettirecektir.Daha önceki blog yazımda excel'e aktarma işini gerçekleştirmiştik.Onun devamı bir yazıdır.Bu aktarım gerçekleştirilirken c# standart ayarları kullanır hücre değerlerinin sayı mı,tarih mi olduğuna bakmaz.Ya da kolon satır genişliklerine, yazı tipine boyutuna ve bunun gibi şeyleri standart ölçülerinde verir ve aktarır. Bizim burda yapacağımız ise excel verileri alırken aynı zamanda excel ayarlarını gerçekleştirmek.Aşağıda belirli özelliklerin komutlarını 

           


             sheet1.PageSetup.BottomMargin = 86; 

-- Margin özelliğini değiştirir. 86 değeri 3 cm denk gelmekte.
        
            sheet1.PageSetup.PrintTitleRows = "$1:$1";

-- Bu komut aslında sürekli kullandığımız birşey değil. burada ki komut konu başlıklarını print alırken her sayfa başına sabitler. 

            sheet1.PageSetup.Zoom = 80;

-- Bu komutumuz sayfa dışına taşan kısımları sayfaya sıgdırmak için kullanırız.
     
            sheet1.PageSetup.PrintGridlines = true;

-- Çıktı alırken çıktı alacağımız yazıların etrafına çizgi çeker.

            sheet1.PageSetup.Orientation = XlPageOrientation.xlLandscape;  

--Sayfamızın dikey mi, yatay mı olacağını belirleriz.          
            
            excel.Cells.EntireColumn.Font.Name = "Tahoma";

-- Bütün hücrelerin yazı font'unu belirleriz.

            excel.Cells.EntireColumn.Font.Size = 8;  

-- Bütün hücrelerin yazı büyüklüğünü belirleriz.
           


excel.Range["A1","J1"].Interior.Color=System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Silver);

-- a1 den j1'e kadar olan satırın hücre rengini değiştiririz.

            sheet1.get_Range("A1", "J1").Font.Bold = true;

-- Belirli hücreleri yazı tipini bold yapar.

            sheet1.get_Range("A1", "J1").WrapText = true;

-- Hücre içindeki değerleri kaydırır. 
           
            sheet1.get_Range("A1", "J1").VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;
            sheet1.get_Range("A1", "J1").HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;

--Hücre içindeki yazıların hücrenin neresinde yer alacağını ayarlar.

            sheet1.Range["a1"].Select();

-- Aktarım yapıldıktan sonra excel açılınca direk a1 hücresi seçili gelir
            ((Range)sheet1.Rows[1, Type.Missing]).RowHeight = 29;

-- 1. Satır yükseklik değerini değiştirir. 
            excel.Cells.EntireColumn.AutoFit();
--Bütün hücreleri otomatik fitler ..

Bu gibi örnekleri çeşitlendirebilirsiniz.

23 Mayıs 2012 Çarşamba

C# ile Datagrid'den Excel'e veri aktarımı.


















İlk olarak solutions Explorer kısmına Microsoft.Office.Interop.Excel referansımızı ekliyoruz.














Kodumuzun  en başınada Microsoft.Office.Interop.Excel aynı şekilde ekliyoruz.




12 Aralık 2011 Pazartesi

C# ile Mail yollama

C# ile mail yollamak için gereken kütüphanesini kullanmamız gerekiyor.

Aşağıdaki örnek Gmail hesabı ile düşünülerek yapılmıştır .Eğer sizin bir POP3 adresiniz var ise kendi mail ayarlarınızı bilmeniz gerekmektedir.


MailMessage mail = new MailMessage(); // mail adında MailMessage nesnesi yaratıyoruz.

mail.From = new MailAddress("mail adresi", "Görünen isim"); //Mailin kimden gittiğini belirtiyoruz

mail.To.Add(“göndericeğiniz adres”); //Mailin kime gideceğini belirtiyoruz

mail.Subject =””; //Mail konusu

mail.Body = “”; //Mailin içeriği

SmtpClient sc = new SmtpClient(); //sc adında SmtpClient nesnesi yaratıyoruz.

sc.Port = 587; //Gmail için geçerli Portu bildiriyoruz

sc.Host = "smtp.gmail.com"; //Gmailin smtp host adresini belirttik

sc.EnableSsl = true; //SSL’i etkinleştirdik.

sc.Credentials = new NetworkCredential("mail adresi", "şifre"); //Gmail hesap kontrolü için bilgilerimizi girdik

sc.Send(mail); //Mailinizi gönderiyoruz


11 Ağustos 2011 Perşembe

"FOR" Döngüsü

Kullanım Şekli;

for (Başlama Değeri,Sonlanma Değeri,Artış Miktarı)
{

}

Örnek;

for(int i=0;i>=10,i++)
{
Console.WriteLine(i);
}
Bu örnekte 'i' değişkenimizi 10'a eşit olana kadar ekrana yazdıran kod bloğunu görmektesiniz.
Döngü kodun en başında başlar ve Sonlanma değeri doğru olduğu müddetçe çalışır.

9 Ağustos 2011 Salı

String Veri Tipini interger'a dönüştürmek

Aşağıdaki kod'da string değerleri interger değerine dönüştürüp oluşturduğumuz "a" integer değerine sonucu döndüren ve bunu messagebox ile ekrana gösteren kodu görmektesiniz.

8 Ağustos 2011 Pazartesi

Formlar Arası Veri Aktarma

Bu makalemizde C# ile formlar arasında veri iletişimi sağlamak.Visual basic  kullanırken bu yapmak çok basit bir haldeydi,C# ile değişik bir yöntem kullanarak yapıyoruz .

İlk olarak Ana formumuza hangi formdan veri taşıyacak isek orada global değişkenler oluşturmamız gerekiyor.













eklediğimiz bu global değişkenlere aynı form üzerinde hangi objeden  veri atıyacaksak onu eşitlemeliyiz.













Ben burada bir datagrid ve onun row_enter event'ini kullandım. Çalışma şekli mouse ile datagrid'in herhangi bir hücresine bastığınızda bastığınız hücrenin satırındaki sutün değerlerini global değişkenlere aktaran bir kod bloğu.Bunları yaptıktan sonra veri aktarıcağımız formumuza dönüyoruz.

Aşağıdaki kod ile frmstoksec formundan StokSec  adı altında bir form elde ettik.




 Formumuzu elde ettikden sonra artık ana formumuzdan diğer forma erişebileceğiz.

Aşağıdaki kod'da ana formumuzdaki textboxlarımızın text özelliklerine  diğer formumuz olan StokSec formu içinde tanımlanığımız global değişkenler vasıtasıyla text özelliklerine başka değerler atamış olduk .