OpenFileDialog Multi Extension Filter

by Yasin Sirkecili 6. Şubat 2010 03:34

 

OpenFileDialog nesnesini kullanırken seçmek istediğiniz dosya tipine göre aşağıdaki şekilde filtreleme yapabilirsiniz.

OpenFileDialog1.Filter = "Jpg Dosyası|*.jpg"

Fakat aynı zamanda tek bir seçenekte Jpg,Gif ve Png dosyalarının uzantılarına izin vermek isterseniz

OpenFileDialog1.Filter = "Resim Dosyası(Jpg, Png, Gif)|*.jpg;*.png;*.gif"

şeklinde Filter propertysini düzenlemeniz yeterli olacaktır. Kısacası izin vereceğiniz uzantıları ";" (noktalı virgül) ile ayırmalısınız.

 

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , , ,

C#

VisualSVN Relocate project URL

by Yasin Sirkecili 5. Aralık 2009 21:46

Visual SVN ile proje geliştirirken ofis dışına çıktığınızda projeniz üzerinde çalışmak isteyebilir yada uzaktaki kullanıcıların proje üzerinde çalışmasını sağlamış fakat kullanıcıların ofis içerisine geldiğinde mevcut projelerini tekrar import etmeden local networkünüzdeki proje URLsine geçmesini isteyebilirsiniz. Bunun için ;

Start > Run > cmd > svn switch --relocate  <from URL> <to URL>

 şeklinde bir komutla Visual SVN üzerinde URL değişimi yapabilirsiniz.

2 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Makalelerimden bazıları

by Yasin Sirkecili 2. Kasım 2009 15:16

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

ASP.NET | C# | Yasin Sirkecili

T-SQL Binary Comparison - CAST Operator

by Yasin Sirkecili 23. Ekim 2009 14:34

Herkese merhabalar bu yazımızda SQL Server kullanan geliştiriciler için case sensitive karşılaştırmaların nasıl yapılacağına değineceğim;

Bildiğiniz gibi MSSQL Server kurulumu esnasında Collation konfigürasyonunda herhangi bir ayarlama yapmaksızın default olarak kurduğunuz SQL Server ile oluşturduğunuz tablo verileri içerisinde çalıştırdığınız sorgular insensitive olarak çalışmaktadır. Bu durumda geliştirdiğimiz uygulamalar içerisinde parola doğruma noktasında sıkıntı yaratmaktadır.

MSSQL ile oluşturduğunuz tablolarda kolonlara göre sorgularınızın case sensitive/insensitive olarak çalışmasını kolaylıkla konfigüre edebilirsiniz. Bunun için ilgili tablonun Design modunda kolonun Collation ayarlarına gelerek Case Sensitive checkbox'ını seçili konuma getirmeniz yeterlidir.

Ancak sorgularınızın dinamik oluştuğu durumlarda veya SQL Server yönetiminin elinizde olmadığı durumlarda bu işlemleri T-SQL ile nasıl gerçekleştirebiliriz ona bakalım;

DECLARE @Name nvarchar(50)
SET @NAME = 'yasin'
select * from WebUsers where CAST(Name as binary)=CAST(@NAME as binary);

Burda kullandığımız method basitçe şöyle izah edilebilir. Hem Kolonda bulunan verileri hemde gönderdiğimiz parametreyi binary tipine dönüştürüyoruz. SQL Server'a ait bu karşılaştırmayı yapan CPU için büyük ve küçük karakterler farklı kod dizilimleri yaratacağından birbiriyle case sensitive olarak eşleşmeyen verilere ait sonuçlar dönmeyecektir.

kolay gelsin...

3 kişi tarafından 3.7 olarak değerlendirildi

  • Currently 3,666667/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

MSSQL | T-SQL

SmtpClient SendCompleted Event

by Yasin Sirkecili 23. Ekim 2009 12:12

System.Net.Mail namespace'i altında yer alan SmtpClient sınıfını kullanarak mail gönderme işleminden daha önce bahsetmiştim. Bu yazıda sadece SmtpClient class'ından türettiğiniz instance'in Send(); fonksiyonunun sonucunda oluşan SendCompleted event'ini inceleyeceğiz.

Basitce bir mail gönderme uygulaması yazacak olursak;

protected void Button1_Click(object sender, EventArgs e)
{
SmtpClient smtppc = new SmtpClient("mail.alanadi.com");
smtppc.SendCompleted +=
new SendCompletedEventHandler(smtppc_SendCompleted);
MailAddress frommail = new MailAddress("from@alanadi.com", "From Sender Name");
MailAddress tomail = new MailAddress(to@alanadi.com);
MailMessage yenimail = new MailMessage(frommail, tomail);
yenimail.SubjectEncoding = System.Text.
Encoding.GetEncoding("ISO-8859-9");
yenimail.BodyEncoding = System.Text.
Encoding.GetEncoding("ISO-8859-9");
yenimail.Subject = TextBox1.Text.Trim();
yenimail.Body = TextBox2.Text.Trim();
yenimail.IsBodyHtml =
false;
yenimail.Priority =
MailPriority.High;
System.Net.
NetworkCredential izin = new System.Net.NetworkCredential("from@alanadi.com", "password");
smtppc.UseDefaultCredentials =
false;
smtppc.Credentials = izin;
smtppc.Port = 587;
try
{
smtppc.Send(yenimail);
}
catch
{
ScriptManager.RegisterStartupScript(Page, typeof(string), Guid.NewGuid().ToString(), "alert('Hata Oluştu');", true);
return;
}
}
protected void smtppc_SendCompleted(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(Page, typeof(string), Guid.NewGuid().ToString(), "alert('lletiniz gönderildi');", true);
}

Gözlemleyebildiğiniz gibi try blogu içerisinde mail gönderme işlemi başarı ile sonuçlandıktan sonra smtppc_SendCompleted event'i tetiklenecek ve bu blok içerisine yazdığınız kodlar çalışacaktır. Tek yapmanız gereken SmtpClient nesnesinden bir instance türettikten sonra SendCompleted eventini

smtppc.SendCompleted += new SendCompletedEventHandler(smtppc_SendCompleted);

şeklinde türeterek karşılık gelen ilgili fonksiyonu türetmektedir.

kolay gelsin...

2 kişi tarafından 3.0 olarak değerlendirildi

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

ASP.NET | C#

Free IP to Geographic Location

by Yasin Sirkecili 23. Ekim 2009 11:30

 

IPINFODB.COM un sundugu ücretsiz lokasyon tesbiti uygulamasını kullanarak kullanıcıların IP Adresinden bulundukları lokasyonu kolayca tesbit edebilirsiniz. Normalde böyle bir uygulama için IP2LOCATION.COM a yüklü miktarda para ödemeniz gerekebilir. Ama bunu ücretsiz olarak kullanabilirsiniz.

DataSet dset = new DataSet();
dset.ReadXml(
http://ipinfodb.com/ip_query.php);
Label1.Text = dset.Tables[0].Rows[0][
"CountryName"].ToString();
Label2.Text = dset.Tables[0].Rows[0][
"City"].ToString();

 

Ben sadece Ülke adı ve Şehir adı bilgisini aldım ancak dönen XML verisinin tamamı şöyledir;

 <Response>
  <Ip>95.70.229.81</Ip>

  <Status>OK</Status>
  <CountryCode>TR</CountryCode>
  <CountryName>Turkey</CountryName>
  <RegionCode>34</RegionCode>
  <RegionName>Istanbul</RegionName>
  <City>Istanbul</City>
  <ZipPostalCode />
  <Latitude>41.0186</Latitude>
  <Longitude>28.9647</Longitude>
  <Timezone>2</Timezone>
  <Gmtoffset>2</Gmtoffset>
  <Dstoffset>3</Dstoffset>
</Response>

Siz kendinize göre ihtiyacınız olan verileri kullanabilirsiniz.

Kullanıcılarınızı üye olurken, uçak bileti alırken, tatil sepeti kiralarken vb...  seçtiği dropdownlistlerde bulunduğu lokasyonu otomatik olarak seçili getirip şaşırtabilirsiniz :)

kolay gelsin...

4 kişi tarafından 4.5 olarak değerlendirildi

  • Currently 4,5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

ASP.NET | C#

VSTO - C# - OCR with MS Office Document Imaging 12.0

by Yasin Sirkecili 23. Ekim 2009 09:37

Herkese merhabalar;

Bugünkü konumuz printer, daktilo, fotokopi vb. kağıt halindeki çıktılardan tutunda plaka tanıma sistemlerine kadar uzanan insan hayatını kolaylaştıran en sevdiğim yapay zeka uygulamalarından olan OCR(Optical Character Recognition) uygulamasının C# ile nasıl yapılacağına basitce bakacağız. Amacımız JPG dosyasındaki text verileri tanımlayıp *.txt dosyasına aktaracak bir OCR(Optical Character Recognition) uygulaması gerçekleştirmek.

İlk olarak projemize COM objesi olan Microsoft Office Document Imaging 12.0 Type Library referansını ekliyoruz. bu referans eklendiğinde MODI adında bir namespace'in kullanılabilir olduğunu göreceksiniz. Bu API Office 2003 ile birlikte geldiğinden Office 2003 veya üstü versiyonlarla kullanabilirsiniz. Ben projemi bir ASP.NET Web uygulaması olarak gerçekleştirdim siz isterseniz Windows Application kullanarak taranan veriyi richtextbox'a aktarabilirsiniz.

uygulamamızın xhtml görünümü şöyledir;

<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
</div>
</form>

Sadece bir FileUpload ve button kontrolü kullandığımız projenin icrası şu yönde olacaktır; Resim seçildikten sonra eğer jpg formatındaysa resmin adı değiştirilip jpgs diye bir klasöre aktarılacak daha sonra burda OCR işlemi gerçekleştirilecek.

if (FileUpload1.HasFile)
{
string uzanti = System.IO.Path.GetExtension(FileUpload1.FileName.ToLower().Replace("", "i"));
if (uzanti == ".jpg")
{
string dosyaadi = DateTime.Now.ToString().Replace(".", "").Replace(":", "").Replace("/", "").Replace("-", "").Replace(" ", "");
dosyaadi += uzanti;
FileUpload1.SaveAs(
HttpContext.Current.Server.MapPath("~/jpgs/" + dosyaadi));
System.IO.
FileStream fstream;
System.IO.
StreamWriter swriter;
try
{
MODI.
Document mdoc = new MODI.Document();
mdoc.Create(
HttpContext.Current.Server.MapPath("~/jpgs/" + dosyaadi));
mdoc.OCR(MODI.
MiLANGUAGES.miLANG_TURKISH, true, true);
MODI.
Image mimg = mdoc.Images[0] as MODI.Image;
fstream =
new System.IO.FileStream(HttpContext.Current.Server.MapPath("~/yasin.txt"), System.IO.FileMode.OpenOrCreate);
swriter =
new System.IO.StreamWriter(fstream);
swriter.Write(mimg.Layout.Text);
swriter.Close();
fstream.Close();
}
catch
{
ScriptManager.RegisterStartupScript(Page, typeof(string), Guid.NewGuid().ToString(), "alert('Hata olutu');", true);
}
}
else
{
ScriptManager.RegisterStartupScript(Page, typeof(string), Guid.NewGuid().ToString(), "alert('.jpg formatında bir dosya seçiniz.');", true);
}
}
else
{
ScriptManager.RegisterStartupScript(Page, typeof(string), Guid.NewGuid().ToString(), "alert('Dosya seçmediniz.');", true);
}

Kodlarımızı açıklayacak olursak;

İlk olarak System.IO.Path sınıfı altındaki getextension fonksiyonundan faydalanarak aktarılan dosyanın .jpg uzantısına sahip olup olmadığını kontrol ediyoruz. Daha sonra bu dosyayı jpgs adında oluşturduğumuz klasöre aktarıyoruz.(Dosya adının çakışmasını engellemek için tarihe göre isim değiştiriyoruz) Sonrasında Jpg file içerisinde taranan karakterleri *.txt dosyasına aktarmamızı sağlayacak olan filestream ve streamwriter classlarından birer instance yaratıyoruz.

MODI.Document mdoc = new MODI.Document();

ile mdoc adında MODI.Document classından OCR işleminde kullanacağımız yeni bir instance türettik.

mdoc nesnesinin Create fonksiyonunu kullanarak parametre olarak taranacak jpg dosyasının yolunu belirtiyoruz.

mdoc nesnesinin sahip olduğu en önemli fonksiyonumuz olan OCR fonksiyonuna gönderdiğimiz parametrelerle tarama işleminin sonuçlanmasını sağlıyoruz. Burdaki parametrelere ait açıklamalar şöyledir;

1 -) LangId : MODI.MiLANGUAGES enum değişkeninde tanımlanan karakter setlerinden size uygun olanı seçmenizi sağlar.
2- ) OCROrientImage : Sayfanın yatay veya dikey olup olmadığının API tarafından algılanmasını sağlayan boolean tipli bir değerdir.
3- ) OCRStraightenImage :  API tarafından image üzerindeki karakter tanımayı engelleyici eğimlerin otomatik olarak düzenmesine karar veren  boolean tipli değişkendir.

daha sonra MODI.Image tipinde oluşturduğumuz mimg nesnemize mdoc içerisindeki resimlerden istediğimizi aktarıyoruz.(Biz tek bir resim üzerinde işlem yaptığımızdan 0 index'ine sahip resmi aktardık)

bu işlemleri tamamladıktan sonra taranan ve karakter haline çevrilen verileri yasin.txt dosyasına yazarak filestream, streamwriter nesnelerinden türettiğimiz instance'ları Close(); methoduyla sonlandırarak jpg file içerisindeki karakterlerin yasin.txt dosyasına aktardığını gözlemleyebiliriz.

OCR işlemlerinin en basit hali bu şekilde uygulanabilir, dilerseniz siz daha detaylı OCR uygulamaları geliştirebilirsiniz.

kolay gelsin...

 

3 kişi tarafından 4.7 olarak değerlendirildi

  • Currently 4,666667/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

ASP.NET | C#

Eğer Ancak ise - Yanlış ve Yanlış <--> Doğru

by Yasin Sirkecili 14. Ekim 2009 16:01

Bugün Sultanla önermeler üzerine telefonda tartışırken bişeyi farkettim. Matematikde kullandığımız mantık ile programatik olarak akışlara yön vermemizi sağlayan mantıksal koşullama ifadeleri arasında bi farkı var.

Telefonda ısrar ettiğim üzere Yanlış ve Yanlış doğrudur sonucu malesef yanlışmış.

P Q   \neg P P \land Q P \lor Q P \to Q P \leftrightarrow Q
D D   Y D D D D
D Y   Y Y D Y Y
Y D   D Y D D Y
Y Y   D Y Y D

D

Programatik olarak kullandığımız if örgüsü meğer "Eğer ancak-ise" mantığı ile çalışıyormuş :)

Örenmiş olduk... :) Daha çok matematik çalışmak lazım... :) 

 

2 kişi tarafından 3.5 olarak değerlendirildi

  • Currently 3,5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Genel | Yasin Sirkecili

pardon...

by Yasin Sirkecili 4. Ekim 2009 13:15

Pardon bakarmısınız... Tanışmış mıydık?...
Sevmişmiydim ben sizi hiç? Sevişmiş miydik?


Bugün kendinize bir iyilik yapın... ve Sezen Aksu - Yürüyorum Düş Bahçelerinde albümünü satın alın... Fakir bir pazar gününe ait muhteşem bir tını olduğundan emin olabilirsiniz...

Sezen AKSU'nun 23. albümü olan Yürüyorum Düş bahçelerinde içerisinde 9. şarkı olan Söz ve Müziği Sibel Algan'a ait olan "Pardon" şarkısına bayıldığımı söyleyebilirim... Bu şarkı albümü alan herkes tarafından defalarca dinlenmek istenecektir diye düşünüyorum.

Aşağıdaki link ile hemen satın alabilirsiniz.

http://www.hepsiburada.com/sezen-aksu-yuruyorum-dus-bahcelerinde-2-cd-1-dvd/productDetails.aspx?categoryid=10759&productid=musicdmc162

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

İş Sözleşmeleri

by Yasin Sirkecili 3. Ekim 2009 16:07

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Görev Tanımları

by Yasin Sirkecili 3. Ekim 2009 16:06
 
Bir iş yerindeki görev tanımları... :)

-9 kadının 1 bebeği 1 ayda doğurabileceğini söyleyen kişiye “Proje Müdürü” denir...
...
-1 bebeği tutup geri kalanların satılarak şirkete kaynak sağlayacağını söyleyen ve “Proje Müdürünün” işten çıkarılmasını öneren kişiye “Finans Müdürü” denir...
...
-1 bebeğin 18 ayda ancak doğacağını söyleyen kişiye “Üretim Müdürü” denir...
...
-Tek bir kadının 1 ayda 9 bebek doğurabileceğini söyleyen kişiye “Planlama Müdürü” denir...
...
-Bebeğin üretim şeklinin ille de yanlış olduğunu söyleyen kişiye “Kalite Müdürü” denir...
...
-Dünyada hiç kadın ve erkek kalmasa o bebeği kendisinin doğurabileceğini söyleyen kişiye “Pazarlama Müdürü” denir...
...
-1 kadından 1 bebeği 1 ayda doğurmasını bekleyen kişiye “Genel Müdür” denir...
...
-1 ayda, dokuz doğuran kişiye “Memur”, bebek filan istemediğini söyleyen kişiye de “Müşteri” denir...

3 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Genel

Okullu değil Alaylıyız biz :)

by Yasin Sirkecili 3. Ekim 2009 12:00

Okullu değil alaylıyız biz... İşte buda bizim diplomamız :)

 

Diğer diplomarımdan daha anlamlı... Bu üniversite sisteminde öğrendiklerime kıyasla Internet surflerimde öğrendiklerim aynı teraziye bile konamayacak kadar farklıdır...
Ve Eminim bu diploma daha çok şey bildiğimi ifade eden bir diploma örneğidir...

2 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Genel | Yasin Sirkecili

Vanilyalı Dondurma

by Yasin Sirkecili 2. Ekim 2009 02:34

Vanilyalı dondurma

General Motors şirketinin Pontiac marka otomobil departmanına gelen bir şikayet mektubu şu satırlardan oluşuyordu:

"Her akşam yemekten sonra ailecek dondurma yeme alışkanlığına sahibiz. Fakat bir çok dondurma çeşidi olduğu için her yemekten sonra ne çeşit dondurma yiyeceğimize hep karar veririz. Ben de markete gider alırım. Geçen ay otomobilimi değiştirip yeni bir pontiac aldım ve o günden beri markete gidip gelmek benim için sorun olmaya başladı. Çünkü ne zaman vanilyalı dondurma alsam market çıkışında otomobilimi çalıştıramıyorum. Fakat başka çeşit bir dondurma aldığımda arabam gayet güzel çalışıyor. Bu sorun size çok saçma bile gelse, benim çok ciddi olduğumu bilmenizi isterim. Vanilyalı dondurma aldığımda arabam çalışmazken, neden başka dondurma aldığımda arabam çalışıyor?"

Kolaylıkla buruşturulup atılacak bir şikayet mektubu gibi görünüyor, değil mi? Öyle de olabilirdi. General Motors yetkilileri bu şikayet mektubunu bir kenara atabilirdi, müşterinin sorusuda sonsuza dek yanıtsız kalabilirdi. Ancak General Motors şirketi olayı araştırması için bir mühendisi görevlendirdi.

Mühendis, nezih bir muhitte oturan, iyi eğitim almış Pontiac sahibiyle karşılaşınca biraz şaşırmıştı, böyle bir konuda dalga geçecek birine benzemiyordu. Akşam yemekten sonra yapılan dondurma alışverişine birlikte çıktılar. Vanilyalı dondurma alıp geri döndüklerinde, gerçekten de otomobil çalışmıyordu. Ertesi akşam çikolatalı dondurma aldılar ve araba çalıştı. Üçüncü akşam sıra çilekli dondurmadaydı ve araba yine çalışıyordu. Son deneme turunda vanilyalı dondurma alındı ve maalesef araba yine çalışmadı.

General Motors yetkilisi şaşkındı. Bir mühendis olarak, arabanın vanilyalı dondurmaya alerjisi olduğunu düşünmek pek akıllıca gelmiyordu. Bunun üzerine ziyaretlerine bir süre daha devam etti. Olayın günün hangi saatinde olduğunu, hangi tip benzin kullanıldığını, gidip gelme süresini ve daha pek çok ayrıntıyı incledi. Kısa bir süre içinde de ilk ipucunu elde etti. Vanilyalı dondurma almak diğer çeşitlere oranla çok daha kısa sürüyordu. Çünkü en çok aranılan ürün olan vanilyalı dondurma marketin hemen girişindeki dolapta satılıyordu. Diğer dondurma çeşitleri ise marketin en arka kısmında kurulu bir tezgahtan seçiliyordu. Herhangi değişik bir çeşidi almak bu yüzden çok daha uzun sürüyordu. Şimdi mühendisin karşı karşıya kaldığı soru şuydu? Otomobil neden daha kısa süre içinde geri dönünce çalışmıyordu? Zaman faktörü işin içine girince mühendis sorunun cevabını bulmakta zorlanmadı. Sorun, motor soğuduğunda devreye giren buhar kilidinden kaynaklanıyordu. Bu kilit, normal şartlarda motor durduktan hemen sonra devreye girip çalışıyordu ve çikolatalı yada çilekli dondurma alana dek geçen süre, motorun tekrar çalışması için yeterli soğumaya imkan tanıyordu. Vanilyalı dondurma gecelerinde ise süre çok kısa olduğu için motor soğuyacak vakit bulamıyor ve buhar kilidi devreye girmiyordu.

 Bu öyküden de anlaşılacağı gibi, komik hatta asılsız gibi görünen bir müşteri şikayeti bir şirketin ürün geliştirmesinde kullanabileceği değerli bir veri haline dönüşebiliyor. Müşteri şikayetlerinin değerlendirildiği zamanlarda bir kurum için hediye niteliği taşıdığı bilinir. Bu gerçek öykü, garip bile olsa müşteri sorunlarının ve şikayetlerinin ürün ve hizmet geliştirmeye olan katkısının önemini gösteriyor.

 

2 kişi tarafından 4.5 olarak değerlendirildi

  • Currently 4,5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Genel

Visual Studio 2010 Reset Settings

by Yasin Sirkecili 2. Ekim 2009 00:38
Visual Studio 2010 üzerinde default gelen ayarları değiştirmiş ve tekrar düzeltemiyorsanız.
Başlat > Çalıştır (Winkey + R) alanına devenv /resetsettings yazıp entera basmanız yeterli. Visual Studio 2010 ayarlarınız ilk haline dönecektir.

4 kişi tarafından 3.0 olarak değerlendirildi

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Genel

C# 4.0 Specification E-Book

by Yasin Sirkecili 1. Ekim 2009 12:19

C# 4.0 ile gelen yeni özellikleri bulabileceğiniz 25 sayfalık bir e-book download için aşağıdaki linke tıklayabilirsiniz.

CSharp-40-Specificationdoc.pdf (272,34 kb)

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Genel

Visual Studio 2010 Intellisense problems

by Yasin Sirkecili 30. Eylül 2009 22:44

Bugün kullanmaya başladığım Visual Studio 2010'da default olarak gelen intellisense ayarlarının hızlı kod yazan ve visual studio 2008 in default ayarlarına alışkın geliştiriciler için ciddi bir sıkıntı olduğunu keşfettim. (Bunu nası keşfettim sorusu hala muallakta o ayrı) :)

Tahminimce birçok geliştirici durmaksızın hızlıca kod yazarken Space ve enter tuşlarını sıklıkla kullanır bu tuşlarla VS2008 ortamında default intellisense ayarlarına göre enter tuşu yazılan kelimeye göre intellisensede seçili durumdaki verinin yazılmasını sağlar. Ve space tuşuda genel olarak intellisense üzerinde seçili gelen verinin tamamlanmasını sağlar.

Ancak Visual Studio 2010 kullanıcıları için (örneğin ben yaklaşık 3 saat yazdım ve kriz geçirdikten sonra şunu çözim dedim) Space tuşu kelimenin tamamlanmasını sağlamamakla beraber intellisense üzerinde yazılan kelime siz yön tuşlarıyla seçmediğiniz için seçili durumda olmadığından doğrudan bi fonksiyona sahip olmayıp direkt yeni bir satıra geçmektedir. 

Visual Studio 2010 Intellisense ayarlarını Visual Studio 2008 gibi yapmak için aşağıdaki adımları izleyebilirsiniz.

 Tools > Options > Text Editor > C# (siz başka diller içinde yapabilirsiniz) > IntelliSense > Commited by pressing the space bar checkbox'ını checked konuma getirin.

 Tools > Options > Text Editor > C# (siz başka diller içinde yapabilirsiniz) > IntelliSense > Add new line on commit with enter at end of fully typed word checkbox'ını unchecked konuma getirin.

Ben bu şekilde kullanmakla rahatım. Tabi herkes kendi hızına göre ayarlar yapabilir. Ancak Visual Studio 2010'un IntelliSense ayarlarını Visual Studio 2008'de ki gibi bu şekilde yapabilirsiniz.

Ben hala intellisense'in hızından şikayetçiyim özellikle VS 2010 Beta 1 sürümü üzerinde VS 2008 den daha yavaş çalışıyor. Buda hızımı ciddi oranda etkiliyor.

Microsoft'a burdan sesleniyorum :):):) bi kaybolmayan sakız istiyoruz... bide intellisense ayarını milisaniye cinsinden kendimizin yapabileceği bir config menu :)

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Genel

Asp.net 4.0 Route Image Css Display Problem

by Yasin Sirkecili 30. Eylül 2009 13:24

ASP.NET 4.0 ile birlikte gelen System.Web.Routing namespace i ile artık URL Rewrite işlemlerini yaparken ne web.config dosyasının dinamik düzenlemesine gerek kalıyor nede reqular expressionlar ile uğraşmamıza Microsoft bizi düşünüp gerçekten olayı çok çok basite indirgemiş ancak ne varki; ne yaparsanız yapın URL Rewrite işlemlerinin hepsinde tarayıcılara bağlı olarak html nesnelerinin path gerektiren attributelarına atanan değerler tarayıcı üzerindeki url yi baz alarak düzenleneceğinden resimlerinizin ve css dosyalarınızın gösteriminde sorunlar oluşacaktır.

bu sorunun çözümü için <img tagındaki verilere genel olarak runat="server" ifadesi eklenir src attribute'nun başınada ~/ ifadesi eklenir

Eski Hali(Not Working): <img alt="" src="images/kirmizialt.gif" style="width: 32px; height: 6px" />
Yeni Hali(Working): <img alt="" src="~/images/kirmizialt.gif" style="width: 32px; height: 6px" runat="server" />

Bu şekilde image dosyalarındaki problemler çözümlensede bazı noktalarda örneğin bir table hücresine backgorund-image tanımladığı gibi bir durumda W3 strandartlarına uyup background-image i style attribute'u içerisinde tanımlamak isterseniz bu yöntem işe yaramayacaktır. Bunun yerine ResolveUrl fonksiyonunu kullanabiliriz.

Örneğin;

Eski hali(Not Working): <td style="background-image:url('images/kirmiziback.gif');" class="baslik_beyaz"> 

Şeklinde tanımlanan bir hücrede url nerde olursa olsun(yemektarifleri/avetleri) gibi bir dizin altında images klasörünü arayacağından doğru sonuç vermeyecektir.

Bunun yerine;

Yeni hali(Working):

<td style="background-image:url(<%= Page.ResolveUrl("~")%>images/kirmiziback.gif);" class="baslik_beyaz">

Şeklinde tanımlayarak <%= Page.ResolveUrl("~")%> kodunu image url'sinin başına getirip sorunun çözülmesini sağlayabilirsiniz. Genellikle MasterPage kullanımlarında ortaya çıkan bu durumlarda ResolveUrl methodu çok işinize yarayacaktır.

Kolay gelsin...

2 kişi tarafından 4.0 olarak değerlendirildi

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

ASP.NET

Visual Studio 2010 Download ISO Web Installer

by Yasin Sirkecili 30. Eylül 2009 03:18

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Genel

T-SQL Replace Function

by Yasin Sirkecili 26. Eylül 2009 15:51
T-SQL ile bir kolonda yer alan verilere ait karakterler üzerinde değişim yapmak için REPLACE Fonksiyonu kullanılır. REPLACE fonksiyonu 3 farklı parametre alır.

update tblililcemahallekoy set ILCEADIK=REPLACE(ILCEADIK,'Ükurova','Çukurova');

birinci parametre değişiklik yapılacak metnin tamamıdır. Sorgunuza göre dilerseniz bu parametreye bir kolon adı girebilir veya bir metin belirtebilirsiniz.(Ben burda ILCEADIK kolonunu seçtim.) Aynı zamanda COLLATE fonksiyonuyla girdiğiniz verinin karakter tipinin nasıl değerlendirilmesi gerektiğini belirtebilirsiniz.

update tblililcemahallekoy set ILCEADIK=REPLACE(ILCEADIK COLLATE Latin1_General_BIN,'Ükurova','Çukurova'
);

Türkçe karakter seti için : SQL_Latin1_General_CP1254_CS_AS parametresini göndermeniz gerekmektedir.

bununla birlikte 2. ve 3. parametrelere girilmesi gereken değerler şöyledir.

2. parametre(Örn:Ükurova) Değişecek olan veri.
3. parametre (Örn: Çukurova) Değişmiş yeni hali.

yani bu sorgu yardımıyla ILCEADIK kolonunda Ükurova adıyla geçen verileri Çukurova olarak değiştirmiş oluyoruz.

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

MSSQL | T-SQL

T-SQL Upper Function

by Yasin Sirkecili 22. Eylül 2009 10:52

T-SQL de Küçük harfli verilerin tamamı büyük harf karakterlere çevirmek için UPPER() fonksiyonu kullanılır UPPER fonksiyonu tek bir parametre almakta olup bu parametre büyük harfe çevrilecek verinin kendisidir.

update tblililcemahallekoy set
ILADI=UPPER(ILADIK),
ILCEADI=UPPER(ILCEADIK),
SEMTADI=UPPER(SEMTADIK),
MAHALLEADI=UPPER(MAHALLEADIK)

Örneğin yukarıdaki örnekte ILADIK,ILCEADIK,SEMTADIK,MAHALLEADIK gibi küçük harfli olan kolonları UPPER fonksiyonuna parametre olarak göndererek ILADI,ILCEADI,SEMTADI,MAHALLEADI kolonlarında büyük harfli olarak güncellenmesini sağladım.

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

T-SQL | MSSQL

Powered by BlogEngine.NET 1.4.5.0
Theme by Mads Kristensen

Yasin Sirkecili


Yasin Sirkecili
Software Developer
MSN: yasin@sirkecili.com

Bağlantılar

Calendar

<<  Şubat 2010  >>
PaSaÇaPeCuCuPa
25262728293031
1234567
891011121314
15161718192021
22232425262728
1234567

View posts in large calendar

Son Yorumlar

Sağlık Sağlık
2 yorumlar
para para
2 yorumlar
Bunyamin Bunyamin
1 yorumlar

RecentPosts

Bağlantılar 2