Boşluksuz Uzun Kelimeleri Bölme

Boşluksuz Uzun Kelimeleri Bölme

HTML de bolca kullandığımız tabloların "width" diye bir parametresi vardır.Genişliği belirler.Fakat genişlik verilen tabloda kelimeler arası boşluk yoksa bu width değerine aldırmaksızın tablo genişler ona bağlı diğer tasarım öğeleride konum değiştirir._______________|                     ||______________|  Bu tabloya width="100" değeri verildiğini düşünelim şayet içerisine normal kelimeler yazdığımız vakit sadece aşağı doğru itileme eyilimine gidecektir_______________| findikkurdu     || sitesine hoş   || geldiniz...       ||______________|  yan yana sığabilen kelimeler sığacak diğerleri aşağı itilecektir.Bu normal olası ve olması gereken durumdur.Ancak bu yazıyı şayet biz yazdı isek duruma müdahale etmemiz kolay.Peki kullanıcı yorumu / yazısı gibi sitede yayınladığımız alanlarda bahsettiğimiz olay gelişirse? çünkü kendi insiyatifimizde olmayan bir durumdur.______________________________________________________________________________________| sizleriçokseeeeeeeeeevvvvvvvvvvvvvviiiiiiiiiiiiiiiiiiiiiiiiiyyyyyyyyyyyyyyoooooooooorrrrrruuuzz!..   ||_____________________________________________________________________________________|  gibi bir kullanıcı yorumuna yazısına kullanığımız tablomuz genişliği 100px olmasına rağmen genişleyecektir ve tasarımı bozacaktır.İşte bu durumlar içinkelimeyi parçalayacak hali hazırda bir sisteme ihtiyaç duyarız.  Sub UzunCumle(strVeri,karakterMiktari)  karakter_uzunlugu = karakterMiktarikelimeler = Split(strVeri)  For i = 0 To Ubound(kelimeler)       If Len(kelimeler(i))> karakter_uzunlugu Then                 kac_parca = Len(Kelimeler(i)) / karakter_uzunlugu            For j = 1 To CInt(kac_parca)                                  If Len(kelimeler(i))> karakter_uzunlugu Then                                  strKelimeParcalari = Mid(kelimeler(i),1,karakter_uzunlugu)                      fark = Len(kelimeler(i)) - karakter_uzunlugu                            kelimeler(i) = Right(kelimeler(i),CInt(fark))                                 Response.Write strKelimeParcalari & " "                  End If            Next            Response.Write kelimeler(i)&" "        Else            Response.Write (kelimeler(i))&" "        End If  Next  End Sub  cumle = "şimdi bu bir kadirdoganmaxiaspkarakterbolmeversionbirnokt  aikidegisikasdljasdlkjasldkjaslkjasdlkajslkdajsd  lkasjdlkasjdlkasjdlkaoıuhaklhfkajhfkjashfkjashfk  jahskjdhaskjdhakjhdkaliklazimbunasonrotusden  emetamikikatiolduğundavetastigindadaaynisonu  cudonduruyor olsa sonuç olarak ne dönecek"   UzunCume(cumle)  %>  Şimdi alt yordamımız 2 adet parametre almaktadır birisi uzuuuuuuuun şekilde yazılan string yapıyı ve bu uzun şekilde gönderilmiş stringi kaçarlık dilimlere bölceğimizi belirten karakterMiktarı.Değerleri alt yordama gönderdikten sonra yapılan ilk işlem gelen string yapıyı boşluklara göre bölmekkelimeler = Split(strVeri)  kelimeleri boşluklara göre bölmek demek tek tek string içerisindeki kelimeleri elde etmek demek.Ve daha sonraki işlem bu oluşan kelime kadar yapı içerisinde dönmek ve tek tek kelimelerin istenilen uzunlukta olup olmadığını kontrol etmekFor i = 0 To Ubound(kelimeler)       If Len(kelimeler(i)) > karakter_uzunlugu Then  .Şayet kelimenin karakter sayısı parametre olarak gönderilen karakter_uzunlugundan büyükse asıl işlemimiz olan kesme biçme başlayacaktır.değilse kelime aynen response.write ile basılacaktır ekrana.kac_parca = Len(Kelimeler(i)) / karakter_uzunlugu  kac_parca değişkenimiz istenilen uzunluktan ne kadar fazlalığı var onu tesbit etmek için kullandığımız ara değişkendir.örneğin sizleriçokseeeeeeeeeevvvvvvvvvvvvvviiiiiiiiiiiiiiiiiiiiiiiiiyyyyyyyyyyyyyyoooooooooorrrrrruuuzz!.. 98 karakterdir.Bu kelime eğer 25 karakterlik dilimlere bölünmek istenmişse98/25 = 3.92 onunda Cint değerini aldığımız için 4 elde edilecektir.elde ettiğimiz değer bu uzun kelime için kaç defa bölme işlemi yapacağımızı bildiren sayıdır.o nedenle bu değer kadar ikinci bir for döngüsü kuruyoruz  For j = 1 To CInt(kac_parca)                                  If Len(kelimeler(i)) > karakter_uzunlugu Then  Ve bu sefer kelime için her bir seferinde 25 ten büyükmü diye kontrol ediyoruz.Bunun nedeni ise her zaman 25 in katları şeklinde bölüm sonrası karakter kalmayacaktır.Örneğimizde 3 sefer 25 karakter bölümleme yaparken en son parça için 23 karakter kalmaktadır.strKelimeParcalari = Mid(kelimeler(i),1,karakter_uzunlugu)                      fark = Len(kelimeler(i)) - karakter_uzunlugu                            kelimeler(i) = Right(kelimeler(i),CInt(fark))                                 Response.Write strKelimeParcalari & " "   Asıl işlevi üstlenen bu kodlar ise kelimeden 25 karateri çıkartır ve çıkartılan karakter dizesinide tekrar o stringten eksiltir.Ve böylelikle sonuç olaraksizleriçokseeeeeeeeeevvvv vvvvvvvvvviiiiiiiiiiiiiii iiiiiiiiiiyyyyyyyyyyyyyyo ooooooooorrrrrruuuzz!..  gibi aralarında birer boşluk olan ve sığmadığı taktirde tablodan aşağıya itilebilekcek kelimeler elde etmiş oluruz.Ve işte bu kadar...

Son Yolcu

Döküman Arama

Başlık :

Kapat