Geri Dön   Forum Ti > Programlama Dilleri ve İnternet > Web Tasarım
Üye Ol Üye Listesi Takvim Forumları Okundu İşaretle

Web Tasarım İnternet sitesi ile ilgili kodlar, kaynaklar, ipuçları, uygulamalar ve diğer herşey.

Cevap
 
Konu Araçları
Eski 03.08.2006   #1 (permalink)
Teknik Ressam
 
<EFTELYA>  Görüntü Resmi
 
Katılma Tarihi: Tem 2006
Nereden: SAMSUN
Mesajlar: 917
Post DELPHİ 2006 ve ASP.NET ile SİTE TASARIMI -8-

Delphi 2006 ve ASP.NET İle Arşivbank Site Tasarımı -8-



Dostlar diyorlar ki : "Hocam sizin bu banka bitmeyecek galiba, baksanıza bankayı geçtik, cevizi Delphi ile
ASP.NET dersleri için dershaneye çevirdiniz. Hani fenada olmadı, kestirmeden bir iki ipucu görüyoruz."

Yerden göğe kadar haklılar ama ne yapalım ki, ne başımıza bir usta ne yanımıza bir çırak bulamadık. Özel
hayat, iş hayatı derken yeteri kadarda projeyle ilgilenememiyoruz. Ancak inanın bu BDS 2006 ve ASP.NET ile
yaptıklarımı anlatırken zevk aldığım kadar hiç bir şeyden zevk almıyorum. Bende .NET ile burada yazdıklarımla
haşır neşir oluyor sayılırım. Olaki bu yüzden dilim sürçer ise affola.

Bu yazımızda web kontrollerini işlemeyi düşünüyordum. En azından keşfettiğim kadarıyla. Ancak tasarım ve
kodlamayı birbirinden ayıran bir yapı üzerine kurulu BDS.2006 'ya daha yeterince hakim olamadığımı
düşündüğümden fikrimi değiştirdim. Win32 platform yazılımcıları için biraz karışık görünen bu yapının pekişmesi
amacıyla bu yazıyı birazdan göreceğiniz düzenek üzerine yazmaya karar verdim.

Yazı dizimizin 8 ncisine hoş geldiniz. Daha kaç dizi çekeriz bilmiyorum. Görünüşe göre kurtlar vadisi kadar
bölüm olacak.

Web tasarımıyla uğraşanlarımız bilirler. Her sitenin güncel haberler, makaleler vb. yazılarını yayımladıkları bir
düzenekleri vardır. İşte bu yazımızda kısmen bir yazı yayınlama sisteminden bahsedeceğiz. Özel olarak bu yazıda
;
  • Bir kullanıcı kontrol sayfasında sunucu tararflı nesnelerle çalışmayı
  • Bir tabloda tek bir alanın içindeki uzun bir metnin sayfalara bölünmesini
  • Yine aynı tablodaki yazı metninin sayfada gösterilmesini örnekleyeceğiz.
Önce 5 parçaya bölünmüş ana sayfamızın orta kısmında yazı başlıklarını ve özetlerini vereceğiz. Daha sonra
ilgili yazı için ayarlayacağımız bağlantılarla yazının detaylarını göstereceğiz. Eğer yazı bir ekrana sığmayacak
kadar uzunsa yazıyı birden fazla sayfaya böleceğiz. Şimdilik kod optimizasyonu ve performans bizim için önemli
değil.

Güncel Yazı sayfasının tasarımı :

Projeye yeni bir kullanıcı kontrolü (ascx) sayfası ekleyerek işe başlıyoruz. eklediğimiz sayfanın kaynağı
aşağıdaki gibi olacak.

guncel_haber.ascx

<%@ Control Language="c#" AutoEventWireup="false" Codebehind="guncel_haberler.pas"
Inherits="guncel_haberler.TWebUserControl_GuncelHa berler"%>
<style>
.haberdiv
{

OVERFLOW-X: scroll; WIDTH: 100%; HEIGHT: 100%
}
</style>
<div id="haberozetTxt" class="haberdiv" runat="server"></div>
<div id="SayfaNoAlt" class="haberdiv" runat="server"></div>
Kullanıcı kontrolu (ascx) sayfamızın kaynak dosyasına haberozetTxt ve SayfaNoAlt isimli ikiadet sunucu

tarafında işlenecek nesne ekliyor ve haberdiv isimli stili haberozetTxt üzerine uyguluyoruz.
Bu stil ile
haberozetTxt katmanın sayfa taşmalarına karşı yatay kaydırma çubuğuna sahip olmasını istiyoruz. Bu

elemanlara nesne diyorum çünki bu div etiketleri standart bir HTML sayfasında katman olarak ele alınıp

işlenirken birazdan göreceğiniz gibi bize code-behind (pas) dosyası içinden erişim imkanı veriyor. Ascx

sayfasında bu deklarasyonumuzun etkisi cedebehind olarak ilgili pas dosyasına aşağıdaki bildirimlerin otomatik
eklenmesini sağlıyor. Eğer bu bildirim otomatik eklnemmemiş ise elleyerek ekleyebilirsiniz.

unit guncel_haberler.pas

strict protected
haberozetTxt: System.Web.UI.HtmlControls.HtmlGenericControl;
sayfaNoAlt: System.Web.UI.HtmlControls.HtmlGenericControl;

Bu deklarasyon sayesinde codebehind (pas) dosyasının içinden bu elemanlara istediğimizi yaptıracağız.
haberozetTxt isimli katman yazımızın başlık, sayfa numaraları, özet, yazar ve tarih bilgileri ile detaya
geçildiğinde tam metnini göstermek için kullanılacak. sayfaNoAlt isimli katmanda ise uzun yazıları
böldüğümüzde sayfa numaralarının alttada çıkmasını sağlayacağız. Sayfa numaraları hem üstte hemde altta
basılacak. Sayfanın tasarımla ilgili işi bu kadar.

Code-behind içinde aşağıdaki fonksiyonları kullanacağız
  • HaberOzetiListele(Const katid : String);
    Aktif yazıları tablodan alıp HTML ile formatlayarak basacak.
  • HaberBas(Const Haberid : String);
    Özet olarak basılan yazıların tamamını HTML ile formatlayarak basacak
  • SayfaGovdesiniBas(S : String):String;
    Bir Ansi fonksiyonuyla yazıdaki özel işaretleri kaldırarak yazının gövde kısmını HTML ile formatlayacak
  • KacSayfadanOlusuyor(Const S,Ayrac : String):Int16;
    Yazı içinde sayfa bölme işaretlerini sayarak kaç sayfaya bölüneceğini bulacak.
    Sayfa bölme işareti olarak "<sayfa_sonu>" kullanılıyor.
  • IkiSozdizimiArasiniAl(KaynakStr, ArananStr : String; ItemNum : Integer): String;
    Yazı içinden sayfa bölme işaretini arayıp bu bölüme kadar olan kısmı kesip çıkartacak. Çok sayfalı
    yazılarda isabet sayfayısınıda bu yöntem ayarlayacak.
  • Function SayfaNumaralariniBas(KacSayfa,RequestSN : Int64;n,d:String):String;
    Çok sayfalı yazılarda sayfanın başlık kısmında ve altında çıkacak sayfa numaralarını HTML ile
    formatlayacak.
Bu yöntemleri anlatmaya geçmeden önce sayfada Mysql bağlantısı kullanacağımızdan name space alanına



(DAHA ÖNCE VEİRİLDİYSE KUSURA BAKMAYIN SAYGILARIMLA....!!!!!)
__________________
Bana Gözlerinle Değil
Sözlerinle Anlat...
<EFTELYA> Şuanda Forumda Değil   Alıntı yaparak cevapla
Cevap


Şu Anda Konuyu İnceleyen Aktif Kullanıcılar: 1 (0 üye ve 1 misafir)
 
Konu Araçları


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Ip Ve Web Sİte Hack MRTGAMER Web Sitesi Çökertme 31 15.05.2008 18:39
Dos Ataklarla Sİte Hack MRTGAMER Web Sitesi Çökertme 6 31.01.2007 15:37
Lütfen yardımmm DELPHİ Delphi7 Programlama & Geliştiriciler için 2 22.12.2006 19:14
Veritabanında arama yapmak(DELPHİ) TR023UĞUR Web Tasarım 0 11.03.2006 08:07
Sıte Acıkları-tam liste Sporcu Web Sitesi Çökertme 0 26.01.2006 00:11


Şu anki forum saati: 19:07.


cnt hizmet sağlayan firma
ForumTi.com'un yapımı ve yayınlanması CNT'ye aittir.
Sitedeki içerikleri foruma ücretsiz şekilde üye olabilen ziyaretçiler oluşturur. Bu içeriklerin sorumluluğu yazana aittir.
Eğer yasak ve aykırı içerik tespit edilirse site yöneticilerine bu konular bildirilir ve kaldırılır. Site yönetimi haberdar edildiğinde sonuç alınamaz ise servis sağlayıcı CNT'ye bildiride bulunabilirsiniz.
vBulletin® v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd. Search Engine Friendly URLs by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265