Bilgisayar Mühendisliği
• 30/10/2007 - c# adres
• 29/10/2007 - Gözyaşartan mektup
Gözyaşartan mektup
Türkiye Cumhuriyeti bundan tam 84. yıl önce Türkler, Kürtler, Lazlar, Çerkezler kısacası Osmanlı bayrağı altında yüzyıllarca birlikte yaşamış farklı etnik kökenlerden insanlar tarafından kuruldu.
Ne var ki 84 yıl önce bu topraklarda istediklerini gerçekleştiremeyen dahili ve harici düşmanlar bugün bir kez daha atağa kalkmış durumdalar. Amaçları bu ülkenin mozağini parçalamak. bunun için de en hain yöntemi "terörü" kullanıyorlar. İşte böyle bir dönemde Samanyolu Haber terör örgütü tarafından bombacı olarak yetiştirilen bir gencin itiraflarını yayınlıyor.
Bakın kandırılmış genç kanlı bir eylemi gerçekleştirmekten nasıl vazgeçiyor?
Oğlunun terör örgütüne katılacağından şüphelenen Vanlı babanın içi içini yiyor. Öz evladının örgüt tarafından türlü vaadlerle kandırıldığını hissediyor ancak ne yapacağını bilemiyor. Propagandanın baskısıyla algısı kapalı oğlunu ikna edemeyeceğini anlayan baba, bir gün onu çaığıyor ve evladına kısa bir vasiyette bulunuyor.
"OĞLUM, BİR GÜN BU ÜLKEYE İHANET ETME DÜŞÜNCESİ AKLINDAN GEÇERSE, ÖNCE ÇANAKKALE'YE GİT, ORADA YATAN ŞEHİT DEDENİN MEZARINI BUL, ONA BİR FATİHA OKU, ONDAN SONRA NE YAPARSAN YAP.
Genç o zaman bu sözlerin ne anlama geldiğini pek anlamıyor. Umursamıyor da. Aklı fikri dağa çıkmak, örgüte katılmak düşüncesiyle dolu.
Derken genç örgüte katılmak üzere evinden ayrılıyor. Bu süreçte karşılaştığı bazı olayların kafasını karıştırdığı, yıllar sonra yazdığı bir mektuptan anlaşılıyor.
"İSTANBUL'A ÇALIŞMAYA GİDİYORUM" DİYE AİLEME YALAN SÖYLEMİŞ VE BİR BAŞKASININ ÜZERİNE ALDIĞIM PASAPORTLA YURTDIŞINA ÇIKMIŞTIM. İKİ AYRI ÜLKEDEN GEÇEREK ÖRGÜTE AİT HINERE KAMPINA GELMİŞTİM. DİKKATİMDEN HİÇ KAÇMAYAN ŞEY GİTTİĞİMİZ HER YERDE BİZLERİ DIŞ İSTİHBARAT ELEMANLARININ KARŞILAMASIYDI. HATTA HINERE KAMPINA BİZİ GÖTÜREN KURYE BİLE BİR İSTİHBARAT AJANIYDI."
Delikanlı örgüt tarafından kanlı eylemler yapmak üzere kurulan bir birime alınıyor. Birimin amacının büyük şehirlerde bombalı eylemler gerçekleştirmek olduğu belirtiliyor. Bir süre devam eden askeri ve siyasi eğitimin ardından, eylem zamanı geliyor.
Önce Tunceli kırsalına oradan da İstanbul'a geçen eleman, şehirde kaldığı sürede normal bir vatandaş gibi hareket ediyor. İstanbul'da yaklaşık 8 ay kalıyor ve bir gün örgütün kuryesi gence ulaşıyor. Kendisine 200 Euro para, Sigara paketine zulalanmış sekiz adet fünye ve aradığı zaman A4 patlayıcı gönderecek kişinin telefon numaraları veriliyor. Ve bir de eylem yapılacak yerin adresi.
Eleman eylemi yapması istenen yeri gördüğünde adeta şok oluyor.
''OKUDUĞUMDA KALBİMİ YERİNDEN ÇIKARACAKMIŞÇASINA HAREKETLENDİREN, DAMARLARIMDA AKAN KANI DURDURAN VE VÜCUDUMU BUZ KESEN EYLEM YERİ… BU YERİ NE BEN YAZAYIM NE DE SİZ OKUYUN, AMA BİR DÜŞÜNÜN, KENDİNE İNSANIM DİYEN HİÇBİR KİMSENİN AKLINDAN GEÇEMEYECEK BİR YER… 14 TEMMUZ İLE 15 AĞUSTOS TARİHLERİ ARASINDA BU EYLEMİ YAPMAMI İSTEMİŞLERDİ. ''
Eylemin yeri ve ortaya çıkacak sonuçlar elemanı kendisine getiriyor.
''BUNALMIŞTIM, KENDİMDEN, BULUNDUĞUM YERDEN, MÜMKÜN OLSA DÜNYADAN KAÇMAK, UZAKLAŞMAK İSTİYORUM. ÇARESİZLİK İÇİNDE BİR ÇIKIŞ YOLU ARARKEN BABAMIN VASİYETİ AKLIMA GELDİ. HEMEN ATLADIM VE ÇANAKKALE'YE GİTTİM. VAN'LI DEDEMİN MEZARINI BULACAKTIM. NİHAYET KABRİN BAŞINDAYDIM. OTURDUM, AĞLADIM, AĞLADIM, AĞLADIM…
Genç şehitlikte dedesinin ismini ararken çok önemli birşeyin farkına varıyor. Çanakkale'de bu ülkede yaşayan her etnik kökenden insanın isimleri yazıyor.
BULUNCAYA KADAR EPEY DOLAŞMIŞ VE ÜLKEMİZİN HEMEN HER YÖRESİNDEN ŞEHİT DÜŞEN DEDELERİMİZİN OLDUĞUNU GÖRMÜŞTÜM. YORULUNCAYA KADAR HEPSİNE FATİHA OKUDUM. GÜNEŞ BATMAK ÜZEREYDİ AMA BENİM İÇİM AYDINLANMIŞ VE FERAHLAMIŞTIM. BİR AN ÖNCE İSTANBUL'A DÖNMELİ VE TESLİM OLMALIYDIM.''
İşte bu pişmanlığın ardından polise teslim olan genç, emniyetteki iyi muameleden de ciddi bir biçimde etkileniyor. Ve cezaevinde kendisini sorgulayan polis memurlarına itiraf nevinden bu mektubu yazıyor.
''BU YAKLAŞIMINIZLA BENİ KAZANDIĞINIZ GİBİ BÜTÜN ÇEVREMİN DE GÜVENİNİ KAZANACAKSINIZ. HİKAYEMİ DİNLEYEN ABİ GÖZYAŞLARINA HAKİM OLAMADI VE BANA, "GİT BABANA SELAM SÖYLE, ONUN ELLERİNDEN DEĞİL AYAKLARINDAN ÖPÜYORUZ" DEDİ. SELAMINIZ BAŞIMIN BORCUDUR. ŞUNU BİLİN Kİ, YEREL HALK TERÖRDEN RAHATSIZ. ONLARI FAKİRLİĞİN PENÇESİNDEN KURTARIP İYİ BİR EĞİTİMDEN GEÇİRMEK, ŞİDDET VE TERÖRÜN KALICI ÇÖZÜMÜ OLACAKTIR. ''
|
Yorum (yok) :: Yorum yaz! :: Bağlantı
|
• 23/8/2007 - LOGO LOBJECTS.DLL
|
LOGO
için ek raporlar ve bazı destekliyici uygulama programları yazmam
istendi. Raporlama konusunda sorun yoktu fakat logoya veri girişi
kısmında dışarıdan müdahale etmenin bazı veri bütünlüklerini bozacağını
düşündüğüm için ilk önce gözüme çarpan, Logo'nun menüleri içerinde
bulunan XML veri aktarımıydı. Güzel, kullanışlı bir özellik. Fakat bazı
işleri otomatikleştireyim dediğinizde orda durup kalıyorsunuz.
Sonraları LOGO'da LOBJECTS.DLL olduğunu duydum internetten döküman v.s.
araştırdım ilk olarak(Tekerleği baştan icad etmeye gerek yok :) ) fakat
pek bir şey bulamadım. Bunu üzerine kendim uğraştım ve uğraşlarım
sonucunda edindiğim bilgileri internete paylaşayım dedim.
Benim
üzerinde çalıştığım Logo ürünü UNITY, bu versiyonda LOBJECT.DLL
kullanım hakkı geliyor fakat Logo'nun diyer versiyonlarında mesela
TIGER gibi ek lisans alınması gerektiğini duydum. Birinci olarak lisans
durumunuzdan emin olun. LOBJECTS.DLL
çalışabilmesi için çalıştırılan makinada Logo'nunda çalışması
gerekiyor. Logo kurulumu yapılmamış bir makinadan çalıştırmak mümkün
değil. İkinci olarakta bu konuya dikkat etmek gerekiyor... LOBJECT.DLL
register edilerek işletim sistemine dahil etmek gerekiyor. Üçüncü
olarak regsvr32 LOBJECT.DLL komutuyla register etmeniz gerekiyor... LOBJECT.DLL
nesnesini kullanmak için Delphi'yi kullandım. Siz C, VB v.b. dilleride
kulllanabilirsiniz. Örneklerim Delphi üzerinden olacaktır. Register
işleminiz başarılı ise Delphi açın ve Project menüsü altındaki Import
type library seçin "unity object library" bilgisini seçin. "Install'a"
bastığınızda, süprizzzzz :) TTable nesnesi zaten tanımlı hata mesajını
alacaksınız işlem kesilecek. Pratik olarak ben "Install" yerine Create
unit seçip oluşsan dosyanın en altında bulunan register yordamından
hata veren nesneleri çıkarttım. Daha sonra "dclusr" içerisine elle
ilave ettim. Insall işlemi bitince ActiveX Tab'ı altında Logo
objelerini görmüş olacaksınız. En çok kullanacağınız nesne
UnityApplicaiton nesnesi... TBL'yi install ettiğinizde ve bu nesnenin
hangi özellikleri var diye baktığınızda benim anlatmama gerek kalmadan
çoğu kısmını çözmüş olacaksınız.. :) Örnekler: unityApplication1.Login(username,password,firmano)
bu fonksiyonu logo'ya giriş için kullanıyoruz.(işlem başarısız ise
false döner) burda dikkat etmeniz gereken konu;Kullanıcı adı ve
şifrenizin büyük/küçük harf bilgisine dikkat etmeniz. Özellikle
kullanıcı adı zira, logo'nun kendi arayüzünde küçük yazsa bile kabul
ediyorken bu fonksiyonda kabul etmiyor. Kullanıcı adı nasıl girildiyse
aynısını yazmaya dikkat edin. Login aşamasındaki hata mesajını görmek
isterseniz:UnityApplication1.GetlastErrorString kullanabilirsiniz.
Bu yazı
http://ozgurbalci.blogspot.com/2007_05_20_archive.html
adresinden aynen alıntı yapılmıştır.
|
Yorum (1) :: Yorum yaz! :: Bağlantı
|
• 14/8/2007 - SQL
TABLO OLUŞTURMA use yuksel insert into [ Yüzbaşı Tommiks ] (Values (3,4040,2222)goselect * from [ Yüzbaşı Tommiks ]--------------------------------------------------------tablo oluşturma oluşturmause yuksel2create table kitap ( kitapNo int, kitapAd varchar(40), kitapFiyat int, basimTarihi datetime)--------------------------------------------------------Yetki sınırlandırmause yuksel2deny select on kitap to public--------------------------------------------------------VERİ TABANI OLUŞTURMAcreate database yuksel2--------------------------------------------------------Verilen Yetkiyi ve Sınırlandırmaları Kaldırmause yuksel2revoke select on kitap to public--------------------------------------------------------İzin vermeUse yuksel2grant select on kitap to public--------------------------------------------------------use yuksel2GRANT ALL ON kitap TO public--------------------------------------------------------use yuksel2 revoke all on kitap to public--------------------------------------------------------use yuksel2GRANT SELECT, INSERT ON kitap TO public--------------------------------------------------------YENİ KAYIT EKLEMEuse yuksel2insert into kitap values(11,'Office 2005',40,'06/07/2008')goselect * from kitapgo--------------------------------------------------------KAYIT GÜNCELLEMEuse yuksel2update kitap set kitapFiyat=kitapFiyat*1.15goselect * from kitap--------------------------------------------------------TABLONUN BÜTÜN KAYITLARINI SİLERuse yuksel2delete kitapgoselect * from kitapgo--------------------------------------------------------Lokal Değişken TanımlamaDeclare @lokalDegiskenAdi veritipiKULLANIMISet @lokalDegiskenAdi=AtanacakDegerveyaSelect @lokalDegiskenAdi=AtanacakDeger from TabloAdi where kosul--------------------------------------------------------Aktif Olan Veritabanının İSMİSelect DB_NAME() As Veritabani--------------------------------------------------------VERİ TİPİ DÖNÜŞÜMÜ Convert(varchar(30),1250)--------------------------------------------------------TARİH ALMAK İÇİNGETDATE()--------------------------------------------------------TARİH FORMATINI VARCHARA DÖNÜŞTÜRMESELECT 'AMERİKA:' AS millet, CONVERT ( varchar(30), GETDATE(),101) AS yenitarih UNION SELECT 'TURK:', CONVERT (varchar(30), GETDATE(), 103)UNIONSELECT 'AVRUPA:', CONVERT ( varchar(30), GETDATE(),113)UNIONSELECT 'JAPON:', CONVERT ( varchar(30), GETDATE(),111)--------------------------------------------------------DATEFORMATuse yuksel SET DATEFORMAT dmygoDECLARE @d datetime set @d='20/06/2007'select * from Prestigewhere tarih >@d--------------------------------------------------------Select DB_NAME(), USER_NAME(), APP_NAME(),COLUMNPROPERTY(OBJECT_ID('Prestige'),'ad', 'AllowsNull')--------------------------------------------------------DECLARE @kdv varchar(30) DECLARE @fiyat moneySET @fiyat=500SET @kdv='dahil'IF @kdv='dahil'BEGINSET @fiyat=@fiyat * 1.15print CONVERT(varchar(30), @fiyat)ENDELSEprint CONVERT(varchar(30), @fiyat)--------------------------------------------------------use yukselgoIF EXISTS(select ad from Prestige where ad='Pembe Dizi')BEGIN DELETE Prestige where ad='Pembe Dizi' print 'Pembe Dizi Silindi'ENDElse print 'Böyle Bir Kitap Yok'--------------------------------------------------------BİR TABLO HAKKINDA BİLGİ EDİNMEUse yukselIF USER_NAME() <> 'dbo' BEGIN RAISERROR ('BUNUN İÇİN SİSTEM YETKİLİSİ OLMALISINIZ', 10,1) RETURN ENDELSE DBCC CHECKDB(yuksel)--------------------------------------------------------SELECT ad, [indirim oranı]=casewhen (sayfa>100 and sayfa <301) then '%10 indirim'when (sayfa>300 and sayfa <601) then '%15 indirim'when (sayfa>600) then '%20 indirim'else'indirimsiz'endfrom yuksel..Prestige--------------------------------------------------------select ad, fiyat, [indirimli fiyat]=casewhen (sayfa>100 and sayfa<301) then Convert (int, fiyat*0.9)when (sayfa>300 and sayfa<601) then Convert (int, fiyat*0.85)when (sayfa>600 )then Convert (int, fiyat*0.8)endfrom yuksel..Prestige --------------------------------------------------------TRANSACT-SQL İN DİNAMİK OLARAK KULLANIMIdeclare @veritaban varchar(30), @tablo varchar(30)set @veritaban='Launchpad'set @tablo='Users'execute ('use '+ @veritaban + ' select Firstname from ' + @tablo)--------------------------------------------------------NULL alan içeren kayıtları sıralamause yukselexecute ('SET NOCOUNT ON '+ 'SELECT ad, fiyat from Prestige where ad is null')--------------------------------------------------------use yukselset nocount onselect adfrom Prestigegoselect adfrom Prestige where kitapno>26--------------------------------------------------------(14 row(s) affected)(2 row(s) affected)use yukselset nocount offselect adfrom Prestigegoselect adfrom Prestige where kitapno>26--------------------------------------------------------TRANSACTIONBEGIN TRANSACTION UPDATE Prestige SET fiyat=fiyat *1.20WHERE sayfa>100 and sayfa <301 IF @@ERROR<> 0 BEGIN RAISERROR ('HATA OLUŞTU',16,-1) ROLLBACK TRANSACTION RETURN ENDUPDATE Prestige SET fiyat=fiyat*1.10WHERE sayfa>301 and sayfa <601 IF @@ERROR<> 0 BEGIN RAISERROR ('HATA OLUŞTU',16,-1) ROLLBACK TRANSACTION RETURN ENDUPDATE Prestige SET fiyat=fiyat*1.05WHERE sayfa>600 IF @@ERROR<> 0 BEGIN RAISERROR ('HATA OLUŞTU',16,-1) ROLLBACK TRANSACTION RETURN ENDCOMMIT TRANSACTION--------------------------------------------------------USE yukselIF EXISTS (SELECT * FROM sysobjects WHERE type='U'AND name='musteri') DROP TABLE musteriIF EXISTS (SELECT * FROM sysobjects WHERE type='V'AND name='musteri_View') DROP TABLE musteri_ViewGOCREATE TABLE musteri ( musteriNo int NOT NULL, ad char(10) NOT NULL, adres char(15) NOT NULL )GOCREATE VIEW musteri_ViewASSELECT musteriNo, ad FROM musteriGOINSERT musteri VALUES (01,'final','istanbul')INSERT musteri VALUES (02,'seçkin','ankara')INSERT musteri VALUES (03,'akmar','istanbul')INSERT musteri VALUES (04,'dost','ankara')INSERT musteri VALUES (05,'kabalcı','istanbul')SELECT * FROM musteri_View--------------------------------------------------------server üzerindeki tü aktiviteleri görmek için sp_whokomutu kullanılırAktivite ID sini öğrenmek içinselect @@spidkomutu kullanılır--------------------------------------------------------SQL SERVER VERSIONUselect @@version--------------------------------------------------------TABLOLARIN LİSTESİuse yukselselect * from INFORMATION_SCHEMA.TABLESWHERE TABLE_TYPE='BASE_TABLE'--------------------------------------------------------PRIMARY KEY FOREIGN KEYuse yukselselect * from INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME='Prestige'--------------------------------------------------------SQL SERVER İSİMLERİNİ LİSTELEMEselect name from sys.servers--------------------------------------------------------KONTROLLÜ VERİTABANI OLUŞTURMAUSE masterIF EXISTS(SELECT name FROM sys.databases where name='inan')BEGINPrint 'Böyle Bir Veritabanı Var'SELECT name FROM sys.databasesENDELSEBEGINCREATE DATABASE inanPrint 'VeriTabanı oluştu'END--------------------------------------------------------VERİ TABANI OLUŞTURMACREATE DATABASE veriTabaniAdi[ ON [[,...n]] [,[,...n]]][ [LOG ON {[,...n]}] [COLLATE collationAd] [WITH ]]::={ [PRIMARY] ( [NAME=mantıksalDosyaAdı] FILENAME='fiziksel_dosya_ad_ve_yol' [,SIZE=boyut[KB|MB|GB|TB]] [,MAXSIZE={enfazla_büyüme[KB|MB|GB|TB]|UNLIMITED}] [,FILEGROWTH=büyümeMiktarı[KB|MB|%]] )[,...n]} ::={ FILEGROUP filegroupAd[DEFAULT] [,...n]}--------------------------------------------------------VERİ TABANI OLUŞTURMACREATE DATABASE egitimON PRIMARY(NAME=pretigeegitim,FILENAME='c:egitim.mdf',SIZE=10MB,MAXSIZE=15MB,FILEGROWTH=20%)LOG ON(NAME =prestigeegitimlog,FILENAME='c:egitim.ldf',SIZE=3MB,MAXSIZE=5MB,FILEGROWTH=1MB)COLLATE TURKISH_BIN--------------------------------------------------------VERİTABANI OLUŞTURMA (3 ADET VERİ TABANI DOSYASI, 2 ADET TRANSACTION LOG FILE)USE masterGOCREATE DATABASE prestigeONPRIMARY (NAME=pec4, FILENAME='c:prestige4.mdf', SIZE=6MB, MAXSIZE=200, FILEGROWTH=20),(NAME=pec42, FILENAME='c:prestige42.ndf', SIZE=2MB, MAXSIZE=20, FILEGROWTH=20),(NAME=pec43, FILENAME='c:prestige43.ndf', SIZE=1MB, MAXSIZE=10, FILEGROWTH=5)LOG ON(NAME=peclog1, FILENAME='c:peclog1.ldf', SIZE=2MB, MAXSIZE=20, FILEGROWTH=20),(NAME=peclog2, FILENAME='c:peclog2.ldf', SIZE=1MB, MAXSIZE=5, FILEGROWTH=2)GO--------------------------------------------------------DOSYA GRUPLARI olusturmaUSE masterIF EXISTS(SELECT name='prestige'from sysdatabases where name='prestige')DROP database prestigeGOCREATE DATABASE prestigeONPRIMARY (NAME=prestigeData, FILENAME='c:prestige.mdf', SIZE=6, MAXSIZE=50, FILEGROWTH=15%),(NAME=prestige2, FILENAME='c:prestige2.ndf', SIZE=6, MAXSIZE=50, FILEGROWTH=15%),FILEGROUP prestigeGrup1(NAME=prestige3, FILENAME='c:prestige3.ndf', SIZE=6, MAXSIZE=50, FILEGROWTH=5),(NAME=prestige4, FILENAME='c:prestige4.ndf', SIZE=10, MAXSIZE=50, FILEGROWTH=5),FILEGROUP prestigeGrup2(NAME=prestige5, FILENAME='c:prestige5.ndf', SIZE=8, MAXSIZE=50, FILEGROWTH=5),(NAME=prestige6, FILENAME='c:prestige6.ndf', SIZE=10, MAXSIZE=50, FILEGROWTH=5)LOG ON(NAME='Prestige_log', FILENAME='c:peclog.ldf', SIZE=5MB, MAXSIZE=25MB, FILEGROWTH=5MB)GO--------------------------------------------------------VERİ VE LOG DOSYALARINDA DEĞİŞİKLİKALTER DATABASE VERITABANIADI{ add_or_modify_files |add_or_modify_filegroups |MODIFY NAME= NEWDATABASENAME |COLLATE COLLATIONNAME}add_or_modify_files::={ ADD FILE[,...n] [TO FILEGROUP{filegroupName|DEFAULT}] |ADD LOG FILE filespec [,...n] |REMOVE FILE MANTIKSALDOSYAADI |MODIFY FILE filespec}filespec::=( NAME=MANTIKSALDOSYAADI [,NEWNAME=YENIMANTIKSALDOSYAADI] [,FILENAME='OSFILENAME'] [,SIZE=size[KB|MB|GB|TB]] [,MAXSIZE={enfazlabouyt [KB|MB|GB|TB]|UNLIMITED}] [,FILEGROWTH=GROWTHINCREMENT[KB|MB|%] [,OFFLINE])add_or_modify_filegroups::={ ADD FILEGROUP filegroupName [REMOVE FILEGROUP filegroupName |MODIFY FILE filegroupName |{{REDONLY|READWRITE}|{READ_ONLY|READ_WRITE}} |DEFAULT}
kaynak : PALME ZİRVEDEKİ BEYİNLER YÜKSEL İNAN NİHAT DEMİRLİ SQL SERVER 2005
|
Yorum (yok) :: Yorum yaz! :: Bağlantı
|
• 17/7/2007 - ASP.NET XmlDataSource
|
Dökümandaki anahtar kelimeler çizelgesel veri: Tabular data biçim şablonu: Style sheet hiç: None Veri-bağlanan kontrol: data-bound control XmlDataSource Sınıfı public class XmlDataSource : HierarchicalDataSourceControl, IDataSource, IListSource Namespace: System.Web.UI.WebControl Assembly: System.Web(in system.web.dll) XmlDataSource veri kaynağı kontrolüdür. Xml verisini, Veri-bağlanan kontrollere (TeeView vb...) sunar. XmlDataSource Veri-bağlanabilen kontroller tarafından verilerin çizelgesel ve hiyerarşik olarak gösterilmesi için kullanılabilir. XmlDataSource tipik olarak okunabilir modellerde hiyerarşik Xml versini göstermek için kullanılır. Çünkü XmlDataSource, “HierarchicalDataSource class” dan türetilmiştir(extended). Hiyerarşik veriyle çalışmaktadır. XmlDataSource kontrol ayrıca “IdataSource” arayüzünü gerçekleştirmekte ve liste veya çizelge şeklinde çalışmaktadır. Güvenlik amacıyla, XmlDataSource kontrol ün “hiç” özelliği “ViewState”’de depolanmaktadır. İstemci makinesi üzerinde “ViewState” içeriklerini çözmek teknik olarak mümkün olana kadar, veri yapısı hakkında duyarlılık bilgisi depolanır veya açık tehlike bilgisi size gösterilebilir. “ViewState” içerisinde “Xpath” özelliği bilgisi gibi bilgileri depolama ihtiyacı duyarsanız, “ViewStateEncrytionMode” ayarları tarafından içerikleri korumak için sayfa bildirimi üzerinde şifreleme işlemini aktive edebilirsiniz. XmlDataSource kontrolünü Web sayfası geliştiricileri veri-bağlanılan kontrolleri kullanarak XML verisini göstermek için kullanırlar. XmlDataSource kontrolü “DataFile” tarafından belirtilen bir Xml file’ dan Xml verisini tipik bir şekilde yükler . Ayrıca Xml verisi, “Data” özelliği kullanılarak “string” biçiminde veri kaynağı kontrolü tarafından doğrudan yüklenebilir. Eğer veri bağlanan konroller tarafından Xml Verisi gösterilmeden önce Xml Verisini dönüştürmek isterseniz, dönüşüm için XSL biçim şablonu temin edebilirsiniz. Xml verisinde olduğu gibi tipik olarak “ TransformFile” özelliği tarafından belirtilen bir dosyadan biçim şablonu yüklediğiniz gibi, ayrıca “Transform” özelliği kullanılarak doğrudan string biçiminde depolayabilirsiniz. XmlDataSource kontrol genellikle Xml verisini gösteren sadece okunur veri-bağlanan kontroller de kullanılır. Bununla birlikte ayrıca Xml verilerini düzenlemek içinde XmlDataSource kontrol kullanabilirsiniz. Xml verisi düzenlemek için, Xml verisini bellekte temsil eden “XmlDataDocument” nesnesini alıp getiren ” GetXmlDocument” metodu çağrılır. “XmlDataDocument” ve “XmlNode” nesnelerini tarafından gösterilen Döküman içinde veri işlemek için Xpath filitreleme ifadelerini kullanan veya içeren nesne modelini kullanabilirbilirsiniz. Bellekteki temsil edilen Xml verisi üzerinde değişiklik yaptığınızda “Sava” metodunu çağırarak diske değişiklikleri kaydedebilirsiniz. XmlDataSource kontrolunun yetilerini düzenlemede bazı kısıtlamalar: · Xml verisi, “Data” özelliğinin belirtiği satıriçi XML’ den değilde “ DataFile” özelliğinin belirtiği XML dosyasından yüklenmelidir, · XSLT dönüşümü, “Transform” veya “TransformFile” özelliklerinde belirtilmeyebilir, · Save metodu farklı istekler tarafından gerçekleştirilen ve aynı anda kaydedilen işlemleri yönetemez. Eğer birden fazla kullanıcı XmlDataSource youlyla Xml dosyasını düzenlerse, bütün kullanıcıların aynı veri üzerindeki işlemleri garanti edilemez. Ayrıca aynı eşzamanlı sorunlardan dolayı “Save” işlemi için başarısızlıkla sonuçlanma olasıdır. Xml verisiyle gerçekleştirilmiş genel bir işlem bir Xml veri kümesinden diğerine dönüştürülebilir. XmlDataSource kontrol, “TransformFile” ve “Transform” özelikleri sayesinde, Xml verisi veri-bağlanan kontrole geçmeden, belirtilen XSL biçim şablonunu Xml verisine uygulamak için, XML dönüşümlerini destekler, ve “TransformArgumentList” özelliği, dönüşüm esnasında XSL biçim şablonu tarafından kullanılabilen dinamik XSLT biçim şablonu argumanlarını tedarik etmeniz için onları seçilebilir kılar. Eğer Xpath özelliğini kullanarak bir Xpath filitreleme ifadesi belirtirseniz, bu dönüşümden sonra uygulanır. Varsayılan olarak , XmlDataSource kontrolü, “DataFile” özelliğiyle belirtilen veya “Data” özeliğinde satıriçi bulunan Xml dosyasındaki bütün Xml verilerini yükler, ama Xpath ifadesi kullanılarak veri filitrelenebilir. “Xpath” özelliği, Xml verisi yüklenip dönüştükten sonra uygulanan Xpath-syntax filitresini destekler. Amaçlanan Performans için, varsayılan olarak XmlDataSource kontrolu önbellekleme active edilmiştir. Sunucu üzerindeki her defada açılıp okunmak istenen XML dosyası uygulamanızın performansını düşürülebilir. Önbellekleme, Web sunucu üzerindeki değerli belleğe sunucu yüklenmesi sürecini azaltmanıza olanak sağlar. “EnableCaching” özelliği, “true” olarak ayarlandığında, XmlDataSource otomatik olarak ön bellekleme yapar ve önbellek geçersiz kılınmadan önce “CacheDuration” özelliği veryi depolama önbelleklerinin sayısı olarak ayarlanır. Veri kaynağı kontrolünün davranışını önbelleklemede daha iyi ayar yapmak için “CacheExpirationPolicy” özelliğini kullanabilirsiniz. | Yetenek | Tanımı | | Sorting | XmlDataSource kontrol tarafından desteklenmez . | | Filtering | XPath özelliği uygun Xpath ifadesi kullanılarak, XML verisini filitrelemek için kullanabilir. | | Paging | XmlDataSource kontrol tarafından desteklenmez. | | Updating | XmlDataSource kontrol tarafından işlenmesiyle doğrudan desteklenir ve daha sonra “Save” metodu çağrılır. | | Deleting | XmlDataSource kontrol tarafından işlenmesiyle doğrudan desteklenir ve daha sonra “Save” metodu çağrılır. | | Inserting | XmlDataSource kontrol tarafından işlenmesiyle doğrudan desteklenir ve daha sonra “Save” metodu çağrılır. | | Caching | Varsayılan olarak aktiftir , CacheDuration özelliği 0 olarak ayarlanmıştır ve CacheExpirationPolicy özelliği “Absolute” olarak ayarlanmıştır | XmlDataSource kontrol, verileri hiyerarşik ve çizelgesel olarak gösteren veri-bağlanan kontrolleri desteklediğinden dolayı, veri kaynağı kontrolü, Xml verilerine dayanan nesneleri gösteren çoklu veri kaynağı türünü destekler. Verileri çizelgesel gösteren veri-bağlanan controller kullanıldığında XmlDataSource kontrol tek isim olarak XmlDataSourceView ‘i alıp getirir. GetViewNames metodu tek isim gösterimini tanımlar. Verileri hiyerarşik gösteren veri-bağlanan controller kullanıldığında XmlDataSource kontrol,GetHierarchicalView metoduna geçen herhangi bir tekil hiyerarşik yol için XmlHierarchicalDataSourceView ‘i alır-getirir. ÖRNEK KOD TreeView ile XmlDataSource kullanımı; C#
http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.xmldatasource.aspx
adresinde
http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.xmldatasource.aspx adresindeki kaynaktan çevrilmiştir
|
Yorum (yok) :: Yorum yaz! :: Bağlantı
|
|
|
|
Hakkımda
ADI: HASAN
SOYADI: ÖZ
İşi: Bilgisayar Mühendisliği
Çalıştığı Yer :BARSET BİLGİ SİSTEMLERİ
İlgi Alanı: Yazılım Geliştiriciliği
Doğum Yılı :1984
Yaşadığı Yer: İstanbul
Bağlantılar
• Ana Sayfa
• Profilim
• Arşiv
• Arkadaşlarım
• e-posta
• Blog RSS
Kategoriler
Arkadaşlar
• batibey
|
|