Etiket: c#

How To : Generate XSD From XML File in C#

Mart 22nd, 2011

XML dosyalarından XSD şemaları üretmek istediğinizde, Command Promptan, xsd.exe (XML Schema Definition Tool) uygulamasını kullanabilirsiniz. Bunun ile ilgili bir yazı yazmıştım yanlış hatırlamıyorsam. Fakat dinamik olarak şemalar üretmek istediğinizde veya uygulamanıza bu şemaları ürettirmek istediğinizde cmd den komut yazıp, xsd.exe yi kullanmanız uygun olmayacaktır. Bunun yerine aşağıdaki metodu kullanabilirsiniz.

     private void GenerateSchema(string filePath)
        {
            var reader = XmlReader.Create(filePath);
            var schema = new XmlSchemaInference();
            var schemaSet = schema.InferSchema(reader);
            TextWriter writeFile = new StreamWriter("c:\\schema.xsd");
            foreach (XmlSchema s in schemaSet.Schemas())
            {
                s.Write(writeFile);
            }
            writeFile.Close();
        }

Tags: , , , , , , , , ,
Posted in .NeT 2008, BizTalk, Yazılım | No Comments »

C# da Outlook ile Mail Gönderme

Mart 4th, 2011

Hazırladığınız uygulamada outlooku kullanarak mail göndermek istiyorsanız öncelikle “Microsoft Outlook 14.0 Object Library” i referans olarak eklemeniz gerekmektedir. 14.0 bilgisayarınızda kurulmuş olan office versiyonudur. Bu rakam değişiklik gösterebilir.

Daha sonra usinglerimize aşağıdaki satırı ilave ediyoruz. Böylece uzun uzun namespaceleri yazmamıza gerek kalmadan Outlook diyerek tüm metodları kullanabiliriz.

using Outlook = Microsoft.Office.Interop.Outlook;

Daha sonra aşağıdaki basit olarak hazırlanmış olan metodu kullanıp şekillendirerek mail gönderimi yaptırabilirsiniz.

private void SendOutlookMail()
        {
            try
            {
                Outlook.Application oApp = new Outlook.Application();
                Outlook.MailItem oMsg = (Outlook.MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem);

                oMsg.To = "To Mail Adresleri";
                oMsg.CC = "CC deki Mail Adresleri";
                oMsg.BCC = "BCC deki Mail Adresleri";
                oMsg.Recipients.ResolveAll();

                oMsg.Subject = "Mailin Subjecti";
                oMsg.Body = "Mailin İçeriği";

                //Aşağıdaki satırları attachment göndermek istiyorsanız kullanabilirsiniz. İstemiyorsanız bunlara gerek yok
                String sSource = "C:\\xyz.xlsx";
                String sDisplayName = "Görünen Dosya İsmi";
                int iPosition = (int)oMsg.Body.Length + 1;
                int iAttachType = (int)Outlook.OlAttachmentType.olByValue;
                Outlook.Attachment oAttach = oMsg.Attachments.Add(sSource, iAttachType, iPosition, sDisplayName);

                //Mail gönderilmeden önce kullanıcıya değişiklik yapmak için imkan tanınıyor
                oMsg.Display(true);  

                oAttach = null;
                oMsg = null;
                oApp = null;
            }
            catch (Exception e)
            {
                MessageBox.Show("Hata Oluştu", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

Tags: , , , , , , ,
Posted in .NeT 2008, Sistem, Yazılım | 2 Comments »

C# da Çalışan Uygulamanın Klasörünü Bulma

Mart 4th, 2011

Çalışan uygulamanın, exesinin bulunduğu klasörü aşağıdaki şekilde bulabilirsiniz.

using System.IO;
using System.Windows.Forms;
string appPath = Path.GetDirectoryName(Application.ExecutablePath);

Tags: , , , , , ,
Posted in .NeT 2008, Yazılım | No Comments »

Cümlenin İlk Harflerini Büyüten Metod

Aralık 6th, 2010
string UppercaseWords(string value)
        {
            char[] array = value.ToLower().ToCharArray();

            if (array.Length >= 1)
            {
                if (char.IsLower(array[0]))
                {
                    array[0] = char.ToUpper(array[0]);
                }
            }
            for (int i = 1; i < array.Length; i++)
            {
                if (array[i - 1] == ' ')
                {
                    if (char.IsLower(array[i]))
                    {
                        array[i] = char.ToUpper(array[i]);
                    }
                }
            }
            return new string(array);
        }

Tags: , , , , , , ,
Posted in .NeT 2008, Yazılım | No Comments »

MSTSCAX.DLL Nasıl Kullanılır?

Ekim 2nd, 2010

Daha detaylı ve görkemli Remote Desktop uygulamaları geliştirmek istiyorsanız bu dll i mutlaka kullanmanız gerekecektir. Bir yere kadar Command Promp üzerinden mstsc ye komut göndererek işlemlerinizi yapabiliyorsunuz. Fakat orada tıkanacağınız aşikar :)

İlk önce mstscax.dll i bulmanız gerekiyor. Bunu google da aratınca bir sürü siteden indirmeniz mümkün. Bulmakta sıkıntı yaşarsanız bana ulaşın ben mail ile gönderirim.
Daha sonra bu dll i register etmeniz gerekiyor. Bunu Command Prompta
RegSvr32 C:\..\dizin\..\mstscax.dll
yazarak yapabilirsiniz. Aşağıdaki resimde ekran görüntüsünü görebilirsiniz.

Daha sonra Visual Studio ya geliyoruz. Toolbox üzerine sağ tıklayıp Choose Items… A tıklıyoruz.

Açılan ekranda, COM Components tabından, Microsoft RDP Client Control componentlerinden en yeni olanı seçip, OK butonuna tıklıyoruz. Bu işlem sonrasında Toolboxınıza ilgili komponent eklenmiş olacaktır.

Örnek olarak componenti aşağıdaki gibi kullanabilirsiniz.

Örnek Kullanım:

rdpClient.Server = “Server Adınız”;
rdpClient.UserName = “Kullanıcı Adı”;
rdpClient.AdvancedSettings2.ClearTextPassword = “Şifreniz”;
rdpClient.ColorDepth = integer; //8, 15, 16 ya da 24 seçilebilir
rdpClient.DesktopWidth = integer; //genişlik
rdpClient.DesktopHeight = integer; //boy
rdpClient.FullScreen = boolean; //True ya da False seçilebilir.

//ayarlar set edildikten sonra Connect metoduyla servera bağlanıyoruz.

rdpClient.Connect();

Dikkatli Kullanın :)

Tags: , , , , , , , , , , , , ,
Posted in .NeT 2008, Bilgisayar, Yazılım | 7 Comments »

C# da Ping Atmanın En Kolay Yolu

Ekim 15th, 2009

Cidden kolay bir yol :)
Hem ASP.NeT de hem de windows application larda rahatlıkla kullanabilirsiniz.

Yöntem şu :

Aşağıdaki kütüphaneyi ekliyoruz projemize,

using System.Net.NetworkInformation;

Daha sonra bu kütüphanede bulunan Ping ve PingReply sınıflarıyla aşağıdaki gibi işlemimizi yapıyoruz;


Ping p = new Ping();
PingReply pr = p.Send("www.google.com");

Bu komut çalıştıktan sonra response mesajımız pr değişkenine atanmış durumda oluyor.
Aşağıdaki gibi bilgileri çekebilirsiniz;


Adres = pr.Address.ToString();
Buffer = pingReply.Buffer.Length.ToString();
RoundtripTime = pr.RoundtripTime.ToString();
Status = pr.Status.ToString();
TTL = pingReply.Options.Ttl.ToString();

Çok güzel değil mi, bu kadar yardımdan sonra istediğiniz gibi kodunuzu süsleyebilirsiniz :)

Tags: , , , , , , , , ,
Posted in Yazılım | No Comments »

Tek Satırlık İf Komutu

Ağustos 27th, 2009

Hep unutuyorum not alayım belki sizin de işinize yarar :)

string a = (textBox1.Text.Equals("ssss")) ? "Eşit" : "Yanlış";

Tags: ,
Posted in .NeT 2008 | 2 Comments »

C#’da n saniye bekletme

Ağustos 15th, 2008
System.Threading.Thread.Sleep(n); // n = milisaniye

//5 saniye bekletmek için
System.Threading.Thread.Sleep(5000);

Tags: , ,
Posted in .NeT 2008 | 6 Comments »

C#’da Command Komutları

Ağustos 4th, 2008

C# da Cmd.exe ile bir komut çalıştırmak istiyorsak aşağıdaki komutu kullanabiliriz.

string arguments = “/C C:\\Windows\\xyz.exe -h -blabla”;

System.Diagnostics.Process.Start(“cmd.exe”,arguments);

yok eğer ben cmd.exe falan istemiom direkt bir dosya açaçam diyosanız ise

System.Diagnostics.Process.Open(“blabla.txt”);

komutunu kullanabilirsiniz.

Tags: , , , , , ,
Posted in .NeT 2008 | No Comments »