bildirgec.org

warnsdorff hakkında tüm yazılar

C# ile Class içerisinden Cookie Oluşturup Okuyup Silelim

admin | 02 November 2010 13:03

Website geliştiricilerinin genellikle kullanıcılarına bazı özellikler ve sitelerine tekrar girdikleri zaman görmelerini istedikleri verileri saklamak için kullandıkları en önemli araçlardan biri de Cookilerdir. Şimdi beraber class kullanarak sitemizde istediğimiz zaman her yerde kullanıp kod kalabalığı yaratmadan cookiler üzerinde işlemler gerçekleştirecez.

Visual Studio üzerinden açtığımız Web projemize claasımızı ekleyelim

classımızın ismini belirttikten sonra koddlammamıza başlayabiliriz

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Sf.CmsB2C.Utility.B2C
{
public static class CookieManager
{
//cookie oluşturmak ve veri eklemek için fonksiyonumuza başlayalım
public static void Write2Cookie(string cookieType, string cookieName, string cookieValue)
{
//cookie mizi oluşturduk
HttpCookie cookie;
int cookieCount = 0;// varsa cookimiz içerisindeki verimizi sayacak olan counter
if (System.Web.HttpContext.Current.Request.Cookies[cookieType] != null)
{
//cookie zaten var ise içinni okuyup count edilen değerden sonrasına
// verimi ekliyeceğim
cookieCount = System.Web.HttpContext.Current.Request.Cookies[cookieType].Values.Count;
cookie = System.Web.HttpContext.Current.Request.Cookies[cookieType];
cookie.Values[cookieName + cookieCount.ToString()] = cookieValue;
System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
}
if (System.Web.HttpContext.Current.Request.Cookies[cookieType] == null)
{
//cookie boş değer döndüğü için yeni bir cookie oluşturup verilerimi atıyorum
cookie = new HttpCookie(cookieType);
cookie.Values[cookieName + cookieCount.ToString()] = cookieValue;
System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
}
}
public static void DeleteCookie(string cookieType)
{
System.Web.HttpContext.Current.Request.Cookies.Remove(cookieType);
}
/// <summary>
/// cookie ismi string halinde yollanır return değeri string List türündendir
/// ve cookie deki son kayıt list in ilk kaydı olacak şekilde ters sıralama ile return yapar
/// </summary>
/// <param name="cookieType"></param>
/// <returns></returns>
public static List<string> ReadCookie(string cookieType)
{
List<string> readedCookie =new List<string>();
if (System.Web.HttpContext.Current.Request.Cookies[cookieType] != null)
{
int count = System.Web.HttpContext.Current.Request.Cookies[cookieType].Values.Count;
for (int i = count-1; i >=0 ; i--)
{
readedCookie.Add(System.Web.HttpContext.Current.Request.Cookies[cookieType].Values[i]);
}
}
return readedCookie;
}
public static List<string> ReadCookie(string cookieType , int numberOfCookie)
{
List<string> readedCookie = new List<string>();
int difference = 0;
if (System.Web.HttpContext.Current.Request.Cookies[cookieType] != null)
{
int count = System.Web.HttpContext.Current.Request.Cookies[cookieType].Values.Count;
if (numberOfCookie <= count)
{
difference = count - numberOfCookie;
}
for (int i = count - 1; i >= difference ; i--)
{
readedCookie.Add(System.Web.HttpContext.Current.Request.Cookies[cookieType].Values[i]);
}
}
return readedCookie;
}
}
}

C# .ASCX ve Class Kullanarak Basit Facebook Share Yapalım

admin | 01 November 2010 16:52

Birçok sitede karşımıza çıkan ve facebook twitter gibi sosyal ağlarda paylaşım yapmamızı sağlayan küçük butoncuklar görüyoruz. Aslında bu sistemi yapmak çok kolay, parayla dahi satılan bu özellikleri facebook ve twitter gibi sosyal ağlar kendi içlerinde geliştirdikleri classlarıyla sizen sadece belli bir adrese sayfa adresinizi göndermenizi istiyorlar gerisi onlara ait.

Şimdi projemize geçelim; Sitenizin her yerinde kullanabilmenizi sağlamak amacıyla class ve user control denilen asp.net in bize sunduğu “.ascx” file’ını kullanacağız.

Öncelikle Class’ımızı oluşturalım

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Sf.CmsB2C.Bal.B2C
{
public static class FaceTwitSharer
{
public static void Sharer (int faceOrTwitOrFeed)
{
string sharedPageUrl = System.Web.HttpContext.Current.Request.Url.ToString();
string[] webSite = new string[3];
//facebook paylaşım adresimiz
webSite[0] = "http://www.facebook.com/sharer.php?u=";
// twitter paylaşım adresimiz
webSite[1] = "http://twitthis.com/twit?url=";
// ve son olarak Friendfeed ulaşım adresimiz
webSite[2] = "http://www.friendfeed.com/share?link=";
//adressleri gördüğünüz gibi bir string array a aktardım ve butanumdan
// gelecek olandeğeri konrol edip gerekli adresi çağırıyorum
if (faceOrTwitOrFeed == 0)
{
//response redirect işlemine class içinde ulaşmak için tüm yolu yazmamız
// gerekiyor
System.Web.HttpContext.Current.Response.Redirect(webSite[0]+sharedPageUrl);
}
if (faceOrTwitOrFeed == 1)
{
System.Web.HttpContext.Current.Response.Redirect(webSite[1] + sharedPageUrl);
}
if (faceOrTwitOrFeed == 2)
{
System.Web.HttpContext.Current.Response.Redirect(webSite[2] + sharedPageUrl);
}
}
}
}

C# ile UDL (Universal Data Link) Veritabanı Bağlantısı

admin | 22 October 2010 15:34

Veritabanı kullanan işlemlerimizde sabit Provider Name yerine değişken bir yapı kullanmak için UDL ile bağlantı yapabiliriz.

udl görünümü
udl görünümü

UDL aslında alışık olduğumuz bir arayüz. Veritabanı işlemleri yaparken Provider’ımızı seçmek için kullandığımız arayüzü görünce hatırlarsınız.

udl ekranı
udl ekranı

Şimdi C# ile bunu nasıl kullanacağımıza bakalım.
Öncelikle formumuza aşağıdaki gibi 2 buton, 1 multiLine özellikli textbox ekleyerek başlayalım. Butonlardan bir tanesi UDL ile bağlantımızı sağlarken, diğeriylede UDL içindeki provider’ımızı okuyup textbox’ta göstereceğiz.

Google Maps Api v3 ile Tıklanan Noktalar Arası Yol Tarifi Alma

admin | 19 October 2010 16:31

Maps api yeni versiyonu ile birçok nesne isimi değişikliğe uğradı. Yani yeni bir kodlama çatısı oluştu. Bu çatı ile yol tarifi alımı birçok projede kullanılabilir. Aşağıda ise basit sayılan bir örnek ile bu özelliği açıklamaya çalışacağım.
Önce apimizi HTML e ekliyoruz.

1
<script type="text/javascript" src="http://arsiv.pilli.com/http://maps.google.com/maps/api/js?sensor=true"></script>

Bu arada yeni çatı ile artık alan adınızı kayıt ettirmenize gerek kalmıyor, direk kullanabiliyoruz.
Gerekli kodlar ise şu şekilde

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
var map;
var directionDisplay;
var directionsService;
var stepDisplay;
var clicks=[];
function initialize() { // body elementine onload="initialize()" ile bu fonksiyonu göstererek sayfa açıldığında yüklenmesini sağlayacağız
directionsService = new google.maps.DirectionsService(); //Bu satır ile yön tarifi hizmetini kullacağımızı belirtiyoruz
var adimlar;
var istanbul = new google.maps.LatLng(41.01521967187517, 28.98130334943846);//haritamızın merkezini belitiyoruz
var myOptions = {
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: istanbul
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);//son olarak haritamızı hengi elemana koyacağımızı ve gerekli özellikleri ile birlikte ekrana veriyoruz
var rendererOptions = {
map: map, // hangi haritada çıkacağı
draggable: true, // oluşturulan çiginin sürüklenbilirmi olacağı
}
directionsDisplay = new google.maps.DirectionsRenderer(rendererOptions) //yön tarifi için gerekli ayarların bu şekilde veriliyor
stepDisplay = new google.maps.InfoWindow();
google.maps.event.addListener(map, 'click', function(event) {// burada tıklama ile alınan koordinatları bir diziye aktarıyoruz
if(typeof(clicks[0])=='undefined'){
clicks[0]=event.latLng;
}else{
clicks[1]=event.latLng;
calcRoute();// eğer ilk tıklama yapılmış ise 2. yide alıp tarifimiz gösteren fonksiyonu çağırıyoruz
}
});
}
function calcRoute() {
var start =clicks[0];
var end =clicks[1];
var request = {
origin: start,
destination: end,
travelMode: google.maps.DirectionsTravelMode.WALKING // WALKING DRIVING yada CYCLING
};
directionsService.route(request, function(response, status) {// tarif için gerekli isteğimizi yapıyoruz
if (status == google.maps.DirectionsStatus.OK){
directionsDisplay.setDirections(response);
}
});
}

Açıklamaları genellikle kod içinde vermeye çalıştım. Harita ve yön tarifi için gerekli ayarları koyduğumuz değişkenlerde, özellik sayısı arttırılabilir. Burada kaynak olarak Apinin kendi sayfası kullanılabilir.
Bu kodlar “head” etiketleri arasına eklendikten sonra “body” taglarımız ise

1
2
3
<body onload="initialize()">
<div id="map_canvas" style="width:80%;height:80%"> </div>
</body>

C# ile XML DOSYA OKUMAK YAZMAK

admin | 14 October 2010 14:41

C# ile XML DOSYA OKUMAK YAZMAK

C# ile XML üzerinde işlem yapacağımız zaman ihtiyacımız olan gerekli bilgileri System.Xml kütüphanesini çağırarak ulaşabiliriz. XML üzerinde dosya yazmak veya okumak istediğimiz zaman katman katman bilgiye erişip nokta atışı yapmamız gerekiyor. Bu işlemlerde en önemli yardımcılarımız ise XmlTextReader ve XmlDocument namespace’leri.

Örnek uygulamımıza başlayalım.

Önceden elinde var olan bir xml dosya kullanacağım. Şimdi xml dosyamın içeriği,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?xml version="1.0" encoding="utf-8" ?>
<muzikler>
<muzik>
<ad>Evet</ad>
<adress>C:\Program Files\gunduz\05-Evet.mp3</adress>
</muzik>
<muzik>
<ad>Gokhan_turkmen_don</ad>
<adress>C:\Program Files\gunduz\Gokhan_turkmen_don.mp3</adress>
</muzik>
<muzik>
<ad>serce</ad>
<adress>C:\Program Files\gunduz\serce.mp3</adress>
</muzik>
<muzik>
<ad>AKLIM SENDE KALIR</ad>
<adress>C:\Program Files\gunduz\FERHAT GÖÇER-AKLIM SENDE KALIR 2008.mp3</adress>
</muzik>
<muzik>
<ad>Seni istiyorum</ad>
<adress>C:\Program Files\gunduz\Sezen Aksu - Seni istiyorum 6.wma</adress>
</muzik>
<muzik>
<ad>sigaramın dumanı</ad>
<adress>C:\Program Files\gunduz\ezginin günlüğü - 1980 (sigaramın dumanı)28.mp3</adress>
</muzik>
<muzik>
<ad>Hadi Çal</ad>
<adress>C:\Program Files\gunduz\Serdar Ortaç 09. Hadi Çal.mp3</adress>
</muzik>
<muzik>
<ad>Bob Marley - Is This Love</ad>
<adress>C:\Program Files\gunduz\Bob Marley - Is This Love.mp3</adress>
</muzik>
</muzikler>

Dosyamızı açtığımız c# windows aplicationa ekleyelim ve formumuza bir tane listbox ekleyelim. Kısaca önceden hazırladığımız xml içeriğimizi okuyup listboxımıza ekleyeceğiz. Örnek uygulamamıza başlayalım.

C# ile STREAM READER KULLANMAK

admin | 13 October 2010 16:34

C# ile STREAM READER KULLANMAK

Yaptığımız projelerde text dosyasından herhangi bir bilgiye ulaşacağımız zaman C# ‘ ın bize sunduğu Class kütüphanelerinden System.IO namespace’inin içinde bulunan StreamReader’ı kullanmamız gerekiyor. Örnek uygulamalarla StreamReader kullanımlarına bakalım.

StreamReader Kullanmak

Basit bir console application açarak deneme.txt mizi okuyalım (dosyamızın içine bir şeyler yazmayı unutmayın).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using System;
using System.IO;
class Program
{
static void Main()
{
string satir;
using (StreamReader reader = new StreamReader("deneme.txt"))
{
satir = reader.ReadLine(); // okuduğumuz satirlar readline ile stringimize atılıyor
}
Console.WriteLine(line);
}
}

Çıktımız şu şekilde oldu

Asp.Netde Not Ortalaması Hesaplattırma

admin | 07 October 2010 16:00

Bu yazımızda asp.net ile basit bir not ortalamatma uygulaması yapacağız. Şimdi ihtiyacımız olan nesneler 3 Textbox – 3 Label ve 1 Buton

Projemize başlamadan önce ne yapacağımızı bir anlatalım.3 textboxa girilen notlar

-label1 e not ortalaması yazılacak 100 üzerinden,

– label2’ye not ortalamasının 5’lik üzerinden değeri yazılacak,

– label3’e ise bu 5’lik değerin alfabetik hali yazılacak.

Şimdi Button1_click olayına aşağıdaki kodları yazıyoruz.

Oyna Git ve Oyna: play(), gotoAndPlay()

admin | 07 October 2010 15:49

Flash‘ın vazgeçilmezi gotoAndPlay hakkında bir şeyler öğrenelim…

play(), daha önce stop() ile durdurulan timeline’ın tekrar oynatılmasını sağlar.

1
play();

şeklinde kullanılır ve hiçbir parametresi yoktur. play() fonksiyonunu, global bir fonksiyon ya da MovieClip sınıfının bir metodu olarak kullanabilirsiniz.

Operation must use an updateable query hatası ve çözümü

admin | 01 October 2010 16:26

ASP.Net’te local değilde host tabanlı çalıştığımızda ve Access veritabanı kullandığımızda INSERT, DELETE, UPDATE, SQL sorgularımızda karşılaştığımız bir sorun olan “Operation must use an updateable query” hatasınının asıl sebebi sorgu cümlesinde değil veritabanına erişim haklarından geçtiği bilinmelidir. Bunun için Veritabanımıza NETWORK SERVICE adlı kullanıcıya erişim yetkileri verilmelidir.

301 Yönlendirmesi ( GOOGLE Site Yönlendirme )

admin | 28 September 2010 15:25

Merhabalar,

Bu yazımda Google 301 Yönlendirmesi yani eski domainimizi yeni domainimize nasıl taşırız bunu anlatacağım.

Öncelikle neden böyle birşeye ihtiyaç duyulur bunlardan bahsedelim ;

  • Domainimiz filtreye girmiştir,
  • Alan adımızı değiştirmek istiyor olabiliriz,
  • Seo açısından domain değiştirmek gerekebilir,
    Ve daha birçok sebep olabilir..

ADIM 1 : Öncelikle eski sitemizi yeni domainimize eksiksizce kurmamız gerekiyor.
ADIM 2 : Yeni domainimizi Google Webmaster Tools‘ta tanıtıyoruz. ( Eski domainimizde aynı hesapta olması gerekiyor. )
ADIM 3 : Sitemizi yönlendirme kısmına geldik. Ben .htaccess yönlendirmesi taraftarıyım.Fakat birçok yöntemi var bunlardan bahsedeyim ;