Tuesday, April 10, 2007

Önceden yoğun olarak windows programları yazardık, sonra Web programcılığı çıktı karşımıza, PERL, PHP, ASP derken .Net ile birlikte ASP.Net ile artık programı hangi platformda yazalım diye düşünmüyoruz bile,

Nedenide Windows Programlarınının zorlukları, Permission gerekir, güncellemesi zordur vs. vs.

Ancak ClickOnce ile birlikte artık Windows Uygulamalarımızda da Web in rahatlığını kullanmak mümkün,

Bununla ilgili yakından takip ettiğim, şimdiden çok güzel işler çıkartan, geleceğin sağlam programcıları arasında girebilecek Işıl ORHANEL'in bir makalesi var, Makale başlığı bence A dan Z ye ClickOnce olmalıymış...

Kendisini tebrik ediyorum, böyle güzel makalelerini dahada çok görmek isteriz Işıl (:

Bknz.: ClickOnceVeSystemDeployment.pdf (659,89 KB)

Tuesday, April 10, 2007 9:19:41 AM (GTB Daylight Time, UTC+03:00)  #    Comments [0]  | 
Saturday, February 24, 2007

Microsoft tarafindan hazirlanan, zengin icerik ve sunumlari bir araya getirmis olan IT's Show Time sitesini tanitmak istiyorum,

belki zaten biliyorsunuzdur ama bilmeyenler icin http://www.microsoft.com/emea/itshowtime/ den ulasabilirsiniz

burada benimde cevirilerine destek oldugum iki tane sunum var, incelemek isteyen arkadaslar icin,

SQL Server 2005 Analysis Services: Kapsamli Inceleme
bknz.: http://www.microsoft.com/emea/itsshowtime/turkiye/sessionh.aspx?videoid=211

Kod Yazamayan BT Uzmanlari için Komut Dosyalari Hazirlama
bknz.: http://www.microsoft.com/emea/itsshowtime/turkiye/sessionh.aspx?videoid=214

sizce bastaki IT ne olabilir ? (: (Information Technologies ?)

Saturday, February 24, 2007 2:22:51 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]  | 
Friday, May 05, 2006

Artik bant genislikleri oldukca artti, onceden hareketli bir gif bile canimizi sIkabiliyordu ama artik sitelerimize istersek bir movie bile oynatabiliyoruz,

Assagidaki kodda sitenize bir media player client i eklemekle ilgili bilgi war, (streaming degil tabiiki onun icin Windows Media Services kurmak gerekiyor diye biliyorum) koduda cok kolay,

<OBJECT ID="MediaPlayer" WIDTH=320 HEIGHT=240 classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,7,1112"
standby="Loading Microsoft Windows Media Player components..."
type="application/x-oleobject">
    <PARAM NAME="FileName" VALUE="Station1.asx">
    <PARAM NAME="ShowControls" VALUE="1">
    <PARAM NAME="ShowDisplay" VALUE="1">
    <PARAM NAME="ShowStatusBar" VALUE="1">
    <PARAM NAME="AutoSize" VALUE="1">
    <Embed type="application/x-mplayer2"
        pluginspage="http://www.microsoft.com/downloads/details.aspx?FamilyID=9194bb10-00ea-4500-859d-9a319738d4d8&amp;DisplayLang=en/"
        filename="Station1.asx" src="Station1.asx" Name=MediaPlayer ShowControls=1 ShowDisplay=1 ShowStatusBar=1 width=320 height=240>
    </embed>
</OBJECT>

gibi, MS in sitesinden daha detayli bilgi bulabilirsiniz, http://support.microsoft.com/default.aspx?scid=kb;en-us;285154

Friday, May 05, 2006 2:53:18 PM (GTB Daylight Time, UTC+03:00)  #    Comments [0]  | 
Monday, March 20, 2006

Artik Atlas orneklerini upload etmeye baslayalim (:
Atlas March CTP cikmadan bu hali ile yaptiklarimizi gosterelim..(:
Oncelikle ornegi server a upload edemedim, zira amac Atlas ornegi, XML ile ugrasmadim, direk Sql Server Desktop Engine ile yaptim (Sunucuda Sql Server destegi yok maalesef)

Ornekte neler var, ornek arkadaslarinizin bilgilerini tutabileceginiz bir yapida amac contant bilgilerini tutmak, Datagrid ile guncelleme islemleri yapiliyor, DetailsView ilede ekleme islemleri, yani iki tane UpdatePanel var, hepsi Atlas ile post back olmadan yapiliyor, bunun yaninda, "yukleniyor" uyarisi (yani UpdateProgress) ve surukle birak islemleri icin DragOverlayExtender kullaniliyor...

Ornegin indirilebilir hali assagida, sorulariniz icin mailimi kullanabilirsiniz...

ContactAtlas.rar (361,78 KB)
Monday, March 20, 2006 9:46:09 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]  | 
Friday, March 17, 2006

Asp.Net 2.0 ile gelen ICallbackEventHandler Interfaceini kullanarak basit islerinizi Ajax mantigi ile yapabilirsiniz, basit bir ornek icin

http://www.cenkcaglar.com/CallBackTest

bu Interface iki Metot iceriyor

Function GetCallbackResult() As String
Sub RaiseCallbackEvent(ByVal eventArgument As String)

RaiseCallbackEvent Metodunuz yolladiginiz String i alip islemlerinizi yapmaniz icin, GetCallbackResult Metodunuz ise bu islemlerin sonucunda Client a gondermek istediginiz deger icin,
Ancak, Sayfaniz ilk yuklenirken,  Page.ClientScript.GetCallbackEventReference metodu ile Sayfanizda bir problem yoksa hangi fonksiyonu, varsa hangi fonksiyonu calistirmasi gerektigini anlatmaniz gerekiyor, Daha sonrada da bu kodun Clientta calisibilirligniz anlatmaniz gerekiyor, ornek bir yazimi soyle

Dim kod As String = Page.ClientScript.GetCallbackEventReference(Me, "arg", "CallBackOKTarih", "cntx", "CallBackErrTarih", True)
Dim anaKod As String = "function YasHesapla(arg,cntx){" & kod & " }"
Page.ClientScript.RegisterClientScriptBlock(Me.GetType, "YasHesapla", anaKod, True)

Sonrasinda ise, Sayfanizin HTML tarafinda impelemnt edeceginiz minimum uc fonksiyonunuz olmali birtanesi bu code-Behind dan eklediginiz kodu cagiracak olan fonksiyon, bir tanesi problem olmadiginda calisacak fonksiyon, digeri ise bir hata (Exception) oldugunda calisacak fonksiyon...

function Hesapla() {
YasHesapla(document.getElementById(
"txtYas").value,"txtYas")
};

function CallBackOKTarih( result, context )
{
alert(result);
}

function CallBackErrTarih( error, context )
{
alert(
"Tarih Formati Hatali, " + error);
}


bu kadar kolay (:

CallBackTest.rar (2,61 KB)

Friday, March 17, 2006 2:48:42 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]  | 
Tuesday, March 14, 2006

Ajax ile ugrasanlar, Ajax.Net bilesenini duymustur, Onceki Ajax denemelerime gore gercekten harikalar yarattigi soylenebilir (: Bu Sefer bir RSS Reader yazdim, cok kolay mantigi Sitenin RSS ini okuyor, Basliklari listeliyor ve gormek istediginize bastiginizda size icerigi getiriyor,

http://www.cenkcaglar.com/AjaxNetTest/

ornegi buradan inceleyebilirsiniz, Cok az JavaScript kodu ile ugrastim, en guzel yani ise Asp.Net te code behind a yazdigim metodu direk cagirip kullanabilmemdi, sadece ekstra olarak "Ajax.AjaxMethod()" Attribute unu ekliyorsunuz fonksiyona, ve geriye DataSet dondurdugum metotu JavaScript ile soyle kullandim

res.value.Tables[0].Rows[i].EntryId

Guzel degilmi ? (:

Ajax.Net ile bilgiyi, http://ajax.schwarz-interactive.de/csharpsample/default.aspx bulabilirsiniz...

Ornek Kodlari asagidaki linkten indirebilirsiniz.

Not : Onceki Ajax kodlari Fw 2.0 ile yazilmisti, bu Fw 1.1 de (her yontemi deniyorum : )

AjaxNetTest.rar (198,78 KB)
Tuesday, March 14, 2006 5:05:20 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]  | 
Thursday, March 09, 2006

Dün yüklediğim Ajax ın biraz daha gelişmişini bitirdim az önce, yeni hali ile onuda sizin beğeninize sunuyorum..(:

http://www.cenkcaglar.com/AjaxTest/User.aspx

Burada yapılan iş, kullanıcı adı ve şifre bilgilerini alıp, bu kullanıcıya bir guid atayarak ve kaydolduğu tarihide hesaba katarak Sunucuda bulunan XML dosyamıza kaydetmek... Aynı zamanda bilgileri güncelleyip, silmesinide sağlamak.

Böylece bu Ajax örneğinde kullanabileceğiniz bütün yapıları görüyorsunuz...

Ajax la ilgili izlenimlerim ise; Ajax gerçekten kolay bir yapı, zorluk namına hiç birşeyi yok. Ancak zor olan JavaScript, ben çok uzun zamanlar JavaScriptle uğraşmış birisi olarak bu kadar sıkıntı çekeceğimi düşünmezdim JavaScript te...

Özellikle sunucudan gelen XML dosyaları ile ilgili işlemler yapmak oldukça vakit aldı, şu aşağıdaki koda bir göz atın,

var root = response.responseXML.documentElement;
var userNameElement = root.getElementsByTagName("user");

var ItemAll = document.createElement("div");

for(var i=0; i < userNameElement.length; i++){
   var ItemDiv = document.createElement("div");
   ItemDiv.setAttribute("id","ItemDiv");
   var ItemCb = document.createElement("input");
   ItemCb.setAttribute("type","checkbox");
   ItemCb.setAttribute("name","SelItem");
   ItemCb.setAttribute("value",root.getElementsByTagName("UserId")[i].firstChild.data);
   ItemDiv.appendChild(ItemCb);
   var ItemList = document.createElement("span");

   ItemList.appendChild(document.createTextNode(root.getElementsByTagName("UserName")[i].firstChild.data + " | " + root.getElementsByTagName("UserPass")[i].firstChild.data + " | " + root.getElementsByTagName("UserAddedTime")[i].firstChild.data + " | " ));
   var LinkItemDel = document.createElement("a");
   LinkItemDel.setAttribute("href","#");
   LinkItemDel.appendChild(document.createTextNode("Sil"));
   LinkItemDel.onclick = Function("ItemDelete('" + root.getElementsByTagName("UserId")[i].firstChild.data + "','" + root.getElementsByTagName("UserName")[i].firstChild.data + "');");
   ItemList.onclick = Function("ItemChange('" + root.getElementsByTagName("UserId")[i].firstChild.data + "','" + root.getElementsByTagName("UserName")[i].firstChild.data + "','" + root.getElementsByTagName("UserPass")[i].firstChild.data + "');");

   ItemDiv.appendChild(ItemList);
   ItemDiv.appendChild(LinkItemDel);
   ItemAll.appendChild(ItemDiv);
}
document.getElementById("UserList").appendChild(ItemAll);

 

Ne yapılıyor burada değilmi ? Burada yapılan aşağıda listelenen bilgilerin Div lerin içine mantıklı bir şekilde yerleştirilmesi, sonra yerleştirilen bu Div lerin OnClick olayında bazı işlemler yapılması için başka bir fonksiyonun çağırılması...

Artı bu örnekte biraz daha güzel bir yükleniyor ekranı denedim...(:

Kodu indirebilir, sorunuz varsa soldaki mailden, sorularınızı sorabilirsiniz...

Not : Ajax Yeter bu kadar, şimdi sırada Atlas var... bakalım o nasıl bişi (: Beni izlemeye devam edin..(:

AjaxTestYeni.rar (13,9 KB)
Thursday, March 09, 2006 9:19:21 PM (GTB Standard Time, UTC+02:00)  #    Comments [3]  | 
Wednesday, March 08, 2006

Merhaba Arkadaşlar

Az önce bir AJAX örneği upload ettim, AJAX a başlamak isteyen arkadaşlar için uygun bir örnek bence.

http://www.cenkcaglar.com/AjaxTest

Ne yaptığımı biraz açayım istiyorum, öncelikle işlerimi kolaylaştırmak için bir bir bölüm yazdım, Internette POST etmek ile ilgili örnek çok fazla bulamadım bundan dolayı bu örnekte işinize yarayabilir.. bu yazdığım bölüm aşağıda

Not : Tamam tamam hepsini ben yazmadım ama baya düzenledim...(:

        var Request = new Object();

       

        Request.send = function(url, method, callback, data, urlencoded) {

            var req;   

            if (window.XMLHttpRequest) {

                  req = new XMLHttpRequest();

            } else if (window.ActiveXObject) {

                  req = new ActiveXObject("Microsoft.XMLHTTP");

            }

            req.onreadystatechange = function() {

                  if (req.readyState == 4) {

                        if (req.status < 400) {

                              (method=="POST") ? callback(req) : callback(req,data);

                        } else {

                              alert("There was a problem loading data :\n" + req.status+ "/" + req.statusText);

                        }

                  }

            }

            if (method=="POST") {

                  req.open("POST", url, true);

                  if (urlencoded) req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

                  req.send(data);

            } else {         

                  req.open("GET", url, true);

                  req.send(null);

            }

           

            return req;

        }

 

        Request.sendRawPOST = function(url, data, callback) {

            Request.send(url, "POST", callback, data, false);

        }

        Request.sendPOST = function(url, data, callback) {

            Request.send(url, "POST", callback, data, true);

        }

        Request.sendGET = function(url, args, callback) {

            return Request.send(url, "GET", callback, args);

        }

Böylece işlemlerimi yapmak için sendPOST, sendGET adında metotlarım oluşuyor, bu bölüm ile kullanıcının TextBox a girdiği değeri sunucumdaki Action.aspx e yollayıp işlemlerimi yapıyorum. Yapılan işlemler ise girdiğiniz değeri Cookie ye yazıp, yazılmış olan Cookideki değeri okumak. AJAX kullanmak ve datayı POST ve GET etmek adına güzel bir örnek. Diğer JavaScript leri ve yapılan işleri görmek için kodu Download edebilirsiniz.

AjaxTest.rar (5,57 KB)
Wednesday, March 08, 2006 3:00:11 PM (GTB Standard Time, UTC+02:00)  #    Comments [0]  | 

© Copyright 2006, Levent Cenk ÇAĞLAR

eXTReMe Tracker