Delphi'de CGI programlama hakkında yardım !
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Delphi'de CGI programlama hakkında yardım !
Merhaba arkadaşlar.
Benim sizlerden ricam; delphi'de cgi programlayarak arama-kayıt ekleme yapacak örnek bir program kaynak kodu. dbisam veritabanını kullanarak yapacak bu işi, sonuçları htm olarak browser a gönderecek.
Ne delphi ne de dbisam konusunda en ufak bilgim olmadığını belirtmek isterim. Ancak kaynak kodları inceleyerek kendi isteğime göre düzenleyebileceğimi düşünüyorum. VByi bu şekilde öğreniyorum. Bir de VB altında dbisam ı kullanabilirmiyim acaba?
Kaynak kod yollayacak arkadaşlar; xxx@xxx.xx adresini kullanınız.
Teşekkürler, hayırlı bayramlar.
Benim sizlerden ricam; delphi'de cgi programlayarak arama-kayıt ekleme yapacak örnek bir program kaynak kodu. dbisam veritabanını kullanarak yapacak bu işi, sonuçları htm olarak browser a gönderecek.
Ne delphi ne de dbisam konusunda en ufak bilgim olmadığını belirtmek isterim. Ancak kaynak kodları inceleyerek kendi isteğime göre düzenleyebileceğimi düşünüyorum. VByi bu şekilde öğreniyorum. Bir de VB altında dbisam ı kullanabilirmiyim acaba?
Kaynak kod yollayacak arkadaşlar; xxx@xxx.xx adresini kullanınız.
Teşekkürler, hayırlı bayramlar.
teşekkürler..
1- dbisam içerisinde arama yapacak kod
2- dbisam veritabanına veri ekleyecek kod
DbIsam içerisinde sadece tek bir alanda, tek bir kriterle arama yapması/kayıt eklemesi yeterli, sonrasını kendim oluşturabilirim sanırım.
-- veritabanı bağlantısı (vb de *.mdb ye bağlanırken kullanılan kodun dbisam/delphi karşılığı)
-- gelen veri arama / -- gelen veri kayıt ekleme (SQL deki INSERT INTO / SELECT * FROM gibi)
-- sonucu değişkene tanımlama
yukarıdaki gibi bir akış şeması sanırım işimi görür. bu kodları bana yazacak arkadaşların, Allah iki cihanda yüzünü güldürsün. amin.
1- dbisam içerisinde arama yapacak kod
2- dbisam veritabanına veri ekleyecek kod
DbIsam içerisinde sadece tek bir alanda, tek bir kriterle arama yapması/kayıt eklemesi yeterli, sonrasını kendim oluşturabilirim sanırım.
-- veritabanı bağlantısı (vb de *.mdb ye bağlanırken kullanılan kodun dbisam/delphi karşılığı)
-- gelen veri arama / -- gelen veri kayıt ekleme (SQL deki INSERT INTO / SELECT * FROM gibi)
-- sonucu değişkene tanımlama
yukarıdaki gibi bir akış şeması sanırım işimi görür. bu kodları bana yazacak arkadaşların, Allah iki cihanda yüzünü güldürsün. amin.
valla dostum anladığım kadarı ile delphi ye yeni başlıyorsun veya delphide database olayına yeni giriyorsun...
öncelikle yapman gereken biraz delphinin helpini incele foruma bak gözat dolaş ne bileyim.
sonrada delphide interbase e bulaşma başın daha sonra belaya girer felan
istersen bulaş ama firebird de var unutma
ama ben adoyu kullanmanı tavsiye ederim. hatta bir delphi kitabı almanı da şiddetle tavsiye ederim.
Kolay gelsin
öncelikle yapman gereken biraz delphinin helpini incele foruma bak gözat dolaş ne bileyim.
sonrada delphide interbase e bulaşma başın daha sonra belaya girer felan
istersen bulaş ama firebird de var unutma

ama ben adoyu kullanmanı tavsiye ederim. hatta bir delphi kitabı almanı da şiddetle tavsiye ederim.
Kolay gelsin
-- veritabanı bağlantısı (vb de *.mdb ye bağlanırken kullanılan kodun dbisam/delphi karşılığı)
-- gelen veri arama / -- gelen veri kayıt ekleme (SQL deki INSERT INTO / SELECT * FROM gibi)
arkadaşlar şu yukarıdaki iki konu hakkında iki satır kod rica ettim sizden. Söylediklerinizde haklısınız ama ben sizden o bilgileri değil yukarıdaki bilgileri istiyorum. Umarım bu sefer anlatabilmişimdir.
veya mevzuyu şu şekilde de özetliyeyim size.. ben kısa bir program yapacağım, bu program tel fihristine benziyor yapısal olarak (kayıt sayısı abarık biraz/alternatifi veya mdb falan mevzuu olmasın, çünkü kayıt sayısı baya fazla olacak). ama ben karşı tarafa mysql vs bişey kurmak istemiyorum. internette kısa bir araştırma yaptım. dbisam/delphi vasıtasıyla odbc/kurulum falan gerekmeden hızlı- kararlı çalıştığı kanaatine vardım. burada da bir bilen çıkar diye yazdım.. hem bahaneyle iki kuş misali.
bir de şöyle birşey var delphide direct access olayı varmış. bu direct access'in VB için olanı varmı?/URL.
tekrar teşekkürler.
-- gelen veri arama / -- gelen veri kayıt ekleme (SQL deki INSERT INTO / SELECT * FROM gibi)
arkadaşlar şu yukarıdaki iki konu hakkında iki satır kod rica ettim sizden. Söylediklerinizde haklısınız ama ben sizden o bilgileri değil yukarıdaki bilgileri istiyorum. Umarım bu sefer anlatabilmişimdir.
veya mevzuyu şu şekilde de özetliyeyim size.. ben kısa bir program yapacağım, bu program tel fihristine benziyor yapısal olarak (kayıt sayısı abarık biraz/alternatifi veya mdb falan mevzuu olmasın, çünkü kayıt sayısı baya fazla olacak). ama ben karşı tarafa mysql vs bişey kurmak istemiyorum. internette kısa bir araştırma yaptım. dbisam/delphi vasıtasıyla odbc/kurulum falan gerekmeden hızlı- kararlı çalıştığı kanaatine vardım. burada da bir bilen çıkar diye yazdım.. hem bahaneyle iki kuş misali.
bir de şöyle birşey var delphide direct access olayı varmış. bu direct access'in VB için olanı varmı?/URL.
tekrar teşekkürler.
@adali, üslup konusunda @Admin'e katılıyorum. Lütfen daha dikkatli olalım.
- Size üç soru sorucam.
1.Daha önce WebServer application yazdınız mı ?
2.Daha önce local bir database erişimi yapan bir program yaptınız mı ?
3.HTML yapısı hakkında bilginiz var mı ?
- Bunları bize ilk sorunuzda bildirmişsiniz güzel ama öğrenmek için bir çabanız da görünmüyor...
- Bu cevapları sırasıyla cevaplayabilicek duruma geldiğinizde size cevap yazmak için sırada ilk ben varım...
Emin olun eksik kaldığınız nokta tespit edilir ve ona göre cevap verilir.
- Özetle ne gibi bir işe bulaştığınızı bildirmek istiyorum... Yani kod örneği alıp bunun üzerinde modifikasyon yaparak becermeniz mümkün değil.
- Delphi ile yapacağınız WebServer Application; Web'den gelen bir Request (çağrı), oluşturulan bir listenin Response(Cevap) edilmesi şeklinde çalışır. Yani Internet Explorer'in Adres satırından web hostun ilgili klasöründen sizin yazdığınız EXE çağrılır, sizin EXE'niz bu çağrı ve parametreler doğrultusunda standart HTML kod üretir ve sanki sizin EXE'niz bir HTML sayfaymışçasına geri döndürür. Mantık bu... Yani ekstra bir çaba sarfiyatı yoktur.
- HTML Taglarını kullanarak Bir Header, bir footer yazarsınız. Body olarak da QuickReport'ta çıktı alırmışcasına bir satır tasarlayıp, göndereceğiniz her veritabanı kaydı için bu satırda değişiklik yapıp bir StringListe veya Memo'ya vs. atarsınız. Header, Body (Memo) ve Footer'i birleştirdiğinizde sizden istenen doğrultusunda bir HTML üretmiş olursunuz. İşte bu text'i Response'ye atadığınızda çağrı yapan kişi/kişilere ulaşacaktır.
- Veritabanına erişim bir çok şekilde mümkündür. SQL benim tavsiye edeceğim güzel bir erişimdir. Farklı olarak siz Table kullanarak da, filtreleyerek de erişebilirsiniz. Web'de yayınlamak için, ürün listenizde tablonun/sorgunun başından sonuna kadar bir döngü kurar, her kaydı yukarda bahsettiğim html body kısmına ekleyerek istenen tüm kayıtları bir HTML sayfa haline dönüştürmelisiniz.
- Bu forumda cevap yazmak için önce cevaba layık soru görmek isteriz.
- Sinemacıların bir anektodu vardır.. Yeşilçam sinema ustaları, Türk Tarihini konu alan filmlerinde senaryo sette yazılır derlerdi.
- Gerekçesi sorulduğunda, senaristin aslında detaylı bir şekilde olayları senaryoya yazması gerekirken "Fatih Kaleyi Fetheder" gibi bir satırını uygun görmesinden olduğu cevabını alınırmış.
- Aslında bu kısacık satır filmin en maliyet yükü ve uzun süreli olan sahnesidir.
- Buradaki hatanız, bize cevap yazmayı yük haline getirmenizdir. Soru sorulana dek yaptıklarınızı ve takıldığınız yeri yazarsanız, bizler de zevkle cevap yazarız.

- Size üç soru sorucam.



- Bunları bize ilk sorunuzda bildirmişsiniz güzel ama öğrenmek için bir çabanız da görünmüyor...

- Bu cevapları sırasıyla cevaplayabilicek duruma geldiğinizde size cevap yazmak için sırada ilk ben varım...


- Özetle ne gibi bir işe bulaştığınızı bildirmek istiyorum... Yani kod örneği alıp bunun üzerinde modifikasyon yaparak becermeniz mümkün değil.

- Delphi ile yapacağınız WebServer Application; Web'den gelen bir Request (çağrı), oluşturulan bir listenin Response(Cevap) edilmesi şeklinde çalışır. Yani Internet Explorer'in Adres satırından web hostun ilgili klasöründen sizin yazdığınız EXE çağrılır, sizin EXE'niz bu çağrı ve parametreler doğrultusunda standart HTML kod üretir ve sanki sizin EXE'niz bir HTML sayfaymışçasına geri döndürür. Mantık bu... Yani ekstra bir çaba sarfiyatı yoktur.

- HTML Taglarını kullanarak Bir Header, bir footer yazarsınız. Body olarak da QuickReport'ta çıktı alırmışcasına bir satır tasarlayıp, göndereceğiniz her veritabanı kaydı için bu satırda değişiklik yapıp bir StringListe veya Memo'ya vs. atarsınız. Header, Body (Memo) ve Footer'i birleştirdiğinizde sizden istenen doğrultusunda bir HTML üretmiş olursunuz. İşte bu text'i Response'ye atadığınızda çağrı yapan kişi/kişilere ulaşacaktır.

- Veritabanına erişim bir çok şekilde mümkündür. SQL benim tavsiye edeceğim güzel bir erişimdir. Farklı olarak siz Table kullanarak da, filtreleyerek de erişebilirsiniz. Web'de yayınlamak için, ürün listenizde tablonun/sorgunun başından sonuna kadar bir döngü kurar, her kaydı yukarda bahsettiğim html body kısmına ekleyerek istenen tüm kayıtları bir HTML sayfa haline dönüştürmelisiniz.

- Bu forumda cevap yazmak için önce cevaba layık soru görmek isteriz.

- Sinemacıların bir anektodu vardır.. Yeşilçam sinema ustaları, Türk Tarihini konu alan filmlerinde senaryo sette yazılır derlerdi.

- Gerekçesi sorulduğunda, senaristin aslında detaylı bir şekilde olayları senaryoya yazması gerekirken "Fatih Kaleyi Fetheder" gibi bir satırını uygun görmesinden olduğu cevabını alınırmış.

- Aslında bu kısacık satır filmin en maliyet yükü ve uzun süreli olan sahnesidir.

- Buradaki hatanız, bize cevap yazmayı yük haline getirmenizdir. Soru sorulana dek yaptıklarınızı ve takıldığınız yeri yazarsanız, bizler de zevkle cevap yazarız.

cgi'a yazma
yaklaşık 2 sene kadar cgi-perl ile uğraştım ama deyin ki database yapısı hakkında bilgin war mı... yok chmod nedir bilir misin... yok
ama chmod u şu yap dersen yaparım ayrı.
yani anlayacağınız kodlarda oynayarak kendi cgi programcıklarımı yapabiliyorum (yazabiliyorum diyip de yazanlara ayıp etmeyelim
). 1-2 tane de kitabım war konuyla ilgili
Benim sorum şu delphi içinden elimdeki dosyakontrol.cgi programına nasıl bilgi işlerim? ve okuturum Neler gerekli?
#dosyakontrol.cgi eleman içeriği
#edit1 - string
#edit2 - date
#edit3 - string (WebSite)
#memo1 - Açıklama
bu arada bir itiraf: HTML'yi az buçuk unutmuşum. IP:127.0.0.1 (Eklemem gereken bişeyler warsa sööleyin
)
ama chmod u şu yap dersen yaparım ayrı.
yani anlayacağınız kodlarda oynayarak kendi cgi programcıklarımı yapabiliyorum (yazabiliyorum diyip de yazanlara ayıp etmeyelim

Benim sorum şu delphi içinden elimdeki dosyakontrol.cgi programına nasıl bilgi işlerim? ve okuturum Neler gerekli?
#dosyakontrol.cgi eleman içeriği
#edit1 - string
#edit2 - date
#edit3 - string (WebSite)
#memo1 - Açıklama
bu arada bir itiraf: HTML'yi az buçuk unutmuşum. IP:127.0.0.1 (Eklemem gereken bişeyler warsa sööleyin

- Merhabalar...
- Bir web sayfasından bu CGI'ye nasıl bilgi gönderiyorsanız, aynısını delphi ile de emule edebilirsiniz...
- yani...
şeklinde bir yapı sergileyebilir, Delphi ile Method-GET ile gönderebilirsiniz, veya bu yapıyı Method-POST ile gizli olarak da gönderebilirsiniz...
- Bu işlem için Delphi sürümüne göre, TNmHttp, TIdHttp veya TWebBrowser bileşenlerini kullanabilirsiniz... Arama yaptırırsanız örnek de bulabilirsiniz...
- Bir web sayfasından bu CGI'ye nasıl bilgi gönderiyorsanız, aynısını delphi ile de emule edebilirsiniz...
- yani...
Kod: Tümünü seç
http://www.url.com/dosyakontrol.cgi?edit1=string&edit2=date&edit3=string&memo1=Açıklama
- Bu işlem için Delphi sürümüne göre, TNmHttp, TIdHttp veya TWebBrowser bileşenlerini kullanabilirsiniz... Arama yaptırırsanız örnek de bulabilirsiniz...