Dün IBM in Rational Software Test Run'ına katıldım.Rational Software IBM'in java platformunda yazılım geliştirenler için sunduğu bir ürün.Genel bir tanıtımdan sonra lablara başladık.Lablarda pek fazla problem yoktu.Ama sanki bir eğitim ortamı gibiydi.Daha ürünü tam tanımadan direkt tasarıma girdik.Microsoft'un tanıtımlarını hatırladım.Ms tanıtımlarında da tam tersine uzun uzun ürün anlatılır detaylara pek fazla girilmezdi.İçimden geçirdim IBM tümevarım, Ms tümdengelim yapıyor diye :), Şunu kesinlikle vurgulamak isterimki burda yazdıklarımla iki ürünü karşlaştırmıyorum, zaten iki ayrı platform .net ve java...Sadece ürün hakkında ilk izlenimlerimi sizinle paylaşmak istedim.

Rational'a genel olarak baktığımızda design tarafı çok detaylı ve güzel.Bir projeyi kod yazmadan sadece uml tasarımı yaparak ve Rational 'ın wizardlarını kullanarak geliştirebiliyorsunuz.Son sürümünde Ajax desteği daha da genişlemiş durumda, palette bayağı genişlemiş.Fakat ne yazıkki basit anlamda bir tablonun bir DataTable'a atanması ve ordan kullanıcının add update delete işlemlerini gerçekleştirmesi için tekrar manuel kod yazmanız gerekiyor.Bu biraz tutarsız.Bütün bir sayfayı wizardlarla tasarlıyorsunuz ve 1 satır kod yazmıyorsunuz, öbür tarafta basit bir tablonun edit işlemi için kod yazmak zorunda kalıyorsunuz...

Bir ürüne yığınla lisans parası verilecek ve basit bir add update delete işlemi için kod yazmamız gerekecek.Umarım/İnanıyorum ki ilerleyen sürümlerinde Rational a da bu özellik eklenecektir.



 
Categories: Software

Vs60 dan Vs.net e geçen arkadaşların karşılaşacağı bir sorun.
Formun WindowState özelliğinin değiştiğinin algılanması; (Maximized,Minimized,Normal)

Form event lerinde bu olaya hakim olmamızı sağlayacak bir olay mevcut değil.
Bu işlemi WndProc metodunu override ederek hallediyoruz.

m.Msg WM_SIZE (0x0005) e eşit olduğunda form'un size edildiğini anlıyoruz.
m.WParam ise bize size olayının türünü belirtiyor.

protected override void WndProc(ref Message m)
{
    if (m.Msg == /*WM_SIZE*/ 0x0005)
    {
        if (m.WParam.ToInt32() == 2)
        {
             //Maximized
        }
        else if (m.WParam.ToInt32() == 0)
        {
             //Normal
        }
    }
    base.WndProc(ref m);
}

 
Categories: Software

Bana en fazla gelen sorulardan birisi...

mySQL:

SELECT column FROM table
ORDER BY RAND()
LIMIT 1

PostgreSQL:

SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1

Microsoft SQL Server:

SELECT TOP 1 column FROM table
ORDER BY NEWID()

IBM DB2:

SELECT column FROM table
ORDER BY RAND()
FETCH FIRST 1 ROWS ONLY

Oracle:

SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1

 
Categories: Server Systems

November 27, 2006
@ 02:03 PM

Evdeyim.Kodluyorum.Bizim aslan kendi laptopunda youtube u geziyor...
Yatma vakti dedim.Tamam dedi, odasına gitti.
Bende bir süre çalıştım ve yatmak üzere bilgisayarı kapattım.
Tam oğluşun bilgisayarını kapatacaktım ki ekranda bir mesaj...
[Active Directory]
"To manage users and groups on this computer, use local users and groups......"

Bizimki ilk hack denemesini yapmış dedim içimden :)

 
Categories: Genel

November 17, 2006
@ 11:23 AM

Çok sevdiğim bir arkadaşım uzun bir bocalama zamanından sonra bana bu problemle geldi.Bu sorunla karşılaşan arkadaşlar bocalamasın diye yazayım dedim.

Projenize Add Items dan SiteMap dosyası ekleyin ve değerlerinizi yazın; ör:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
    <siteMapNode url="root.aspx" title="root"  description="">
        <siteMapNode url="1.aspx" title="1 menü"  description="">
          <siteMapNode url="1a.aspx" title="1a menü"  description="" />
          <siteMapNode url="1b.aspx" title="1a menü"  description="" />
        </siteMapNode>
        <siteMapNode url="2.aspx" title="2 menü"  description="">
          <siteMapNode url="2a.aspx" title="2a menü"  description="" />
        </siteMapNode>
    </siteMapNode>
</siteMap>

ASP.NET sayfanıza SiteMapDataSource ve Menü kontrollerini ekleyin.
    <div>
        <asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1">
        </asp:Menu>   
    </div>
        <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
    </form>

Projenizi çalıştırdığınızda sadece bir root menüsü göreceksiniz.Peki root 'un yanına bir menü seçeneği daha eklemek isterseniz ne yapmanız gerekir? SiteMap dosyasina <SiteMap> tagı arasına 1 tane daha <SiteMapNode> ekleyelim?

Ne yazıkki hayır.Vs2k5 size derlemeye çalıştığınızda hata verecektir.Çünkü <SiteMap> tag'inin arasında sadece 1 tane <SiteMapNode> a izin verilir.Bu sorunu aşmak için yapmaniz gereken çok basit.

Sayfanızdaki SiteMapDataSource kontrolüne ait tag'a bir özellik ekleyeceksiniz,
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false"/>
ShowStartingNode="false"

Artık root menü de gözükmeyecek 1 ve 2 görüntülenecektir.

ShowStartingNode="false" dan önce;
sitemap.JPG

ShowStartingNode="false" dan sonra;
sitemap1.JPG

 
Categories: Software

November 17, 2006
@ 10:58 AM

VSTO Sunucu dökümanları & Cache kullanımı
http://www.yazgelistir.com/Makaleler/1000001052.ygpx

GridView & DetailsView kontrollerinin kullanımı & MsSQL Stored Proc entegrasyonu ile veri bütünlüğünün sağlanması
http://www.yazgelistir.com/Makaleler/1000001050.ygpx
http://www.yazgelistir.com/Makaleler/1000001051.ygpx

 
Categories: Articles

Normalde sayfa üzerine 1 gridview,1 detailsview ve 1 datasource kontrolü yerleştirerek db tablosuna veri ekleyebiliyor silebiliyoruz.Fakat datasource da select komutuna iki ayrı tablodan veri aldığınızda ve detailsview ile yeni kayıt eklediğinizde gridview refresh olmuyor.

Sorunu gidermek için, detailsview 'ın iteminserted olayında gridview u refresh edecek kodu yazmaniz gerekiyor.

    protected void DetailsView2_ItemInserted(object sender, DetailsViewInsertedEventArgs e)
    {
        GridView1.DataBind();
    }

Kolay gelsin.

 
Categories: Internet | Software

Atlas'dan Asp.Net Ajax beta1 e geçip, scriptmanager,scriptmanagerproxy,updatepanel gibi extension kontrollerinde problem yaşayan arkadaşlara;

Sorun şu anda bir bug gibi gözüküyor.Web.config de Microsoft.Web.Extensions ile alakali tagprefix niteliğini ajax olarak değiştirmeniz gerekiyor.Tabi bu değişiklikten sonra sayfalar üzerindeki kontrollerin de prefixlerini düzeltmeniz gerekiyor.

            <controls>
        <add tagPrefix="ajax" namespace="Microsoft.Web.UI" assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add tagPrefix="ajax" namespace="Microsoft.Web.UI.Controls" assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        <add tagPrefix="asp" namespace="Microsoft.Web.Preview.UI" assembly="Microsoft.Web.Preview"/>
                <add tagPrefix="asp" namespace="Microsoft.Web.Preview.UI.Controls" assembly="Microsoft.Web.Preview"/>       
            </controls>

Ben çektim siz çekmeyin :)

 
Categories: Internet | Software

ASP.NET GridView ve DetailsView kontrollerini kullanarak basit bir Ajanda uygulaması hakkındaki görsel dersim.GridView ve DetailsView kontrollerinde alanlara DropDownList eklenmesi.MsSQL Stored Procedure leri kullanılarak veri bütünlüğünün sağlanması.



Görsel dersi indirmek için tıklayın.

 
Categories: Software

October 1, 2006
@ 11:58 PM

nice mutlu yıllara oğlum.


 
Categories: Genel