8 Temmuz 2017 Cumartesi

Annemin dedesi Allah’ın varlığının kanıtıdır çünkü alimler ve şehitler Allah’ın varlığının kanıtıdır.


Annemin dedesi Muhammed Said İslam alimi imiş. Medreselerde ders vermiş.Pek çok islam alimi yetiştirmiş. Vefattından uzun yıllar sonra mezarı yol yapımı için taşınmak istenmiş ve yetkililer mezarın taşınması için oğullarını ve diğer aile efratlarını çağırmış. Mezar açıldığında şok olmuşlar çünkü aradan uzun yıllar geçmesine rağmen cesedi çürümediği gibi tırnakları ve sakalı uzamış bir halde imiş. Ben onun bu halini onun Allah’ın kanıtı olarak görüyorum . Çünkü iki hadis onun bu halini açıklıyor bu hadisler şunlar.

 Evs b. Evs’in bildirdiğine göre peygamberimiz(a.s.m) şöyle buyurmuştur: “Allah peygamberlerin cesetlerini toprağa haram kılmıştır”(Ebu Davud, salat, 207, Nesaî, Cuma, 5).



"Ümmetimin alimleri, İsrâiloğullarının peygamberleri gibidir." (bk. Razi, Tefsir, VIII/302; Neysaburi, Tefsir: I/264; Keşfu’l-Hafa: II/64)



Annemin dedesi İslam alimi olduğu için peygamberler gibi olmuş ve cesedi çürümemiş . Onun bu hali hadislerin doğru olduğu dolayısıyla peygamber efendimizin doğru söylediğinin kanıtı peygamber efendimiz her dediği doğru getirdiği Kuran Allah varlığının kanıtı.


İslamda kadını dövme olayının çarptrılması


Sözlerin en doğrusu Kuran-ı Kerim’dir ve İnsanların en doğru sözlüsü ise Hz.Muhammed (s.a.v.) dir (ammena ve saddakna).

Bu yüzden gerçeklerin doğruların ortaya çıkması için Kuran-ı Kerimin mealini de Kuran-ı Kerime göre yapılması gerektiğine inanıyorum. 

Kadın dövme konusunda izinmiş gibi gösterilen darabe kelimesini kurandan araştrdık.

İslam en çok eleştiri getirilen eş dövmeye izin meali sayılan darabe kelimesinin  geçtiği 4.Nisa Süresi 34. Ayete  Diyanet veya diğer meallerde mealen şöyle geçiyor  .” Erkekler, kadınların koruyup kollayıcılarıdırlar. Çünkü Allah insanların kimini kiminden üstün kılmıştır. Bir de erkekler kendi mallarından harcamakta (ve ailenin geçimini sağlamakta)dırlar. İyi kadınlar, itaatkârdırlar. Allah'ın (kendilerini) koruması sayesinde onlar da "gayb"ı korurlar. (Evlilik yükümlülüklerini reddederek) başkaldırdıklarını gördüğünüz kadınlara öğüt verin, onları yataklarında yalnız bırakın. (Bunlar fayda vermez de mecbur kalırsanız) onları (hafifçe) dövün. Eğer itaat ederlerse artık onların aleyhine başka bir yol aramayın. Şüphesiz Allah çok yücedir, çok büyüktür.

Burada dövün kelimesinin altını çizdim.  Gerçekten  dövün diye tercüme edebilirmiyiz diye  diye  Kuradan http://kuran.diyanet.gov.tr adresindeki arama bölümünden yaralanarak araştırma yaptım. Darabe (ضَرَبُ , واضرب) kelimesi Kuran-ı kerimde tam 24 ayette kullanılmış. Yani Nisa süresi 34.ayetten başka 23 ayette daha kullanılmıştır. Sadece Nisa süresinde dövmek manasında kullanılmıştır.  4 farklı mealden elde edilen sonuca göre 44 adet mana bulunmuştur. Ve bunların sadece birinde vurmak manası vardır. Bu manalar aşağıda verilmiştir.

[Adım atmak, Benzetmek,Damga vurmak, Darbe indirmek, Dolaşmak(gezmek),Emsal anlatmak,Örnek vermek,Fırlatmak,Kapatmak,Uyutmak,İsnat Etmek,Kapatmak, Uyutmak, Karşı çıkmak, Kıyas etmek, Temsil yapmak, Layık görmek, Mesel olarak , Ortaya çıkmak, Mesele darb etmek, Mesele fırlatmak, Mesele yapmak, Mesele yapmak, Misal getirmek, Misal göstermek, Misal olarak anlatmak, Misal olarak ermek,

Misal olarak zikretmek, Misal vermek, Misale yer vermek, Örnek Getirmek, Örnek Göstermek, Oturmak, Perde Koymak, Uykuya daldırmak(ilişkiyi dondurmak dondurmak), Seyahat etmek, Tartışmak, Temsil getirmek , Temsil yapmak, Vurmak

Yakıştırmada bulunmak, Yolculuk etmek, Zillet altında kalmak, Zillet damgası vurmak, Zillet kaplamak.]

Nisa 34. Ayetten başka sadece 1 ayette darabe kelimesi vurmak manasında kullanılmıştır. O da enfal süresi 12. Ayettedir. Bu ayetteki “vurmak” kelimesi meleklere emir olduğu için baskı yapmak manasında olduğunu söyleyen hocalarımız vardır. Kuran ve Ders sitesinde bu konu açıklanmıştır.

Şimdi en önemli sorun şudur: niçin Kehf süresinde kullanıldığı manada kullanılmıyor. Kehf süresindeki manayı kullanmak çok anlamlı geliyor . Çünkü kehf süresinde gençler zamanın ahlak bozukluğundan mağaraya çekilip uyumuşlardı bir nevi toplumla ilişkilerini dondurmuşlardı . Eğer Nisa 34. Ayette bu mana kullarılrsa onarlı dövün yerine onlarla ilişkinizi uyutun ya da dondurun manası verilir ki bu ilişkinin doğru yolu bulması dövmekten daha iyi bir çözüm olacağı açıktır. Çalışma ile ilgili dosya indirilebilir.  Tıklayınız.

İslam insanın insana şiddet uygulamasını men ediyor . Bu açıdan bakıldığında kadına  vurulmasını  hiç istemez. Sonuçta peygamber efendimiz hiçbir hanımını dövmemiştir. Eğer dövme olayı olsaydı Hz. Aişe'ye iftira atıldığında Hz. Aişe'yi döverdi. Halbuki Hz. Aişe ile ilişkisin dondurmuştur. O sırala Hz. Aişe babasının evinde kalıyordu. Peygamber efendimiz hergün gelerek hatırını soruyordu. Bu yüzden Kehf suresindeki gibi darabe kelimesini dondurmak uyutmak manasında kullanmak daha doğru.

Hz.Aişe’nin Evlilik Yaşı kaçtır?


Dinsizler peygamber efendimizin Hz. Aişe ile 9 yaşında evlendiğini öne sürüp bunu sapıklık olarak gösterip peygamberimize hakaret ediyorlar. Bu yüzden bu konuyu araştırdım. Hz. Aişe’nin evlendiğinde 18 yaşında olduğunu üç kantıa dayanarak  gördüm.

1.Hz. Esma Hz Aişe’nin 10 yaş büyük ablasıdır. Onun biyografisinden Hz. Aişe’nin evlilik yaşı çıkıyor. Hicretin 73. Senesinde 100 yaşında iken Hz. Esma vefat etmiştir. Yani hicrette 27 yaşındadır. Peygamber efendimiz Hz. Aişe ile Hicretin 8.ayında evlenmiştir. Bu yüzden hz.Aişe peygamberimizle evlendiğinde 18 yaşındadır.

2. Hz. Aişe validemiz yıllar sonra Mekke’nin ilk dönemlerinde inen bir sure olan, Kıyamet Suresi’nin iniş zamanı sorulduğu zaman: “Ben Mekke’de sokaklarda oynayan bir çocuk iken Kıyamet saatinin dehşetini anlatan şu ayetler (Kamer Sûresi, 54/46) nazil oldu.” diye cevap vermesi, onun yaşını tespit etmek açısından önemli bir işarettir. Bu sure nübüvvetin 3. veya 4. yılında nazil olduğuna göre, Hz. Aişe validemizin oyun oynayacak ve bu sureyi aklında tutacak bir yaşta olması gerektiği de dikkate alınırsa; o günlerde en az 6–7 yaşlarında olması gerekecektir. Hz. Aişe’nin Efendimiz (sav) ile evliliği nübüvvetin 13. yılında gerçekleşmiştir. Buna göre demek ki bu evlilik Kamer Suresi’nin nâzil olmasından yaklaşık 10 yıl sonra olduğunu kabul etmek gerekmektedir. Durum böyle olunca da  Hz. Aişe validemizin evlendiği zaman yaşının en az 17 ya da 18 olduğu anlaşılır.Nübüvetin 13 yılı hicretin 8 .ayı ile örtüşmektedir.

3.Cahiliye devrinde Araplar kızları adet gördüğünde tören yapar ve kızlarının yaşlarını bu yaştan itibaren sayarlardı . Bu yüzden Hz. Aişe’nin 9 yaşında evlendiği iddiasını, “9 yıldır ay hali görüyordu” şeklinde anlamak gerekir. 9 yıldır ay hali görmesi ve bir 9 yılda çocukluk dönemini dikkate alınca, Hz. Aişe validemiz evlendiğinde 18 yaşlarında bir genç kız olduğu anlaşılır.

kaynak: http://www.webbilge.net/hz-aise-annemizin-evlilik-yasi-kactir/#ixzz4mFrHSS6L

Sonuç olarak peygamber efendimiz Hz.Aişe ile ruhsal ve bedensel olgunluğa eriştiği bir yaşta evlenmiştir.

2 Kasım 2016 Çarşamba

Hadislere neden ve nasıl uymalıyız? Uydurma hadisi nasıl ayırt edeceğiz?




“De ki: Allah’a ve Rasulüne itaat edin. Eğer yüz çevirirlerse bilsinler ki Allah kâfirleri sevmez.”   (Al-i İmran suresi 32.ayet)    Rasullaha uymak farzdır. Rasullah’ın ne yaptığını hadislerden öğreniyoruz. Medreselerde bazı üniversitelerde hadis uzmanları var. Bir hadisin uyduruma olup olmadığı ravisine göre değerlendirilir. Ravilerinde yalancı ravi varsa zayıf hadis denir. Hadislerin sahih olup olmadığını uzmanlarından öğreniyoruz  ve hadislere inanıyoruz. Uzman bulamasak hadisin Kurana uygun olup olmadığına bakarız. Kurana ters hadis uydurmadır. Ama Kuran'a ters düşmeyen hadislere inanmalıyız.



Peygambere itaatla ilgili diğer ayetler:

1. “Allah'a ve Resûl'üne itaat edin ki rahmete kavuşturulasınız.” (Ali imran 132.ayet)

2. “Ey iman edenler! Allah'a itaat edin. Peygamber'e ve sizden olan ülülemre (idarecilere) de itaat edin. Eğer bir hususta anlaşmazlığa düşerseniz -Allah'a ve ahirete gerçekten inanıyorsanız- onu Allah'a ve Resûl'e götürün (onların talimatına göre halledin); bu hem hayırlı, hem de netice bakımından daha güzeldir.” (Nisa suresi 59.ayet)

3.” Allah'a itaat edin, Resûle de itaat edin ve (kötülüklerden) sakının. Eğer (itaatten) yüz çevirirseniz bilin ki Resûlümüzün vazifesi apaçık duyurmak ve bildirmektir.” (Maide 92.ayet)

4.”Sana savaş ganimetlerini soruyorlar. De ki: Ganimetler Allah ve Peygamber'e aittir. O halde siz (gerçek) müminler iseniz Allah'tan korkun, aranızı düzeltin, Allah ve Resûlüne itaat edin.”    (Enfal suresi 1.ayet)

5. “Ey iman edenler! Allah'a ve Resûlüne itaat edin, işittiğiniz halde O'ndan yüz çevirmeyin.”(Enfal 20.ayet)

6. “Allah ve Resûlüne itaat edin, birbirinizle çekişmeyin; sonra korkuya kapılırsınız da kuvvetiniz gider. Bir de sabredin. Çünkü Allah sabredenlerle beraberdir. “  (Enfal 46.ayet)



7. “De ki: Allah'a itaat edin; Peygamber'e de itaat edin. Eğer yüz çevirirseniz şunu bilin ki, Peygamber'in sorumluluğu kendisine yüklenen (tebliğ görevini yapmak), sizin sorumluluğunuz da size yüklenen (görevleri yerine getirmeniz)dir. Eğer ona itaat ederseniz, doğru yolu bulmuş olursunuz. Peygamber'e düşen, sadece açık-seçik duyurmaktır.” (Nur suresi 54.ayet)

8.” Namazı kılın; zekâtı verin; Peygamber'e itaat edin ki merhamet göresiniz”(Nur suresi 56.ayet). 



9. “Artık Allah'a karşı gelmekten sakının ve bana itaat edin.” (Şuara suresi 108.ayet)

10. “Onun için, Allah'tan korkun ve bana itaat edin. “. (Şuara suresi 110.ayet)

11. “Artık Allah'a karşı gelmekten sakının ve bana itaat edin.” (Şuara suresi 126.ayet)

12. “Artık Allah'tan korkun ve bana itaat edin.” . (Şuara suresi 131.ayet)   

13. “Artık Allah'a karşı gelmekten sakının ve bana itaat edin.” . (Şuara suresi 144.ayet)  

14. “Artık Allah'tan korkun ve bana itaat edin.” . (Şuara suresi 150.ayet)   

15. “Artık Allah'a karşı gelmekten sakının ve bana itaat edin.” (Şuara suresi 163.ayet)

16.” Artık Allah'a karşı gelmekten sakının ve bana itaat edin”(Şuara suresi 179.ayet).    

17. “Ey iman edenler! Allah'a itaat edin, Peygamber'e itaat edin. İşlerinizi boşa çıkarmayın.” 

 (Muhammed suresi 33.ayet) 

18. “Gizli bir şey konuşmanızdan önce sadakalar vermekten çekindiniz mi? Bunu yapmadığınıza ve Allah da sizi affettiğine göre artık namazı kılın, zekâtı verin Allah'a ve Resûlüne itaat edin. Allah yaptıklarınızdan haberdardır.”  (Mücadele suresi 13.ayet)

19. “Allah'a itaat edin, Peygamber'e de itaat edin. Yüz çevirirseniz bilin ki, elçimize düşen apaçık bir duyurmadır.” (Teğabün suresi 12.ayet)

20.“Peygamber size neyi verirse onu alın. Size ne yasakladıysa ondan da sakının.”   (Haşr: 7)

21.“Peygamber iyiliği emreder, kötülükten men eder, temiz şeyleri helal, pis şeyleri haram kılar.”   (A’raf: 157)


1 Kasım 2016 Salı

Tevrat ve İncil’in bozulduğu Kuran’a göre İspatlanabilir mi?

Evet ispatlanır. “Yanlarındaki Tevrat ve İncil'de yazılı buldukları o elçiye, o ümmî Peygamber'e uyanlar (var ya), işte o Peygamber onlara iyiliği emreder, onları kötülükten meneder, onlara temiz şeyleri helâl, pis şeyleri haram kılar. Ağırlıklarını ve üzerlerindeki zincirleri indirir. O Peygamber'e inanıp ona saygı gösteren, ona yardım eden ve onunla birlikte gönderilen nûr'a (Kur'an'a) uyanlar var ya, işte kurtuluşa erenler onlardır. “  

 (Araf süresi 157.ayet) ayetinden anlayacağımız gibi bozulmamış İncil ve Tevrat Hz.Muhammed’ten bahsediyordu. Oysa günümüzdeki Tevrat ve İncil’de Hz.Muhammed’ten bahseden bölümler çıkarılmıştır.

Tevratı yahudiler Hz. Muhammed zamanında tahrif edilmiştir. Bunuda

” Onlardan sonra hayırsız bir nesil geldi ki bunlar kitaba (Tevrat'a) vâris oldular, ama âyetleri tahrif etme karşılığında şu değersiz dünya metâını alıp "Nasılsa affa nail oluruz!" düşüncesiyle hareket ettiler. Af umarken bile, öbür yandan yine gayr-ı meşrû bir metâ, bir rüşvet zuhûr etse, onu da alırlar. Peki onlardan, Allah hakkında gerçek olandan başka bir şey söylemeyeceklerine dair kitapta mevcut hükümler uyarınca söz alınmamış mıydı? Ve kitabın içindekileri ders edinip okumamışlar mıydı? Halbuki ebedî âhiret yurdu, Allah'a karşı gelmekten sakınanlar için elbette daha hayırlıdır. Hâla aklınızı başınıza almayacak mısınız? “(Araf suresi 169.ayet) Bu ayetle Yahudilerin peygamber efendimiz peygamberliğini ilan ettikten sonra değiştiğini anlıyoruz. Çünkü Kuranın indirilme sırasına göre önce önce 157.ayet inmiş sonra 169.ayet inmiştir.

Diğer kitapların tahrif edildiğini hangi ayetlerden anlarız?
Bakara suresi…
75. Şimdi (ey müminler!) onların size inanacaklarını mı umuyorsunuz? Oysa ki onlardan bir zümre, Allah’ın kelâmını işitirler de iyice anladıktan sonra, bile bile onu tahrif ederlerdi.
79. Elleriyle (bir) Kitap yazıp sonra onu az bir bedel karşılığında satmak için “Bu Allah katındandır” diyenlere yazıklar olsun! Elleriyle yazdıklarından ötürü vay haline onların! Ve kazandıklarından ötürü vay haline onların!
211. İsrailoğullarına sor ki kendilerine nice apaçık mucizeler verdik. Kim mucizeler kendisine geldikten sonra Allah’ın nimetini (âyetlerini) değiştirirse bilsin ki Allah’ın azabı şiddetlidir.

22 Ekim 2016 Cumartesi

Bu zamanda evliya yani Allah dostları var mı?




Veli dost demektir. Evliyaullah Allah dostları manasına gelir. Kuran-ı Kerim de Yunus suresi 62-64 de Allah dostlarından şöyle bahsedilmiştir. “Bilesiniz ki, Allah'ın dostlarına hiçbir korku yoktur. Onlar üzülmeyeceklerdir de. ﴾62﴿

Onlar iman etmiş ve Allah'a karşı gelmekten sakınmış olanlardır. ﴾63﴿

Dünya hayatında da, ahirette de onlar için müjde vardır. Allah'ın sözlerinde hiçbir değişme yoktur. İşte bu büyük başarıdır. ﴾64﴿

Yani Kuranda Allah dostlarının varlığından bahsedildiğine göre Allah dostu yani evliyaullah yok demek kuranı inkar olacağından küfürdür. Allah dostları vardır ve kıyamete kadar Allah dostu olacaktır. Üç türlü Allah dostu vardır. 1.Kendisinin Allah dostu olduğunu bilenler  2. Kendisinin ve halkın Allah dostu olduğunu bilmeyenler 3.Kendisin Allah dostu olduğunu bilmeyipte halkın Allah dostu olduğu bilinenler.

Mesele kimin Allah dostu olup olmadığını nasıl anlayacağımızda başlıyor. Allah dostuluğunun alameti kişinin kuran ve sünnete uymasıdır. Allah dostu olduğu söylenen kimsede Kuran ve sünnete aykırı bir şey görmezsiniz. Allah dostunu inkar edenlerin çoğunluğu küfür üzere ölür. Bu yüzden birinin Allah dostu olduğu söyleniyorsa ya da birisi Allah dostu olduğunu söylüyorsa o kişiyi sünnet ve Kurana aykırı hareketini görmeden inkar etmemeliyiz. Eğer birinin Allah dostu olup olmadığını anlamak istiyorsak o insanın sünnete ve Kurana uyup uymadığını kontrol etmemiz gerekir. Kontrolün en etkilisi o kişinin hizmetinde bulunmaktır. Çünkü hizmetçi efendisinin her halini görür.



Bazı Allah dostlarının harkularde haller denilen kerametleri olur. Hem her harkularda hali olan Allah dostu değildir. Kafirde harkularde hal olursa buna istidraç denir. Deniz üzerinde yürümek hava da uçmak bu harkularde hallere örnektir. Evliyaullah kerametinin bilinmesini isditraç olabilir korkusuya görülmesini istemez. Allah bizi evliyaullah münkiri olmaktan korusun.

29 Mart 2015 Pazar

ASP.NET le Facebookla Bağlanmak İçin Uygulama Oluşturma

Önce www.degersigorta.net için facebook api oluşturacağız
Adım 1
Faceebook a giriş yaptıktan sonra https://developers.facebook.com/  adresine gidiyoruz. aşağıdaki görselde okla  ile işaretlediğimiz yere My Apps "Register as a Developer" a tıklayın. Ve developer olark kedinizi kaydettirin.


Adım 2
My Apps tan “Add  a New Apps” tıklayın. Ve “Facebook Canvas” seçin.


Adım 3
Uygulamanın çalışacağı sitenin adını yazın.  "Create New Facebook App ID " butonuna tıklayın.


Adım 5
Kategoriyi seçip “Create App ID” butonuna tıklayın.


Adım 6
Sitenizin Secure URL sini girip “İleri” butonuna tıklayın






Adım 7
Okla İşaretli yere tıklayın. Docs sayfası açılacaktır.


Adım 8
MyApss tan uygulamamızı seçiyoruz.



Adım 9
App ID mizi ve App Secret imizi bir yere not ediyoruz. Show abasarak App Secretimizi görebiliriz. Çünkü bunu web.config için de kullanacağız


Adım 10
Settingslerden oklu yerlere sitemizin ismini ve Contact mailimizi ekliyoruz. Save changes butonuna tıklıyoruz.


Adım 11
Son olarak sol tarafta bulunan "Status ve Reviews" dan  oklu işaretlediğimiz kısımı tıklayıp “Yes” diyoruz. Böylelikle uygulamayı live yapmış oluyoruz.





Uygulama kullanmaya hazır.


Kodları indirmek için tıklayın ve eğer using facebook.dll tanımıyorsa aşağıdaki nugetlere tıklayıp buradan facebook.dll in gelmesini sağlayın


Sonra kodlardan web.config i açıp value değerlerini girin. Denem yapacağınız domaininiz mutlaka olsun zira domain olarak  localhost u kabul etmiyor. Domine kodlarınızı yükledikten sonra denemenizi yapın. Kodları indirmek için tıklayınız.

<appSettings>
    <add key ="FacebookAppID" value = "FacebookAppIDburayakopyalayın"/>
    <add key ="FacebookAppSecret" value = "FacebookAppSecretburayakopyalayın"/>
    <add key ="redirectUrl" value = "http://domainadınız.com/FacebookConnect.aspx"/>
  </appSettings>l

25 Mart 2014 Salı

Easy Backuping Program with WinZip in Delphi

After a long time I’m writing again.  I think this program will be useful for Delphi  programmers. Logic of program very easy .




 In orginal program I used  Directoryedit component which is in the rx library, but for nonusers rx library  I wrote it with standard Delphi component .

Program algorithm based on calling WinZip with the basic parameters.
The codes are as follows .

procedure TForm1.BitBtn3Click(Sender: TObject);
var
PrgParamli:String;
ii:Integer;
begin
PrgParamli:='-a -p -r "'+ EditSave.Text + ComboBox1.Text+EditDate.Text+'.zip" ';
   for ii:=0 to GroupBox1.ControlCount -1
       do begin
        if (GroupBox1.Controls[ii] is TCheckBox) then
            begin
              if TCheckBox(GroupBox1.Controls[ii]).Checked then
                PrgParamli:=PrgParamli+'"'+EditBackUp.Text+'\'+TCheckBox(GroupBox1.Controls[ii]).Caption+'"';
            end;
      end;

ShellExecute(Handle,'open',PWideChar(EditWinZip.Text),PChar(PrgParamli), nil,SW_SHOW);
end;


Delphi’de Winzip ile Kolay Yedekleme Programı

Uzun bir aradan sonra yeniden arkadaşların hatırlatması ile yazıyorum. Yazımın programlarını yedeklemeye üşenen Delphi Programcıları için faydalı olacağını düşünüyorum .:)  .Programın orjnalinde klasör isimlerini almak için rx kütüphanesinin directoryedit componentini kullanmıştım. Fakat rx kullanmayanlar olabilir diye programı standart Delphi componentleri ile yazdım.





Programın temeli winzipi parametreleri ile çağırıp işaretli dosyaları yedeklemeye dayanıyor. Aslında winrarın parametrelerini bilenler bunu winrara da uygulayabilir.

Kodlar aşağıdaki gibidir.


procedure TForm1.BitBtn3Click(Sender: TObject);
var
PrgParamli:String;
ii:Integer;
begin
PrgParamli:='-a -p -r "'+ EditKayitKlasoru.Text + ComboBox1.Text+EditDate.Text+'.zip" ';
   for ii:=0 to GroupBox1.ControlCount -1
       do begin
        if (GroupBox1.Controls[ii] is TCheckBox) then
            begin
              if TCheckBox(GroupBox1.Controls[ii]).Checked then
                PrgParamli:=PrgParamli+'"'+EditYedeklenenKlasor.Text+'\'+TCheckBox(GroupBox1.Controls[ii]).Caption+'"';
            end;
      end;

ShellExecute(Handle,'open',PWideChar(EditWinZip.Text),PChar(PrgParamli), nil,SW_SHOW);
end;
ShellExecute(Handle,'open',PWideChar(EditWinZip.Text),PChar(PrgParamli), nil,SW_SHOW);



 Programı indirin.

24 Şubat 2013 Pazar

Delphi PayPal Entegrasyonu ve Faizsiz Web Kartları


Malum PayPal web servisleri hazırladı. Bunlar için yüzlerce dökümanı sitesine koydu. Ebay ile işbirliği içinde olan PayPal'ın amacı programcılara web servisleri ile kolaylık sağlamak.  Bu yazımın girişimcilik ruhu yüksek Delphi Programcıları için faydalı olacağını düşünüyorum . Piyasaya yeni atılmış meslek erbapları, özellikle shareware mantığı ile program satmak isteyenler ya da remote worker olarak çalışmak isteyenler için kredi kartı kullanmak kaçınılmaz oldu. Çünkü sadece tüketici olarak internetten alışveriş değil, üretici olarak  e-iş yapmak için de 3D secure özelliği kredi kartları gerekiyor. Günümüzde bildiğimiz klasik faizli kredi kartları artık herkese verilmiyor ya da herkes bunları kullanmak istemiyor.  Piyasada bu açığı görmüş girişimci ruhlu bankalar piyasaya faizsiz kredi sundular.  Banklardan kredi kartı almak da zor, bu yüzden yeni piyasaya atılacak programcılara yeni çıkmış ve de pek te tanımayan, kullanıcının güvence verdiği için herkese kolaylıkla verilen faizsiz kartları tavsiye ediyorum.
Faizsiz kredi kartının temeli rehin akçesine dayanmaktadır.  Kolumuzdaki bilezik ya da yastık altındaki altının fiilen bankaya verilmesi  ya  da cebimizdeki  2.000-3.000 TL nin bankaya verilmesi karşılığında belirlenen süre içinde sadece verdiğimiz rehin akçesinin  bedeline karşı  düşen paranın kredi kartı kullanılmasıdır.  Yani bir nevi kumbarada biriktirdiğimiz parayı kendi kendimize kredi vererek internette kullanıyoruz. Bazı ülkelerde bu tip kredi kartları artık kredi kartı olmaktan çıkıp tamamen para garantisi sağladığı için  webcard  adı altında piyasaya çıkmıştır. 3D secure özelliği olan visa ve mastercard bu diğerleri de bu kart tipini destekliyor. Burada firma ismi vermem yakışık almaz ama siz googledan falan bulursunuz ve bu hizmeti verdiğini düşündüğünüz firmanın şartnamesini iyi okuyun. Darısı ülkemizdeki bankaların başına İnşaAllah..
Öncelikle Paypalda hesabınız yoksa bir paypal (merchant tüccar hesabı) hesabı açın. Paypal alışveriş ödemeleri için web servisleri kurmuş ve bunların dökümantasyonunu
http://www.x.com/ dan bulabilirsiniz. Bu siteye geliştirici olarak kayıt olun. Ve denemelerinize başlamak için öncelikle deneme hesabı almak için https://developer.paypal.com/ gidip kendinize hesab açın.
https://developer.paypal.com/cgi-bin/devscr?cmd=_login-done&login_access=0 adresinden kendinize test account ı açın. Ve bu bilgileri saklayın.

Paypal  ödemeleri kolaylaştırmak için bir takım uzaktan çağırılabilen fonksiyonlar sunmuştur. Öncelikle Paypal’ın API lerine kullanmak ve denemeler yapmak için Paypal’ın sitesinde bir hesap açmalısınız.
Program satışı dijital satışlara girdiği için Basic Digital Goods Payment sistemini seçiyoruz. Aşağıdaki adresten ilgili bilgilere ulaşabilirsiniz.

Bu adresteden yapmanız gerekenler adım adım anlatılmış.



Paypal  Geliştirici hesabıyla yapılanlara sandbox demiş. Sandbox kelimesine alışın dökümantasyonda sık sık kullanılacak.

Gelelim işin Delphi tarafına normal bir VCL projesş açın. File ->New->Other dan şekil 1 deki gibi WSDL importer seçeneğini seçin.





Gelen pencerenin .. Location of WSDL File or URLbsşlıklı yazım kutusuna şekil 2 deki gibi https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl  yazıp çıkan pencerelerde hep “Next”  butonlarına basıp Finish butonuyla bitirin.

Ana formmuza bir HTTPRIO componenti ekliyoruz. Bir buton ekliyoruz. Butonun click eventine aşağıdaki kodları yazıyoruz.

procedure TForm5.BitBtnPayPalClick(Sender: TObject);
var
Yolla:SetExpressCheckoutReq;
mik:BasicAmountType;
Gel:String;//SetExpressCheckoutResponse;
bamtyp:BasicAmountType;
begin

(*
   When testing in the sandbox, you need to be logged in at
   https://developer.paypal.com and maintain an active session.

   Bu programı çalıştırmadan ya gerçek hesabınızla ya da aldığınız geliştirici
   hesabıyla https://developer.paypal.com adresinde sisteme login olmanız gerekiyor.
   bunu dikkat edin yoksa login olmuyor
 *)
  APIUserName:=EditUser.Text;(*
   bu bizim deneme için aldığımız  kullanıcı adınız 'paypaldenemeadresim.hotmail.com' ile
   Lütfen bunu değitirin
   *)
  APIPassword:=EditPassword.Text;// '1355702278';
  APISig:=EditSignature.Text;//'A5ukx6CEG1S67x9TjnhSTaBwirQ.A-VWD0w9qj-1zih0LLHq2uzDUMC9';
  EndPointURL:='https://api-3t.sandbox.paypal.com/2.0/';  //https://api-3t.sandbox.paypal.com/2.0/
  APIemail:=EditSeller.Text;   //Paypaladresim@gmail.com bu bizim Paypal email adresimiz
  APILocalCode:='tr_TR';
  APIDoviz:='TRY';
  //USD diğer kodLAR https://www.x.com/developers/paypal/documentation-tools/api/currency-codes SAYFASINDA
  //Buna göreDÖVİZ KODLARINI combobox a koyabilirsiniz

      HTTPRIOSetC.HTTPWebNode.UserName:=APIUserName;
      HTTPRIOSetC.HTTPWebNode.Password:=APIPassword;
      HTTPRIOSetC.URL:=EndPointURL;

 mik:=BasicAmountType.Create;


  try
   Yolla:=SetExpressCheckoutReq.Create;
   mik.CurrencyID:=CUrrencyCodeType.TRY_;
   mik.Text:='7.0';
      try
      (HTTPRIOSetC as PayPalAPIAAInterface).SetExpressCheckout(Yolla);
       except
         on E: Exception do
         showmessage('Hata Soap SetExpressCheckoutReq func. POST: ' + E.Message);
       end;

   finally
   Yolla.Free;
   end;


if TOKENReturned<>'' then begin  //başarılı dönüşte kod dolu çıkar

  shellexecute(0,'open',PWideChar('https://www.sandbox.paypal.com/webscr&cmd=_express-checkout&token='+TOKENReturned+'&useraction=continue'),
  '','',sw_maximize);

end;
end;
HTTPRIO componentinin onBeforeExecute eventine aşağıdaki kodu yazıyoruz.
Böylelikle PayPal web servisine gerekli olan bilgileri yolluyoruz.
procedure TForm5.HTTPRIOSetCBeforeExecute(const MethodName: string;
  SOAPRequest: TStream);
var
  StrList1: TStringList;
begin

  StrList1 := TStringList.Create;
  try
    SOAPRequest.Position := 0;
    StrList1.LoadFromStream(SOAPRequest);
    if MethodName = 'SetExpressCheckout' then
    begin
      StrList1.Clear;
        StrList1.Add('<?xml version="1.0" encoding="UTF-8"?>');
        StrList1.Add('<SOAP-ENV:Envelope xmlns:xsi= "  http://www.w3.org/2001/XMLSchema-instance"');
                  StrList1.Add('xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"');
                  StrList1.Add('xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"');
                  StrList1.Add('xmlns:xsd="http://www.w3.org/2001/XMLSchema"');
                  StrList1.Add('SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">');

  //**************header****
      StrList1.Add('<SOAP-ENV:Header>');
                StrList1.Add('<RequesterCredentials xmlns="urn:ebay:api:PayPalAPI" xsi:type="ebl:CustomSecurityHeaderType">');
                        StrList1.Add('<Credentials xmlns="urn:ebay:apis:eBLBaseComponents" xsi:type="ebl:UserIdPasswordType">');
                                   StrList1.Add('<Username>'+APIUserName+'</Username>');
                                   StrList1.Add('<Password>'+APIPassword+'</Password>');
                                   StrList1.Add('<Signature>'+APISig+'</Signature>');
                                   StrList1.Add('<Subject>'+APIemail+'</Subject>');
                        StrList1.Add('</Credentials>');
              StrList1.Add('</RequesterCredentials>');
      StrList1.Add('</SOAP-ENV:Header>');
  //**************header****

      StrList1.Add('<SOAP-ENV:Body>');
      StrList1.Add('<SetExpressCheckoutReq xmlns="urn:ebay:api:PayPalAPI">');
            StrList1.Add('<SetExpressCheckoutRequest>');
                StrList1.Add('<Version xmlns="urn:ebay:apis:eBLBaseComponents">87.0</Version>');
                StrList1.Add('<SetExpressCheckoutRequestDetails xmlns="urn:ebay:apis:eBLBaseComponents">');

                   StrList1.Add('<ReturnURL>http://localhost/PerksXpress/Order/Summary.aspx</ReturnURL>');
                  //  Kullanıcı kullanıcı ok derse retun adresine geliyor cancel ettiğinde cancel adresine geliyor
                    StrList1.Add('<CancelURL>http://localhost/PerksXpress/Order/Details.aspx</CancelURL>');
                    StrList1.Add('<NoShipping>0</NoShipping>');
                    StrList1.Add('<LocaleCode>'+APILocalCode+'</LocaleCode>');
                    StrList1.Add('<PaymentAction>Sale</PaymentAction>');
                    StrList1.Add('<PaymentDetails>');
                  // bunu buraya ekleyince detail göstermedi  StrList1.Add('<LocaleCode>tr_TR</LocaleCode>');
                   StrList1.Add('<OrderTotal currencyID="'+APIDoviz+'">1.0</OrderTotal>');
                   StrList1.Add('<ItemTotal currencyID="'+APIDoviz+'">1.0</ItemTotal>');


      StrList1.Add('<PaymentDetailsItem> <Name>Aydiem Ticari Program</Name>');

      StrList1.Add('<Quantity>1</Quantity>');
      StrList1.Add('<Tax currencyID="'+APIDoviz+'">0.0</Tax>');
      StrList1.Add('<Amount currencyID="'+APIDoviz+'">1.0</Amount>');
      StrList1.Add('<Description>program</Description>');
      StrList1.Add('</PaymentDetailsItem>');
                         //gerekirse bu bilgilerde yollanır.
                        //StrList1.Add('<ShippingTotal currencyID="'+APIDoviz+'">0</ShippingTotal>');
                        //StrList1.Add('<HandlingTotal currencyID=""'+APIDoviz+'">1.75</HandlingTotal>');
                      //  StrList1.Add('<TaxTotal currencyID="'+APIDoviz+'">0</TaxTotal>');
                    //    StrList1.Add('<InvoiceID>00000000000000000000000000000000</InvoiceID>');
                      //  StrList1.Add('<InsuranceTotal currencyID="'+APIDoviz+'"0</InsuranceTotal>');
                      //  StrList1.Add('<ShippingDiscount currencyID=""'+APIDoviz+'">0</ShippingDiscount>');
                    StrList1.Add('</PaymentDetails>');
                StrList1.Add('</SetExpressCheckoutRequestDetails>');
            StrList1.Add('</SetExpressCheckoutRequest>');
        StrList1.Add('</SetExpressCheckoutReq>');

      StrList1.Add('</SOAP-ENV:Body>');
      StrList1.Add('</SOAP-ENV:Envelope>');

    end;

    SOAPRequest.Position := 0;
    StrList1.SaveToStream(SOAPRequest);
   // Memo2.Lines.Clear;       Memo2.Lines.AddStrings(StrList1);   Memo2.Lines.SaveToFile('soapyolla.xml');
  finally
    StrList1.Free;
  end;
end;

HTTPRIO componentinin onAfterExecute eventine aşağıdaki kodu yazıyoruz. Böylelikle Paypal servisinden gelen cevabı almış oluyoruz.
procedure TForm5.HTTPRIOSetCAfterExecute(const MethodName: string;
  SOAPResponse: TStream);
var
  StrList1: TStringList;
  AraSonuc,FailureOrSucces:AnsiString;
begin
  inherited;
  StrList1 := TStringList.Create;
  try
    SOAPResponse.Position := 0;
    StrList1.LoadFromStream(SOAPResponse);

    FailureOrSucces:=FindTagSoapStream(SOAPResponse,
   '<Ack xmlns="urn:ebay:apis:eBLBaseComponents">','</Ack>' );
     // SuccessWithWarning bu da var FailureWithWarning bu da
  if FailureOrSucces='Success' then begin
     AraSonuc:=FindTagSoapStream(SOAPResponse,
     '<Token xsi:type="ebl:ExpressCheckoutTokenType">',  //dikkaT  xsi:type="ebl:ExpressCheckoutTokenType KISIMLARI İÇİN > Lİ ifadeden sonrasını alamayı içieren bir önlem alabilrsin bı string değişirse problem olmasın
     '</Token>' );
       TOKENReturned:=AraSonuc;  //EC-0VW01016X17611820 2.EC-6MF036896Y5259617 token her seferinde değişiyor
       Edit1.Text:=TOKENReturned;
     end else Edit1.Text:='Ödeme Yapılamaz.'

 //    showMessage(TOKENReturned);
  finally
    StrList1.Free;
  end;

Function TForm5.FindTagSoapStream(const strName: TStream; tagBas: Ansistring; tagSon: Ansistring):Ansistring;
var
  fs: TStringStream;
  S,cevap: Ansistring;
  SonucBas,SonucSon,VarAy,VarOlm,jj:Longint;
begin

  try
  fs := TStringStream.Create;
  fs.LoadFromStream(strName);
    SetLength(S, fs.Size);
    fs.ReadBuffer(S[1], fs.Size);
  finally
    fs.Free;
  end;


  SonucBas:=-1;
  SonucSon:=-1;
SonucBas:=Pos(tagBas,s);
SonucSon:=Pos(tagSon,s);

cevap:=Copy(s,SonucBas+Length(tagBas), SonucSon-(SonucBas+Length(tagBas)));
//Showmessage(cevap+' '+InttoStr(SonucBas)+' '+InttoStr(SonucSon) + ' taguzun'+IntToStr(Length(tagBas)));
Result:=cevap;
end;

Paypalden hesabınıza bağış yapılmasını istiyorsanız aşağıdaki kodu kendi adresinizle değşitirip kullanın.

procedure TForm5.BtnBagisClick(Sender: TObject);
var
donationAddress:String;
begin
donationAddress :=
    'https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=ayse93'+
    '%40hotmail%2ecom%2etr&item_name=Makaleler&no_shipping=0&no_note=1'+
    '&tax=0&currency_code=USD&lc=TR&bn=PP%2dDonationsBF&charset=UTF%2d8';
     ShellExecute(0,'open',PWideChar(donationAddress), NIL, NIL, SW_SHOWNORMAL);
end;
Kodlar için  (DelphiPayPal.rar) tıklayınızİnşaAllah işinize yarar. Faydalı Soru ve Yorumlarınızı bekliyorum.


ALLAH GÜZEL İSİMLERİ(ESMAÜL HÜSNA) VE KAİNAT VE KORONA VİRÜSÜNÜN HAYIRLI TARAFLARI

Kuranı kerimde Bakara 180 de"En güzel isimler Allah’ındır; bu güzel isimlerle O’na dua edin, O’nun isimleri hakkında doğru inançtan sap...