• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü ListWievde veri saydırma

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

Feylosof

Yeni Üye
Katılım
10 Ağu 2021
Mesajlar
355
Çözümler
8
Aldığı beğeni
156
Excel V
Office 2010 TR
Konu Sahibi
İyi geceler

Listwiev de okullar listelenmektedir. TextBoxt1e bir okul ismi alındığında o okulun içinde teknik anadolu lisesi veya imamhatip anadolu veya yalın olarak anadolu lisesi ibaresi geçiyorsa aynı ifadenin geçtiği satırları listwievde saydırmak istiyorum. özetle okul tür isimlerini saydırmak istiyorum.
Teşekkürler.
 
Çözüm
Kodu kısaltmıştım.
dizi = Array("Ýmam Hatip Lisesi", "Fen Lisesi", "Anadolu Lisesi", _
"Mesleki ve Teknik Anadolu Lisesi", "Teknik Lisesi", _
"Teknik Lisesi", "Sosyal Bilimler Lisesi")

Buralara ekleme yapılabilinir sadece yada okul adları sayfaya yazılıp ordan alınır.


HTML:
CSS:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Kaç farklı okul türünüz mevcut?
Hepsi düzenli olarak nizami bir şekilde yazıldı mı?
Örneğin bir yerde "teknik anadolu lisesi" yazarken diğer yerde "teknik anadolu lise" yazıyor mu?
İmamhatip anadolu ile sadece anadolu ayrılacak mı? yoksa aynı tür mü sayılacak.

Daha bir çok sorunun yanıtlanmasına muhtaç bir konu olmuş. Siz en iyisi örnek bir dosya yükleyin, biz onun üzerinde çalışıp size geri dönüş yapalım.
 
Konu Sahibi
Kaç farklı okul türünüz mevcut?
Hepsi düzenli olarak nizami bir şekilde yazıldı mı?
Örneğin bir yerde "teknik anadolu lisesi" yazarken diğer yerde "teknik anadolu lise" yazıyor mu?
İmamhatip anadolu ile sadece anadolu ayrılacak mı? yoksa aynı tür mü sayılacak.

Daha bir çok sorunun yanıtlanmasına muhtaç bir konu olmuş. Siz en iyisi örnek bir dosya yükleyin, biz onun üzerinde çalışıp size geri dönüş yapalım.
Hocam merhaba okul isimleri somut isimler olduğu ve özel bilgi içerdiği kaygısı ile ilk etapta dosya yüklemeyi tercih etmedim. Anadolu Lisesi Mesleki ve teknik anadolu lisesi, fen lisesi, sosyal bilimler lisesi anadolu imam hatip lisesi gibi okul türleri var ve hepsi standarttır.
 
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Allah'ını seven şu regex'e bir el atsın.

Örnek hazırlamaya çalışıyorum fakat Mesleki ve Teknik Anadolu Lisesi ile Anadolu Lisesini birbirine karıştırıyor bu regex deyimi. HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
ifadesi başında "Teknik " içermeyen Anadolu'yu seç demek değil mi? Yoksa ben mi yanlış biliyorum.

Not: Bu arada ilk regex tecrübem, eğer ifadede saçmaladıysam şimdiden kusura bakmayın :)
 
VisualBasic.gif

Gifte görebileceğiniz gibi listemiz sadece "Anadolu Lisesi" içeren ya da "Mesleki ve Teknik Anadolu Lisesi" içeren bir veri kümesinde "Mesleki ve Teknik Anadolu Lisesi" deyimini seçerken zorlanmadan seçip sayıyor. Fakat "Anadolu Lisesi" deyimini seçerken zorlanıyor çünkü "Anadolu Lisesi" deyiminin önünde başka deyimler de bulunabiliyor. Bundan kaçışın bir yolu mutlaka vardır ama ben bulamadım. Kodların tamamı aşağıda.

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Bundan farklı yöntemlerle kaçışın olabileceği bir çok yol biliyorum ama böyle bir şeyi regex ile kolaylıkla başarabiliriz diye tahmin ediyorum.
 
İnstr deneyin birde abey.Bende bilmiyorum bu Regxp olayını çok zor geliyor nedense :(
 
İnstr deneyin birde abey.Bende bilmiyorum bu Regxp olayını çok zor geliyor nedense :(
Çözmek için regex dışında tonla yol var hocam onları biliyorum da regex ile bir kaç satıra düşürebilir miyiz bütün kod kümesini diye uğraşıyorum:)
 
Abey zaten instr ilede tek satıda olur ve bence daha kolay ve kısa olur sanki.
Öyle tabi fakat instr den integer değeri almak için bir diziye ihtiyacımız olacak ki bu diziyi tanımlamamız gerek. Dizi içinden hangisi ile uyuştuğunu görmek için döngü falan kullanmak zorunda kalacağız. O tür mevzulara girmemek için deneme yapmak istedim.
 
aeGNoR hocam regexp ile olması biraz zor gibi,
içermeyen eklenebilir ama içermeyecekler belli değil ki, önce içermeyecekler bulunmalı
aklıma şöyle bir şey geliyor okul türleri bir dizeye aktarılır ve match ile birebir eşleşen satır dışındakiler patterna aktarılıp öyle yapılabilir belki
 
Regxp haricinde ekteki gibi olabilir ayrıca okul çok olursa ona göre kısaltma işlemi uygulanabilinir.
Öncedende dediğim gibi anlamıyorum bu Rexp olayından kolay ama pattern olayı zor geliyor bana.

fff.gif

HTML:
CSS:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
aşağıdaki dosyada regular expression RegExp kullanılmıştır
maalesef doğrudan anadolu lisesi olsun ama anadolu teknik lisesi olmasın tarzında kod bulamadım ama biraz dolambaçlı yollarla halledebildim gibi
'regEx.Pattern = "^((?! ali| vali | cemil).)*$ bu kalıp içinde ali vali yada cemil olmayan değerlerde True dönderir
ama öncelikle tüm lise türlerinin bir yerde kayıtlı olması şart
Not: konu sahibinin ne istediği kesin olmadığı için sadece RegExp örneği olsun diye ekledim
Not2: aslında gerek regExVar'a yoktu ama bazı okullarda isim eksik yazıldığında mesela
edirne mesleki teknik lisesi yerine edirne meslek teknik lisesi -i eksik yazıldığından lise türünde yer almaz- meslek kelimesi lise türleri içinde olmadığından aranan kelimeymiş gibi buluyordu o nedenle eklemek zorunda kaldım
HTML:
CSS:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Son düzenleme:
Kodu kısaltmıştım.
dizi = Array("Ýmam Hatip Lisesi", "Fen Lisesi", "Anadolu Lisesi", _
"Mesleki ve Teknik Anadolu Lisesi", "Teknik Lisesi", _
"Teknik Lisesi", "Sosyal Bilimler Lisesi")

Buralara ekleme yapılabilinir sadece yada okul adları sayfaya yazılıp ordan alınır.


HTML:
CSS:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Çözüm
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst