İÇİNDEKİLER WEB SERVER UYGULAMALARI YAZMA CGI Uygulamaları Yazma Web Module Web Actionları Properties...

Benzer belgeler
BİL BİLGİSAYAR PROGRAMLAMA (JAVA)

Harita güncelleme direktifleri

IceWarp kurulumu. IceWarp Server kurmanız için yapmamız gereken adımlar şunlardır:

ELEKTRONİK BELGE YÖNETİM SİSTEMİ KOORDİNATÖRLÜĞÜ (EBYS KOORDİNATÖRLÜĞÜ) ELEKTRONİK İMZA KURULUM AŞAMALARI VE EBYS PROGRAMI SİSTEM GEREKSİNİMLERİ

Örnek bir kullanım ve bilgisayar ağlarını oluşturan bileşenlerin özeti

1. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

BLGM 354 DENEY 1 * GİRİŞ

(PWS) gelmektedir. Ancak. Add/Remove Programs bölümünden yüklenen bir bileşen değildir. Windows 98 kurulum CD'sinden yükleyebilirsiniz.

AutoCAD 2011 Kurulumu

1.PROGRAMLAMAYA GİRİŞ

Kaynak Kodlardan Derleme. Turquaz Muhasebe. Versiyon 0.2. Hüseyin Ergün. 26 Mart 2005

ZWCAD Önemli. Tek Kullanıcı Sürümü Lisans Kodu Kullanarak Yükleme Kılavuzu

TL-WPS510U PRINT SERVER KURULUM DÖKÜMANI

MIRACLE DATA WORKS KURULUM DOKÜMANI

Kurulum; Ana Bilgisayar ve Tahtalara ayrı ayrı yapılmaktadır. KURULUM ŞEMASI x.x x.x x.x x.


ÇANKAYA ÜNİVERSİTESİ WEBMAIL KULLANIM KLAVUZU

OMNET Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü

NicProxy Registrar AWBS Modül Kurulumu Versiyon 1.0

Turquaz Windows kurulum dökümanı. ftp://ftp.mirror.ac.uk/sites/ftp.postgresql.org/binary/v7.3.1/windows/pgsql731wina1.exe

Mpuantor 2.7 Client Kurulumu

SIMAN KULLANIM KILAVUZU

XMail. Kurulum ve Senkronizasyon Ayarları Rehberi

Scream! e gelen veri akışlarından bazılarını diğer bir kurum yada bilgisayarla paylaşmak için kullanılabilir.

Module 5 Implementing Printing ( Printer Uygulamaları )

HĠTĠT ÜNĠVERSĠTESĠ REKTÖRLÜĞÜ BĠLGĠ ĠġLEM DAĠRE BAġKANLIĞI

U y g u l a m a A i l e s i (Abakus 360, T-Panel, T-CRM) Tarayıcı Ayarları. IPera İletişim Teknolojileri

Html temelleri. Ders 4

Windows 7 - IIS 7.5 üzerine PHP ve MySQL kurulumu

Ağ Üzerinde MATLAB kurulum rehberi (Sunucu makine)

WAMP SERVER KURULUMU

Wolvox Web Entegrasyon. AKINSOFT Wolvox Web Entegrasyon Yardım Dosyası

LST TIPON KURULUM KILAVUZU

PlayOnMac Dowload System Preference Security&Privacy clickthelocktomakechnages (değişiklik yapmak için kilidi tıklayın) Allow apps downloaded from:

AKINSOFT CMS (İçerik Yönetim Sistemi)

SELÇUK ÜNİVERSİTESİ KABLOSUZ AĞ ERİŞİM SİSTEMİ KABLOSUZ AĞ İÇİN 802.1X YÜKLEME VE YAPILANDIRMA TALİMATLARI (WINDOWS XP)

FTP Programı File Zilla nın Kurulumu & Çalıştırılması

Bu makalede 2003 sunucu, Windows 2003 Server anlamına gelmektedir. Aşağıda yapılan işlemler 2003 R2 sunucu üzerinde denenmiş ve çalıştırılmıştır.

1. Mutabakat.zip dosyası açılır. 2. Mutabakat klasörü içindeki Mutabakat.exe dosyası çalıştırılır.

WEB E-POSTA AYARLARI. Outlook 2003 Ayarı ( Resimli Anlatım )

C için tümleşik geliştirme ortamı (IDE) kurulumları

Boğaziçi Üniversitesi Bilgi İşlem Merkezi. Web Yönetimi Birimi. Drupal Kullanım Kılavuzu

AUTODESK PORTALI İÇİN AKADEMİK HESAP OLUŞTURULMASI

ÇANKIRI KARATEKİN ÜNİVERSİTESİ ZİMBRA E-POSTA SİSTEMİ KULLANICI DOKÜMANI

ETA:MOBİL KURULUM TALİMATI

MacOSX'de Mail.app (Apple Mail) istemcisinde html imza ayarlamak

KÜTÜPHANE KAYNAKLARINA DIŞARIDAN (PROXY SUNUCU KULLANARAK) BAĞLANMAK İÇİN YAPILMASI GEREKENLER A. INTERNET EXPLORER KULLANICILARI İÇİN;

BIP (Bayi İletişim Portalı) Kullanıcı Dökümanı

KANTAR UYGULAMASI Kurulum Kılavuzu

Beyhan KARPUZ, Uzman Kütüphaneci Karadeniz Teknik Üniversitesi 2017

Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi...

MATLAB KURULUM KILAVUZU

ADF Transfer Kılavuzu

1. Sertifika istenmesi

İSTANBUL ECZACI ODASI BİLGİ İŞLEM BİRİMİ

LOGO için Online Mutabakat Kullanım Kılavuzu

Fiery seçenekleri 1.3 yardımı (sunucu)

İMAGE (SİSTEM GÖRÜNTÜSÜ) ALMA VE YÜKLEME NASIL YAPILIR. İmage nedir?


TSOFT FACEBOOK STORE UYGULAMASI

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

vsphere Client(viClient) ile ESXI Kontrolü

Doküman Versiyon : Tarih :

Kurtarma Ortamını Oluşturma

AdverTech Dijital Tabela Yönetim Yazılımı Kullanım Klavuzu

CELAL BAYAR ÜNİVERSİTESİ KÜTÜPHANE VERİTABANLARINA ÜNİVERSİTE DIŞINDAN ERİŞİM

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

FortiGate Sertifika Yönetimi. v4.00-build /02

EndNote Web Hızlı Başvuru kartı

PRAGON PROTECT & RESTORE 3. Kurulum Rehberi

Java Programlamaya Giriş

MIS213T İNTERNET VE WEB PROGRAMLAMA GÜZ 2016 LAB DOKÜMANI #2. 1. Bölüm: Temel HTML Etiketleri - Resimler

Kurulum ve Başlangıç Kılavuzu. DataPage için

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1

Lanschool Sınıf yönetim yazılımının (V7.4) Ncomputing sistemlerinde kullanılması

İçindekiler ADIM 1 : Üye Olma... 2 ADIM 2 : Giriş Yap ve Hatırlatma Sayfaları... 3 ADIM 3: Üye Girişi yapıldıktan sonra yapabileceğiniz işlemler...

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 1

UZAKTAN EĞİTİM YÖNETİM SİSTEMİ (MMYO)EĞİTMEN YARDIM KILAVUZU

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI

Bulut Ayarları (Dropbox)

AirTies Kablosuz Erişim Noktası (Access Point) olarak kullanacağınız cihazı bilgisayarınıza bağlayarak ayarlarını yapabilirsiniz.

NPratik Yazılım Kurulum Kılavuzu. Yedekleme İşlemi

MODÜL 1 DERS 1 BİLGİSAYARLAR DÜNYAYA HAKİM. Hazırlayan: EBOT00

Proticaret Exclusive Versiyon Yükseltme Dokümanı(v.3.0'dan v3.1.0'a)

XILINX PROGRAMI İLE PROJE HAZIRLANMASI İÇİNDEKİLER

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

Mobil Uygulama Kullanma Kılavuzu

VET ON KULLANIM KLAVUZU

İNTERNET PROGRAMCILIĞI - II

ÖĞRENCİLER İÇİN UZAKTAN EĞİTİM SİSTEMİ (MOODLE) KULLANIM KILAVUZU

TCP/IP. TCP (Transmission Control Protocol) Paketlerin iletimi. IP (Internet Protocol) Paketlerin yönlendirmesi TCP / IP

Denetim Masası/Programlar/Windows özelliklerini Aç/Kapat

Tarih: 2 Ağustos 2018 Son versiyon: 1.8. EndNote X9 Windows Multi/Site kurulum talimatları

Gerekli bağlantıları yapıp, ACS420 V3.03 programını çalıştırınız. Program açıldığında, LMS14 ün içindeki parametrelerin okunmasını bekleyiniz.

Virtualaze Unify Kurulumu

Temel Bilgisayar Uygulamaları Web Tasarımı, Programlama Dilleri ve C# a Giriş

Windows Live ID ve parolanızı giriniz.

BİLGİSAYAR PROGRAMLAMA. Yrd. Doç. Dr. Beytullah EREN

AutoCAD 2009 Kurulumu

M L y b a s Plus K llan llan m ı Kı K la ı vuz vuz ( ğrenciler için)

Transkript:

İçindekiler İÇİNDEKİLER 1. BÖLÜM WEB SERVER UYGULAMALARI YAZMA...10 CGI Uygulamaları Yazma... 12 Web Module... 16 Web Actionları... 17 Properties... 18 Events... 19 Formdan Gelen Verileri Alma... 23 Veri tabanından bilgi gönderme... 27 Resim gönderme... 30 Veritabanına bilgi girme... 34 Başka Sitelerden Gelen İstekleri Reddetme... 39 Post Metoduyla Gelen Verileri Alma... 40 Kullanıcı Bilgilerini Alma... 43 Şifre Sorma... 65 Web Server Uygulamalarından Mail Gönderme... 71 Cookie Kullanma... 92 Web sayfalarını PageProducer ile Oluşturma... 95 Web Server Uygulamalarını DLL Olarak Yazma... 101 Web Server Uygulamalarını Debug Etme... 105 2. BÖLÜM İNTERNET KONTROLLERİ... 116 TClientSocket 6-5-4-3... 117 Properties... 118 Methods... 119 Events... 120 TServerSocket 6-5-4-3... 121 Properties(Özellikler)... 122 Methods... 122 Events... 123 TWebBrowser 6-5... 136 Properties... 137 Metodlar... 137 Events... 138 1

Delphi ile Internet Programcılığı - İhsan Karagülle & Zeydin Pala Web Sayfasındaki Formları Programdan Doldurma... 142 Get Metodu Kullanan Formları Doldurma... 143 Post Metodu Kullanan Formları Doldurma... 145 Kullanılan Metodu Öğrenme... 146 Verileri belirleme... 147 Başlık Bilgisini Oluşturma... 149 Form verisini öğrenmenin kolay yolu... 156 PageProducer 6-5... 158 Properties... 158 Methods... 159 Events... 159 3. BÖLÜM DataSetTableProducer 6-5... 162 QueryTableProducer 6-5... 166 FASTNET KONTROLLERİ... 168 NMPOP3(Email Alma) 6-5-4... 169 Properties... 170 Methods... 172 Events... 173 NMSMTP(Email Gönderme) 6-5-4... 178 Properties... 178 Methods... 180 Events... 181 NMNNTP(Haber Grupları) 6-5-4... 188 Properties... 189 Methods... 193 Events... 196 NMFTP(Dosya Transferi) 6-5-4... 209 Properties... 211 Methods... 214 Events... 219 NMUDP 6-5-4... 231 Properties... 232 Methods... 232 Events... 234 NMEcho 6-5-4... 235 Properties... 235 2

İçindekiler Methods... 237 Events... 237 NMDayTime 6-5-4... 240 Properties... 240 NMTime 6-5-4... 242 Properties... 242 NMFinger 6-5-4... 243 Properties... 243 NMUUProcessor 6-5-4... 244 Properties... 244 Methods... 245 NMURL 6-5-4... 248 Properties... 248 NMMsg(Mesaj Gönderme) 6-5-4... 250 Properties... 250 Methods... 250 Events... 251 NMMsgServ(Mesaj Alma) 6-5-4... 252 Properties... 252 Events... 252 NMStrm(Dosya Gönderme) 6-5-4... 255 Properties... 255 Methods... 255 Events... 256 NMStrmSrv(Dosya Alma) 6-5-4... 257 Properties... 257 Events... 257 4. BÖLÜM INDY INTERNET KONTROLLERİ... 264 INDY SERVER KONTROLLERİ... 266 TIdTCPServer 6.0... 267 Properties... 267 Events... 268 TIdUDPServer 6.0... 271 3

Delphi ile Internet Programcılığı - İhsan Karagülle & Zeydin Pala Properties... 271 Methods... 272 Events... 272 TIdTimeServer 6.0... 279 Properties... 279 Events... 280 TIdDayTimeServer 6.0... 283 Properties... 283 TIdFingerServer 6.0... 284 Properties... 284 Events... 284 TIdTelnetServer 6.0... 295 Properties... 295 Events... 295 4 TIdEchoServer 6.0... 299 TIdHTTPServer 6.0... 300 Properties... 300 Events... 300 Şifreli Giriş... 303 Resim gönderme... 307 Dosya Gönderme... 309 TIdTrivialFTPServer 6.0... 312 Events... 312 TIdMappedPortTcp 6.0... 315 Properties... 315 TIdIRCServer 6.0... 321 Properties... 321 Events... 321 INDY CLİENTS KONTROLLERİ... 347 TIdTCPClient 6.0... 348 Properties... 348 Methods... 348 Server Programı... 349 Client programı... 362 TIdUDPClient 6.0... 367 Properties... 367

İçindekiler Methods... 368 TIdTime 6.0... 369 Properties... 369 TIdDayTime 6.0... 372 Properties... 372 TIdFinger 6.0... 373 Properties... 373 TIdTelnet 6.0... 375 Properties... 375 Methods... 375 Events... 376 TIdEcho 6.0... 378 Properties... 378 Methods... 378 TIdIcmpClient 6.0... 381 Properties... 381 Methods... 381 Events... 381 TIdWhois 6.0... 386 Properties... 386 Methods... 386 TIdSMTP 6.0... 390 Properties... 390 Methods... 390 Maille Dosya Eki Gönderme... 394 Html Mesaj Gönderme... 396 TIdPOP3 6.0... 397 Properties... 397 Methods... 397 TIdNNTP 6.0... 406 Properties... 406 Methods... 407 Events... 419 TIdFTP 6.0... 420 Properties... 420 Methods... 421 Events... 429 5

Delphi ile Internet Programcılığı - İhsan Karagülle & Zeydin Pala TIdTrivialFTP 6.0... 438 Properties... 438 Methods... 438 TIdHttp 6.0... 441 Methods... 441 Events... 451 INDY MİSC KONTROLLERİ... 453 TIdNetworkCalculator 6.0... 454 Properties... 455 Methods... 456 TIdIPWatch 6.0... 458 Properties... 458 Methods... 459 Events... 460 İnternet Bağlantısını Kontrol Etme... 460 TIdLogDebug 6.0... 469 Properties... 469 Events... 470 TIdDateTimeStamp 6.0... 472 Properties... 472 Encoder & Decoder 6.0... 475,, TIdCoderMd2-Md4-Md5 6.0... 477 TIdAntiFreeze 6.0... 479 TIdMessage 6.0... 480 Properties... 480 5. BÖLÜM DELPHİ 3 INTERNET KONTROLLERİ... 486 POP(Email Alma) 3.0... 487 Properties... 489 Methods... 492 Events... 493 Örnek: Email Alma... 496 SMTP(Email Gönderme) 3.0... 500 Properties... 501 6

İçindekiler Methods... 504 Events... 505 Örnek: EMail Gönderme... 505 NNTP(Haber Servislerine Bağlanma) 3.0... 511 Properties... 514 Methods... 517 Events... 520 Örnek: Haber Servislerine Bağlanma, Mesaj alma ve Gönderme... 521 TFTP(Dosya Transfer Etme) 3.0... 528 Properties... 530 Metodlar... 532 Events... 534 Örnek: FTP Servislerine Bağlanma ve Dosya Transferi... 536 HTML(Hyper Text Markup Language) 3.0... 545 Properties... 546 Metodlar... 549 Events... 550 HTTP(Hypertext Transport Protocol) 3.0... 555 Properties... 555 Methods... 555 Events... 556 Örnek: Internetten Dolar Kurunu Öğrenme... 556 TCP 3.0... 561 Properties... 562 Methods... 563 Events... 564 UDP 3.0... 566 Properties... 566 Methods... 567 Events... 567 6. BÖLÜM RAS APİLERİ İLE DİALUP NETWORKİNG... 570 Çevirmeli Ağ Bağlantılarını Listeleme... 570 Bağlantı Bilgilerini Okuma... 572 Bağlantıları Arama... 577 Yeni Bağlantılar Oluşturma... 583 Bağlantıları Değiştirme... 584 Bağlantıları Silme... 586 7

Delphi ile Internet Programcılığı - İhsan Karagülle & Zeydin Pala 7. BÖLÜM EK: HELP DOSYASI TASARLAMA... 594 Help Dosyası Gereksinimleri... 594 Help Dosyası Tasarlama Adımları... 594 Örnek-Help Dosyası... 595 Help Dosyasını Programa Bağlama... 609 EK: INSTALLSHİELD EXPRESS... 614 Organize Your Setup... 616 General Information... 616 Features... 619 Setup Types... 620 Specify Application Data... 621 Files... 621 Files and Features... 624 Objects/Merge Modules... 625 BDE Modüllerini Ekleme... 625 Configure The Target System... 630 Shortcuts/Folders... 630 Registry... 632 ODBC Resources... 634 INI File Changes... 635 File Extensions... 636 Customize the Setup Appearance... 637 Dialogs... 637 Define Setup Requirements And Actions... 648 Requirements... 648 Prepare For Release... 649 Build Your Release... 650 Test Your Release... 653 Distribute Your Release... 654 8

Web Server Uygulamaları Bölüm 1 Web Server Uygulamaları 9

Delphi ile Internet Programcılığı - İhsan Karagülle & Zeydin Pala Web Server Uygulamaları Yazma Web server de bulunan dosyaların tamamı statik html dosyalarından oluşmaz. Bazı durumlarda kullanıcıdan gelen istekleri değerlendirip duruma göre html kodu üreten uygulamalar yazmak gerekir. Örneğin bir arama motorunda aradığınız kelimeye uyan linkleri listeleyen bir program çalışır. Bir anket sayfasında ankete verdiğiniz oyları veri tabanına kaydeden ve sonuçları html dosyası şeklinde gösteren uygulamalar bulunur. Web serverde çalışarak, Internet Explorer gibi bir web browserden gelen istekleri değerlendirip kod üreten uygulamaları Delphi ile geliştirebilirsiniz. Bu bölümde kullanıcının browserden girdiği parametreleri değerlendirip sonucu html dokümanı olarak gönderen uygulamaları nasıl geliştireceğimizi inceleyeceğiz. Web serverle iletişim kurmak için CGI (Common Gateway Interface) uygulamaları geliştirebileceğiniz gibi (Internet Information Server Application) ISAPI/NSAPI/Apache uygulamaları da geliştirebilirsiniz. Her iki tür web server uygulaması da kullanıcının browserinden gelen istekleri değerlendirir ve sonuç bilgisini html veya dosya şeklinde kullanıcının browserine gönderir. Bu işlemler sırasında Web server programı kullanıcının browserinden gelen istekleri Web server uygulamasına iletir ve uygulamanızdan çıkan sonuçları kullanıcının browserine gönderir. Delphi ile CGI, Win-CGI, ISAPI, NSAPI veya Apache web server uygulamalarını kolayca geliştirebilirsiniz. Temelde bu uygulamaların Web serverle kurdukları iletişim şekli farklı olsa da Delphi de ki Web Module sayesinde bu uygulamalar aynı mantık çerçevesinde geliştirebiliriniz. CGI/Win-CGI kullanarak web server uygulamanızı oluşturursanız uygulamanız EXE dosyası şeklinde oluşturulacaktır. ISAPI/NSAPI/Apache kullanarak oluşturursanız web server uygulamanız DLL dosyası şeklinde oluşturulacaktır. Her iki yönteminde bir birine göre üstünlükleri vardır. Exe şeklinde bir uygulama oluşturmak daha kolaydır. Ancak browserden gelen her istekte bu uygulama yeniden çalıştırılacak ve serverdeki makinenin kaynaklarını kullanacaktır. Örneğin aynı anda 50 kişi sayfanızdaki aynı bölüme erişiyorsa uygulamanızın 50 kopyası aynı anda çalıştırılacaktır. DLL şeklinde hazırlanan uygulamalar ise sadece ilk istekte çalıştırılıp belleğe alınacak sonraki isteklerde ise bellekteki kopya çalıştırılacaktır. Bu haliyle DLL şeklindeki web server uygulamaları serverin yükünü hafifletecektir. DLL nin bu avantajının yanında dezavantajları da vardır. DLL dosyası hafızaya yükleneceği için yeni bir versiyon yüklemek istediğinizde serveri durdurmanız, güncelleştirme yaptıktan sonra yeniden başlatmanız gerekir. Ayrıca sorunlu yazılmış bir DLL uygulaması serverin çökmesine sebep olabilir. Bu bölümde yazdığımız uygulamaları test etmek için bir web server e ihtiyacınız olacak. Eğer Windows 98 veya ME kullanıyorsanız Windows 98 CD si içinde bulunan Personel Web serveri kendi bilgisayarınıza veya ağdaki başka bir bilgisayara yükleyebilirsiniz. 10

Web Server Uygulamaları Windows NT/2000/XP tabanlı bir işletim sisteminde Microsoft IIS yi kendi bilgisayarınıza veya ağdaki başka bir bilgisayara yükleyebilirsiniz. İnternette bulunan ücretsiz Web server programlarından birini de bilgisayarınıza yükleyerek örnekleri uygulayabilirsiniz. www.download.com adresinde web server kelimelerini aratırsanız çok sayıda ücretsiz web server programı bulabilirsiniz. Bunlardan birini bilgisayarınıza veya ağdaki başka bir bilgisayar yükleyerek örnekleri bu server üzerinde çalıştırabilirsiniz. Eğer web server kurulu bir bilgisayarınız yoksa veya ağda erişebileceğiniz web server kurulumu yoksa ve bunları kurmayı düşünmüyorsanız bu bölümün sonunda anlattığımız, Delphiyle birlikte gelen Web App Debugger programını Web Server gibi kullanabilirsiniz. Ancak bu biraz zahmetli bir yöntem olacaktır. Benim örneklerde kullandığım PWS (Personel Web Server) oda isimli bir bilgisayara yüklü olduğu için bu bölümdeki örneklerde http://oda/scripts şeklinde adresler göreceksiniz. Buradaki oda yerine kendi PWS veya IIS serverinizin adresini girmelisiniz. Eğer PWS veya IIS kendi bilgisayarınızda kuruluysa kendi bilgisayarınızın adını veya http://127.0.0.1 şeklinde local adresini kullanabilirsiniz. Eğer hazırladığınız uygulamaları internette CGI destekli bir siteye yerleştiriyorsanız o sitenin adresini kullanabilirsiniz. 11

Delphi ile Internet Programcılığı - İhsan Karagülle & Zeydin Pala CGI Uygulamaları Yazma CGI uygulamalarımızı Consol Application olarak yazabileceğimiz gibi Web Module kullanarak da yazabiliriz. Web Module kullanarak profesyonel CGI uygulamaları kolayca yazılabilir. Önce Console Application olarak bir CGI uygulamasını nasıl yazacağımızı görelim: ÖRNEK İlk örneğimizde herhangi bir kullanıcı girişi olmadan browserde Sitemize hoş geldiniz mesajı gösterelim. CGI uygulaması yazmak için File-New-Other menüleri ile açılan aşağıdaki pencereden Console Application seçeneğini işaretleyin. Bu işlem sonucu formu olmayan bir konsol uniti oluşturulacaktır. program Project2; {$APPTYPE CONSOLE} uses SysUtils; begin { TODO -ouser -cconsole Main : Insert code here } end. 12

Web Server Uygulamaları Begin-End bloğu arasında Html kodunu üretecek satırları yazacağız. Buraya yazacağımız kod WriteLn komutu ile ekrana yazdırır gibi html kodlarını yazdıracaktır. Html kodları content-type: text/html başlığı ile başlar. Browsere bunun bir html bilgisi olduğunu belirtmek için ilk olarak bu başlığı yazdırmamız gerekecek. //html başlığı writeln ('content-type: text/html'); writeln(''); Bu işlemden sonra kullanıcının ekranında göstereceğimiz bilgileri html dosyası şeklinde kodlayabiliriz. program Project1; {$APPTYPE CONSOLE} uses SysUtils; begin //html başlığı writeln ('content-type: text/html'); writeln(''); //html kodu writeln ('<html><head>'); writeln ('<title>örnek CGI Uygulaması</title>'); writeln ('</head><body>'); writeln ('<h1>sitemize hoş geldiniz</h1>'); writeln ('<hr>'); writeln ('<h2>delphi ile yazılmış örnek bir CGI uygulaması</h2>'); writeln ('</body></html>'); end. Yukarıdaki örneğimizi yazdıktan sonra bir isim verin (örnek olarak Welcome diyelim) ve programınızı çalıştırın. Programımız konsol uygulaması olduğu için Dos penceresi gibi bir pencere açılacak ve WriteLn satırları html kodunu yazdıktan sonra pencere kapanacaktır. Bu uygulamayı bir web server üzerinde çalıştırdığımızda ise sonuç konsol penceresi yerine browsere yazdırılacak ve ortaya web sayfası çıkacaktır. Şimdi bu uygulamayı Web Serverinizin Scripts klasörüne kaydedin. IIS veya Personel Web Server kullanıyorsanız bu uygulamanın exe dosyasını (Welcome.exe) \inetpub\scripts klasörü altına kaydedebilirsiniz. Şimdi Web Browserimizden (Internet Explorer gibi) bu CGI uygulamasına erişelim. Adresi http://serveradı/scripts/welcome.exe şeklinde browserinize yazın. 13

Delphi ile Internet Programcılığı - İhsan Karagülle & Zeydin Pala WriteLn satırları ile yazdırdığımız html bilgisi browserimizde web sayfası şeklinde gösterilecektir. ÖRNEK Bu örneğimizde bir sayaç yapalım ve sayfa gösterimini sayıp bir dosyada kaydedelim. File-New-Other menüleri ile açılan pencereden Console Application seçeneğini işaretleyin. Sayfanın gösterim sayısını ve sacın oluşturulduğu tarihi sayac.dat isimli bir dosyaya kaydedeceğiz ve sayfa her gösterildiğinde sayacımızı bir artırıp aynı dosyaya yazacağız. Dosyadaki bilgileri html kodu olarak browsere yazdıracağız. program sayac; {$APPTYPE CONSOLE} uses SysUtils; var Dosya:TextFile; DosyaAdi:String; Say:Integer; tarih:tdatetime; begin DosyaAdi := 'sayac.dat'; AssignFile (Dosya, DosyaAdi); say:=1; if FileExists (DosyaAdi) then//sayaç dosyası varsa begin Reset (Dosya);//dosyayı okumak aç Read (Dosya, tarih);//dosyadaki ilk bilgi oluşturma tarihi Read (Dosya, say);//dosyadaki ikinci bilgi sayacın durumu say:=say+1;//sayacı bir artır end else tarih:=now;//dosya yoksa oluşturma tarihi şu an Rewrite (Dosya);//dosyayı yazmak için aç 14

Web Server Uygulamaları Writeln (Dosya, tarih);//tarihi yaz Writeln (Dosya, say);//sayacı yaz Close (Dosya);//dosyayı kapat //html başlığı writeln ('content-type: text/html'); writeln (''); //html kodu writeln ('<html><head>'); writeln ('<title>sayaç</title>'); writeln ('</head><body>'); writeln ('<h4>ziyaretçi Sayısı:'); writeln (say); writeln ('</h2>'); writeln ('<hr>'); writeln ('<h5>counter Başlangıcı:'); writeln (DateTimeToStr(tarih)); writeln ('</h5>'); writeln ('</body></html>'); end. Örneğimizi sayac ismi ile kaydettikten sonra çalıştırın ve oluşan sayac.exe dosyasını Web serverinizin \inetpub\scripts klasörüne kopyalayın. Browserinizle http://serveradı/scripts/sayac.exe adresine erişirseniz sayacın durumunu ve saymaya başladığı tarihi aşağıdaki gibi görebilirsiniz. Bu sayacı web sayfalarınızdan birine yerleştirmek için aşağıdaki gibi bir kod kullanabilirsiniz. <iframe src="http://oda/scripts/sayac.exe" width=200 height=150> 15