Languages

open source PHP mailer

Çok iyi özelliklere sahip, oldukça kullanışlı ve küçücük bir dosya. PHP ile mail göndermek istiyorsanız mutlaka denemelisiniz. http://phpmailer.worxware.com/

Windows Mobile üzerinde SQLite kullanırken Can’t find PInvoke DLL ‘SQLite.Interop.0XX.DLL’ hatası

Windows Mobile kullanan cihazlar üzerinde SQLite ı tercih ettiyseniz ilk kullanımda Can’t find PInvoke DLL ‘SQLite.Interop.0XX.DLL’ hatası alabilirsiniz. İlk bakışta oldukça moral bozucu olabiliyor ama çözümü oldukça basit.

Çözüm 1 :
Visual Studio da projeniz üzerine sağ tuşla yıklayın ve Add Existing Item seçin. Açılan pencereden %Program Files%\SQLite.NET\bin\CompactFramework\ dizini altında bulunan SQLite.Interop.065.DLL dosyasını projenize ekleyin. Eklenen dosya üzerine sağ tuş – properties seçip Copy to Output Directory seçeniğini Copy if newer olarak değiştirin. Artık çalıştırdığınızda eksik olan DLL kullanılabilecektir.

Çözüm 2 :
Başlat menüsündeki Visual Studio Remote Tools tan Remote File Viewer i seçin. Cihazında bulunan tüm dizinleri göreceksiniz. Açılan pencereden cihazınızı seçip OK tıkladıktan sonra DLL in kopyalanacağı yeri seçip File – Export File menüsündeyle açılan pencereden %Program Files%\SQLite.NET\bin\CompactFramework\ dizini altında bulunan SQLite.Interop.065.DLL dosyasını seçin.

C# ile MySql e insert yaparken dikkat edilmesi gereken bir kac husus

MySql ve MSSql in huyudur, hata var derler ama nerede oldugunu soylemez ve saatlerinizi yerler. Bu saatleri geri kazanmaniz icin, kendi adima da hatirlatma notu olarak, karsilastigim bir kac noktayi listelemek istiyorum

  • Eger MySqlParameter kullaniyorsaniz (mssql den alistiginiz) @ isareti yerine ? isareti kullanin
  • Field isimlerinde (veri alanlarinda degil) veya yerine ` isareti kullanin
  • Parametre eklerken
    new MySqlParameter("?_date_modified", DateTime.Now){ DbType= DbType.DateTime}
    

    kullanin (mutlaka veri tipini belirten baska bir ifade de olabilir)

PNG ve GDI+ hatasi

img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Png);

ile
A generic error occurred in GDI+
hatası alıyorsanız asağıdaki kodu deneyin

MemoryStream ms= new MemoryStream();
Bitmap bitmap = new Bitmap(img);
bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
ms.WriteTo(Response.OutputStream);

Visual Studio eklentisi ile Linux icin uygulama geliştirme (Mono Tools)

Novell, geliştiriciler için Windows ortamında Linux için geliştirme yapabilecekleri bir eklentiyi (Mono Tools) duyurdu.

ASP.NET, Windows Forms, Server ve Console uygulamalarını destekliyor.

monomenu Bir Linux ortamına remote debugger ile bağlanıp debug bile yapılabiliyor. Bütün debugging imkanlarını kullanabiliyorsunuz (breakpoints, watches). Plug-in,  ağınızdaki Linux sistemlerini otomatik olarak buluyor yada siz hedef sistemin ip sini kendiniz girebiliyorsunuz. Native Linux paketleri yada Suse için rpm paketleri oluşturabiliyor.  Mono’s Migration Analysis (MOMA) ile Windows/Linux farklılıklarını, Linux ta olmayan apileri tespit edebiliyor.

Novell offers a personal license for $99 and an enterprise license for $249. They also have an “ultimate edition”, which includes a commercial Mono license, for $2499. Plug-in in fiyatı da fena değil, sağlayacaklarını da düşünürseniz. Personal license $99, enterprise license $249. Ultimate edition, ticari Mono license dahil, for $2499.

Detaylı bilgiye buradan ulaşabilirsiniz.

PHP ‘Cannot send session cache limiter – headers already sent’ hatası

Eğer yukarıdaki hatayı alıyorsanız son çalıştığınız dosyayı / dosyaları notepad++ ta açıp format menüsünden “Encode in UTF-8 without BOM” seçerek kaydedin. Sonuca şaşırıp PHP yi bir kez daha seveceksiniz :P

encodingwithoutbom

SQL Temp tablo oluşturma

SQL sorguları yazarken, özellikle sp (stored procedure), temp table (geçici tablo) oluştururken sıkıntılar çıkabiliyor. En azından oluşturduğunuz geçici tabloyu silmeniz gerekiyor. Bu sıkıntıları aşmanın yolu geçici tabloyu aşağıdaki gibi oluşturup kullanmaktır.

DECLARE @TMP_TABLE_NAME(
FIELD_ID INT IDENTITY(1, 1),
FIELD_1 INT,
FIELD_2 INT,
FIELD_3 NVARCHAR(MAX)
)

Internet Explorer 8 Windows Update

Sonunda Internet Explorer 8 güncelleme listesine düştü. Developer olarak Internet Explorer 7 de çektiğimiz sıkıntıları inşallah IE 8 de yaşamayız. Güncellemelerinizi yapmadıysanız bir an önce yapın  açık değilse de Windows Update sitesine gidin.

Mootools kullanarak kolay javascript AJAX

Bolca kullanığımız AJAX requestleri (post) için aşağıdaki kod parçası hayatınızı kolaylaştıracaktır. Mootools “Request” fonksiyonu kullanılmaktadır. Daha sonraki yazılarda bu fonksiyonu ASP.NET ile nasıl kullanabileceğimizi göreceğiz.

Sensei = {};
Sensei.Send = function(URL, fName, prms, retryCount, OnComplete) {
	if (retryCount == null) retryCount = 0;
	var jsonRequest = new Request(
		{
                'encoding' : 'utf-8',
		method: 'post',
		url: URL,
		onComplete:  OnComplete,
		onFailure: function(){
					if(retryCount<3)
						Sensei.Send(URL, fName, prms, OnComplete, retryCount++);
		},
       }).send('m=' + fName + '&' + prms);
};

Kullanımı :


Sensei.send("service/serviceurl.ashx","doIt","cId=5&bId=5",0, function(result){
      alert(result);
});

Mootools ile özel select box (fake combo)

Bildiğiniz gibi select box özel bir kontroldür ve görünümü çok fazla değiştirilemez. Örneğin “heigth” özelliği firefox da değişmesine rağmen ie de değişmez. Amacımız select box ların yerine tüm görsel özellikleriyle oynayabileceğimiz, sadece html kodlarından oluştuğu için tüm browser larda aynı sonucu veren sanal select box oluşturmaktır. Öyle bir select box ki js yi ve css i sayfaya eklediğinizde tüm select box ları otomatik değiştiriyor. Yerleştirmek sizin yeteneğinize kalmış.

Çalışma şekli : Sayfanızda bulunan tüm select box ları tarıyor, “multiple” tag ı ekleyerek gizliyor. Bulunduğu konuma <div> ekliyor ve tıklandığında “multiple” hale getirdiğiniz gerçek select box unuzu gösteriyor. Böylece gerçek select box unuzdaki item larınızı seçiyorsunuz.

combo1

Çalışan örnek için : http://www.cihantopcu.com/samples/fakecombo/index.html

İndirmek için :  http://www.cihantopcu.com/samples/fakecombo/fakecombo.rar

Bu kontrol http://www.cult-f.net/2007/12/14/elselect/ adresindeki kontrol optimize edilerek yeniden yazılmıştır.