Delphi İp Değiştirmek Kaynak Kod

26 Ocak

2012

Tam iÅŸinize yaracak bi uygulama . Delphi ile ip adresinizi deÄŸiÅŸtirebilirsiniz.

Link : https://sites.google.com/site/cod3rorg/ekler/ipno%20de%C4%9Fi%C5%9Ftir.rar?attredirects=0&d=1

rar ÅŸifresi : www.cod3r.org

Resim

ASP.NET ile ZIP unZIP İşlemleri

21 Aralık

2011

ASP.NET ile ZIP ve unZIP İşlemleri

İster web siteleri programlarken ister windows programlarında çoğu zaman bir ZIP dosyası oluşturmaya ihtiyaç duymuşsunuzdur. Ben geneld

ASP.NET ile ZIP ve unZIP İşlemleri

İster web siteleri programlarken ister windows programlarında çoğu zaman bir ZIP dosyası oluşturmaya ihtiyaç duymuşsunuzdur. Ben genelde ZIP dosyalarını web sitelerinde yedekleme işlemleri için veya kullanıcı birden çok dosyayı siteden download edecekse hepsini birleştirip bir dosya olarak verebilmek için kullanırım. Windows programlarında da yedekleme işlemleri için veya Export ve İmport işlemlerinde dışarıyda tek bir dosya vermek için kullanabiliriz. Genel olarak baktığımızda internette bizi veri trafiğinden kurtaran ve derli doplu downloadlar sağlayan bir araç gibi kullanılabilir ZIP dosyaları.

Esas mesele .NET kodumuz ile istediğimiz dosyaları ZIPleyip var olan ZIP dosyalarını da açabilmek. Bu noktada bir sürü alternatif var, isterseniz üçüncü parti componentler satın alabilirsiniz veya ücretsiz dağıtılan bazı DLL kütüphanelerini de kullanabilirsiniz. Ama aslında bizim .NET Framework dahilinde kullanabileceğimiz yapılar da mevcut.

Microsoft.VisualStudio.Zip.dll

“Böyle bir sınıftan haberim yoktu. Bu kadar kolay mıymış?” diyenler üzülmesinler :) Haberinizin olmaması çok normal çünkü bu sınıf yapısına Visual Studio içerisinde “Add Reference” dediÄŸinizde gelen listede karşılaÅŸmanız mümkün deÄŸil. Aslında bu sınıf sadece Visual Studio Content Installer ve Template Wizard ile kullanılmak üzere hazırlanmış. O nedenle herhangi bir ÅŸekilde bu sınıfla ilgili Microsoft”dan destek almanız da mümkün deÄŸil.

Yukarıda ismini yazmış olduğum DLL dosyasını kendiniz gidip GAC (Global Assembly Cache)Start menüsünden Run diyerek c:\windows\assembly\gac_msil\ yazabilir ve direk söz konusu klasöre ulaşabilirsiniz. Benim bilgisayarımda tam yolu şu şekilde oldu: C:\windows\assembly\gac_msil\Microsoft.VisualStudio.Zip\8.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Zip.dll içerisinden bularak almanız gerekecek. Bunun için

DLL dosyasını projenize kopyaladıktan sonra “Add Reference” bölümünde de “Browse” diyerek DLL”i doÄŸrudan projenize referans olarak ekleyebilirsiniz.

Imports Microsoft.VisualStudio.Zip

Yukarıdaki şekilde DLL içerisindeki hedefimizi import ettikten sonra aşağıdaki gibi basit bir kod ile ZIP dosyalarını diske açabiliyoruz.

Dim Cozucu As New Microsoft.VisualStudio.Zip.ZipFileDecompressor(“C:\Benim\dosyam\burada.zip”)

Cozucu.UncompressToFolder(“C:\Dosyaları\Buraya\Koy\”)


Cozucu adını verdiğimiz bir değişkene ZipFileDecompressor sınıfının bir kopyasını hedef ZIP dosyamızın tam yolunu da vererek yarattıktan sonra UncompressToFolder metodu ile istediğimiz bir yere tüm dosyaları açabiliyoruz. Şimdi sıra geldi ZIP dosyaları yaratmaya;

Dim Dosyalar() As String = System.IO.Directory.GetFiles(“C:\Sıkıştıracağım\Dosyaların\Hepsi\burada\”)

“Dosyaların tam yol listesinin bulunduÄŸu dizide sadece dosya isimlerini bırakalım.

For Sayac As Integer = 0 To Dosyalar.GetUpperBound(0)

Dosyalar(Sayac) = System.IO.Path.GetFileName(Dosyalar(Sayac))

Next

Dim Sikistirici As New ZipFileCompressor(“C:\ZIP\Dosyam\Buraya.zip”, “C:\Sikistirilacak\Dosyaların\Bulundugu\yer\Burası\”, Dosyalar, True, False)


Sıkıştırma işlemine başlamadan önce sıkıştıracağımız dosyaların bir listesini String tipinde bir diziye almamız gerekiyor. O nedenle ilk satırda System.IO.Directory.GetFiles sınıfını kullanarak DosyalarSystem.IO.Directory.GetFiles sınıfı dosyaların listesini geriye dosyaların tam yolu ile döndürüyor. Biz dosyaların yol bilgisinin ZIP dosyasına aktarılmasını istemediğimiz için dizideki her bir öğeyi for döngüsü ile gezerek dosya isimlerini System.IO.Path.GetFileName sınıfı ile ayıklıyoruz. adındaki dizimize listeyi alıyoruz.

Sıra geldi sıkıştırma işlemini yapmaya. Sıkıştırma işlemi için Sikistirici adında bir ZipFileCompressorZipFileCompressor tanımlarken verdiğimiz parametrelerden ilki yaratılacak ZIP dosyasının adı ve tam yolu. İkinci parametre tüm sıkıştırılacak dosyaların bulunduğu klasörün tam yolu, üçüncü parametre ise dosyalarımızın adlarının bulunduğu dizinin ta kendisi. Son olarak verdiğimiz iki parametreden ilki hedef konumda başka bir ZIP dosyası varsa silinip silinmeyeceğini diğeri ise bir hata durumunda sıkıştırmanın iptal edilip edilmeyeceğini belirliyor. yaratıyoruz. Esasen bu değişken yaratma işlemini yaparken sıkıştırma işini de yapmış olacağız.

Hepinize kolay gelsin.

e ZIP dosyalarını web sitelerinde yedekleme işlemleri için veya kullanıcı birden çok dosyayı siteden download edecekse hepsini birleştirip bir dosya olarak verebilmek için kullanırım. Windows programlarında da yedekleme işlemleri için veya Export ve İmport işlemlerinde dışarıyda tek bir dosya vermek için kullanabiliriz. Genel olarak baktığımızda internette bizi veri trafiğinden kurtaran ve derli doplu downloadlar sağlayan bir araç gibi kullanılabilir ZIP dosyaları.

Esas mesele .NET kodumuz ile istediğimiz dosyaları ZIPleyip var olan ZIP dosyalarını da açabilmek. Bu noktada bir sürü alternatif var, isterseniz üçüncü parti componentler satın alabilirsiniz veya ücretsiz dağıtılan bazı DLL kütüphanelerini de kullanabilirsiniz. Ama aslında bizim .NET Framework dahilinde kullanabileceğimiz yapılar da mevcut.

Microsoft.VisualStudio.Zip.dll

“Böyle bir sınıftan haberim yoktu. Bu kadar kolay mıymış?” diyenler üzülmesinler :) Haberinizin olmaması çok normal çünkü bu sınıf yapısına Visual Studio içerisinde “Add Reference” dediÄŸinizde gelen listede karşılaÅŸmanız mümkün deÄŸil. Aslında bu sınıf sadece Visual Studio Content Installer ve Template Wizard ile kullanılmak üzere hazırlanmış. O nedenle herhangi bir ÅŸekilde bu sınıfla ilgili Microsoft”dan destek almanız da mümkün deÄŸil.

Yukarıda ismini yazmış olduğum DLL dosyasını kendiniz gidip GAC (Global Assembly Cache)Start menüsünden Run diyerek c:\windows\assembly\gac_msil\ yazabilir ve direk söz konusu klasöre ulaşabilirsiniz. Benim bilgisayarımda tam yolu şu şekilde oldu: C:\windows\assembly\gac_msil\Microsoft.VisualStudio.Zip\8.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Zip.dll içerisinden bularak almanız gerekecek. Bunun için

DLL dosyasını projenize kopyaladıktan sonra “Add Reference” bölümünde de “Browse” diyerek DLL”i doÄŸrudan projenize referans olarak ekleyebilirsiniz.

Imports Microsoft.VisualStudio.Zip

Yukarıdaki şekilde DLL içerisindeki hedefimizi import ettikten sonra aşağıdaki gibi basit bir kod ile ZIP dosyalarını diske açabiliyoruz.

Dim Cozucu As New Microsoft.VisualStudio.Zip.ZipFileDecompressor(“C:\Benim\dosyam\burada.zip”)

Cozucu.UncompressToFolder(“C:\Dosyaları\Buraya\Koy\”)


Cozucu adını verdiğimiz bir değişkene ZipFileDecompressor sınıfının bir kopyasını hedef ZIP dosyamızın tam yolunu da vererek yarattıktan sonra UncompressToFolder metodu ile istediğimiz bir yere tüm dosyaları açabiliyoruz. Şimdi sıra geldi ZIP dosyaları yaratmaya;

Dim Dosyalar() As String = System.IO.Directory.GetFiles(“C:\Sıkıştıracağım\Dosyaların\Hepsi\burada\”)

“Dosyaların tam yol listesinin bulunduÄŸu dizide sadece dosya isimlerini bırakalım.

For Sayac As Integer = 0 To Dosyalar.GetUpperBound(0)

Dosyalar(Sayac) = System.IO.Path.GetFileName(Dosyalar(Sayac))

Next

Dim Sikistirici As New ZipFileCompressor(“C:\ZIP\Dosyam\Buraya.zip”, “C:\Sikistirilacak\Dosyaların\Bulundugu\yer\Burası\”, Dosyalar, True, False)


Sıkıştırma işlemine başlamadan önce sıkıştıracağımız dosyaların bir listesini String tipinde bir diziye almamız gerekiyor. O nedenle ilk satırda System.IO.Directory.GetFiles sınıfını kullanarak DosyalarSystem.IO.Directory.GetFiles sınıfı dosyaların listesini geriye dosyaların tam yolu ile döndürüyor. Biz dosyaların yol bilgisinin ZIP dosyasına aktarılmasını istemediğimiz için dizideki her bir öğeyi for döngüsü ile gezerek dosya isimlerini System.IO.Path.GetFileName sınıfı ile ayıklıyoruz. adındaki dizimize listeyi alıyoruz.

Sıra geldi sıkıştırma işlemini yapmaya. Sıkıştırma işlemi için Sikistirici adında bir ZipFileCompressorZipFileCompressor tanımlarken verdiğimiz parametrelerden ilki yaratılacak ZIP dosyasının adı ve tam yolu. İkinci parametre tüm sıkıştırılacak dosyaların bulunduğu klasörün tam yolu, üçüncü parametre ise dosyalarımızın adlarının bulunduğu dizinin ta kendisi. Son olarak verdiğimiz iki parametreden ilki hedef konumda başka bir ZIP dosyası varsa silinip silinmeyeceğini diğeri ise bir hata durumunda sıkıştırmanın iptal edilip edilmeyeceğini belirliyor. yaratıyoruz. Esasen bu değişken yaratma işlemini yaparken sıkıştırma işini de yapmış olacağız.

Ajax Control Toolkit Kasım 2011 Sürümü

04 Aralık

2011

Geçtiğimiz günlerde Ajax kontrollerine ait yeni bir güncelleme olan kasım 2011 sürümü yayınlandı. Bu sürümle yeni bir balon popup controlü eklenmiş olup hali hazırdaki tab kontroller üzerinde de bir takım yenilik ve düzenlemeler yapılmış durumda. Dikey tab kontroller, klavyede tab navigasyonuda bunlardan bazıları.

Bağlantıyı kullanarak CodePlex üzerinden yeni sürümü indirebilirsiniz.

Alternatif olarak Ajax Control Toolkit son sürümü almak için hızlı ve kolay bir şekilde NuGet kullanmaktır. Visual Studio 2010 üzerinde (package manager)paket yöneticisinden konsolu açın ve resimde gördüğünüz komutu girin.

Yükleme gerçekleştirildikten sorna projenizi derlemeniz gerekiyor. Projeyi bir kez daha derledikten sonra proje üzerinde örnek bir denemeyle yüklenen ajax toolkit intellisense’ine göz atabilirsiniz.

Şimdi bu yeni sürümle gelen değişiklikleri teker teker inceleyelim.
Balon Popup Kontrol Kullanımı

Neden balon popup kontrol eklendi?

CodePlex üzerindeki oylamalara göre Ajax Control Toolkit için en çok talep edilen yeni özelliklerden biride balon popup kontrolü oldu.

Peki tam olarak ne için?

Herhangi bir kontrole tıklandığında veya herhangi bir kontrole odaklanıldığında veya herhangi bir kontrole ait bir mesajın görüntülenmesini istediğinizde kullanabilirsiniz. Örneğin, bir form üzerindeki metin kutularına ait talimatları görüntülemek için kullanabilirsiniz.

Balon popup oluşturmak için kullanılan kod bloğu aşağıdaki gibidir:

Ayrıca bir metindeki herhangi bir kelimeyi açıklamak içinde kullanabilirsiniz.

Buradaki bağlantının üzerine gelindiğinde görüntülenen balon popup kontrolüne ait kod bloğu aşağıdaki gibidir:

Balon popup kontrolü kullanılırken şu dört önemli özelliği bilmemiz gerekiyor.

# BalloonSize – Balon boyutları, küçük, orta ve büyük olabilir.

# BalloonStyle – Balon stilleri, dikdörtgen ve bulut ÅŸeklinde olabilir.

# UseShadow – true iken, açılır pencere biçiminde görünür.

# Position – Konum için, Auto, BottomLeft, BottomRight, TopLeft, TopRight deÄŸerleri alabilir. Varsayılan olarak auto deÄŸeri seçilidir.
Aşağıdaki ekran görüntüleri bu ayarların popup balon görünümülerinin nasıl etkilendiğini göstermektedir:


Özelleştirilmiş Popup Balon

CSS ve sprite özelliklerinden yararlanarak popup balon için kendi stilinizi oluşturabilirsiniz. Ajax kontrol toolkitin örnekler sitesinde de oval görünümlü özel bir stil oluşturulmuştur.

Bu stil için CSS sınıfına ait CustomCssUrl ve CustomClassName gibi özelliklerden yararlnarak özel bir popup balon oluşturulmuştur.

Balon popup kontrolü hakkında daha fazla bilgi edinmek için, ajax control toolkit sitesinden örneklere göz atabilirsiniz. BalloonPopupExtender hakkında ayrıntılı bilgi için tıklayın.

Tab Kontrollerindeki GeliÅŸmeler

Bu sürümde daha çok varolan tab kontrolleri için birkaç önemli yeni özellikleri tanıttıldı. Ayrıca tüm tab kontrolleri için top-voted hatası düzeltildi.

OnDemand Özelliği

Tab kontrolleri olan bir web formu düşünün. Bunlar Müşteriler ve Ürünler. Müşteriler sekmesine tıkladığımızda Müşteriler lsitesini, Ürünler sekmesine tıkladığımızda Ürünler listesini görmek istiyoruz.

Ajax Control Toolkit Kasım 2011 sürümü tab kontrolü için OnDemand adında yeni bir özellik içerir. Tab kontrolü için OnDemand özelliği true değerine ayarlandığında, ancak tıklandığında panele veri yüklenmesi olayı gerçekleşecektir. Bu durumda isterseniz görüntülenecek içeriği istediğiniz biçimde sorgulatarak listelenmesini sağlayabilirsiniz.

Aspx dosyasındaki kod bloğunu aşağıdaki ekran görüntüsünden inceleyebilirsiniz.

Yukarıda dikkat edeceÄŸiniz gibi TabContainer için OnDemand = “True” deÄŸeri girilmiÅŸ. Her iki sekme içinde verileri görüntülemek için birer DataGrid ve SqlDataSource nesnelerinden yararlanılmış.

Ve sayfanın arka planda çalışan kod bloğuna göz atacak olursak;

Arka planda ürünler için SqlDataSourceSelecting olayının kullanıldığı bir event handler içerdiğini görüyoruz. Debugger.Break() metodu çağrılarakta hata ayıklayıcıdan çıkması sağlanmış. Bu şekilde ürünlerin listesi alındıktan sonra işimiz bittiğinde SqlDataSource üzerinden silebiliriz.

OnDemand özelliği false olduğunda sayfa ilk yüklendiğinde tüm sekmelere ait içerikte yüklenmiş olacaktır. Yani sayfa ilk yüklendiğinde seçili olmayan diğer sekmeler dahil tüm içerik yüklenmiş olarak kalacaktır. Seçili olmayan sekmelerin içeriği seçili olana kadar gizlenmiş olarak kalır.

Bir sekmedeki içeriğin yüklendiğinde daha fazla kontrole sahip olmasını istiyorsanız OnDemandMode özelliğinden yararlanabilirsiniz. Bu özellik için aşağıdaki değerler dikkate alınır:

# None – Sayfa ilk yüklendiÄŸinde sekmeye ait panel açılmadan yüklenmez.

# Once – Sekme seçildiÄŸinde panel açılana kadar yükleme için bekler.

# Always – Sekmeye ait panel her açıldığında yüklüdür.

Bağlantıdan onDemandMode için canlı demo örneğini inceleyebilirsiniz.
Vertical Tabs – Dikey Sekmeler

Kasım 2011 sürümüyle artık dikey sekmelerde desteklenmektedir.

Dikey sekmeler oluşturmak için, TabContainer’ın UserVerticalStripPlacement özelliğine true değerini atayabiliriz.

Ek olarak, sekme panellerinin sol veya sağ ya da üst veya alt kısmında görünür olup olmadığını kontrol etmek için TabStripPlacement özelliğini kullanabilirsiniz.

 

Toplam 3 sayfa, 1. sayfa gösteriliyor.123