Makale Özeti

Başlıktan da anlaşılacağı üzere Delphinin script dili olarak kullanılmasından bahsedeceğim. Yani script/script tagları arasında delphi kodu çalıştırmaktan. Delphi ile ilgilenmeyenler için bu cümle "Ne olmuşki" anlamı içerebilir ancak Delphiyi uzun süredir kullananlar Delphi 7 ile başladıkları kodların arasında Javascript çalıştırmanın verdiği keyfin ardından artık Delphi yide script dili olarak kullanabileceklerini öğrenmeleri ilgi çekici olacaktır.

Makale

Delphinin Script Dili Olarak Kullanılması

Borland Delphi hızlı gelişimine devam ediyor. Başlıktan da anlaşılacağı üzere Delphinin script dili olarak kullanılmasından bahsedeceğim. Yani <script></script> tagları arasında delphi kodu çalıştırmaktan. Delphi ile ilgilenmeyenler için bu cümle "Ne olmuşki" anlamı içerebilir ancak Delphiyi uzun süredir kullananlar Delphi 7 ile başladıkları kodların arasında Javascript çalıştırmanın verdiği keyfin ardından artık Delphi yide script dili olarak kullanabileceklerini öğrenmeleri ilgi çekici olacaktır.

Öncelikle şunu belirtmek gerekirki .Net FrameWork 1.1i yüklediyseniz aşağıda yazacağımız basit kodlar dahi çalışmayacaktır. Bu sebep ile öncelikle FrameWork update i yükleyenlerin ne yapması gerektiğinden bahsedelim.

Yapmanız gereken Delphi for .NET Preview/source/rtl  dizininde bulunan Rebuilt.BAT dosyasını çalıştırmak. Muhtemelen bu dosyayı ilk bakışta farketmeyeceksiniz. Aşağıdaki kodları rebuilt.bat adı ile kaydedip .NET Preview/source/rtl dizininde çalıştırmanızın ardından sorun kalmayacaktır.

 

del ..\..\units\*.dcua
del ..\..\units\*.dcuil
del ..\..\aspx\units\*.dcua
del ..\..\aspx\units\*.dcuil
dccil -m -Y -n..\..\units -lumscorlib -luSystem -luSystem.Windows.Forms -luSystem.XML -luSystem.Web -luSystem.Web.Services Borland.Delphi.System.pas
dccil -m -v -n..\..\units -u..\..\units Borland.Delphi.Types.pas
dccil -m -v -n..\..\units -u..\..\units Borland.Win32.Windows.pas
dccil -m -v -n..\..\units -u..\..\units Borland.Delphi.SysUtils.pas
dccil -m -v -n..\..\units -u..\..\units Borland.Delphi.Math.pas
dccil -m -v -n..\..\units -u..\..\units Borland.Delphi.TypInfo.pas
dccil -m -v -n..\..\units -u..\..\units Borland.Delphi.DateUtils.pas
dccil -m -v -n..\..\units -u..\..\units Borland.Delphi.StrUtils.pas
dccil -m -v -n..\..\units -u..\..\units Borland.Delphi.ConvUtils.pas
dccil -m -v -n..\..\units -u..\..\units Borland.Delphi.StdConvs.pas
copy ..\..\units\*.dcua ..\..\aspx\units
copy ..\..\units\*.dcuil ..\..\aspx\units
@echo done.

Artık Delphiyi script dili olarak kullanmaya başlayabilirsiniz.

Kodlamayı notepad üzerinde yapacağımız için Visual Studio nun bizim için oluşturduğu sanal dizin i IIS üzerinde kendimiz oluşturuyoruz. Sırada web.config ayarlarını yapmakta. Delphi ile çalışacağımız için <assemblies></assemblies> etiketleri arasına Delphi Provider i ekliyoruz. Yine Web.Config içerisinde compiler language ve extension parametrelerinde de gerekli değişikliği yapıyoruz. Compiler language elbette "Delphi" ve Extension Delphinin class dosya uzantısı olan *.pas

Hazırladığımız Web.Configin en son hali aşağıdaki gibi olmalı:

 

<configuration>
  <system.web>                           
    <compilation debug="true">
       <assemblies>
          <add assembly="DelphiProvider" />
       </assemblies>
       <compilers>
          <compiler language="Delphi" extension=".pas"
            type="Borland.Delphi.DelphiCodeProvider,DelphiProvider" />   
       </compilers>
    </compilation>
  </system.web>
</configuration>

Sıra Script Language olarak Delphiyi kullanacağımız .aspx sayfamıza geldi. Bunun ilk örnek olması sebebiyle elbette uzun uzadıya bir fonksiyon yazmayacağız. Her zamanki gibi sayfamıza bir textbox ve bir buton ekliyoruz.

 

<html>
    <script language="Delphi" runat="server">
    procedure ButtonClick(Sender: System.Object; E: EventArgs);
    begin
        Mesajim.Text := BenimTextBox.Text;
    end;
    </script>
    <body>
    <form runat="server">
        <asp:textbox id="BenimTextBox" runat="server"/>
        <asp:button text="Merhaba" OnClick="ButtonClick" runat="server"/>
    </form>
    <p><b><asp:label id="Mesajim" runat="server"/></b></p>
    </body>
</html>

Bir sonraki konumuz Delphi 8 ile database bağlantılı uygulamalar hazırlamak. İlk uygulamaların "Merhaba Dünya" kapsamında olması Delphi 8in henüz çok yeni olması sebebiyledir. "Delphi 8 ile Database Bağlantılı Uygulamalar" başlığının ardından ileri seviye uygulamalara geçilecektir.

Evren AYAN
MaxiASP.Net
evren@maxiasp.net