Delphi Dersleri [Örnekli] Anlatım

+ Yorum Gönder
2. Sayfa BirinciBirinci 12
Webmaster ve Diğer Kodlama Dilleri Bölümünden Delphi Dersleri [Örnekli] Anlatım ile ilgili Kısaca Bilgi
  1. 13
    Hasan
    Özel Üye
    Reklam

    --->: Delphi Dersleri [Örnekli] Anlatım

    Reklam



    Bir Rapora Bölüm Eklemek

    Bir rapora bölüm eklemek için Object Inspector penceresinden TQuickRep elemanına ait Bands özelliğine tıklamak ve çıkan alt bölümdeki özelliklerin değerini true yapmaktır.

    Quick Report'ta Kullanılan Operatörler


    Operatör

    Açıklama

    +

    Toplama

    -

    Çıkarma

    *

    Çarpma

    /

    Bölme

    ( )

    Parantez

    And

    Mantıksal And

    Or

    Mantıksal Or

    Not

    Mantıksal Not

    =

    Eşit

    <

    Küçük

    >

    Büyük

    <=

    Küçük eşit

    >=

    Büyük eşit

    < >

    Eşit değil




    QuickReport Fonksiyonları

    Date :Mevcut tarihi string olarak geri gönderir.Rapor üzerine QRExpr elemanı alınarak Expression özelliğine Date verilerek kullanılır.

    Time :Mevcut saati stringe çevirir.Rapor üzerine QRExpr elemanı alınarak Expression özelliğine Time verilerek kullanılır.

    Str ( sayı ) :Sayısal bir ifadeyi stringe çevirir.

    Copy(str,s,l):Bir ifadenin içinde bulunan belli bir bölümü geri gönderir.

    Rapora Sayfa Numarası ve Tarih Eklemek

    Raporumuza sayfa numarası ve tarih eklemek için ; rapor üzerine QRB elemanı alarak BandType özelliğini rbPageFooter yapalım.Daha sonra QRSYSData kontrolünden iki tane alıp birincisinin Data özelliğini qrsDate ve Text özelliğine "Basım Tarihi ", ikincisinin Data özelliğini qrsPageNumber ve Text özelliğini de " Sayfa : " yapalım.Raporu Preview'e tıklayarak önizlemeye alırsak sayfanın sonunda Basım Tarihi ve Sayfa Numarasının yazılmış olduğunu görürüz.
    ForumAlev --->: Delphi Dersleri [Örnekli] Anlatım

  2. 14
    Hasan
    Özel Üye
    Delphi ile MS Access Database'ine Bağlantı

    Delphi'den MS Access Databaseine ulaşabilmek için sırasıyla yapılması gerekenler aşağıdaki gibidir:

    1.Windows Control Panel'i açın

    2.ODBC simgesini çift tıklayın

    3.User DSN tabına gelin ve Add butonuna basın

    4.Driver olarak "Microsoft Access Driver (*.mdb)" yi seçin ve Finish butonuna basın

    5.Data Source Name'i olarak kullanmak istediğiniz bir isim verin. Description kısmına isterseniz database'inizle ilgili bir açıklama yazabilirsiniz.

    6.Daha sonra Select butonuna basarak database isminizi verin

    7.Advanced butonuna basarak kullanıcı adı ve şifresi tanımlayabilirsiniz (zorunlu değil)

    8.OK butonuna basıp ODBC ekranını kapatın

    9.Şimdi programınıza bir TDatabase objesi ekleyin

    10.AliasName olarak ODBC ayarlarında verdiğiniz (5) Data Source Name'i seçin

    11.Database Name olarak istediğiniz bir isim yazın

    12.Eğer 7. basamakta bir kullanıcı adı ve şifresi girmediyseniz login ekranın çıkmaması için LoginPrompt seçeneğini false yapın

    Not :Eğer database'in bir kullanıcı adı ve şifresi varsa LoginPrompt seçeneğini False yapmanız durumunda database'e ulaşamazsınız.

    13.Programınıza bit TTable ekleyin

    14.Database Name kısmına TDatabase bileşeninde Database Name kısmına 11. adımda verdiğiniz ismi seçin

    15.Programınıza bit TDataSource ekleyin

    16.DataSet değeri olarak 13. adımda eklediğiniz TTable adını verin

    Artık MS Access Database'ine bağlı bir table'a sahipsiniz.


    Borland Delphi'de Yapılmış Bazı Yararlı Programlar




    Database'de Türkçe Problemi

    BDE administor programında configuration/dirvers/native/[kullandığın dosya türü] seçeneklerinde langdriver kısmını türkçe bir sürücü olarak değiştir. Bunu yaptıktan sonra delphi ile türkçe karakterleri görebilirsiniz

    Bu ayarı yaptıktan sonra Database Desktopta Türkçe karakterler yine görünmeyecek.

    Enter Tuşu Kullanımı

    Windows programlarında bir alttaki alana geçmek için TAB tuşu kullanılır.Ancak DOS programlarından gelen alışkanlıkla kullanıcılar hep Enter ile alt alana geçmek ister ve bu bir tik olmuştur.

    Delphide Enter tuşu ile bir alt alana geçmek için bir yöntem;

    Formun Keypreview olayını True yapılır.



    Form üzerinde herhangiki tüm bileşenlere Default false yaplır.

    formun onKeypres olayına aşağıdaki function ilave edilir.

    procedure TAdresformu.FormKeyPress(Sender: TObject; var Key: Char);

    begin

    if Key = #13 then begin

    Key := #0;

    if (Sender is TDBGrid) then

    TDBGrid(Sender).Perform(WM_KeyDown,VK_Tab,0)

    else

    Perform(Wm_NextDlgCtl,0,0);

    end;








  3. 15
    Hasan
    Özel Üye
    Açık Windows Uygulamalarının Gösterilmesi

    Burada EnumWindows API fonksiyonuyla bir window handle ve pointer parametreleri çağrılarak gizli ve görünür uygulamalar listelenir.

    //AnaForm üzerine bir ListBox1 ve Button1 ekleyin

    //implementation {$R *.DFM} altyna a?a?ydaki fonksiyonu yaz

    function EnumWindowsProc(Wnd : HWnd;Form : TForm1) : Boolean;

    Export; {$ifdef Win32} StdCall; {$endif}

    var

    Buffer : Array[0..99] of char;

    begin

    GetWindowText(Wnd,Buffer,100);

    if StrLen(Buffer)

    <> 0 then

    Form1.ListBox1.Items.Add(StrPas(Buffer));

    Result := True;

    end;

    procedure TForm1.Button1Click(Sender: TObject);

    begin

    //Tüm gizli ve görünür uygulamalary listele

    EnumWindows(@EnumWindowsProc,LongInt(Self));

    end;

    Delphide Yazılan Kodla Exe Çalıştırma

    Aşağıdaki örnek kod verilen web sitesini Internet Explorer' ı çalıştırarak açar.

    procedure TForm1.Button1Click(Sender: TObject);

    begin

    winexec('C:\Program Files\Internet Explorer\iexplore.exe wwww.programlama.com',SW_MAXIMIZE);

    end;

    Bir Harddiskin Seri Numarasının Bulunması

    Hard diskin seri numarasını bulur.

    procedure TForm1.Button1Click(Sender: TObject);

    var

    VolumeSerialNumber : DWORD;

    MaximumComponentLength : DWORD;

    FileSystemFlags : DWORD;

    SerialNumber : string;

    begin

    GetVolumeInformation('C:\', nil, 0, @VolumeSerialNumber,

    MaximumComponentLength, FileSystemFlags, nil, 0);

    SerialNumber := IntToHex(HiWord(VolumeSerialNumber), 4) + '-' + IntToHex(LoWord(VolumeSerialNumber), 4);

    Memo1.Lines.Add(SerialNumber);

    end;








  4. 16
    Hasan
    Özel Üye
    Windows'un Belgeler Menüsünü Temizleme

    Formun uses kısmına ShlOBJ şeklinde ilave yapın; bir butona veya herhangi bir olayın event' ine de ;

    SHAddToRecentDocs(SHARD_PATH, nil); şeklinde yazın.

    Ekran Görüntüsü Aktarma

    Belirttiğiniz sınırlar dahilinde ekranın belli bir alanını formunuzun üzerine koymak isterseniz. Formunuza image1 adlı bir resim objesi ekleyin ve daha sonra formunuzun create olayına şu kodu yazın.

    procedure TForm1.FormCreate(Sender: TObject);

    var

    DCDesk: HDC;

    begin

    DCDesk:=GetWindowDC(GetDesktopWindow);

    BitBlt(Image1.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,DCDesk, 0, 0,SRCCOPY);

    ReleaseDC(GetDesktopWindow, DCDesk);

    end;

    Mouse Pointerı Gizlemek

    Mouse Pointerı gizlemek için ShowCursor(False) komutunu kullanmak yeterli. Tabi yeniden görünmesini sağlamak için ShowCursor(True) komutunu kullanıyoruz.

    İmlecin Ekrandaki Yerinin Belirlenmesi

    İmlecin o anda ekranın neresinde olduğunu bulan ufak bir kod parçası.

    procedure TForm1.Button1Click(Sender: TObject);

    var Yer:TPoint;

    begin

    if Assigned(ActiveControl) then

    begin

    Yer:=Point(0,0); { burda 0,0 imleç'in ekrandaki yeri oluyor }

    ActiveControl.ClientToScreen(Yer);

    SetCursorPos(Yer.X,Yer.Y);

    end;

    end;

    Başlat Menüsü Programlarının Tespit Edilmesi

    Başlat menüsünde hangi programların bulunduğunu tespit eden bir kod parçası.Forma bir ListBox, bir Buton, birde DDEClientConv nesnesi ekleyip, Service ve Topic özelligini "Progman" olarak giriniz.

    var

    B:P char;

    procedure TForm1.Button1Click(Sender: TObject);

    begin

    ListBox1.Items.clear;

    B := DDEClientConv1.RequestData('Groups');

    ListBox1.Items.SetText(B);

    StrDispose(B);

    end;

  5. 17
    Hasan
    Özel Üye
    Register Kullanım Örneği

    Windows açılırken programınızın otomatik olarak başlatılıp başlatılmamasını nasıl ayarlarsınız. İşte size güzel bir örnek kod.Formunuza CheckBox Ekleyin ve adını Autorun yapın ( veya ne isterseniz.) ve formun Close Olayına Aşağıdaki kodları yazın.

    procedure Tfilesetup.FormClose(Sender: TObject; var Action: TCloseAction);

    var

    AppExe :string;

    begin

    if autorun.Checked=true then begin

    with TRegistry.Create do

    try

    RootKey := HKEY_CURRENT_USER;

    if OpenKey ('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run', true) then

    AppExe:=#34+Application.Exename+#34;

    WriteString('Proton', AppExe);

    finally

    end;

    end;

    //DeleteValue('Proton'); İse Programınız Registry den Siler

    end;

    Ekran Çözünürlüğünün Değiştirilmesi

    Programınızdan ekran çözünürlüğünü değiştirmek isterseniz yararlı bir kod.

    {Ekran Çözünürlüğü Örneği-PC'nizin Mevcut Ekran Ayarları}

    // AnaForm üzerine ListBox1 ve Button1 bileşenlerini yerleştirin

    {Ana formun OnCreate olayı}

    procedure TForm1.FormCreate(Sender: TObject);

    var

    i : Integer;

    DevMode : TDevMode;

    begin

    Button1.Enabled:=False;

    i := 0;

    while EnumDisplaySettings(nil,i,Devmode) do begin

    with Devmode do

    ListBox1.Items.Add(Format('%dx%d %d Colors',[dmPelsWidth,dmPelsHeight,1 shl dmBitsperPel]));

    Inc(i);

    end;

    end;

    {ListBox1'in Onclick olayı}

    procedure TForm1.ListBox1Click(Sender: TObject);

    // Listede istenilen çözünürlük değeri seçildiğinde Button1'de kullanır hale getir

    begin

    Button1.Enabled := Listbox1.ItemIndex >= 0;

    end;

    procedure TForm1.Button1Click(Sender: TObject);

    // Seçilen çözünürlük değerini değerini uygula



    var

    DevMode : TDevMode;



    begin

    EnumDisplaySettings(nil,Listbox1.ItemIndex,Devmode );

    ChangeDisplaySettings(DevMode,0);

    end;

    Ekran çözünürlüğünün ekran tarafından desteklenmeyen değerlere ayarlanması ekranınızın bozulmasına neden olabilir.

    Mouse'un Sağ Tuşuna Kullanmak

    Mouse'un sağ tuşunun kullanımını anlatan küçük bir kod.

    //bu örnekte form üzerinde mouse'un sağ tuşuna basılınca merhaba yazan bir mesaj çıkar

    procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

    begin

    if ssright in shift then begin

    MessageDlg('Merhaba', mtInformation, [mbOk], 0);

    end;


  6. 18
    Hasan
    Özel Üye
    Varsayılan Browser ile Web Adresi Açmak


    Programınızdan herhangi bir internet adresini açmak ister misiniz?

    Aşağıdaki kodu girmeden önce programın uses komut satırına "Shellapi" tanımını girmelisiniz.

    ShellExecute(0, nil, 'http://www.cybertion.net', nil, nil, SW_SHOWDEFAULT);

    Sayıları Formatlı Yazdırmak

    Eğer bir ticari program yazıyorsanız, veritabanında bulunmayan bir alanda para ya da benzeri cinsten bir büyüklük göstermek istiyorsanız, ve müşteriniz sizden rahat okuma talep etmişse aşağıdaki kod işinizi görecektir.

    procedure TForm1.Button1Click(Sender: TObject);

    var

    a,i:integer;

    s:string;

    begin

    s:=Edit1.Text;

    i:=length(s);

    if pos(',',s) <>0 then exit;

    for a:=1 to i-1 do if (a mod 3)=0 then insert(',',s,i-a+1);

    Edit1.text:=s;

    end;

    Final Diyaloğunu Açıp Kapatmak

    Find diyalog penceresini açıp kapatan bir kod.

    H:=FindWindow(PChar('#32770'),Nil); // #32770 Find diyalog'un sınıf adıdır.

    If H = 0 Then // eğer Find diyalog'u açık değilse onu aç...

    Begin

    With dd1 Do

    Begin

    ConnectMode:=ddeManual;

    ServiceApplication:='explorer.exe';

    SetLink('Folders','AppProperties');

    OpenLink;

    ExecuteMacro('[FindFolder(,C:\Dene)]',False);

    CloseLink;

    End;

    H:=FindWindow(PChar('#32770'),Nil);

    End;

    ShowMessage('Find File Dialogunu gizle...!!');

    ShowWindow(H,SW_HIDE);

    ShowMessage('Find File Dialogunu göster...!!');

    ShowWindow(H,SW_SHOW);

    Ana Formunuzu Gizleyin

    Programınız çalıştığında Ana Formunuzun görünmesini istemiyor musunuz? Çok kolay aşağıdaki kodu projenize ekleyin.

    program Project1;

    uses

    Forms,

    Unit1 in 'Unit1.pas' {Form1};

    {$R *.RES}

    begin

    Application.Initialize;

    Application.ShowMainForm := False;

    Application.CreateForm(TForm1, Form1);

    Application.Run;

    end;


  7. 19
    Hasan
    Özel Üye
    D&#246;k&#252;man i&#231;in

    ayşeg&#252;l
    Arkadaşıma Teşekk&#252;rler.

  8. 20
    gizemlisempatik
    Yeni Üye
    paylaşım için sağol kardeş emeğine sağlık

  9. 21
    Ziyaretçi

    Cevap: Delphi Dersleri [Örnekli] Anlatım

    Reklam



    teşekkür ederim

+ Yorum Gönder
2. Sayfa BirinciBirinci 12
delphi konu anlatım,  delphi 7 döngüler ders anlatımı,  delphi diziler konu anlatımı,  delphi programlama dersleri,  delphi dersi ile ilgili örnekler
5 üzerinden | Toplam : 0 kişi