Archive for the “kod ornekleri” Category


Hava Civa! gunluk hava durumunu gostermek icin gelistirilmis bir uygulama. Ozelligi ek bir bilesen kullanilmadan (sadece gdi+ kutuphanesi kullanilmis) Delphi 7 ile gelistirilmis olmasi ve kaynak kodunun acik olmasi. Program sahibi programini su sekilde tanitmis.

“Yeni Nesil programlama örneği”. Adından da anlaşılacağı gibi bir “Hava Durumu” programı. Ama bildiğiniz gibi değil… Bir “Widget” örneği. Klasik GDI çizim tekniklerinin dışında yeni nesil GDI+ çizim teknikleri içeriyor. “AlphaBlend” fonksiyonu resim çizme, “UpdateLayeredWindow” fonksiyonu ile katmanlı pencereler (layered windows) oluşturma, PNG formatında 32bit alpha-channel resim biçimlerinin Delphi formlarına uygulanması, donukluk (opaque), saydamlık ve görsel efektler… Hepsi Hava Cıva! da. Dahasıda var. Microsoft XMLDOM yapısının Delphi bileşenleri kullanmadan işlenmesi, RSS yapısının ayrıştırılması, kullanıcının Internet IP ’sinin bulunması, Hicri-Miladi takvim ve Ay konumunun hesaplanması… Programın görselliği bence sizi etkileyecek. Hem de tam sürüm ve kaynak kodu ile birlikte. İnanın pişman olmayacaksınız… Daha söze gerek yok aslında! Beklemeyin hemen indirin!

Meraklilar icin neyin nasil yapildigini uygulamali olarak gosteren cok guzel bir ornek olmus. Yine acik kaynak kodlu olarak yayinlanan Ey DSL i ve Hava Civa nin kaynak kodlarini indirmelerini tum delphicilere tavsiye ederim…

Comments No Comments »

Soruların doğru cevaplarını öğrenmek için onları delphiye taşıyıp çalıştırmanız yeterli lakin bunu yapmadan önce kodları inceleyerek sonucu kendiniz bulmaya çalışın. Bunun size faydası biraz oop, biraz sanal metodlar biraz statik metodlar ve çok biçimlilik olacak…

Soru-1 Asagidaki programi calistirdigimizda consoldaki cikti ne olur ?
(more…)

Comments No Comments »

  • TObject sinifindaki degisiklikler
  • TObject sinifina yeni eklenen 6 adet metod var.

    
    class function MethodAddress(const Name: string): Pointer; overload;
    function FieldAddress(const Name: string): Pointer; overload;
    class function UnitName: string;
    function Equals(Obj: TObject): Boolean; virtual;
    function GetHashCode: Integer; virtual;
    function ToString: string; virtual;
    

    Bunlardan ilk ikisi olan MethodAddress ve FieldAddress zaten eski delphi surumlerinde de mevcuttu. Delphi 2009 da sadece unicode degisikliginden dolayi String tipinde parametre alan yeni surumleride ilave edilmis o kadar.

    Diger dort metod ise Vcl.net uyumlulugu icin eklenmis. Zira ToString metodunun yaptigi tek sey Classname degerini geri dondurmek.

    
    function TObject.ToString: string;
    begin
    Result := ClassName;
    end;
    

    GetHashCode ve Equals metodlari ise system unitinde su sekilde tanimlanmislar.
    (more…)

Comments No Comments »

Apple iTunes ile meshur olan bir kullanici arabirimi var. Cover Flow 1 , 2 , 3

Elemanin biri bu efekti Delphi 5 ile gerceklestirip Flying Cow adiyla kaynak kodu ile birlikte internete koymus. Beraberinde bircok dosya formati icinde destegi eksik etmemis. Jpeg , Gif , Png , Pdf ve bircok video dosyasi.

Elemanin kendi sitesi su an Sayfa Bulunamadi hatasi versede su adresteki forumda butun seyler zaten detaylari ile mevcut.

Uygulamanin derlenmis halini ve kaynak kodlarini ise su adresten indirebilirsiniz.
FlyingCow-2007-11-28-pre-release-tests.rar
FlyingCow-sources-2007-11-28.rar

Uygulamayi derlemek icin gerekli olan ucuncu parti bilesenlere ise yine forum sayfasindan ulasabilirsiniz.
Delphinin hali hazirda destekledigi dosya turleri icin ek bir bilesen yuklemeye gerek yok. Sadece OpenGL ile ilgili olan pas dosyasini eklemeniz yeterli olacaktir.

Bu adreste ise ayni ornekten yola cikarak yapilmis baska bir uygulama var. Bu ornekte golge ve transparan ayarlarini manuel yapabiliryosunuz.

Bu habere kisaca eklemek istedigim not ise sudur. Hakkında “öldü , bitti , tarih oldu” denilen Delphi siz ölmeden asla ölmez. Eger gercekten birseyler yapma hevesiniz varsa birakin delphi 2007 yi Delphi 5 bile bircok ihtiyacinizi karsilayacak guce sahiptir flying Cow orneginde oldugu gibi…

Comments No Comments »

1.gün videolarini burdan indirebilirsiniz.
BobEvansAlbertoSavoia_YourCodeIsCrap.zip
CaryJensen_PracticalGuideToADOdotNet.zip
CaryJensen_ReusableDataLayers.zip
ClaireRouchy_AutomatedPerformanceTestSuite.zip
JimDouglas_CodeRageIIOpening.zip
JoeMcGlynnRaviKumar_JBuilderProductAddress.zip
JoeMele_WindowsInstallerTechnology.zip
MichaelRozlog_SoftwareArcheology.zip
MichaelRozlog_UMLForJBuilder2007.zip
NickHodges_DelphiProductAddress.zip
Pawel Glowacki_TenTopThings.zip

2.gün videolarini burdan indirebilirsiniz.
JonathanBenedicto_ComponentsForPHP.zip
JonathanBenedicto_OOPinPHP5.zip
LeonelTogniolli_IntroToBlackFishSQL_english.zip
LeonelTogniolli_IntroToBlackFishSQL_portuguese.zip
MarcoCantu_Delphi2007andVista.zip
MarcoCantu_DynamicArchitectures.zip
MarcoCantu_RestandAjax.zip
RayKonopka_CompositeVclControls.zip
RayKonopka_CustomDataInCodesite.zip
RayKonopka_IntroductionToGenerics.zip
SriramBalasubramanian_InterBaseProductAddress.zip

3.gün videolarini burdan indirebilirsiniz.
BoianMitov_ComponentsWithOpenwire.zip
BoianMitov_MultimediaProgramming.zip
CraigStuntz_DelphiUnitTestingPowerTools.zip
HolgerFlick_BuildingAdvancedVCLdotNetECOApplications.zip
JoeMcGlynn_3rdRailProductAddress.zip
KenSipe_JavaMemory.zip
KenSipe_JmxAndSpring.zip
KenSipe_SpringJpaHibernate.zip
MarcoCantu_WritingADSLInDelphi.zip
MarkHowe_3rdRailTipsAndTricks.zip
PawelGlowacki_WCFDeeperDive.zip
ShelbySanders_WhatsSoInterestingAboutRubyandRailsAnyway.zip

4.gün videolarini burdan indirebilirsiniz.
AlexanderEvdokimovAlexeyDubkov_EffectiveUMLModelingInDelphi.zip
BobSwart_WebcamFun_Dutch.zip
BobSwart_WebcamFun_English.zip
FrancoisGaillard_MemoryLeaks_English.zip
FrancoisGaillard_MemoryLeaks_French.zip
GirishPatil_Top5PDFNeedsSolved_SWF.zip
JimMcKeeth_ClassHelpersFriendOrFoe.zip
JimMcKeeth_ExceptionalExceptions.zip
KarlEwald_WorkingWithProjectAssistAndTeamInsight.zip

5.gün videolarini burdan indirebilirsiniz.
CaryJensen_ClientDataSetTipsAndTricks.zip
CaryJensen_TrackingDatabaseMetadata.zip
CharlesOverbeck_UsingTheJGearPacks.zip
JimMcKeeth_ImplementingCryptography.zip
KenKrugler_ImpactAnalysis.zip

Comments 1 Comment »

Marco Cantu ‘nun Delphi 2007 Handbook kitabini internet uzerinden temin etmek mumkun ama daha guzeli kitapta verilen ornek kodlari yine ayni siteden indirmekte mumkun.

Ornek kodlarin listesi su sekilde.
(more…)

Comments No Comments »

*** Free Pascal Compiler 2.2.0 sürümü çıktı.
Yeni versiyonda eklenen/düzenlenen özelliklerin listesine bu linkten ulaşabilirsiniz. Gözüme çarpan ilk özellikler desteklediği yeni platformlar oldu.

    Windows x64
    Windows CE
    Mac OS X/Intel
    Game Boy Advance
    Game Boy DS

İndirmek için http://freepascal.org/

*** CrossKylix ‘in geliştirilmesi durduruldu.
Delphi idesine eklenen bu arac sayesinde CLX uygulamalarimizi windows ortaminda linux icin derleyebiliyorduk. Her ne kadar bugune kadar hic kullanmamis olsamda kullanan bircok kisinin oldugunu tahmin etmek cok zor degil bu yararli araci. Ne yazik ki bu araci gelistiren kisi CodeGear ‘in izlediği politikaları tasvib etmemis olacak ki böyle bir karar almis. Umarim bu kararından vazgeçer.

http://crosskylix.untergrund.net/

***Felix amca’dan yeni makaleler…
Yazılarını ilgiyle takip ettiğimiz Felix John COLIBRI yayınladığı yazılarla bizleri mest etmeye devam ediyor. CodeGear’ın yeni veritabanı BlackfishSQL ‘i derinlemesine anlattığı yazısı , ajax’ın temellerini ve indy ile ajax sorgularına cevap verebilen bir sunucunun nasıl oluşturulacağını anlattığı yazısı , Delphi 2007 ile birlikte gelen DBX4 ‘ün temel ve yeni özelliklerini anlattığı yazıları okumanız için sizleri bekliyor…

*** Fatih Tolga Ata’dan Delphi ve Kanallar ile ilgili çok güzel bir makale.
Delphi ile Thread(Kanal) Kullanımı - Bölüm 1

Comments No Comments »

Bir nesneye, nesneyi değiştirmeden yeni sorumluluklar eklenmesini sağlar. Alt sınıflama yapmadan nesnelerin işlevlerinin geliştirilmesini olası kılar.

Elimizde varolan bir sinifa yeni ozellikler eklemek istedigimizi dusunelim. Aklimiza gelen ilk cozum elimizde varolan siniftan istedigimiz ozelliklere sahip yeni bir sinif olusturmak olur. Bircok durumda bu dogru ve gecerli bir yoldur ama bazi durumlarda kas yapayim derken goz cikartabilirsiniz. Bir diger yol ise varolan sinifa hic dokunmadan yeni tanimlanacak baska bir sinif sayesinde eldeki sinifin ozelliklerini istenilen duzeye getirmektir.

Mesela soyle bir ornekle aciklamaya calisayim. Saat uretimi yapan bir fabrikada belirtilen paremetrelere uygun olarak saat uretimi yapan bir makineye program yazmak istediginizi dusunun. Uretimini yapabileceginiz saat tipleri su sekilde olsun.

Calar saat
Duvar saati
Kol Saati
Cep saati

Bu saatlerin analog, dijital, hem analog hem de dijital cesitlerinin oldugunu dusunelim. Bu durumda olusturulacak sinif hiyerarsisi yaklasik olarak soyle olabilir.

(more…)

Comments 1 Comment »

Vakti zamaninda ismini cismini su an hatirlayamadigim bir programda gormus ve cok begenmistim bu olayi. sol tarafta yer alan bir pencerede html olarak hazirlanmis yardim sayfasi vardi ve sayfada

“Bu bolumde XXX kaydi girebilirsiniz. Yeni kayit eklemek icin Kayit menusunden Yeni kayit secenegini secin ya da buraya tiklayin.”

tarzinda yazilar vardi. Linke tikladiginizda programiniz bunu yakalayarak ilgili formu aciyordu. Nasil oldugunu ogrenmek icin epey ugrastigimi hatirliyorum ama ne yazik ki bu ugraslarimdan hicbir sonuc alamamistim. zamaninda hem yerde hem gokte arayipta bulamadigim bu teknigi birkac gun once t-hex in blogunda okuyunca necip fazilin bir siiri geldi aklima

geçti istemem gelmeni
yokluğunda buldum seni
bırak vehmimde gölgeni
gelme artık neye yarar

:)
Yaziyi okumak icin buraya tiklayabilirsiniz

Comments No Comments »

Bir kullanıcı(nesnel) isteğinin birden fazla nesne tarafından değerlendirilerek karşılanmaya çalışılmasına olanak sağlar. kullanıcı tek arayüz üzerinden isteğini iletir. İstek zincire bağlı nesneler tarafından sıra ile ele alınarak karşılanmaya calışılır. İstek karşılanana dek zincir üzerinde bir nesneden diğerine aktarılır. Zaman içinde zincire yeni nesneler eklenmesi ya da çıkarılması mümkündür. Kullanıcı bu tür değişikliklerden arayüz sayesinde etkilenmez.

Asım kredi karti aldigi gunden beri harcamalarini kontrol altina alamaz oldu. Sanki kredi kartiyla bedava alisveris yapiyormus gibi her pos cihazim var diyen kisiye kredi kartiyla kosuveriyor. Ay sonu ekstre gelincede yine kredi kartiyla onune cikan ilk eczaneye dalip en etkilisinden bir agri kesici alip susuz yutuyor. hem de pespese bir kac tane.

Asım ‘ın kredi kartindan dolayi cektigi iskenceler sadece bununla sinirlida degil ustelik.
(more…)

Comments 2 Comments »