dAhA kArAr vErMeDiM

Perşembe, Hazirane 8, 2006 - Delphi 2006 ve ASP.NET İle Arşivbank Site Tasarımı -2-

Kategori: KOD BANKASI
    Reklam arasının kısa olanı makbüldür. Delphice ASP.NET ile arşivbank sitesi tasarımı konusundaki 2 nolu yazımıza hoş geldiniz.


    Eğer sizde benim gibi tüm uygulamalarda en son çare yardım sistemlerine bakıyorsanız .NET uygulamaları geliştirirken zaman zaman buna ara vermenizi, bir örnek üzerinde çalışırken sık sık imdat düğmesine basmanızı öneririm.

    BDS 2006'da yeni bir proje oluşturduğumuzda ekrana gelenNew ASP.Net Application

1.  Önce IIS'de sanal bir web yolu (Alias) oluşturuluyor. (Resim-1)
penceresinde boş yerleri doldurup OK. dediğimizde ;IIS Alias / Virtual Path Deklarasyonu
Resim - 1

2.  IIS'in kurulu olduğu sürücüdewwwroot altında proje adıylaeş isimli bir klasör oluşturuluyor.
3.  Proje adıyla oluşturulan klasörün altınada bin ismiyle derleme sonucu ASP.NET dll dosyası ve kullanacağınız diğer paketlerin yer alacağı bir başka klasör oluşturuluyor.
4.  Yine proje klasörünün altına Webform.aspxglobal.asax,web.config,Webform1.pas dosyaları oluşturuluyor.
Klasör ve dosya yapısı :

          .
          ..
          bin
Global.asax
Global.pas
Web.config
WebForm1.aspx
WebForm1.pas

gibi bir hal alıyor. Burada aynı isme fakat farklı uzantıya sahipWebForm1.* dosyaları üzerinde çalıştığımız projede kullanacağımız temel dosyalar,global.asax veweb.config dosyalarıda uygulamanın global ayar ve değişken tanımlarının saklandığı dosyalar. Şimdilik bu son iki dosyayı atlıyoruz.

WebForm.* Dosyaları

   Eğer Asp, php gibi bir web betik diline el ve göz alışkanlığınız varsa tasarım için kullanılan sayfalarla, dinamik eleman öğeleri, procedure, fonksiyon ve değişken tanımlamalarının iç içe geçtiğini, bu yüzdende bazen tasarımın okunurluğunun azaldığını hatırlayacaksınız. Php gibi dillerde bu tip durumlar için template sınıfları, şablon dosyaları kulanılabiliyormuş. Asp'deki durumu bilmiyorum. Şahsen okuma yazma bildiğimden web tasarım etiketleriyle, betik dil kodlarının bir birine geçmesi konusunda hiç şikayetçi olmadım. Ancak tasarımla kodlamanın ASP.NET'teki gibi ayrılabilmeside gerçekten okunurluğu artırıyor.

    ASPX ve birazdan değineceğimiz ASCX uzantılı sayfalar kodlamayla tasarımın ayrıştırılmasında kullanılıyor.   BDS 2006 bir ASPX/ASCX sayfası üzerinde tıpkı frontpage, dreamwaver vs uygulamalarındaki gibi tasarımı anında gösterebilme yeteneğine sahip. Bu sayfaların üzerine .NET Web ve Dataset bileşenleri, HTML etiketleri ve form elemanlarını koyuyoruz. Koyduğumuz her bir elemana karşılık BDS aşağıdaki örnekte görüleceği üzere ilgili tasarım dosyasına bizim için gidip gereken ifadeleri çiziktiriyor. (Resim - 2)



Resim -2

Buda bu sayfanın içindekiler :

<%@ Control Language="c#" AutoEventWireup="false" Codebehind="gelistirici_login.pas" Inherits="gelistirici_login.TWebUserControl1"%>
       

Lütfen Kullanıcı adınız ve şifrenizle giriş yapınız.


       
           
             
             
           
           
             
             
           
             
             
           
           
             
             
           
           
             
           
       
Kullanıcı 
                 
             
Şifre 
               
             
G.Kodu 
               
             

                  0
             

               
              

                  ---
             


   Herhalde pas uzantılı dosyanın ne işe yaradığını söylemeye gerek yok. Buda bu sayfanın pas dosyası.

unit gelistirici_login;


interface

uses System.Data, System.Drawing, System.Web, System.Web.UI,
     System.Web.UI.WebControls, System.Web.UI.HtmlControls,
     System.ComponentModel, Borland.Data.Provider,System.Web.SessionState,
    System.Configuration, MySql.Data.MySqlClient,Borland.Vcl.SysUtils;

type
    ///
    /// Summary description for WebUserControl1.
    ///

  TWebUserControl1 = class(System.Web.UI.UserControl)
  {$REGION 'Designer Managed Code'}
  strict private
    components: System.ComponentModel.IContainer;
    procedure InitializeComponent;
    procedure Button1_Click(sender: System.Object; e: System.EventArgs);
  {$ENDREGION}
  strict private
    procedure Page_Load(sender: System.Object; e: System.EventArgs);
  strict protected
    Button1: System.Web.UI.WebControls.Button;
    MySqlBaglantisi: MySql.Data.MySqlClient.MySqlConnection;
    MySqlCommand1: MySql.Data.MySqlClient.MySqlCommand;
    Label_GuvenlikKodu: System.Web.UI.WebControls.Label;
    Label_Hata: System.Web.UI.WebControls.Label;
    procedure OnInit(e: System.EventArgs); override;
  private
    FHataKodu : String;
    procedure SetGuvenlikKodu;
    function GecerliGelistiriciGirisimi: Boolean;
    { Public Declarations }
  end;

implementation

function RandomString(PWLen: integer): string;
const StrTable: string =
    'ABCDEFGHIJKLM' +
    '0123456789' +
    'NOPQRSTUVWXYZ';
var
  N, K, X, Y: integer;
begin
  Randomize;
  if (PWlen > Length(StrTable)) then K := Length(StrTable)-1
    else K := PWLen;
  SetLength(result, K);
  Y := Length(StrTable);
  N := 0;

  while N < K do begin
    X := Random(Y) + 1;
    if (pos(StrTable[X], result) = 0) then begin
      inc(N);
      Result[N] := StrTable[X];
    end;
  end;
end;

function TWebUserControl1.GecerliGelistiriciGirisimi:Boolean;
  Var
    _MySqlDataReader : MySqlDataReader ;
begin
  try

------------

    Editörün session time out'una yakalanmadan ASCX ve ASPX hakkında bir kaç giriş bilgisi daha ekleyip bu yazıyıda reklam arası için burada kesiyorum.

ASPX ve ASCX  arasındaki Fark

    İkiside tasarımla ilgili bilgileri tutmasına rağmen bir aspx uzantılı dosya web sunucusundan doğrudan doğruya çağrılabilirken ascx  uzantılı dosyalar  bir aspx dosyasına  tutturularak görüntülenebilmektedir. Tutturma ile ilgili işlemlere ileride değineceğiz. Ancak bu tutturma işleminin php' ve asp dekine benzediğini  ama onlardan daha öte bir şey olduğunu aklınızda tutmanız yeterli. Tabii ki ASP.NET ile kullanılan başka dosya tipleride vardır. Ama okuyup yazabildiğimiz kadarı şimdilik bu kadar.

    Bana verilen sürenin ve  bir yazının daha sonuna geldik.  Devamında buluşmak üzere, hoşçakalın.

EkleBunu Sosyal Paylaşım Butonu
Yorum yaz!

<- Son Sayfa :: Sonraki Sayfa ->

Hakkımda

Ah bir öğrensem şu bilgisayar işini. Bırakıp gideceğim bu yerleri bu işleri.

Bağlantılar

Ana Sayfa
Profilim
Arşiv
Arkadaşlarım
e-posta

Kategoriler

Arkadaşlarım