Selamlar... 
TFS'ten, bir ekip içerisinde proje geliştirirken tüm ekibple beraber projenin yürütülmesini sağlamak, geçmiş sürümleri saklamak, farklı ortamlardan projelere erişim,...vs işlerde faydalanılabilir.
TFS ile ilgili daha detaylı bilgi için https://www.visualstudio.com/tr-tr/products/tfs-overview-vs.aspx adresi ziyaret edilebilir.
TFS'e Visual Studio 2012/2013'ten erişim aşağıdaki şekilde yapılabiliyor:
Peki TFS 2012 sunucusuna Visual Studio 2008 içerisinden nasıl erişebiliriz?
Bunun için ufak bir kaç püf noktasını bilmemiz gerekiyor.
Buradaki arkadaşın da dediği gibi;
- Visual Studio'da Yardım menüsü altında "About Microsoft Visual Studio" seçeneğini seçiyoruz.
- Microsoft Visual Studio 2008 Team Explorer Version 9.0.???? gibi bir girdi var mı kontrol ediyoruz.
Daha sonra Tools -> Options altında Source Control seçeneğinden "Team Foundation Server" seçilmeli.
Tools -> Connect To Team Foundation Server seçeneği ile TFS sunucusuna bağlanılabilir.
TFS sürümüne göre uyumluluk yaması yüklemek gerekebilir:
Visual Studio 2008'de bir farklılık da sunucu adresinin yazımında var.
http://192.168.0.???:8080/tfs/DefaultCollection/
şeklinde yazmak gerekiyor.
Saygılar...
# Kategoriler : C# Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz
Selamlar... 


Çalıştığım firmada şöyle bir ihtiyacımız oldu. Canlı veritabanın yedeğini her gün bir arşiv sunucusuna yükleyip raporları buradan almamız icabetti.
Şu şekilde bir çözüme gittik.
Bir C# konsol uygulaması yazdık.
Bunu da Windows zamanlanmış görevlere yedeğin ortalama tamamlanma süresinden 1 saat kadar sonraya.
Uygulama şu şekilde çalışıyor:
- Veritabanı yedeği bir NAS cihazında(bir yedekleme sunucusunda).
- Öncelikle o sunucuya kullanıcı adı-şifre doğrulaması ile bağlanıp yedek dosyasını arşiv sunucusuna(uygulamamızın çalıştığı sunucu) alıyoruz.
- Yedekleme sunucusunda çok sayıda yedek olduğundan en güncel yedeği bulup kopyalıyor uygulamamız.
- Sonra yedeği arşiv sunucusuna kopyaladığımız yedek dosyasını veritabanına yüklüyoruz..
- Sonra yedek dosyamızı siliyoruz.
- Son olarak işlem ile ilgili bilgilendirme mesajı atıyoruz.
- Uygulamanın başlangıç ayarlarını normalde bir xml dosyasından alıyorum, ancak burada direkt kodun içinden alacak şekilde yazdım. 


Program.cs
using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml;
namespace VtYedekYukleMesajAt
{
    class Program
    {
        private static string _uygulamaDizini = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
        private static string _sunucuAdresi = @"\\192.168.0.101\sqlbackup";
        private static string _sunucudakiYedekDosyaYolu = @"\\Z:\VERITABANI_backup_2015_06_16_020000_8320823.bak";
        private static string _veritabaniAdi = "VERITABANI";
        private static string _yedekDosyaYolu = _uygulamaDizini + "\\VERITABANI_Yedek.bak";
        private static string _sunucuAdi = @"\\192.168.0.55";
        private static string _veritabaniKullaniciAdi = "sa";
        private static string _veritabaniSifre = "123456";
        private static string _sunucuKullaniciAdi = "sqlbackup";
        private static string _sunucuSifre = "123456";
        private static string _fizikselDataDosyasi = "VERITABANI.mdf";
        private static string _fizikselLogDosyasi = "VERITABANI.ldf";
        private static string _mantiksalDataDosyasi = "VERITABANI_Data";
        private static string _mantiksalLogDosyasi = "VERITABANI_Log";
        private static string _sunucuDomain = "firmaismi";
        private static string _agYoluHarfi = "Z:";
        private static string _bilgiEPostaAdresi = "zamkinos@firmaismi.com.tr";
        private static string _smtpAdi = "zamkinos@firmaismi.com.tr";
        private static string _smtpSifresi = "123456";
        private static DateTime _baslangicZamani;
        private static DateTime _bitisZamani;
        static void Main(string[] args)
        {
            try
            {
                _baslangicZamani = DateTime.Now;
   dosyayiKopyala(_sunucuKullaniciAdi, _sunucuSifre);
                yedegiYukle(_veritabaniAdi, _yedekDosyaYolu, _sunucuAdi, _veritabaniKullaniciAdi, _veritabaniSifre);
                dosyayiSil(_yedekDosyaYolu);
                _bitisZamani = DateTime.Now;
                epostaYolla(_sunucudakiYedekDosyaYolu);
            }
            catch (Exception ex)
            {
                hatayiYaz(ex);
            }
        }
        private static void epostaYolla(string sunucudakiYedekDosyaYolu)
        {
            EPosta.EPostaYolla(_bilgiEPostaAdresi, "<br />" + sunucudakiYedekDosyaYolu + " yedek dosyasi basariyla yuklendi.<br />Baslangic Zamani: (" + _baslangicZamani.ToString() + ")<br />Bitiş Zamani: (" + _bitisZamani.ToString() + ")", "Yedek Yukleme Islemi", "sql@firmaismi.com.tr", "Sql Yedek", _smtpAdi, _smtpSifresi, new EPostaEki[] { });
        }
        private static void dosyayiKopyala(string username, string password)
        {
            NetworkConnection objNetworkConnection = new NetworkConnection(_sunucuAdresi, new System.Net.NetworkCredential(_sunucuKullaniciAdi, _sunucuSifre, _sunucuDomain), _agYoluHarfi);
            _sunucudakiYedekDosyaYolu = _sunucuAdresi + "\\" + objNetworkConnection.DosyaYolu;
            File.Copy(_sunucudakiYedekDosyaYolu, _yedekDosyaYolu, true);
        }
        private static void dosyayiSil(string yedekDosyaYolu)
        {
            File.Delete(_yedekDosyaYolu);
        }
        private static void yedegiYukle(String databaseName, String backUpFile, String serverName, String userName, String password)
        {
            ServerConnection conn = new ServerConnection(serverName, userName, password);
            conn.StatementTimeout = int.MaxValue;
            //conn.ServerInstance = serverName;
            Server srv = new Server(conn);
            int satir = 0;
            try
            {
                // Generate new FilePath for both Files.
                string fileMdf = System.IO.Path.Combine(srv.MasterDBPath, _fizikselDataDosyasi);
                string fileLdf = System.IO.Path.Combine(srv.MasterDBLogPath, _fizikselLogDosyasi);
                RelocateFile relocateMdf = new RelocateFile(_mantiksalDataDosyasi, fileMdf);
                RelocateFile relocateLdf = new RelocateFile(_mantiksalLogDosyasi, fileLdf);
                Restore res = new Restore();
                res.Devices.AddDevice(backUpFile, DeviceType.File);
                res.RelocateFiles.Add(relocateMdf);
                res.RelocateFiles.Add(relocateLdf);
                res.Database = databaseName;
                res.NoRecovery = false;
                res.ReplaceDatabase = true;
                satir = 1;
                srv.KillAllProcesses(databaseName); // 26.01.2016.
                satir = 2;
                res.SqlRestore(srv);
                satir = 3;
                conn.Disconnect();
            }
            catch (SmoException ex)
            {
                hatayiYaz(ex);
                throw new SmoException("[SmoException]:" + satir + ex.Message, ex.InnerException);
            }
            catch (IOException ex)
            {
                hatayiYaz(ex);
                throw new IOException("[IOException]:" + satir + ex.Message, ex.InnerException);
            }
            catch (Exception ex)
            {
                hatayiYaz(ex);
                throw new Exception("[Exception]:" + satir + ex.Message, ex.InnerException);
            }
        }
        private static void hatayiYaz(Exception ex)
        {
            StreamWriter file = new StreamWriter(_uygulamaDizini + "\\Hata.txt", true);
            file.WriteLine(Environment.NewLine + "=================");
            file.WriteLine("Tarih:" + DateTime.Now.ToString() + Environment.NewLine);
            file.WriteLine("Ex:(" + ex.Message + "), InnerEx:(" + ex.InnerException + ")");
            file.Close();
        }
    }
}


NetworkConnection.cs
using System;
using System.ComponentModel;
using System.IO;
using System.Net;
using System.Runtime.InteropServices;
namespace VtYedekYukleMesajAt
{
    public class NetworkConnection : IDisposable
    {
        #region Private Members
        private string _networkName;
        [DllImport("mpr.dll")]
        private static extern int WNetAddConnection2(NetResource netResource, string password, string username, int flags);
        [DllImport("mpr.dll")]
        private static extern int WNetCancelConnection2(string name, int flags, bool force);
        #endregion Private Members
        #region Public Members
        /// <summary>
        /// 
        /// </summary>
        public string DosyaYolu;
        #endregion Public Members
        #region Constructor
        /// <summary>
        /// 
        /// </summary>
        /// <param name="networkName"></param>
        /// <param name="credentials"></param>
        public NetworkConnection(string networkName, NetworkCredential credentials, string agYoluHarfi)
        {
            _networkName = networkName;
            var netResource = new NetResource()
            {
                Scope = ResourceScope.GlobalNetwork,
                ResourceType = ResourceType.Disk,
                DisplayType = ResourceDisplaytype.Share,
                RemoteName = networkName
            };
            var userName = string.IsNullOrEmpty(credentials.Domain)
                ? credentials.UserName
                : string.Format(@"{0}\{1}", credentials.Domain, credentials.UserName);
            var result = WNetAddConnection2(
                netResource,
                credentials.Password,
                userName,
                0);
            if (result != 0)
            {
                if (result == 1219) // Zaten baglanti var...
                {
                    System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();
                    foreach (var drive in drives)
                    {
                        if (drive.Name.Equals(agYoluHarfi.Replace("\\", "").Replace(":", "")) && drive.DriveType == DriveType.Network)
                        {
                            DirectoryInfo hdDirectoryInWhichToSearch = new DirectoryInfo(agYoluHarfi);
                            guncelDosyayiBul(hdDirectoryInWhichToSearch);
                            break;
                        }
                    }
                    if (string.IsNullOrEmpty(this.DosyaYolu))
                    {
                        DirectoryInfo hdDirectoryInWhichToSearch2 = new DirectoryInfo(networkName);
                        guncelDosyayiBul(hdDirectoryInWhichToSearch2);
                    }
                }
                else
                {
                    throw new Win32Exception(result, "Error connecting to remote share");
                }
            }
            else
            {
                DirectoryInfo hdDirectoryInWhichToSearch = new DirectoryInfo(networkName);
                guncelDosyayiBul(hdDirectoryInWhichToSearch);
            }
        }
        #endregion Constructor
        #region Private Methods
        private void guncelDosyayiBul(DirectoryInfo hdDirectoryInWhichToSearch)
        {
            FileInfo[] filesInDir = hdDirectoryInWhichToSearch.GetFiles("*" + "VERITABANI" + "*.bak*");
            DateTime oncekiTarih = DateTime.MinValue;
            foreach (FileInfo foundFile in filesInDir)
            {
                if (oncekiTarih != DateTime.MinValue)
                {
                    if (oncekiTarih < foundFile.CreationTime.Date)
                    {
                        this.DosyaYolu = foundFile.Name;
                        oncekiTarih = foundFile.CreationTime.Date;
                    }
                }
                else
                {
                    oncekiTarih = foundFile.CreationTime.Date;
                    this.DosyaYolu = foundFile.Name;
                }
            }
        }
        #endregion Private Methods
        #region Public Methods
        ~NetworkConnection()
        {
            Dispose(false);
        }
        public void Dispose()
        {
            Dispose(true);
            GC.SuppressFinalize(this);
        }
        protected virtual void Dispose(bool disposing)
        {
            WNetCancelConnection2(_networkName, 0, true);
        }
        #endregion Public Methods
    }
    /// <summary>
    /// 
    /// </summary>
    [StructLayout(LayoutKind.Sequential)]
    public class NetResource
    {
        /// <summary>
        /// 
        /// </summary>
        public ResourceScope Scope;
        /// <summary>
        /// 
        /// </summary>
        public ResourceType ResourceType;
        /// <summary>
        /// 
        /// </summary>
        public ResourceDisplaytype DisplayType;
        /// <summary>
        /// 
        /// </summary>
        public int Usage;
        /// <summary>
        /// 
        /// </summary>
        public string LocalName;
        /// <summary>
        /// 
        /// </summary>
        public string RemoteName;
        /// <summary>
        /// 
        /// </summary>
        public string Comment;
        /// <summary>
        /// 
        /// </summary>
        public string Provider;
    }
    /// <summary>
    /// 
    /// </summary>
    public enum ResourceScope : int
    {
        /// <summary>
        /// 
        /// </summary>
        Connected = 1,
        /// <summary>
        /// 
        /// </summary>
        GlobalNetwork,
        /// <summary>
        /// 
        /// </summary>
        Remembered,
        /// <summary>
        /// 
        /// </summary>
        Recent,
        /// <summary>
        /// 
        /// </summary>
        Context
    };
    /// <summary>
    /// 
    /// </summary>
    public enum ResourceType : int
    {
        /// <summary>
        /// 
        /// </summary>
        Any = 0,
        /// <summary>
        /// 
        /// </summary>
        Disk = 1,
        /// <summary>
        /// 
        /// </summary>
        Print = 2,
        /// <summary>
        /// 
        /// </summary>
        Reserved = 8
    }
    /// <summary>
    /// 
    /// </summary>
    public enum ResourceDisplaytype : int
    {
        /// <summary>
        /// 
        /// </summary>
        Generic = 0x0,
        /// <summary>
        /// 
        /// </summary>
        Domain = 0x01,
        /// <summary>
        /// 
        /// </summary>
        Server = 0x02,
        /// <summary>
        /// 
        /// </summary>
        Share = 0x03,
        /// <summary>
        /// 
        /// </summary>
        File = 0x04,
        /// <summary>
        /// 
        /// </summary>
        Group = 0x05,
        /// <summary>
        /// 
        /// </summary>
        Network = 0x06,
        /// <summary>
        /// 
        /// </summary>
        Root = 0x07,
        /// <summary>
        /// 
        /// </summary>
        Shareadmin = 0x08,
        /// <summary>
        /// 
        /// </summary>
        Directory = 0x09,
        /// <summary>
        /// 
        /// </summary>
        Tree = 0x0a,
        /// <summary>
        /// 
        /// </summary>
        Ndscontainer = 0x0b
    }
}


EPosta.cs
using System;
using System.IO;
using System.Net.Mail;
using System.Text;
namespace VtYedekYukleMesajAt
{
    public class EPosta
    {
        public static string UygulamaDizini = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
        public static void EPostaYolla(string to, string body, string subject, string fromAddress, string fromDisplay, string credentialUser, string credentialPassword, params EPostaEki[] attachments)
        {
            string host = "mail.firmaismi.com.tr";
            //body = UpgradeEmailFormat(body);
            try
            {
                MailMessage mail = new MailMessage();
                mail.Body = body;
                mail.IsBodyHtml = true;
                mail.To.Add(new MailAddress(to));
                mail.From = new MailAddress(fromAddress, fromDisplay, Encoding.UTF8);
                mail.Subject = subject;
                mail.SubjectEncoding = Encoding.UTF8;
                mail.Priority = MailPriority.Normal;
                foreach (EPostaEki ma in attachments)
                {
                    mail.Attachments.Add(ma.File);
                }
                SmtpClient smtp = new SmtpClient();
                smtp.Credentials = new System.Net.NetworkCredential(credentialUser, credentialPassword);
                smtp.Host = host;
                smtp.Send(mail);
            }
            catch (Exception ex)
            {
                StringBuilder sb = new StringBuilder();
                sb.Append("\nTo:" + to);
                sb.Append("\nbody:" + body);
                sb.Append("\nsubject:" + subject);
                sb.Append("\nfromAddress:" + fromAddress);
                sb.Append("\nfromDisplay:" + fromDisplay);
                sb.Append("\ncredentialUser:" + credentialUser);
                sb.Append("\ncredentialPasswordto:" + credentialPassword);
                sb.Append("\nHosting:" + host);
                sb.Append("\nException:" + ex.Message);
                // Write the string to a file.
                StreamWriter file = new StreamWriter(UygulamaDizini + "\\Hata.txt", true);
                file.WriteLine(Environment.NewLine + "=================");
                file.WriteLine("Tarih:" + DateTime.Now.ToString() + Environment.NewLine);
                file.WriteLine(sb.ToString());
                file.Close();
                //ErrorLog(sb.ToString(), ex.ToString(), ErrorLogCause.EmailSystem);
            }
        }
    }
}


Saygılar...
# Kategoriler : C# Sql Server Veritabanı Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz
Selamlar...
MVC ile ExtJs kullanarak excel çıktısı alma işlemine http://zamkinos.net/blog/Posts.aspx?PostID=5 yazımızda değinmiştik.
Kabaca tarif etmek gerekirse; js dosyamızda yazdığımız adresi Controller sınıfının içinde tanımladığımızda çağırabiliyorduk.
Web Form'da da WebMethod tanımlayarak istemci tarafından sunucu tarafındaki metotlara erişebiliyoruz.
Ancak iş excel'den çıktı almaya geldiğinde Web Method işimizi çözmüyor.
İnternette araştırdığım yerlerin tümündeki çözümler işe yaramadı ve bu excel çıktısı işini bir aspx sayfası yaparak çözme yoluna gittim.
Javascript tarafında bir form oluşturup, parametrelerimizi ekliyoruz. Aşağıdaki fonksiyonu bir excele çıktı butonunun click olayında tetikleyebiliriz.
    function formuPostalaExcel() {
        var form = new Ext.form.Panel({});
        form.getForm().submit({
            timeout: 120000,
            hidden: true,
            standardSubmit: true,
            url: 'ExcelExport.aspx',
            params: {
                param1: Ext.getCmp('txtParam1').getValue(),
                param2: Ext.getCmp('txtParam2').getValue(),
                param3: Ext.getCmp('txtParam3').getValue(),
                param4: Ext.getCmp('txtParam4').getValue(),
                param5: Ext.getCmp('txtParam5').getValue()
            },
            failure: function (form, action) {
                alert(action);
            }
        });
    }
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace ExcelCikti
{
    public partial class ExcelExport : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string param1 = Request.Params["param1"].ToString();
            string param2 = Request.Params["param2"].ToString();
            string param3 = Request.Params["param3"].ToString();
            string param4 = Request.Params["param4"].ToString();
            string param5 = Request.Params["param5"].ToString();
            List<Musteri> lst = musterileriGetir(param1, param2, param3, param4, param5);
            StringBuilder sb = GenelIslemler.List2ExcelSb(lst); // http://zamkinos.net/blog/Posts.aspx?PostID=5 
            string sFileName = "MusteriListesi_" + GenelIslemler.strTarihiGetir() + ".xls";
            Response.AppendHeader("content-disposition", "attachment;filename=" + sFileName);
            Response.ContentType = "application/ms-excel";
            Response.ContentEncoding = Encoding.Unicode;
            Response.BinaryWrite(Encoding.Unicode.GetPreamble());
            Response.ContentType = "application/vnd.ms-excel";
            Response.Write(sb.ToString());
            Response.End();
        }
        private List<Musteri> musterileriGetir(string param1, string param2, string param3, string param4, string param5)
        {
            VeritabaniIslemleri vtIslem = new VeritabaniIslemleri();
            DataTable dtMaddeler = vtIslem.ReturnDataTable("SELECT Adi, No FROM Musteri"); // parametreler de eklenecek duruma göre.
            List<Madde> lst = new List<Madde>();
            foreach (DataRow dr in dtMaddeler.Rows)
            {
                lst.Add(new Musteri()
                {
                    Adi = dr["Adi"].ToString(),
                    No = dr["No"].ToString()
                });
            }
            return lst;
        }
    }
}
Saygılar...
# Kategoriler : C# Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz
Selamlar...

Gene gerçek bir örnek üzerinden gidelim.
Edefter için Maliye'den paylaşılan stil dosyaları var. Ona uygun XML hazırlandığında uygun bir şekilde görüntülenmesini sağlıyor.
Bu XML dosyaları HTML biçiminde görüntüleniyor ama boyutları çok büyük olduğundan tarayıcıda açmakta sıkıntı yaşanıyor.
Oysa bu dosyaları PDF'ye çevirsek hem boyutu küçülüyor, hem de çok rahatlıkla görüntülenebiliyor.
Piyasada bunu yapan ücretli programlar var.
Peki ama bunu ücretsiz bir şekilde nasıl yaparız?
NReco.PdfGenerator diye bir DLL var ücretsiz. Ben bunu kullandım.
using NReco.PdfGenerator;
using System;
using System.Collections.Generic;
using System.IO;
using System.Windows.Forms;
using System.Xml.Xsl;
namespace Xml2Pdf
{
    public partial class Xml2Pdf : Form
    {
        public Xml2Pdf()
        {
            InitializeComponent();
        }
         
        private void btnXml2Pdf_Click(object sender, EventArgs e)
        {
            DirectoryInfo di = Directory.CreateDirectory("C:\\XmlPdf\\");
            string xsltYevmiye = "yevmiye.xslt";
            string xsltKebir = "kebir.xslt";
            string xsltBerat = "berat.xslt";
            string xsltAdres = "";
            lblBaslangicZamani2.Text = DateTime.Now.ToString("");
            dizinSecimDialog.SelectedPath = @"\\10.0.0.1\EDEFTER";
            DialogResult result = dizinSecimDialog.ShowDialog();
            if (result == DialogResult.OK)
            {
                string[] files = Directory.GetFiles(dizinSecimDialog.SelectedPath,
 "*.xml", SearchOption.AllDirectories);
                foreach (string file in files)
                {
                    string htmlDosyasi = di.FullName + 
Path.GetFileName(file).Replace(".xml", ".html");
                    string pdfDosyasi = di.FullName + 
Path.GetFileName(file).Replace(".xml", ".pdf");
                    if (file.IndexOf("-KB-") > 0)
                    {
                        xsltAdres = xsltBerat;
                    }
                    else if (file.IndexOf("-YB-") > 0)
                    {
                        xsltAdres = xsltBerat;
                    }
                    else if (file.IndexOf("-K-") > 0)
                    {
                        xsltAdres = xsltKebir;
                    }
                    else if (file.IndexOf("-Y-") > 0)
                    {
                        xsltAdres = xsltYevmiye;
                    }
                    else
                    {
                        throw new Exception("Tanımsız şema tipi:(" + file + ")");
                    }
                    pdfOlustur(xsltAdres, file, htmlDosyasi, pdfDosyasi);
                }
                MessageBox.Show("Pdf dosyaları " + di.FullName 
+ " dizini altında oluşturulmuştur.", "İşlem Başarılı", MessageBoxButtons.OK, 
MessageBoxIcon.Information);
                lblBitisZamani2.Text = DateTime.Now.ToString("");
            }
        }
        private void pdfOlustur(string xsltAdres, string file, 
string htmlDosyasi, string pdfDosyasi)
        {
            XslCompiledTransform xslt = new XslCompiledTransform();
            xslt.Load(Path.GetDirectoryName(file) + "\\" + xsltAdres);
            xslt.Transform(file, htmlDosyasi);
            HtmlToPdfConverter htmlToPdf = new HtmlToPdfConverter();
            htmlToPdf.GeneratePdfFromFile(htmlDosyasi, null, pdfDosyasi);
        }
    }
}


Saygılar...
# Kategoriler : C# Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...

Sql Server'da bir tabloda bir değerin hem Rusça, hem de Türkçe karşılığını tutma ihtiyacınız olduğunu varsayalım. İki alan tanımlayalım NVARCHAR türünde, TurkceAciklama ve RuscaAciklama şeklinde.

 

CREATE TABLE TABLOISMI(

[Id] [numeric](10, 0) IDENTITY(1,1) NOT NULL,

[TurkceAciklama] [nvarchar](60) NULL,

[RuscaAciklama] [nvarchar](60) COLLATE Cyrillic_General_CI_AS_KS NULL

)

 

Bu alana değer ataması yaparken de, string ifademizin önüne "N" eklemek gerekiyor.

 

INSERT INTO TABLOISMI VALUES ('Türkçesi', N'Rusçası:я,ё,ю,и,е,ь')

 

Saygılar...

# Kategoriler : Sql Server Veritabanı
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Selamlar...

C++ için ücretsiz bir geliştirme ortamı olarak CodeBlocks kullanılabilir.

http://www.codeblocks.org/downloads/26

adresinden mingw olanı indirilebilir.

Sonra da sadece aşağıdaki kodu yazarak uygulamadan web sayfası çağırabiliyoruz.

#include <windows.h>

void main()
{
   ShellExecute(NULL, "open", "http://yourwebpage.com", NULL, NULL, SW_SHOWNORMAL);
}

 

Uygulamayı derlediğimizde exe oluşuyor. Ancak exe'nin simgesini de değiştirmek mümkün.

32 x 32 boyutunda bir simge(.ico) dosyası bulup uygulamamızla aynı dizine atıyoruz. *.cpp dosyası ile aynı dizinde olacak. Projemizi sağ tıklayarak resources.rc isimli bir dosya oluşturuyoruz. İsmi çok mühim değil. Bu dosyayı açıp;

MAINICON  ICON  "uygulamaikonumuz.ico"

satırını ekliyoruz. Uygulamayı derlediğimizde artık simgeli bir şekilde exe oluşacaktır.

 

Saygılar...

# Kategoriler : C Yazılım
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

ABD'den seçme gazete ilanları... Anlatım bozuklukları, noktalama işareti eksiklikleri derken bakın ortaya ne komiklikler çıkmış:

"OKUMA YAZMA BİLMİYOR MUSUNUZ? O halde eğitim hizmetlerimizden yararlanmak için bize yazın..."

"OTO TAMİR SERVISI- Bizi denedikten sonra bi daha bi yere gidemeyeceksiniz"

"SATILIK KÖPEK- Her şeyi yer hem de çocuklara bayılır"

"SATILIK ANTİK MASA- Uzun ve ince bacaklı geniş çekmeceli bayanlara uygun" 

"YILBAŞI ÖZEL MENÜMÜZ- Hindi: $3.25, Tavuk: $ 2.25, Çocuk: $ 2.00"

"CAMAŞIRINIZI KENDİNİZ YIKAMAKTAN BIKTINIZ MI?- Gönder ben yıkarım"

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz
Sabah kahvaltıda kadın; "Eminim, sen bugünün ne olduğunu hatırlamıyorsun bile" dedi.. "Tabii, hatırlıyorum" dedi adam... çıktı, gitti. Öğleye doğru kapı çalındı.. Çiçekçi çocuk harika bir kırmızı gül buketi bıraktı... Az sonra kapı tekrar çalındı, bu defa köşedeki pastanenin çırağıydı gelen... Kocaman bir çikolata kutusu bıraktı gitti. Öğleden sonra gelen kutudan da, olağanüstü güzel bir elbise çıktı.. Kadın kocasının dönmesini zor bekledi ve daha kapıda boynuna sarıldı.. "Önce çiçekler, sonra çikolata, ve sonra da elbise.. Bu hayatımdaki en güzel Cumhuriyet Bayramı..."
# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz
1.. 'damlaya damlaya göl olur' / 'taşıma suyla değirmen dönmez'
2.. 'iyi insan lafın üstüne gelir' / 'iti an çomağı hazırla'
3.. 'bir elin nesi var iki elin sesi var' / 'nerde çokluk orda bokluk'
4.. 'fazla mal göz çıkarmaz' / 'azıcık aşım ağrısız başım'
5.. ' kervan yolda düzelir' / ' balık baştan kokar'
6.. 'söz gümüşse, sükut altındır' / 'sükut ikrardan gelir'
7.. 'harama uçkur çözülmez' / 'güzele bakmak sevaptır'
8.. 'iki gönül bir olunca samanlık seyran olur' / 'iki çıplak bir hamama yakışır'
9.. 'bülbülün çektiği dili belası' / 'bilmemek ayıp değil sormamak ayıp'
10.. 'eşeğe altın semer vursan da eşek yine eşektir' / 'ye kürküm ye'
11.. 'eğri otur doğru söyle' / 'doğru söyleyeni dokuz köyden kovarlar'
12.. 'düşenin dostu olmaz' / 'dost kara günde belli olur'
13.. 'ava giden avlanır' / 'atın ölümü arpadan olsun'
14.. 'erken kalkan yol alır ' / 'acele işe şeytan karışır'
15.. 'birlikten kuvvet doğar' / 'körler sağırlar, birbirlerini ağırlar'
16.. 'tatlı dil yılanı deliğinden çıkarır' / 'lafla peynir gemisi yürümez'
17.. 'gün ola harman ola' / 'perşembenin gelişi çarşambadan bellidir'
18.. 'ya olduğun gibi görün ya göründüğün gibi ol' / 'hocanın dediğini yap, yaptığını yapma'
19.. 'iyilik yap denize at' / 'merhametten maraz doğar'
20.. 'zararın neresinden dönülse kardır' / 'gelen gideni aratır'
21.. 'yüzü güzel olanın huyu da güzel olur' / 'yüzü güzel olanı değil huyu güzel olanı sev'
22.. 'akıl akıldan üstündür' / 'aklın yolu birdir'
23.. 'el elden üstündür' / 'alet işler el övünür'
24.. 'acı patlıcani kırağı çalmaz' / 'yaşın yanında kuru da yanar'
25.. 'zorla güzellik olmaz' / 'zora dağlar dayanmaz'
26.. 'öfke baldan tatlıdır' / 'öfke ile kalkan zararla oturur'
27.. 'işleyen demir ışıldar' / 'insan yedisinde neyse yetmişinde de odur'
28.. 'fazla mal göz çıkarmaz' / 'azı karar çoğu zarar'
29.. 'insan kıymetini insan bilir' / 'insanoğlu çiğ sut emmiş'
30.. 'anasına bak kızını al, kenarına bak bezini al' / 'beş parmağın beşi birbirine benzemez'
31.. 'olmaz olmaz deme, olmaz olmaz' / 'iş olacağına varır'
32.. 'eski dost düşman olmaz' / 'güvenme dostuna saman doldurur postuna'
33.. 'harama el uzatılmaz' / 'üzümü ye bağını sorma'
# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz

Askeri bir lisede sigara içmek yasaktır. Bu yüzden öğrenciler subaylardan gizli bir şekilde tuvaletlerde sigara içmektedirler. Yine böyle bir gün tuvalette sigara içerken baskına uğrarlar ve herkes bir tuvalete girer hani içeri giren subay tuvaleti de açıp bakamaz yaa. Tabi o panikle tuvalete girelim derken iki öğrenci aynı tuvalete girer. 

Girer girmez de düşünmeye başlarlar, tuvaletin kapısının altında 20-30 santim kadar bir boşluk vardır. Buradan iki kişi oldukları görülebilir. İşin kötü tarafı o günlerde bir öğrenci eşcinsel ilişkilerden dolayı okuldan atılmıştır ve bu konuda denetim bayağı sıkıdır. Beraber görülürlerse bir yanlış anlama Olabilir.

Düşünürler, taşınırlar. Uyanık Çocuklar! 'Birer ayağımızı kaldıralım!' derler. Nasılsa üniforma giyiyorlar, ayakkabı, pantolon herşey aynidir. İkisi yan yana gelirler sağdaki sağ ayağını soldaki sol ayağını kaldırır. (Umarım durumu gözünüzün önünde canlandırabiliyorsunuzdur!) Bu durumda beklerler, nöbetçi subay gelir eğilir, içeri doğru bakar ve şöyle der:
'Evladım ayakkabılarını ters giymişsin..."

# Kategoriler : Eğlence
# Etiketler : Etiket Yok
# Yorumlar : 0 Yorum Yorum Yaz
Arama
  Ara
Sayfalar
Takvim
<Aralık 2016>
PSÇPCCP
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
Bağlantılar