İstanbul
+90 543 947 95 80
info@jeffbezosweb.com

Veri Yapılarının Oluşturulması – SEO Hizmeti Sunma – SEO Hizmeti – SEO Hizmeti Ücretleri – SEO Hizmeti Yaptırma

Web Danışmanlık Hizmeti, Seo Hizmeti Al, Mobile Uygulama Yaptır, Back Link Satın Al, Blog Yazdırmak İstiyorum, Web Sitemi Tanıtmak İstiyorum, İngilizce Blog Yazdırmak İstiyorum, Makale YAZDIRMA siteleri, Parayla makale YAZDIRMA, Seo makale fiyatları, Sayfa başı yazı yazma ücreti, İngilizce makale yazdırma, Akademik makale YAZDIRMA, Makale Fiyatları 2022, Makale yazma, Blog Yazdırma, Tasarım Yaptırmak İstiyorum, Tüm bu hizmetlerimizden yararlanmak için mail kanalımızı veya sağ alt köşedeki Whatsapp tuşumuzu kullanabilirsiniz. info@jeffbezosweb.com

Veri Yapılarının Oluşturulması – SEO Hizmeti Sunma – SEO Hizmeti – SEO Hizmeti Ücretleri – SEO Hizmeti Yaptırma

Hash Oluşturma – SEO Hizmeti Sunma – SEO Hizmeti – SEO Hizmeti Ücretleri – SEO Hizmeti Yaptırma

Özel Yapılandırma Bölümü Örnek Uygulaması

İşte senaryo. Bir web sitesine yüklenmiş dosyaların listesini görüntülemek isteyen bir müşteriniz var. Her dosya, belge türünü temsil eden bir simgeyle görüntülenmelidir.

Örneğin, Word belgeleri, zengin metin belgesi ve metin dosyaları, küçük bir kelime defteri gibi görünen bir simgeye sahip olmalıdır, oysa Excel belgeleri ve virgülle ayrılmış değer dosyaları, bir elektronik tabloyu gösteren bir simgeye sahip olmalıdır. Belge türü, dosya uzantısına göre belirlenir.

Müşteriniz, simgeleri ve hangi uzantıların bu simgelerle ilişkilendirilmesi gerektiğini tanımlayabilmeleri için yapılandırılabilir bir çözüm istiyor. Ayrıca bilinmeyen uzantıları temsil edecek bir simge tanımlayabilmek istiyorlar. Son olarak, her simge, simge görüntüsü için alternatif metin (HTML’deki <img> etiketinin alt parametresi) olarak kullanılacak bir açıklamaya sahip olmalıdır.

Aşağıda, istemcinin yapılandırmayı nasıl tanımlamak istediğine ilişkin bir örnek verilmiştir.

Konfigürasyon Veri Yapılarının Oluşturulması

Özel yapılandırma işleyicileri, yeniden kullanılabilmesi için doğrudan projenizde veya harici bir montajda tanımlanabilir. Bu örnekte, harici bir montaj kullanacaksınız, bu nedenle çözümünüze yeni bir proje eklemeniz gerekiyor.

Bunu, çözüm dosyasına sağ tıklayarak ve ardından Ekle ➤ Yeni Proje’yi seçerek yapabilirsiniz. Yeni Proje Ekle iletişim kutusu görünür. Proje Türü için Visual Basic’i ve Şablon olarak Sınıf Kitaplığı’nı seçin. Yeni projeyi IconConfiguration olarak adlandırın. OK düğmesine tıkladıktan sonra Solution Explorer penceresinde yeni bir proje belirir.

Simgeler için XML yapılandırmasına bir göz atın. Bir simgeler koleksiyonunu fark etmelisiniz ve her simgenin bir uzantı koleksiyonu, bir liste listesi vardır. Bu verileri tamamen aynı hiyerarşik yapıda tutmak için bir veri yapısı oluşturacak olsaydınız, uzantıyı başlangıç ​​noktası olarak kullanarak uygun bir simge aramak çok zahmetli olurdu.

Bunun yerine, ImageUrl, Açıklama ve Uzantı özelliklerini bir arada depolayabilen ve göreli kolaylıkla aranabilen tek bir liste tutmanıza olanak tanıyan bir veri nesnesi oluşturacaksınız.

Varsayılan olarak, yeni proje Class1.vb adlı bir sınıf dosyası içerecektir. Bu dosyanın adını IconConfigurationItem.vb olarak değiştirin. IconConfigurationItem sınıfı, tüm simge bilgilerini tutar.

IconConfigurationItem nispeten basit bir sınıftır. Simge, açıklama ve uzantı olarak görüntülenecek görüntünün konumunu depolamak için üç genel özellik ve bunlarla ilgili alanları içerir. Ayrıca, bu özelliklerin başlatılmasına yardımcı olacak bir kurucu içerir.


Veri Yapıları
Veri Yapıları Ders Notları
Veri Yapıları C
Veri yapıları nedir
Veri Yapıları PDF
Veri Yapıları Ders Notları PDF
Veri yapılarının basit ilkeleri
Veri Yapıları ağaç türleri


Ardından, IconConfigurationItem nesnelerinin bir listesini depolayabilen bir nesne oluşturmanız gerekir. Bu, kesin olarak yazılan bir koleksiyon sınıfı aracılığıyla gerçekleştirilir. IconConfigurationCollection.vb adlı projenize yeni bir sınıf dosyası ekleyin. Ardından aşağıdaki kodu dosyaya ekleyin.

IconConfigurationCollection sınıfı, liste depolama işlevini CollectionBase sınıfından devralır. Miras alınan bir özellik olan List özelliğinin sınıf genelinde kullanıldığını fark etmelisiniz. Sınıf bildirimi altında, bilinmeyen simge bilgilerine bir referans depolayabilen bir genel alan göreceksiniz.

Bu alıştırmanın gereksinimlerinden birinin, bilinmeyen bir uzantı olması durumunda görüntülenebilecek bir toplama simgesine sahip olmak olduğunu unutmayın.

List özelliğinde arama yapmaktan sorumlu olan GetExtensionIndex işlevi, belirli bir uzantıya sahip bir IconConfigurationItem arar. Daha sonra o öğenin dizinini veya öğe bulunamazsa -1’i döndürür.

Hız açısından, bu arama algoritması olağanüstü bir şey değil, ancak işi hallediyor. İlk olarak, daha sonra işlevde uygun dize eşleşmesini sağlamak için Uzantıyı büyük harf değerine dönüştürür.

Ardından, işlev List özelliğindeki her IconConfigurationItem arasında döngü yapar ve işleve iletilen Uzantı değerinin listedeki öğelerin Uzantı değerlerinden herhangi biriyle eşleşip eşleşmediğini kontrol eder. Eğer öyleyse, eşleşen öğenin dizini döndürülür. Değilse, döngüden çıkar ve işlev, uzantıyla ilişkili simgenin bulunmadığını belirten -1 değerini döndürür.

Bu özellik, bir dosya türünün uzantısını temsil eden bir dize içeren Extension adında bir parametreye sahiptir. Bu özelliğin amacı, verilen uzantıyla ilişkili IconConfigurationItem öğesini döndürmektir. Mevcut değilse, özellik bilinmeyen simgeyle ilişkili IconConfigurationItem öğesini döndürür.

Bu, uygun öğenin dizinini döndürmek için GetExtensionIndex işlevi kullanılarak gerçekleştirilir. İşlev -1 döndürürse, UnknownIconInfo’yu döndürmeniz yeterlidir. Aksi takdirde, IconConfigurationItem’i listedeki uygun dizine döndürürsünüz.

Handler Uygulaması

ICon➥ figurationSectionHandler arabirimini uygulayan IconConfigurationHandler adlı bir sınıf oluşturacaksınız.

IConfigurationSectionHandler arabirimi yalnızca tek bir işlevi, yapılandırma verilerinizi depolayan bir nesneyi döndürmekten sorumlu olan Oluştur işlevini gösterir. Örnekte, bir Icon➥ ConfigurationCollection nesnesi döndüreceksiniz. Sınıfta sadece tek bir fonksiyon olduğu için sınıfın tamamı burada görüntülenir.

Oluştur işlevinin üç parametresi vardır: ebeveyn, configContext ve bölüm. Teoride, ana parametre bir üst yapılandırma bölümündeki yapılandırma ayarlarını içerir ve configContext, yapılandırma hakkında bağlamsal bilgileri içerir. Ancak pratikte bunlar genellikle NULL’dur ve neredeyse hiçbir zaman kullanışlı değildir.

Aksini yapmak için zorlayıcı bir nedeniniz olmadıkça bunları dikkate almayın. Bölüm parametresi ise yapılandırma bölümünüzün içinde bulunan tüm XML verilerini içerir, bu nedenle bu işlevde önemli bir rol oynar. İşlev bildiriminden sonra, gösterildiği gibi bir değişken kümesi tanımlarsınız.

XmlNode nesnesinin SelectNodes işlevi, bir XPath sorgusunu kabul eder ve XPath sorgusuyla eşleşen tüm düğümleri içeren bir XmlNodeList döndürür. XPath sorgusu yalnızca bu durumda döndürülmesini istediğiniz öğelerin öğe adını temsil eden bir dizedir.

■Not : XPath, öğeleri yalnızca ada göre aramaktan çok daha fazlasını yapabilen güçlü bir XML sorgu dilidir. XPath sözdizimine ve yeteneklerine daha ayrıntılı bir bakış için çevrimiçi bir eğitim için aşağıdaki Web sitesini ziyaret edin.

Değişken bildirimlerinden sonra, IconNodes değişkenindeki tüm görüntü öğeleri arasında döngü oluşturmaya başlarsınız. İlk döngü içinde, geçerli görüntü öğesindeki tüm ext öğelerini alır ve bunları ExtensionNodes değişkeninde saklarsınız. Ardından, ikinci döngüdeki bu harici öğelerin her birini yinelemeye başlarsınız.

İkinci döngü içinde, IconConfigurationItem yapıcısını çağırır ve resim URL’si, açıklama ve uzantı için değerleri iletirsiniz. Hem resim URL’si hem de açıklama, resim öğesinin parametreleridir, dolayısıyla değerlerine erişilebilir.


Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır. 

1) Backlink Paketi  50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)


 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

× Bize Whatsapp'tan Ulaşın