15 Haziran 2015 Pazartesi

Asp.net seo uyumlu link yapımı

Merhaba arkadaşlar.

Bu yazımızda son zamanların gözde olayı seo uyumlu link yapabilmeniz için basit bir fonksiyon paylaşacağım. Bu fonksiyona gönderdiğiniz yazıyı(metni) size seo uyumlu hale dönüştürüp geri yolluyor. Sizde bu dönen veriyi linklendirmeleriniz de rahatlıkla kullanabilirsiniz. Unutmadan bu dersimizde Asp.net Seo link kullanımını anlatmıyoruz. Sadece seo uyumlu linkleri nasıl üretebileceğinizi gösterecem. Asp.net seo uyumlu link yönlendime işlemini ise bir sonraki makalemizde inceleyeceğiz. İsterseniz hemen fonksiyonumuzu yazmaya başlayalım.

#region seoUrlYap
        /// 
        /// Metin olarak yazılan yazıları seo uyumlu hale getiriyor
        /// 
        /// 
        /// String türünde 255 karakter uzunluğunda veri döndürüyor
        public string seoUrlYap(string data)
        {
            data = data.Replace(",", "").Replace("\"", "").Replace("'", "").Replace(":", "").Replace(";", "").Replace(".", "").Replace("!", "").Replace("?", "").Replace(")", "").Replace("(", " ").Replace("&", " ").Replace(" ", " ").Replace("#", "sharp");

            if (data.Length > 255) // siz isterseniz bu sayıyı düşürüp artırabilirsiniz.
            {
                data = data.Substring(0, 255);
                data = data.Substring(0, data.LastIndexOf(" "));
            }
            data = data.Replace(" ", "-").ToLower(); // boşluk karakterini - ile değiştiriyoruz
            // son olarak ise türkçe karakterlerimizi değiştirerek linklerde oluşabilecek hataların önüne geçiyoruz
            // return ile de son halini geri döndürüyoruz.
            return data.Replace("ş", "s").Replace("Ş", "s").Replace("ç", "c").Replace("Ç", "c").Replace("ö", "o").Replace("Ö", "o").Replace("ü", "u").Replace("Ü", "u").Replace("İ", "i").Replace("ı", "i").Replace("ğ", "g").Replace("Ğ", "g");
        }
        #endregion

Evet fonksiyonumuz bu kadar isterseniz birde son olarak kullanımına bakalım

Örnek Kullanım
 string yazi = "Asp.net seo uyumlu link yapımı";
 string seoLink = seoUrlYap(yazi);
 Response.Write("Seo uyumlu link: "+seoLink);
Ekran çıktısı:
 asp-net-seo-uyumlu-link-yapimi
bu işlemlerden sonra ise "a" tagımıza yeni linkimizi yazabiliriz.

 Örnek:
 <a href="<=this.seoLink">Asp.net seo uyumlu link yapımı</a>

Umarım anlaşılır ve işe yarar bir yazı olmuştur.

Bir sonraki yazımızda Asp.net seo uyumlu sayfa yapımını göreceğiz ve bu yazımızda da burada anlatılan fonksiyonu kullanacağız. Asp.net seo uyumlu sayfa içinde urlrewrite.dll  dosyamızı kullanacağız.

Bir sonraki derste görüşmek üzere....

c# veri kesme fonksiyonu

Merhaba arkadaşlar. Bu yazımızda c# dili kullanarak bir metni kesme fonksiyonunu göreceğiz. Aslında c# ile gerek asp.net web projelerinizde gerekse c# webform projelerinizde rahatlıkla kullanabilirsiniz. Hemen fonksiyonumuzu yazalım,
#region veriKes
        public string veriKes(string veri = null, int baslangic = 0, int uzunluk = 1)
        {
            try
            {
                string sonuc = ""; // yazının son halini tutmak için tanımlıyoruz
                int kackarakter = veri.Length; // yazı uzunluğumuzu alıyoruz
                if (kackarakter > uzunluk) // yazı uzunluğu kesmemizi istediğimiz uzunluk değerinden büyükse kesme işlemi yap
                {
                    sonuc = veri; // veri ile gelen değeri sonuc değişkenimize yüklüyoruz
                    int basla = baslangic; // kaçıncı karakterden başlayarak kesme yapmak istediğimizi belirtiyoruz
                    int bitir = uzunluk; // başlangıç karakterinden sonra kaç kelime göstermek istediğimizi belirtiyoruz
                    sonuc = sonuc.Substring(basla, bitir); // substring fonsiyonu ile kesme işlemini tamamlıyoruz
                }
                else
                { // eğer yazı uzunluğu kesilmesini istediğimiz sayıdan küçük ise doğrudan atama yapıyoruz
                  // örnek yazımız 30 karakter biz 40. karakterden başlatıp 60 karakter göstermek istiyoruz. 
                  // Bu gibi durumların önüne geçmiş oluyoruz
                    sonuc = veri;
                }

                return sonuc;
            }
            catch (Exception)
            {

                return ("");
            }

        }
        #endregion

Fonksiyonlarımız bu kadar şimdi örnek bir kullanımına bakalım.
 string yazi = "Merhaba Dünya!";
 string yaziKes = veriKes(yazi,0,7);
 console.write("Sonuc: {0}",yaziKes);
Ekran Çıktımız: Merhaba olacaktır. Umarım işinize yarar bir yazı olmuştur. Bir sonraki yazımızda görüşmek üzere...

C# dll md5 ve sha1 şifreleme kullanımı

Merhaba arkadaşlar bu yazımızda c# ile md5 ve sha1 şifreleme yapabilmeniz için iki küçük fonksiyon yazacağım. Sizde bu fonksiyonu ilgili dosyanıza yapıştırıp rahatlıkla kullanabilirsiniz. Hatta isterseniz class dosyası oluşturup içerisine ekledikten sonra derleyebilir , sonrasında ise projelerinize referans ekleyerek kullanabilirsiniz. Neyse lafı daha fazla uzatmadan hemen kodlarımızı yazalım.

Öncelikle dosyamızın en üstüne;

using System.Web.Security;

kodunu ekliyoruz. Sonrasında ise aşağıdaki fonksiyonlarımızı dosyamıza ekliyoruz.

      // c# md5 şifreleme işlemi için kullanıyoruz
        public string md5Sifre(string sifre)
        {
            return FormsAuthentication.HashPasswordForStoringInConfigFile(sifre, "md5");
        }

     // c# sha1 şifreleme işlemi için kullanıyoruz
        public string sha1Sifre(string sifre)
        {
            return FormsAuthentication.HashPasswordForStoringInConfigFile(sifre, "sha1");
        }

geriye kalan ise sadece fonksiyonlarımızı çağırmak oluyor. Örnek

 string sifre = "ABCDEF";
 string sifreleMd5   = md5Sifre(sifre);
 string sifreleSha1  = sha1Sifre(sifre);

console.write("Md5 Şifreli Hali : {0} \n",sifreleMd5);
console.write("Sha1 Şifreli Hali : {0} \n",sifreleSha1);
Hepsi bu kadar. Bir sonraki yazıda görüşmek üzere başarılar.

12 Haziran 2015 Cuma

Php dosya yol işlemleri

Merhaba arkadaşlar.

Bu yazımızda sizlere php de kullanabileceğiniz ve lazım olacağını düşündüğüm php de yol işlem fonksiyonlarını paylaşacağım. İlgili kodlar aşağıda dır.


$konum = "http://root:123@divran.com:2082/index.php?do=register#256"; 
echo "Sunucu Adı : " .$_SERVER['SERVER_NAME'] ."
"; echo "Sunucu Adı : " .$_SERVER['HTTP_HOST'] ."
"; echo "Kök dizin : " .$_SERVER['DOCUMENT_ROOT'] ."
"; echo "Dosyannın tam yolu : " .$_SERVER['SCRIPT_FILENAME'] ."
"; echo "Dosya yolu : " .$_SERVER['PHP_SELF'] ."
"; echo "Dosya yolu : " .$_SERVER['SCRIPT_NAME'] ."
"; echo "Dosya yolu : " .$_SERVER['REQUEST_URI'] ."
"; echo "Remote Adres : " .$_SERVER['REMOTE_ADDR'] ."
"; echo "Fiziksel Yol : " .$_SERVER['PATH_TRANSLATED'] ."
"; echo "Dosyanın bulunduğu dizin : " .dirname($_SERVER['SCRIPT_FILENAME']) ."
"; echo "Dizin tam yolu : " .dirname(__FILE__) ."
"; echo "Dosyanın tam yolu : " .realpath($_SERVER['SCRIPT_FILENAME']) ."
"; echo "Dosyannın tam yolu : " .realpath(__FILE__) ."
"; echo "Dosyanın bulunduğu dizin : " .realpath(dirname(__FILE__)) ."
"; echo "Dosya Adı : " .basename($_SERVER['PHP_SELF']) ."
"; echo "Dizin yolu : ".pathinfo($_SERVER['SCRIPT_FILENAME'],PATHINFO_DIRNAME) ."
"; echo "Dosya Adı : ".pathinfo($_SERVER['SCRIPT_FILENAME'],PATHINFO_BASENAME) ."
"; echo "Dosya uzantısı : " .pathinfo($_SERVER['SCRIPT_FILENAME'],PATHINFO_EXTENSION) ."
"; echo "Dosya adı (uzantısız) : " .pathinfo($_SERVER['SCRIPT_FILENAME'],PATHINFO_FILENAME) ."
"; echo "". $konum ." için url ayrıştırma

"; echo "URL Şeması : " .parse_url($konum,PHP_URL_SCHEME) ."
"; echo "Host : " .parse_url($konum,PHP_URL_HOST) ."
"; echo "Port: " .parse_url($konum,PHP_URL_PORT) ."
"; echo "Kullanıcı : " .parse_url($konum,PHP_URL_USER) ."
"; echo "Şifre : " .parse_url($konum,PHP_URL_PASS) ."
"; echo "Sayfa : " .parse_url($konum,PHP_URL_PATH) ."
"; echo "URL Sorgusu: " .parse_url($konum,PHP_URL_QUERY) ."
"; echo "Kanca : " .parse_url($konum,PHP_URL_FRAGMENT) ."
";
Faydalı olması dileğiyle.

Php ile mp3 birleştirme

Merhaba arkadaşlar. Bu yazımızda php ile iki farklı mp3 dosyasını birleştirmeyi göreceğiz. Bunun için yapmamız gereken bir php dosyası oluşturmak ve aşağıdaki kodları bu php dosyayına yapıştırmak olacaktır.
 Php Kodu
<?php
$dosya1 = file_get_contents('dosya1.mp3'); // birinci dosyanın adı
$dosya2 = file_get_contents('dosya2.mp3'); // ikinci dosyanın adı
?>
öncelikle ses dosyalarımızı değişkenlere atıyoruz. Son olarak birleştirme işlemini ise aşağıda ki kod ile gerçekleştiriyoruz.
file_put_contents('birlesmisdosya.mp3', $dosya1 . $dosya2);

Sonuç olarak ise bize birlesmisdosya.mp3 uzantılı dosyayı üretiyor.

 Faydalı olması dileğiyle.

Kaynak kodu indirmek için Tıklayınız

  Alıntı

Php hastag(etiket) sistemi yapımı

merhaba arkadaşlar bu yazımızda php ile hastag fonksiyonu oluşturacağız.

Hashtag sistemleri, Twitter başta olmak üzere bir çok sitede çokça kullanılıyor ve kısa yoldan etiket oluşturmamıza olanak sağlıyor.

  Nasıl Çalışır?

Çalışma mantığı gayet basit. PHP Regex fonksiyonlarını kullanarak, yazılan yazıda bulunan ve # karakteri ile
başlayan kelimeleri buluyoruz. Bulunan kelimeleri de yine bir Regex fonksiyonuyla linke dönüştürüyoruz.


 Hemen php hastag fonksiyonumuzu yazalım.

index.php

function hashtag($str) {
$regex = "/(#)+[a‐zA‐Z0‐9]+/";
$str = preg_replace($regex, '\\0', $str);
return($str);
}
Şimdi basitçe kullanalım
$string = "Merhaba #dunya";
echo hashtag($string);
Çıktısı
Merhaba #dunya
Bir sonraki yazıda görüşmek üzere...

Android Mobil İşletim Sistemi

       Android Mobil İşletim Sistemi

Bu başlık altında Android mobil işletim sistemi hakkında genel bilgi vereceğiz.

Android, Google ve Open HandsetAllience tarafından geliştirilmiş Linux tabanlı, açık kaynak kodlu bir mobil işletim sistemidir. Ara katman yazılımı, kütüphaneler ve APIC dilinde yazılmıştır. Anca uygulama yazılımları ise Apache Harmony üzerine kurulu Java uyumlu kütüphaneler içeren uygulama iskeleti üzerinden çalışır. Açık kaynak kodlu olmasına bağlı olarak geniş bir uygulama geliştirme grubuna sahiptir. Geliştiriciler Android uygulamalarını Java dilinde yazarlar. Android, bu derlenmiş Java kodlarını çalıştırmak için dinamik çevirmeli (JIT) Dalvik sanal makinasını kullanır.

2008'de piyasaya sürülen Android'in API level 8 ve daha üst sürümleri aşağıdaki tablodadır.

VersionCodenameAPIDistribution
2.2Froyo80.3%
2.3.3 -
2.3.7
Gingerbread105.6%
4.0.3 -
4.0.4
Ice Cream Sandwich155.1%
4.1.xJelly Bean1614.7%
4.2.x1717.5%
4.3185.2%
4.4KitKat1939.2%
5.0Lollipop2111.6%
5.1220.8%

Özelleştirilmiş arama formu oluşturma

Merhaba arkadaşlar.

Bu içeriğimiz de sizlere css ile özelleştirilmiş arama formunun kodlarını paylaşacağım. Umarım faydalı olur.

Lafı fazla uzatmadan hemen bir adet style.css dosyası oluşturup içerisine aşağıdaki kodları yazalım.


@charset "utf-8";
/* CSS Document */

#aramaFormu{
 width:437px;
 height:35px;
 overflow:hidden;
 background-image:url(http://ugurdalkiran.com/wp-content/dosya/arama-formu-ozel.png);
}
#aramaFormu input{
 width:305px;
 height:19px;
 margin-left:40px;
 margin-top:7px;
 float:left;
 border:none;
 background-color:transparent;
 font-size:14px;
 font-family:Calibri, Tahoma, Arial, Sans-Serif;
 outline:none;
 color:#000;
}
#aramaFormu button{
 width:82px;
 height:35px;
 float:right;
 text-indent:-9999px;
 border:none;
 background-color:transparent;
 cursor:pointer;
}
Şimdi ise index.html adında dosyamızı oluşturup içerisine aşağıdaki kodu ekleyelim.



Özel Bir Arama Formu





ve şimdi sayfamızı çalıştırıp sonucu görelim.
 bir sonraki yazıda görüşmek üzere

Android JAVA Proğramlama Dili



  Android JAVA Proğramlama Dili

Uygulama geliştirmede kullanılan programlama dili olan Java'ya kısaca değineceğiz. Android mobil işletim sisteminin uygulamalarında Java dili kullanıldığını biliyoruz. 

Java nesne yönelimi yüksek seviyeli bir programlama dilidir. Android işletim sistemi dışında dünya geçerliliği olan Java dili ile geliştirilmiş uygulamalar, platform bağımsızdır. Yani yazılan kodlar derlendikten sonra bytecode'a çevrilir. Bytecode daha sonra JavaRuntimeEnvironment tarafından sağlanan Java  Virtual Machine aracılığı ile kullanılan cihaza uygun bir yapıya dönüştürülür ve çalıştırılır. Uygulamaların değişik platformlarda çalışabilmesi için o platformda JRE'nin kurulu 

olması gereklidir. Java programlama diline ve çalışma yapısına kısaca değindik.

Css li float sorunu ve çözümü

Merhaba arkadaşlar. Sitelerimizde akıllı listeler için hemen hemen hepimiz ul li taglarını kullanırız. Bazen bu li tagları ile listelerimizi yan yana almak ister ve el mahkum float: parametresini kullanırız. Kullanırız kullanmasına ama gel gelelim ki float özelliği nedeni ile gerek ul tagımız gerekse sitemiz üzerindeki ul tagından sonra gelen tag ile iç içe geçer ve tasarım neredeyse allak bullak olur. Peki şimdi ne yapmalıyız. Aslında bu işlem için en azından iki yöntem var. 1. Yöntem : css tarafında
.clear{ clear:both;}
özelliği ekleyip listeleme alnında fazladan boş bir li alanı eklememiz ve bu alnında class özelliğini clear yapmamız gerekiyor. Eskiden el mahkum kullanmak zorunda kalırdım ve sonuca %100 ulaşamasam da %90lar da kalırdım. Örnek kullanım :
 
  • Anasayfa
  • Hakkımızda
Şimdi gelelim en basit ve profesyonel yönteme 2. Yöntem : Css Kodları
  ul.listele1 li {
        display: block;
        float: left;
        .......
    }


   ul.listele1:after {
        content: ".";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden;
    }
Html tarafı
  • Anasayfa
  • Hakkımızda
işte hepsi bu kadar. ne fazla bir li etiketi nede fazla bir tag. Ben burada listele1 dedim site kendinize göre uyarlama yapabilirsiniz. Faydalı olması dileğiyle.

Scroll bar özelleştirme

Merhaba arkadaşlar.

Bugün sizlere css yardımı ile scroll bar üzerinden özelleştirmeler için kullandığımız parametreleri ve örnek kullanımını gösterecem.

Hemen parametrelerimizi yazalım



Scrollbar-face-color: Mause ile tuttuğumuz yerin rengini

Scrollbar-shadow-color: Scrollbarın açık renkteki gölgesinin rengini

Scrollbar-highlight-color: Scrollbar gelen ışık yönündeki rengi(sol taraftaki kenar rengi)

Scrollbar-3dlight-color: Mouse ile sürüklediğimiz yerin yanındaki dış kısım

Scrollbar-darkswadow-color: Scrollbarın koyu renkteki gölgesi

Scrollbar-track-color: Mouse ile tuttuğumuz yer ile oklar arasında kalan kısım

Scrollbar-arrow-color: Alt ve üst okların rengini belirtir
Örnek kullanımı
html,body{
Scrollbar-face-color: yellow;
Scrollbar-3dlight-color:red;
}
hepsi bu kadar.:) bir sonra ki yazıda görüşmek üzere

9 Haziran 2015 Salı

C# excel veri aktarma

Merhaba arkadaşlar.

Bu yazımızda c# listview kayıtlarını excel ortamına nasıl aktarabileceğimize bakacağız. Bu işlemleri yaparken de en basit ve en kolay şekilde işlemlerimizi tamamlayacağız.

İlk iş olarak Visual Studio Ide mizde boş bir c# web form projesi oluşturmakla işleme başlıyoruz. Bunun içinde File -> New -> Project Adımlarını iziliyoruz. Sonrasında New Project penceresinin sol panelinde yer alan Visual C# kategorisine tıklıyoruz ve hemen ardından sağ panelden Windows Forms Application Seçeneğine tıklıyoruz.
Yukarıda ki resimde sayıları takip ederseniz projemizi oluşturabilirsiniz. Burada dikkat edeceğimiz nokta 4. Adımda browser seçeneğine tıklayarak projemizin oluşturulacağı dizini belirtmek. Birde pencerenin en üst kısmında yer alan .Net Framework 4.5 seçeneğinin seçili olması. Tabi siz isterseniz 4.0 veya daha farklı bir sürümü seçebilirsiniz. Benim minimum tercihim 4.0 dır. Çünkü güncel sürümleri kullanmanız sizin açınızdan faydalı olacaktır.

Bu arada unutmadan proje isminde karakter kullanılmıyor. Nasıl hata alacağınızı göstermek için tercih ettim :)
C# ı Csharp olarak değiştirip projemi oluşturdum.

Formumuzun örnek görüntüsü aşağıda ki gibi oldu.




Bunun için formumuza bir adet Listview ve bir adet Button sürükleyip bıraktık. Button üzerinde bir defa tıklayıp ardından Name kısmına kolay olsun diye btnAktar adını verdik.
Listview için işe yanda ki görüntüyü elde edebilmek için öncelikle listview seçili halde iken properties penceresinden View özelliğini Detail olarak düzenledik.
Örnek olarak yanda verilen resimde numaralandırılmış alanlardan 1 numaralı alanı Details yaptık.

2. adımda ise başlıklarımızı belirledik.

Örnek başlıklarımız. UrunID, Ürün Adı, Adet


Yukarıda ki adımları tamamladıktan sonra form görüntümüz ilk resimdeki hale gelecektir.

Şimdi öncelikle listview içerisine kayıt çekmemiz gerekiyor. Normal şartlarda database veritabanından kayıt çekiyoruz fakat makalenin çok uzamaması adına ben manuel kayıt ekleyecem. Çünkü bizim için önemli olan excel ortamına en doğru ve düzgün şekilde aktarmak.

Bu nedenle formumuzun boş bir alanına çift tıklayarak code kısmına geçelim hemen ve formLoad fonksiyonunun dışına aşağıdaki formu yazalım.




private void listviewDoldur()
{
   try
   {
     // 20 tane ürünü dinamik olarak eklemsi için kulandık. artırıp azaltabilirsiniz.
       int urunSayisi = 20;

   // For dönüsü ile ürün sayısı kadar ekleme işlemi yapıyoruz
       for (int i = 0; i < urunSayisi; i++)
       {
         // eklenecek ürünler için örnek bir dizi tanımlıyoruz
           string[] urunler = {
                               "UrunID"+i.ToString(),
                               "Urun Adı " + i.ToString(),
                               "Adet :" + i.ToString()
                               };
           ListViewItem urun = new ListViewItem(urunler); // listview için item tipinde nesne oluşturuyoruz
           listView1.Items.Add(urun); // listview1 adında olan listview nesnemize urun itemini yüklüyoruz
         } // for bitis
   }
   catch (Exception ex)
   {
   MessageBox.Show("Ürün ekleme işlemi sırasında bir hata meydana geldi.\n Hata içeriği:"+ex.ToString());
    }           
}

Yukarıda ki kodun hemen ardından form load loayına aşağıdaki kodu ekleyip projemizi bir çalıştıralım. Bakalım verilerimiz doğru bir şekilde gelecek mi?

private void Form1_Load(object sender, EventArgs e)
        {
            listviewDoldur();
        }

Şimdi projemizi derliyoruz.


Kodlarımız doğruymuş :)

Şimdi ise excel'e aktarma işlemine geçelim. Bunun için öncelikle çalıştırdığımız uygulamayı kapatıp visual studio ortamında ki projemizin kod kısmına geçiyoruz tekrardan.

İlk adım olarak projemize sistem dosyasını çağırıyoruz ve projenin en üstünde bulunan alana aşağıdaki kodu ekliyoruz. Böylelikle referans dosyamızı programımıza dahil etmiş oluyoruz.


using Microsoft.Office.Interop.Excel;
şimdi ise aktarma işlemini gerçekleştirecek olan fonksiyonumuzu yazıyoruz.
        /// 
        ///  ListView verilerini dinamik olarak excel dosyasına aktarır
        /// 
        /// Aktarım Yapılacak ListView nesnesinin IDsi
        public void excelAktar(ListView lw, ProgressBar pb = null)
        {
            try
            {
                Microsoft.Office.Interop.Excel.Application xls = new Microsoft.Office.Interop.Excel.Application();
                Workbook wb = xls.Workbooks.Add(XlSheetType.xlWorksheet);
                Worksheet ws = (Worksheet)xls.ActiveSheet; // çalışma alanı aktif çalışma alanı

                xls.Visible = true; // görünürlük aktif
                #region manuelBaslikalani
                // alanları manuel olarak yazıyoruz
                /*ws.Cells[1, 1] = "Stok Kodu";
                ws.Cells[1, 2] = "Barkod";
                ws.Cells[1, 3] = "Stok Adı";
                ws.Cells[1, 4] = "Stok Miktar";
                ws.Cells[1, 4] = "Stok Grubu";
                ws.Cells[1, 5] = "Stok Markası";
                */
                #endregion
                // Eğer Progress bar nesnesi null değil ise sıfırlama ve ayarlama işlemini gerçekleştir
                if (pb != null)
                {
                    pb.Maximum = Convert.ToInt32(lw.Items.Count.ToString());
                    pb.Value = 0;
                }

                // Şimdi ise dinamik olarak colon bilgilerini alıyoruz ekliyoruz
                for (int i = 0; i < lw.Columns.Count; i++)
                {
                    // alanları manuel olarak yazıyoruz
                    ws.Cells[1, i + 1] = lw.Columns[i].Text.ToString();
                }
                // Şimdi de lw içerisindeki verileri dinamik olarak aktarıyoruz
                int _i = 2; // 2. satırdan itibaren içerikleri doldurmaya başla
                int j = 1;
                foreach (ListViewItem item in lw.Items)
                {
                    ws.Cells[_i, j] = item.Text.ToString();
                    foreach (ListViewItem.ListViewSubItem subitem in item.SubItems)
                    {
                        ws.Cells[_i, j] = subitem.Text.ToString();
                        j++;
                    }
                    j = 1;
                    _i++;
                    // Eğer Progress bar nesnesi null değil ise artırma işlemini yap
                    if (pb != null)
                    {
                        pb.Value = _i - 2;
                    }

                }
                // column sütunları yazı boyutuna göre ayarlıyor
                xls.Columns.AutoFit(); 

               // aktarama işlemi sırasında alabileceğimiz hatalara karşı önlem olarak hata bastırma işlemi yapılıyor
                xls.AlertBeforeOverwriting = false; 
            }
            catch (Exception)
            {
             // hata fırlatıyoruz :)
                throw;
            }
        }

Bir sonraki adıma geçelim. Projemizin grafik arayüzüne geçiyoruz bunun için solution penceresinden Form1 üzerine çift tıklıyoruz. Grafik arabiriminde eklemiş olduğumuz Excel'e Aktar butonuna çift tıklayarak tekrardan kod kısmına geçiyor ve button click olayına aşağıdaki kodu yazıyoruz.

 private void btnAktar_Click(object sender, EventArgs e)
        {
            excelAktar(listView1);
        }

Şimdi ise projemizi derliyoruz. Eğer bir sorun çıkmaz ise işlem tamamdır. Evet her zamanki gibi bir hatamız varmış.

Bu hatada bize referans olarak bir dll dosyasının eksik olarak çağrılması gerektiğini belirtiyor. Peki bu işlemi nasıl yapacağız.

Bunun için hemen solution explorer penceresinden projemiz altından Referances alanına gelip sağ tıklıyoruz.

Resim de numaralandırılmış alana sağ tıklıyoruz.  Add Referance linkine tıklıyoruz. Karşımıza aşağıdaki gibi bir ekran gelecek. Bu ekrandan da Assemblies altında Extensions seçeneğini seçip ilgili dll dosyamızı arıyoruz.



Evet yukarıdaki kütüphanemizi seçip ok tuşuna basıyoruz ve projemizi tekrar derliyoruz.

Evet projemiz çalıştı. Şimdi Excel'e Aktar butonuna tıklayıp programın çalışıp çalışmayacağını kontrol edelim. Hadi Bismillah.



Ve sonuç başarılı :D Hiç hata almadık. Biz bu projemizde excel çıktısına dikkat ederseniz listview başlıklarımızı da dinamik olarak dahil ettik. Siz isterseniz excelAktar fonksiyonu içerisinde bulunan manuelBaslikalani alanı aktif ederek kendi belirlediğiniz başlıkları da ekleyebilirsiniz.


Umarım işinize yarar bir makale olmuştur. Projenin çalıştırılabilir sürümünü de en kısa sürede github üzerinden indirebilirsiniz.

Kaynak için Link1  Link2!

Faydalı olması dileğiyle...

8 Haziran 2015 Pazartesi

Özel Font Yapımı

Merhaba arkadaşlar.

Bugün sizlere kendinize ait özel font oluşturmayı göstereceğim. Bu yazının normal fontlardan farkı font-awesome tarzı icon fontları oluşturabiliyor oluşumuz. Kısacası kendimize ait icon fontlar oluşturup bu fontların sitemizde nasıl kullanılacağını göstereceğim.

Bunun için ilk adım

 http://app.fontastic.me/

adresini ziyaret edip üyelik işlemini gerçekleştiriyoruz. Sonrasında üye bilgilerimiz ile sisteme giriş yapıyoruz. Karşımıza aşağıdaki gibi bir görüntü geliyor.


Görüldüğü gibi karşımıza font oluşturmak için ekranımız geldi. Ben daha önceden örnek font oluşturduğumdan CYFont adında bir alan mevcut bu alan sizde olmayacaktır. Şimdi isterseniz kısa bir bilgi verelim. CYFont alanı dışında Octicon gibi bir çok panel ve bu paneller içinde de özel iconlar var. Siz bu iconlardan kullanmak istediklerinizi üzerine tıklayarak seçebiliyorsunuz ve üst menülerde bulunan Publish butonu ile seçimlerinizin kullanılabilir font halini indirebilirsiniz.

Ama bizim yapacağımız işlem biraz daha farklı. Biz kendi resimlerimizden kendimize özel font yapacağız. Bunun için öncelikle yeni bir font alanı oluşturuyoruz. Bunun için New Font butonuna tıklıyoruz


Hemen sonrasında Untitled font 2 adında bir alan oluşuyor.


Öncelikle isterseniz yukarıda ki resimde işaretli olan Modify Font butonuna tıklayarak alanı yeniden isimlendirelim.











ekranda görüldüğü gibi isimlendirip Save butonuna tıklayıp güncelleme işlemini gerçekleştiriyoruz. Ben buraya örnek olması açısından FontOlusturma2 dedim siz isterseniz kendinize özel isimlerde bırakabilirsiniz.

Şimdi bir sonraki adım olan resimden icon yapma işlemine geçelim. Ama bunun öncesinde resimlerimizi Svg formatına çevirmemiz gerekiyor. Kısa bir aramayla bir çok site bulabilirsiniz.

Örnek olarak google arama motoruna image to svg dediğimiz zaman karşımıza gelen ilk sırada ki

http://image.online-convert.com/convert-to-svg

adresine tıklıyoruz ve karşımıza gelen alanda aşağıda ki gibi işlemlerimizi yapıyoruz. Ben örnek olsun diye 3 adet resim seçtim. Siz kullanmak istediğiniz bir resim seçebilirsiniz.

Yanlız unutmadan 3 resmi aynı anda seçmeyin. aksi halde convert işleminde tek bir dosya olur. Bu nedenle dönüştürmek istediğiniz resimleri teker teker seçip aşağıdaki butona tıklayın. Tabi aşağıdaki resmi incelerseniz bir sürü ayar mevcut siz kendinize göre ayarlayabilirsiniz. Ben örnek olması açısından ayarlara dokunmuyorum.



















Evet yukarıdaki butona tıkladığımızda bize bir adet .svg uzantılı dosya indirecektir. Biz kaç adet dönüşüm yapacaksak o kadar dosyamız elimizde olacaktır.Hemen dönüşümlerimizi yapalım ve ardından asıl işlemi yapacak olan font sitemize tekrar dönelim.

Şimdi font sitemizde öncelikle sayfanın en üstünde bulun Add More Icons linkine tıklıyoruz.

Sonrasında ise Import Icon butonuna tıklıyoruz.



Yukarıda ki adımları uyguladığınızda karşınıza aşağıdaki gibi ekranlar gelecektir.

Ekran bir
 Ekran 2
Gördüğünüz gibi .svg uzantılı dosyalarımız seçip dediğimiz anda yükleme ekranı karşımıza geldi. Burada bize 2 ikonun yüklendiği fakat 1 ikonun ise geçersiz yükleme olduğunu söylemektedir. Neyse bizim için 2 tanede yeter şimdilik :)

Ok butonuna ardından da sayfanın en üstünde bulunan Home linkine tıklayarak ana pencereye dönüyoruz.

Görüldüğü gibi New Set Kategorisi altında 2 Icons bulunduğunu söylüyor.
Biz istersen hemen resmin sağ tarafında görüldüğü gibi Menu ye tıklarsak açılan alandan yeni ikon ekleyebilir, Kategorimizin adını değiştirebilir ve komple kategoriyi silebiliriz. Ben öncelikle Görünen adı değiştiriyorum.

Şimdi ise yukarıda ki resimde ki gibi önce ikonları seçiyorum, sonrada 2 numara ile gösterilen PUBLISH butonuna tıklıyorum. Dikkat ederseniz biz 2 adet ikon seçmiştik ve bu seçim sonunda Publish butonu üzerinde ki sayıda 2 oldu. Buda şu demektir. Biz farklı bir kaç ikon daha seçili hale getirirsek toplam seçili ikon sayısı Publish alanı üzerinde görülecektir. Lafı uzatmadan hemen PUBLISH butonuna tıklayıp son aşamaya geçiyoruz.



Şimdi gelelim numaralandırılan yerlerin açıklamasına.

1-) Publish butonuna tıkladığımda bize bu ikonların kullanımı için gerekli olan css dosyasını internet üzerinden çekebileceğimiz ve diğer insanlarla paylaşabileceğimiz bir adres veriyor.

Örnek: <link href="https://fontastic.s3.amazonaws.com/fnCfw7Nf8M7oUKguMXdyMd/icons.css" rel="stylesheet">

2-)Download ise adından da anlaşılacağı üzere css ve font halini indirebilecek şekilde bir hazırlık yapıyor

3-) Numaralı alan ise örneğin i tagı içerisine nasıl dahil edebileceğimizi gösteriyor

// örnek bir 
<i class="icon-bar-code"></i>

// veya 
<i class="icon-calculator"></i>


Şeklinde kullanabiliyoruz.
Son olarak 4 numaralı alan ise css tarafında data-icon="a" tarzı çağırımlar için kullanılıyor.

Lafı daha fazla uzatmadan download butonuna tıklıyoruz.


Görüldüğü gibi bize .zip uzantılı bir dosya verdi. Bu dosya içeriği de resimde görüldüğü gibidir.
Ayrıca .html uzantılı sayfada ise kullanımla alakalı bir örnek mevcuttur. Zaten daha önceden font-awemesome tarzı bir kullanım yaptıysanız, nasıl kullanacağınızı bilirsiniz. Bilmeyenler içinde mevcut sitenizin klasörününe fonts ve sytles.css dosylarını yükleyip, web sayfanızda css dosyanızı çağırıyorsunuz. Sonrasında ise 3 nolu adımda ki işlemi uygularsanız tamamdır. Son olarak unutmadan styles.css ile fonts klasörü aynı yerde olmalı. Aksi halde çalışmayacaktır. Tabi bunun içinde çözüm çok basit css dosyası içerinden fonts klasörünün yeni yerini gösterir iseniz bu sorunda ortadan kalkacaktır.

Makalemiz biraz uzun oldu ama umarım işinize yarar bir makale olmuştur.

Ayrıca makale ile ilgili video aşağıdadır.




Kaynak Kodlar için Tıklayınız.

Faydalı olması dileğiyle.


7 Haziran 2015 Pazar

Android Sanal Tuş (Navigation Bar) Etkinleştirme



Bu işlem için ROOT gereklidir.


Gerekli Uygulama : Root Explorer


Adımlar :


1: İlk olarak cihazımıza Root Explorer'ı yüklüyoruz. Yükledikten sonra Root Explorer'ı açıp Mount R/W yazan yere tıklayıp supersu dan root erişimini sağlıyoruz.Erişim verdikten sonra mount r/o olacak.


2: Uygulamayı açtıktan sonra system klasörüne giriyoruz














3: Burda bulunan build.prop dosyasına uzun basarak Open In Text Editör ile açıyoruz
4: En aşağıya gelip qemu.hw.mainkeys=0 yazıp save changes e  tıklayıp kayıt edip çıkıyoruz ve cihazı yeniden başlatıyoruz

Php mobil yönlendirme & Php ile browser bilgisi öğrenme

Merhaba arkadaşlar bu yazımızda php ile mobil cihaz algılama ve browser bilgisi almayı öğreneceğiz.

Lafı fazla uzatmadan kodları yazalım. bunun için wampserver da www klasörümüz içerisinde phpdersleri klasörü altında browserbilgileri.php adında bir dosya oluşturdum.

browserbilgileri.php 

<?php
$browser_type = $_SERVER["HTTP_USER_AGENT"]; 

 if( strpos($browser_type,'Chrome')){
  echo 'Chrome Kullanıyorsunuz..';
 }
 else if(strpos($browser_type, 'Firefox')){
  echo 'Firefox Kullanıyorsunuz..';
 }
 else if(strpos($browser_type, 'Android')){
  echo 'Android Kullanıyorsunuz..';
 }
 else if(strpos($browser_type, 'iPhone')){
  echo 'iPhone Kullanıyorsunuz..';
 }
 else if(strpos($browser_type, 'Windows Phone')){
  echo 'Windows Phone Kullanıyorsunuz..';
 }
 else if(strpos($browser_type, 'rv:11.0')){ //İnternet explorer 11 için
  echo "Explorer 11 Kullanıyorsunuz..";
 }
 else if(strpos($browser_type, 'Safari')){
  echo "Safari Kullanıyorsunuz..";
 }
 else if(strpos($browser_type, 'MSIE')){
  echo "internet explorer Kullanıyorsunuz..";
 }
?>

kodlarını yazıyoruz. Bu kodlar ile hangi browserı kullanıyor isek onun adını yazdırıyoruz. Siz isterseniz header(Location)  ile m.siteadiniz.com subdomaine de yönledirebilirsiniz. Tabi browserlar bunlarla kısıtlı değil daha derin bir araştırma ile browser kodlarını bulabilir ve daha farklı browserlarıda algılayabilirsiniz.


Faydalı olması dileğiyle.

Php ile ziyaretçinin ip adresi ve işletim sistemini öğrenme

Merhaba arkadaşlar.

Bildiğiniz gibi php server side yani sunucu taraflı çalıştığından ötürü php ile kullanıcılarınızın bilgisayarı hakkında bilgi elde edemezsiniz. Fakat elde edebileceğimiz bir takım bilgiler tabiki de var. Ama bu bilgiler dışında daha derinlemesine bilgi için 3 parti bir yazılım geliştirmeniz veya kullanmanız gerekmektedir. Peki biz hangi bilgileri alabilir. Alabileceğimiz bilgilerin başında kullanıcılarımızın ip adresi gelmektedir. Bu adres yardımı ile loglarda güvenlik için kullanabilirsiniz.
Bunun yanı sıra browser bilgisi elde edilebilir. Sadece browser dediğime bakmayın neredeyse işletim sistemi ne varıncaya kadar bilgi içerir. Bunun yanında tabi ki belli başlı özellikler yine vardır fakat biz şu an için ip adresi ve işletim sistemi gibi bilgileri alacağız. Php ile ilgili daha detaylı bilgi için mutlata Php.net adresini ziyaret etmelisiniz.

Şimdi örnek kodumuza geçelim

<?php
/*
* Geçerli sayfayı görüntüleyen kullanıcının IP adresidir.
*/
$ip_adresi=$_SERVER['REMOTE_ADDR'];
echo $ip_adresi."<br/>";
/*
* Geçerli sayfayı görüntüleyen kullanıcının sunucu adıdır.
*/
$hostname=gethostbyaddr($_SERVER['REMOTE_ADDR']);
echo $hostname."<br/>";
/*
* Geçerli sayfayı görüntüleyen kullanıcının tarayıcı bilgileri.
*/
$hostname=$_SERVER['HTTP_USER_AGENT'];
echo $hostname."<br/>";

?>



Ekran Görüntüsü

Kodunu çalıştırdığımızda yukarıda ki gibi bir ekran görüntüsü elde ederiz.

Görüldüğü gibi bilgisayar adımızı ip adresimizi ve browser bilgilerimizi almış bulunmaktayız.
Unutmada ::1 dediği olay localhost da çalıştırdığımızdan oldu. Sunucu ortamında çalıştırır iseniz gerçek ip adresini öğrenebilirsiniz.

DellPC dediği olay bilgisayarımızın kullanıcı adı

Mozilla ile başlayan yerdeki Windows NT 6.2 Win-8 Wow64 ise x64 bit olduğu anlamına gelmektedir. Tabi bunları daha kullanışlı hale getirmek için php ile parçalama işlemi yapabilirsiniz.

Umarım faydalı olur.


Root Nedir ? Ne İşe Yarar ?

1. Root Erişimi Nedir ?
“Root” sözcüğü linux sistemlerindeki en yetkili kullanıcıyı ifade eder. Windows sistemlerinde bu kullanıcıyı “Administrator” olarak biliyoruz. Telefonunuza root erişimi sağlamak da işletim sistemini modifiye edilerek size “root” kullanıcısının haklarını vermek, böylece sistem üzerinde tam kontrol hakkı tanımaktır. Bunu da sisteme su (superuser) programını yükleyerek isteyen programlara bu yetkiyi tanıyarak gerçekleştirir.Bu sayede telefonunuz üzerinde gelen gereksiz programlardan kurtulmaya tutun da, hosts dosyasını değiştirmek, hatta telefonunuza başka bir ROM yüklemeye kadar root olmadan yapamayacağınız bir çok işlemi yapmanızı sağlamakta. Root işlemi cihazınızı garanti dışı bırakabilir,bazı yöntemler ile tekrar garanti içine alınabilir.



2. Root İşleminin Yararları 
Root işlemini Sistem üzerinde TAM KONTROL sağlar. 
Root işleminin en temel yararı, size sistemin daha önce erişemediğiniz köşelerine, detaylarına erişim hakkı (sadece okuma hakkı değil, yazma / değiştirme hakkı da) sunmasıdır. Bu sayede tüm sistem dosyalarını silebilir, değiştirebilir, yeni temalar yükleyebilir, gereksiz sistem programlarını sistemden kaldırabilirsiniz.


Örneğin:

1: Samsung,HTC,LG vb. şirketlerin kendi uygulamalarını kaldırabilir cihazda büyük ölçüde hafızada yer açabilirsiniz.
2: Cihazı Overclock yaparak biraz daha üst düzey performans alabilirsiniz
3: Cihazı kişiselleştirebilir ve yeni temalar yükleyebilir ve bunlar gibi birçok şey yapabilirsiniz


ASP.NET MSSQL'den Excel'e Veri Aktarma

Merhaba arkadaşlar.

Bu yazımızda Asp.net (c#) ile uygulama geliştiren arkadaşların işine yarayacağını düşündüğüm bir kodu paylaşmak istiyorum. Bu kod asp.net ile geliştirmiş olduğunuz sistemde gridview içerisine çekmiş olduğunuz bilgileri excel ortamına aktarmanıza olanak sağlıyor. Kod basit olup daha detaylı excel ortamı için bir sonraki yazımızı takip etmenizi öneriyoruz. Şimdi dilerseniz kod ortamına geçelim.
Bunun için öncelikle visual studio ide'mizde asp.net empty project ile boş bir asp.net projesi oluşturuyoruz. Şimdi solution ekranında projemiz üzerinde sağ tıklayıp Add -> new web form adımlarını izleyerek Default.aspx adında boş bir sayfa ekliyoruz.

Şimdi ise default.aspx sayfasına çift tıklayarak açıyoruz ve sayfamıza bir adet gridview ekliyoruz

Bunu isterseniz tools sekmesinden sürükle bırakla isterseniz Html tarafında kod ile ekleyebilirsiniz.
Biz sürükle bırak yöntemi ile bir adet gridview ekrana bırakıp hemen html tafına geçiyor ve adını düzeltiyoruz.

<asp:gridview id="gvKayitlar" runat="server"></asp:gridview>

Örnek olarak gvKayitlar adını kullandım.

Bunun hemen ardından design kısmında formumuza bir adet buton sürükleyip bırakıyoruz. Butonumuzun adı da btnaktar olsun

şimdi Ctrl+F7 veya design bölümündeyken ekrana çift tıklayarak c# kod bölümüne geçiyoruz.

Burada öncelikle database işlemlerimizi gerçekleştiriyoruz. Biz bu adımı yapmayacağız çünkü bu işlemleri bildiğinizi var sayıyorum.

Örnek gridview doldurma fonksiyonumuz

private void gvDoldur(){
    // kendi kullanmış olduğunuz bir sınıfınız var ise siz onu kullanın ben örnek olsun diye aşağıdaki 
    //şekilde kullandım
 DataTable dtKayitlar = cyMetodlar.GetDataTable("Select * From kullanicilar");
// gridView nesnemizin dataTable dan kayıt çekeceğinizi söylüyoruz
 gvKayitlar.DataSource = dtKayitlar; 
// gridView nesnemize yüklenen kayıtları görünmesi için DataBind fonksiyonunu çağırıyoruz
 gvKayitlar.DataBind();
}


Şimdi ise bizim için en önemli kısma geldik. Kayıtlarımızı excele aktarma fonksiyonu
private void ExceleAktar()
{
    Response.Clear();
    Response.AddHeader("content-disposition", "attachment;filename=TumKatilimcilar.xl
    Response.Charset = "";
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.ContentEncoding = System.Text.Encoding.GetEncoding("windows-1254");
    Response.Charset = "windows-1254";
    Response.ContentType = "application/vnd.xls";
    System.IO.StringWriter stringWrite = new System.IO.StringWriter();
    System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
    string header = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<title></title>\n<meta http-equiv=\"Content-T />\n<style>\n</style>\n</head>\n<body>\n";
    form1.Controls.Clear();
    form1.Controls.Add(gvListe);
    form1.RenderControl(htmlWrite);
    Response.Write(header + stringWrite.ToString());
    Response.End();
}


Sayfamız ilk yüklendiğinde çalışacak kodumuz

protected void Page_Load(object sender, EventArgs e)
{
  gvDoldur(); // fonksiyonumuzu çağırıyoruz
}

bu işlemlerin ardından butonumuza tıklandığı zaman verilerimizi aktarmak için buton click olayına aşağıdaki kodu yazıyoruz

protected void btnaktar_Click(object sender, EventArgs e)
{
  ExceleAktar()
}

Hepsi bu kadar şimdi ise default.aspx sayfasına sağ tıklayıp Preview  linkinden browser ortamında çalıştırıyoruz.


Faydalı olması dileğiyle

C# rastgele (random) sayı üretmek

Merhaba arkadaşlar.

C# programlama dilini kullanan arkadaşlar için bazen bazı projelerde rastgele sayılar üretmek gerekebilir. Örneğin bir desktop ortamında yada web ortamında(asp.net) c# temelli geliştirmiş olduğunuz bir sisteminiz var. Bu sistemde de mevcut kullanıcılarınız var. Şimdi kullanıcılarınızı tanımak için bir foto yüklemesi yapmak ve böylelikle hangi fotonun hangi kullanıcıya da ait olduğunu öğrenmek istiyorsunuz. Buraya kadar her şey normal. Şimdi gelelim ikinci senaryoya her kullanıcının malum bir adet resmi olacak siz normal yollarla yükle yaparsanız fotoğrafın orjinal ismine denk gelen başka bir resmi önceden yükledi iseniz otomatik olarak iki kullanıcın resmi aynı olacak. Peki ne yapacağız. Birinci adım her resme özel bir isim vermek.(tabi birazda önceki resimlerin isimlerini hatırlamanız gerekecek.)
İkinci adım ise rastgele sayılar ile benzersiz isimler üretmek. Bunun için ne yapmalıyız.

Bunun için çok basit bir kod paylaşacağım.

Random rnd = new Random(); // Random metodunu çağırıyoruz
string rastgeleSayi = rnd.Next(100000000, 999999999).ToString(); 
// burada ise 100 milyon ile 999 milyon arasında rastgele sayılarımızı almış bulunmaktayız.
// buda yaklaşık 9 farklı sayı demek oluyor.

artık resminizin uzantısı alıp elde etmiş olduğunuz yeni veri ile birleştirirseniz, benzersiz resim yükleme işlemini gerçekleştirebilirsiniz.

faydalı olması dileğiyle


GUID ile rasgele metin oluşturma

Merhaba arkadaşlar.
Bildiğiniz gibi GuID global olarak benzersiz ıd bilgisi demektir. Yani dünya çapında aynı id bilgisine sahip kayıt alamaz ve ürettiğiniz her guid size özel olur.
Peki biz bu GUID bilgisini nasıl oluşturabiliriz.
GUID için önce c# tabanlı bir proje oluşturuyoruz.
Sonra ;
ile benzersiz kimliğimizi oluşturmuş oluyoruz. Bu kodu çalıştırdığınızda aşağıdakilerine benzer 32 bit uzunluğunda bilgiler elde edersiniz.

Ayrıca: ToString() metodunu kullanarak (“N”, “D”, “B”, “P”) çeşitli formlarda bu bilgiyi kullanmak da mümkündür. Örneğin:

Faydalı olması dileğiyle



Alıntı

Asp.Net Html Karakter Temizleme

Merhaba arkadaşlar.
Aramızda asp.net tabanlı web uygulama geliştiren arkadaşlar için örnek html karakterlerini (html kodlarını )temizleme fonksiyonu.


#region HtmlTemizle
        public string HtmlTemizle(string veri)
        {

            string icerik = veri;
            try
            {
                if (string.IsNullOrEmpty(icerik)) { icerik = string.Empty; }
                else {
                    icerik = HttpContext.Current.Server.HtmlDecode(icerik);
                    // tüm tagları temizlemek için aşağıdakini kullanıyoruz
                    icerik = Regex.Replace(icerik, @"<(.|\n)*?>", string.Empty);
                }
                return icerik;
            }
            catch (Exception)
            {

                return string.Empty;
            }
        }
        #endregion



Yukarıda ki fonksiyona string türünden göndermiş olduğunuz yazılarda bulunan tüm html kodlarını temizlemiş olursunuz.


Faydalı olması dileğiyle


Cloud Yazılım

c# form boyutunu sabitlemek

Merhaba arkadaşlar

C# projelerimizde bazen formlarımızı tasarım gereği sabitlemek isteyebiliriz.
Örneğin program sırasında kullanıcı bir bilgi ekledi veya güncelleme yaptı. Bizde bu değişiklik konusunda kullanıcıyı msn tarzı sayfanın sağ alt köşesinde beliren ve sabit olan bir form ile uyarmak istiyoruz. Bunun için yapmamız geren aşağıdaki kod ile formu sayfanın tam sağ alt kösesinde sabit tutmak.

Form_Load olayına

this.Height = 200; // form yüksekliği
this.Width = 200; // form genişliği
this.BorderStyle = FormBorderStyle.None; // form çerçevesi olmayacak
this.Left = Screen.PrimaryScreen.WorkingArea.Right - this.Width; // ekran genişliği
this.Top = Screen.PrimaryScreen.WorkingArea.Bottom - this.Height; // ekranın yüksekliği
// ekran genişlik ve yüksekliklerinden form genişlik ve yüksekliğini çıkarırsak
// ekranın sağ alt köşesini bulmuş oluruz


yukarıda ki kodları yazmamız yeterli olacaktır.

Bunun içinde örneğin iki form oluşturup
ilk formda bir buton ekleyip butona çift tıkladığımız zaman

Form2 frm2 = new Form2();
frm2.Show()


ile form2 penceresini açabiliriz. Form2 load olayınada en üstteki kod bloğunu eklediğinizde tam anlamı ile istediğiniz olacaktır.

Faydalı olması dileğiyle

c# form kontrol düğmelerini gizlemek kaldırmak

Merhaba arkadaşlar.

C# projelerimizde bazen pencerede bulunan kontrol tuşlarını (tabiri caiz ise üst üç tuşları) kapatmak onun yerine de programın belirli bölgelerine bu kontrol tuşlarını kendimiz eklemek isteyebiliriz. Fakat control tuşlarını kapatırken de pencere başlık olanın kalmasını istediğimizde yapmamız gereken;

Formu seçip, Properties penceresinden ControlBox özelliğini  “False” olarak seçmek istediğimizi yapmak için yeterli olacaktır.


Faydalı olması dileğiyle

cloud yazılım

Visual studio 2013 to 2010

Merhaba arkadaşlar.

Visual studio 2013 ile oluşturduğunuz projeler örneğin 2010 ile açılmaz. Daha doğrusu bir üst versiyonda oluşturulan programlar bir alt versiyonda açılmaz. Fakat visual studio da projelerimizi alt versiyonlarda açmak mümkün.

Bunun için öncelikle vs.2013 ile projeyi oluşturduğumuz dizine gidip, örneğin ;

 Odev.sln  dosyası olsun.

Bu dosyayı notepad++ ve ya benzeri bir editör programı ile açıp

Format Version 12.00

yazan yerde ki versiyon numarasını 

11.00

olarak değiştirip kaydediyoruz. Sonrasında ise projemiz visual studio 2010 da çalışmaya hazır.


Faydalı olması dileğiyle

cloud yazılım

C# exe dosyasının çalıştığı dizini öğrenme

Merhaba arkadaşlar.
Bir çoğumuz c# da form pencereleri oluşturmuş hatta uygulama geliştirmişizdir. Ve bazen öyle bir an olmuştur ki oluşturmuş olduğunun .exe dosyasının çalıştığı dizinin yolunu öğrenmek gerekmiştir.
Örneğin : C# projenizde MsSql yerine Firebird veritabanını kullanmak istediniz ve veritabanıda standart olarak exe dosyasının yanında olacak. Yani müşteri programı C sürücüsüne değilde D sürücüsüne kurdu sonrada vazgeçti kurduğu programın dosyalarını E sürücüsüne taşıdı.
Peki şimdi ne olacak. İşte tam bu noktada ;

 Directory.GetParent(Application.ExecutablePath)

fonksiyonu yardımımıza yetişiyor. Peki bu fonksiyonu nasıl kullanacağız.
Fonsiyonu kullanmak için ilk önce

using System.IO;
Kütüphanesini projemizin en üst kısmına ekliyoruz
Sonrasında ise

string dosyaYolu = Directory.GetParent(Application.ExecutablePath).toString(); 

şeklinde dosyanın daha doğrusu çalışan exe nin dizinini öğrenebiliyoruz. Bu bilgi ile de veritabanımıza artık ulaşabiliriz.

Faydalı olması dileğiyle…

Php Api ile Hava Durumu Öğrenme

Merhaba arkadaşlar bugün sizlere php ile api key kullanarak kolay bir şekilde hava durumu almayı anlatacağız. Bunun için php ile kod yazmadan önce api key oluşturacağımız siteye gidip üye olmamız gerekmektedir.

http://www.worldweatheronline.com/api/compare.aspx

adresine tıklıyoruz ve buradan “free api” başlığı altında en altta bulunan “sing up now free api” butonuna tıklıyoruz. karşımıza gelen formda email hesabımızı ve şifremizi bunun yanında kullanacağımız ismi giriyoruz. Hemen ardından belirttiğimiz email adresine giriş yaparak gelen mailde bulunan onay linkine tıklayarak hesabımızı onaylıyoruz. Hesap onaylandıktan sonra
panelde Free-Weather-API-V2 başlığı altında Generate new api key linkine tıklayarak kendimize bir api oluşturuyoruz. Burada bizden api için uygulama başlığı yazmamızı isteğe bağlı olarak da yayınlanacağı site ve kısa bilgi istiyor isterseniz bu alanları boş geçebilirsiniz. Hemen sonrasında ise bize bir adet api key oluşturup bizi tekrardan

https://developer.worldweatheronline.com/

adresine yönlendiriyor. Bu sefer karşımıza belirlediğimiz uygulama ismi ile hemen yanında uzunca bir api key (api anahtarı) yazısı gösteriliyor.
Buraya kadar tamam ise şimdi hiç lafı uzatmadan php tarafına geçerek küçük bir kod yazalım.

$havaApi   =   file_get_contents("http://api.worldweatheronline.com/free/v2/weather.ashx?q=istanbul&format=json&num_of_days=5&key=Api Key Yazınız");
$_json     =   json_decode($havaApi);


yukarıda ki kodlarda ilk satırda api key bilgisi girerek uzak sunucudan json formatında veri çektik.
ikinci satırda ise elde ettiğimiz json kodlarını decode ederek bir nevi dizi haline getirdik.

şimdi ise elde ettiğimiz bilgileri gösterme zamanı

foreach($_json->data->weather as $havaVeriler){
 echo "Gün : " . $havaVeriler->date ." Derece : " . $havaVeriler->mintempC .'&deg; ile '. $havaVeriler->maxtempC. "&deg;<br>";



Yazmamız gereken tüm kodlar ve adımlar bu kadardı. :D
Ekran Çıktısı

Gun : 2014-12-26 Derece : 10 ° ile 18 °
Gun : 2014-12-27 Derece : 4 ° ile 10 °
Gun : 2014-12-28 Derece : 3 ° ile 11 °
Gun : 2014-12-29 Derece : -4 ° ile 12 °
Gun : 2014-12-30 Derece : 6 ° ile 10 °



Evet anlatacaklarımız, yazacağınız kodlar ve adımlar bu kadardı. Toplam 4 satır kod ile 5 günlük hava durumunu almış olduk.
Not : &deg; ile yazdığım yerler aslında önizlemede °C görünmesi gerekiyordu fakat eklentide sorun olduğundan &deg; ile değiştirmek zorunda kaldım. Sizin uygulamalarınızda bir sorun çıkmadan kullanabilirsiniz.
Tabi bunun yanında bize gelen kodlar bununla sınırlı değil. Örnek olarak elde ettiğiniz json kodunu json viewer ile görüntülerseniz. Hava raporunun saat bazında tahminlerini de bulabileceksiniz. Ama bu hem şu an için gereksiz hemde ekstradan fazla kod ve sunucu yorgunluğu oluşturacaktı. Unutmadan biz burada derece olarak C cinsinden işlem yaptık siz isterseniz

 mintempF ve maxtempF

ile Fahrenayt olarak da bilgi çekebilirsiniz.
Bunun yanında eğer 5 günlük hava tahmini yetmez derseniz belli bir ücret ödeyerek premium hesap açabilir ve daha detaylı bilgi edebilirsiniz. Ayrıca free olarak oluşturduğumuz hesap ile günlük 12.000 istek gerçekleştirebiliyoruz ki bu zaten bir çok işlem için fazlası ile yeterli. Tabi bunu aşmanında çeşitli yolları yok değil. En basitinden çektiğiniz json verilerini cache dosyasında tutup her saat başı yada belirli zamanlarda bu dosyayı güncelleyebilirsiniz ve bu dosyadan bilgileri çekersiniz. Buda saat başı aldığınız verileri cacheleyerek günde sadece 24 istek yaparsınız ve 11.976 istek boşta kalır


:D

Faydalı olması dileğiyle.

Blog

Cloud Yazılım