Programlama yapalım ve Öğrenelim. - Delphi Eğitim205
  Ana Sayfa
  .NET Eğitim Notları
  Visual C# .NET Örnek Kodları
  VisualBasic.NET Örnek Kodları
  J# Örnekleri
  ASP.NET Örnek Kodları
  Delphi Eğitim
  => Delphi Eğitim1
  => Delphi Eğitim2
  => Delphi Eğitim3
  => Delphi Eğitim4
  => Delphi Eğitim5
  => Delphi Eğitim6
  => Delphi Eğitim7
  => Delphi Eğitim8
  => Delphi Eğitim9
  => Delphi Eğitim10
  => Delphi Eğitim11
  => Delphi Eğitim13
  => Delphi Eğitim14
  => Delphi Eğitim15
  => Delphi Eğitim16
  => Delphi Eğitim17
  => Delphi Eğitim18
  => Delphi Eğitim19
  => Delphi Eğitim20
  => Delphi Eğitim21
  => Delphi Eğitim22
  => Delphi Eğitim23
  => Delphi Eğitim24
  => Delphi Eğitim25
  => Delphi Eğitim26
  => Delphi Eğitim27
  => Delphi Eğitim28
  => Delphi Eğitim29
  => Delphi Eğitim30
  => Delphi Eğtim31
  => Delphi Eğitim32
  => Delphi Eğitim33
  => Delphi Eğitim34
  => Delphi Eğitim35
  => Delphi Eğitim36
  => Delphi Eğitim37
  => Delphi Eğitim38
  => Delphi Eğitim39
  => Delphi Eğitim40
  => Delphi Eğitim41
  => Delphi Eğitim42
  => Delphi Eğitim43
  => Delphi Eğitim44
  => Delphi Eğitim45
  => Delphi Eğitim46
  => Delphi Eğitim47
  => Delphi Eğitim48
  => Delphi Eğitim49
  => Delphi Eğitim50
  => Delphi Eğitim51
  => Delphi Eğitim52
  => Delphi Eğitim53
  => Delphi Eğitim54
  => Delphi Eğitim55
  => Delphi Eğitim56
  => Delphi Eğitim57
  => Delphi Eğitim58
  => Delphi Eğitim59
  => Delphi Eğitim60
  => Delphi Eğitim61
  => Delphi Eğitim62
  => Delphi Eğitim63
  => Delphi Eğitim64
  => Delphi Eğitim65
  => Delphi Eğitim66
  => Delphi Eğitim67
  => Delphi Eğitim68
  => Delphi Eğitim69
  => Delphi Eğitim70
  => Delphi Eğitim71
  => Delphi Eğitim72
  => Delphi Eğitim73
  => Delphi Eğitim74
  => Delphi Eğitim75
  => Delphi Eğitim76
  => Delphi Eğitim77
  => Delphi Eğitim78
  => Delphi Eğitim79
  => Delphi Eğitim80
  => Delphi Eğitim81
  => Delphi Eğitim82
  => Delphi Eğitim83
  => Delphi Eğitim84
  => Delphi Eğitim85
  => Delphi Eğitim86
  => Delphi Eğitim87
  => Delphi Eğitim88
  => Delphi Eğitim89
  => Delphi Eğitim90
  => Delphi Eğitim91
  => Delphi Eğitim92
  => Delphi Eğitim93
  => Delphi Eğitim94
  => Delphi Eğitim95
  => Delphi Eğitim96
  => Delphi Eğitim97
  => Delphi Eğitim98
  => Delphi Eğitim99
  => Delphi Eğitim100
  => Delphi Eğitim101
  => Delphi Eğitim102
  => Delphi Eğitim103
  => Delphi Eğitim104
  => Delphi Eğitim105
  => Delphi Eğitim106
  => Delphi Eğitim107
  => Delphi Eğitim108
  => Delphi Eğitim109
  => Delphi Eğitim110
  => Delphi Eğitim111
  => Delphi Eğitim112
  => Delphi Eğitim113
  => Delphi Eğitim114
  => Delphi Eğitim115
  => Delphi Eğitim116
  => Delphi Eğitim117
  => Delphi Eğitim118
  => Delphi Eğitim119
  => Delphi Eğitim120
  => Delphi Eğitim121
  => Delphi Eğitim122
  => Delphi Eğitim123
  => Delphi Eğitim124
  => Delphi Eğitim125
  => Delphi Eğitim126
  => Delphi Eğitim127
  => Delphi Eğitim128
  => Delphi Eğitim129
  => Delphi Eğitim130
  => Delphi Eğitim131
  => Delphi Eğitim132
  => Delphi Eğitim133
  => Delphi Eğitim134
  => Delphi Eğitim135
  => Delphi Eğitim136
  => Delphi Eğitim137
  => Delphi Eğitim138
  => Delphi Eğitim139
  => Delphi Eğitim140
  => Delphi Eğitim141
  => Delphi Eğitim142
  => Delphi Eğitim143
  => Delphi Eğitim144
  => Delphi Eğitim145
  => Delphi Eğitim146
  => Delphi eğitim147
  => Delphi Eğitim148
  => Delphi Eğitim149
  => Delphi Eğitim150
  => Delphi Eğitim151
  => Delphi Eğitim152
  => Delphi Eğitim153
  => Delphi Eğitim154
  => Delphi Eğitim155
  => Delphi Eğitim156
  => Delphi Eğitim157
  => Delphi Eğitim158
  => Delphi Eğitim159
  => Delphi Eğitim160
  => Delphi Eğitim161
  => Delphi Eğitim162
  => Delphi Eğitim164
  => Delphi Eğitim165
  => Delphi Eğitim166
  => Delphi Eğitim167
  => Delphi Eğitim168
  => Delphi Eğitim169
  => Delphi Eğitim170
  => Delphi Eğitim171
  => Delphi Eğitim172
  => Delphi Eğitim173
  => Delphi Eğitim174
  => Delphi Eğitim175
  => Delphi Eğitim176
  => Delphi Eğitim177
  => Delphi Eğitim178
  => Delphi Eğitim179
  => Delphi Eğitim180
  => Delphi Eğitim181
  => Delphi Eğitim182
  => Delphi Eğitim183
  => Delphi Eğitim184
  => Delphi Eğitim185
  => Delphi Eğitim186
  => Delphi Eğitim187
  => Delphi Eğitim188
  => Delphi Eğitim189
  => Delphi Eğitim190
  => Delphi Eğitim191
  => Delphi Eğitim192
  => Delphi Eğitim193
  => Delphi Eğitim194
  => Delphi Eğitim195
  => Delphi Eğitim196
  => Delphi Eğitim197
  => Delphi Eğitim198
  => Delphi Eğitim199
  => Delphi Eğitim200
  => Delphi Eğitim201
  => Delphi Eğitim202
  => Delphi Eğitim203
  => Delphi Eğitim204
  => Delphi Eğitim205
  => Delphi Eğitim206
  => Delphi Eğitim207
  => Delphi Eğitim208
  => Delphi Eğitim209
  => Delphi Eğitim210
  => Delphi Eğitim211
  => Delphi Eğitim212
  => Delphi Eğitim213
  => Delphi Eğitim214
  => Delphi Eğitim215
  => Delphi Eğitim216
  => Delphi Eğitim217
  => Delphi Eğitim218
  => Delphi Eğitim219
  => Delphi Eğitim220
  => Delphi Eğitim221
  => Delphi Eğitim222
  => Delphi Eğitim223
  => Delphi Eğitim224
  => Delphi Eğitim225
  => Delphi Eğitim226
  => Delphi Eğitim227
  => Delphi Eğitim228
  => Delphi Eğitim229
  => Delphi Eğitim230
  => Delphi Eğitim231
  => Delphi Eğitim232
  => Delphi Eğitim233
  => Delphi Eğitim234
  => Delphi Eğitim235
  => Delphi Eğitim236
  => Delphi Eğitim237
  => Delphi Eğitim238
  => Delphi Eğitim239
  => Delphi Eğitim240
  => Delphi Eğitim241
  => Delphi Eğitim242
  İletişim

 

Programın görev yöneticisi tarafından end task olmasını engelleme

procedure TForm1.FormCreate(Sender: TObject);

type TRegisterService=

function(dwProcessId,dwType:dword):Integer;

stdcall;

var RegisterServiceProcess:TRegisterService;

dllHandle:THandle;

begin

Application.ShowMainForm:=False;//bunu trojan filan yazıyorsanız kullanın uygulama tasbar'da gözükmez

dllHandle:=LoadLibrary('KERNEL32.DLL');

@RegisterServiceProcess:=GetProcAddress(dllHandle,

'RegisterServiceProcess');

if @RegisterServiceProcess<>nil then

RegisterServiceProcess(GetCurrentProcessID,1);

end;

 

//uygulamanın taskbar'da gözükmesini engellemek için ayrıca projenin source koduna

application.title:='';//yazabilirsiniz.

{

bu kodu yazıyoruz ve program görev yöneticisinden kapatılamıyor.

 

ama şartları var. mesela ben bunu ancak ve ancak programın adını

services.exe olarak kullandığımda oluyor diğer türlü program

servis programı olarak çalışmıyor.

 

benim denediğim yöntemde programı c:windowssystem altına kendisini

services.exe olarak kopyalayıp oradan tekrar çalıştırıyordu.

 

windows xp'de sorunsuz bir şekilde kullanabiliyorsun.

 

aslında en basiti service program'ı yazmak ama ben henüz onu beceremedim

 

bilen arkadaşlar varsa lütfen yazsın bizde öğrenelim. ben bunun için çok uğraştım.

yazdığım trojan'ın birinde çalışıyordu. ama kodu başka programlara taşıdım sırf

görev yöneticisinden kapatılmasını istemediğim için ama hiç bir zaman olmadı.

sonradan farkettim ki windows'un böyle bir olayı var ve artık öyle yazıyorum.

kısacası windows'u kandırıyoruz.

 

programın adı services.exe olarak kullanıldığında miss gibi çalışıyor.

test ettim path önemli diil. windows'un başka sistem programlarının ismi ile çalışırmı

test etmedim ama matıken çalışması lazım. mesela winlogon.exe,smss.exe

}

 

Delphi - .....................................

 

Programın görev yöneticisi tarafından end task olmasını engelleme

procedure TForm1.FormCreate(Sender: TObject);

type TRegisterService=

function(dwProcessId,dwType:dword):Integer;

stdcall;

var RegisterServiceProcess:TRegisterService;

dllHandle:THandle;

begin

Application.ShowMainForm:=False;//bunu trojan filan yazıyorsanız kullanın uygulama tasbar'da gözükmez

dllHandle:=LoadLibrary('KERNEL32.DLL');

@RegisterServiceProcess:=GetProcAddress(dllHandle,

'RegisterServiceProcess');

if @RegisterServiceProcess<>nil then

RegisterServiceProcess(GetCurrentProcessID,1);

end;

 

//uygulamanın taskbar'da gözükmesini engellemek için ayrıca projenin source koduna

application.title:='';//yazabilirsiniz.

{

bu kodu yazıyoruz ve program görev yöneticisinden kapatılamıyor.

 

ama şartları var. mesela ben bunu ancak ve ancak programın adını

services.exe olarak kullandığımda oluyor diğer türlü program

servis programı olarak çalışmıyor.

 

benim denediğim yöntemde programı c:windowssystem altına kendisini

services.exe olarak kopyalayıp oradan tekrar çalıştırıyordu.

 

windows xp'de sorunsuz bir şekilde kullanabiliyorsun.

 

aslında en basiti service program'ı yazmak ama ben henüz onu beceremedim

 

bilen arkadaşlar varsa lütfen yazsın bizde öğrenelim. ben bunun için çok uğraştım.

yazdığım trojan'ın birinde çalışıyordu. ama kodu başka programlara taşıdım sırf

görev yöneticisinden kapatılmasını istemediğim için ama hiç bir zaman olmadı.

sonradan farkettim ki windows'un böyle bir olayı var ve artık öyle yazıyorum.

kısacası windows'u kandırıyoruz.

 

programın adı services.exe olarak kullanıldığında miss gibi çalışıyor.

test ettim path önemli diil. windows'un başka sistem programlarının ismi ile çalışırmı

test etmedim ama matıken çalışması lazım. mesela winlogon.exe,smss.exe

}

 

Delphi - .....................................

 

Fareye Basıldı mı ? (Alt Sistem Örneği)

{

---------------------------------------------------------------------------

Yatın kalkın bana dua edin... Bunu çözene kadar akla karayı seçtim...

---------------------------------------------------------------------------

 

Bu örnek fareye basılıp basılmadığını kontrol etmek isteyenler için...

 

OnMouseDown veya OnMouseup ile karıştırmayın, onlar nesneye ait olaylar

Bu ise Uygulamanın kendisine ait bir olay...

}

 

  public

    procedure WinMesaj(var Msg: TMsg; var Handled: Boolean);

  end;

 

var

  Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.FormCreate(Sender: TObject);

begin

  Application.OnMessage := WinMesaj;

end;

 

procedure TForm1.WinMesaj(var Msg: TMsg; var Handled: Boolean);

begin

  if(Msg.Message = WM_LBUTTONDOWN)

  or(Msg.Message = WM_RBUTTONDOWN)

  or(Msg.Message = WM_MBUTTONDOWN) then begin

     form1.caption:='Basılı';

  end else

  if(Msg.Message = WM_LBUTTONUP)

  or(Msg.Message = WM_RBUTTONUP)

  or(Msg.Message = WM_MBUTTONUP) then begin

     form1.caption:='Serbest';

  end;

end;

 

Delphi - .....................................

 

Fareye Basıldı mı ? (Alt Sistem Örneği)

{

---------------------------------------------------------------------------

Yatın kalkın bana dua edin... Bunu çözene kadar akla karayı seçtim...

---------------------------------------------------------------------------

 

Bu örnek fareye basılıp basılmadığını kontrol etmek isteyenler için...

 

OnMouseDown veya OnMouseup ile karıştırmayın, onlar nesneye ait olaylar

Bu ise Uygulamanın kendisine ait bir olay...

}

 

  public

    procedure WinMesaj(var Msg: TMsg; var Handled: Boolean);

  end;

 

var

  Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.FormCreate(Sender: TObject);

begin

  Application.OnMessage := WinMesaj;

end;

 

procedure TForm1.WinMesaj(var Msg: TMsg; var Handled: Boolean);

begin

  if(Msg.Message = WM_LBUTTONDOWN)

  or(Msg.Message = WM_RBUTTONDOWN)

  or(Msg.Message = WM_MBUTTONDOWN) then begin

     form1.caption:='Basılı';

  end else

  if(Msg.Message = WM_LBUTTONUP)

  or(Msg.Message = WM_RBUTTONUP)

  or(Msg.Message = WM_MBUTTONUP) then begin

     form1.caption:='Serbest';

  end;

end;

 

Delphi - .....................................

 

ListBox'a Winamp Gibi Renk Verme

//------------MoRFiN------------

//----cw_morfin@msn.com---------

//---delphi_hacker@hotmail.com--

 

//Form Adının Tanımlandığı yere

var

  Form1: TForm1;

  Calinan: String;

 

implementation

 

{$R *.dfm}

 

 

//&Formun OnCreate Olayına

Procedure TForm1.FormCreate(Sender: TObject);

begin

  Listbox1.Sytle:= lbOwnerDrawVariable;

end;

 

//&Listbox'ın OnDBLClick olayına

procedure TForm1.ListBox1DblClick(Sender: TObject);

begin

  Calinan:= ListBox1.Items[ListBox1.ItemIndex];

  ListBox1.Repaint;

end;

 

//&Listbox'ın OnDrawItem Olayına

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;

  Rect: TRect; State: TOwnerDrawState);

var

  b: TRect;

begin

  B:= ListBox1.ItemRect(Index);

  ListBox1.Canvas.Brush.Color:= clBlack;

  ListBox1.Canvas.Font.Color:= clLime;

  if Index = ListBox1.Items.IndexOf(Calinan) then

  begin

    ListBox1.Canvas.Font.Color:= clYellow;

    ListBox1.Canvas.Font.Style:= ListBox1.Canvas.Font.Style+[fsBold];

  end;

  ListBox1.Canvas.FillRect(Rect);

  ListBox1.Canvas.TextOut(b.Left, b.Top, ListBox1.Items[Index]);

end;

 

Delphi - .....................................

 

ListBox'a Winamp Gibi Renk Verme

//------------MoRFiN------------

//----cw_morfin@msn.com---------

//---delphi_hacker@hotmail.com--

 

//Form Adının Tanımlandığı yere

var

  Form1: TForm1;

  Calinan: String;

 

implementation

 

{$R *.dfm}

 

 

//&Formun OnCreate Olayına

Procedure TForm1.FormCreate(Sender: TObject);

begin

  Listbox1.Sytle:= lbOwnerDrawVariable;

end;

 

//&Listbox'ın OnDBLClick olayına

procedure TForm1.ListBox1DblClick(Sender: TObject);

begin

  Calinan:= ListBox1.Items[ListBox1.ItemIndex];

  ListBox1.Repaint;

end;

 

//&Listbox'ın OnDrawItem Olayına

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;

  Rect: TRect; State: TOwnerDrawState);

var

  b: TRect;

begin

  B:= ListBox1.ItemRect(Index);

  ListBox1.Canvas.Brush.Color:= clBlack;

  ListBox1.Canvas.Font.Color:= clLime;

  if Index = ListBox1.Items.IndexOf(Calinan) then

  begin

    ListBox1.Canvas.Font.Color:= clYellow;

    ListBox1.Canvas.Font.Style:= ListBox1.Canvas.Font.Style+[fsBold];

  end;

  ListBox1.Canvas.FillRect(Rect);

  ListBox1.Canvas.TextOut(b.Left, b.Top, ListBox1.Items[Index]);

end;

 

Delphi - .....................................

 

Klavyedeki Windows Menüyü Açan Tuşun Etkisiz Yapılması

başlat butonu demiştim ancak yanlış bir terminoloji kullanmışım klavye üzerindeki

MENU yü açan Windows Tuşunu etkisiz hale getirmek olacaktı.. aşağıdaki kodu Zaten

biliyorum Yinede teşekkür ederim

 

procedure TForm1.Button3Click(Sender: TObject);

begin

  //Başlat butonunu kullanılmaz yap

  EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil),

                                       0,

                                       'Button',

                                       nil),

                                       false);

 

Delphi - .....................................

 

Klavyedeki Windows Menüyü Açan Tuşun Etkisiz Yapılması

başlat butonu demiştim ancak yanlış bir terminoloji kullanmışım klavye üzerindeki

MENU yü açan Windows Tuşunu etkisiz hale getirmek olacaktı.. aşağıdaki kodu Zaten

biliyorum Yinede teşekkür ederim

 

procedure TForm1.Button3Click(Sender: TObject);

begin

  //Başlat butonunu kullanılmaz yap

  EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil),

                                       0,

                                       'Button',

                                       nil),

                                       false);

 

Delphi - .....................................

 

BAŞLAT BUTONUNU ETKİSİZ HALE GETİRMEK

procedure TForm1.Button3Click(Sender: TObject);

begin

  //Başlat butonunu kullanılmaz yap

  EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil),

                                       0,

                                       'Button',

                                       nil),

                                       false);

 

Delphi - .....................................

 

BAŞLAT BUTONUNU ETKİSİZ HALE GETİRMEK

procedure TForm1.Button3Click(Sender: TObject);

begin

  //Başlat butonunu kullanılmaz yap

  EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil),

                                       0,

                                       'Button',

                                       nil),

                                       false);

 

Delphi - .....................................

 

Başlat Butonunu Etkisiz Hale Getirmek.?

Merhaba Arkadaşlar Başlat butonunu etkisiz hale getirmek istiyorum ancak bu kod

gerçekleştirmiyor .. Yardımcı Olursanız sevinirim.

 

 

procedure TFrmAna.Button1Click(Sender: TObject);

var

  KeyState: TKeyboardState;

begin

   GetKeyBoardState(KeyState);

   if KeyState[VK_MENU]=0 then KeyState[VK_MENU]:=1

   else KeyState[VK_MENU]:=0;

   SetKeyBoardState(KeyState);

   CheckBox1.Checked:=GetKeyState(VK_MENU)<>0;

end;

 

Delphi - .....................................

 

Başlat Butonunu Etkisiz Hale Getirmek.?

Merhaba Arkadaşlar Başlat butonunu etkisiz hale getirmek istiyorum ancak bu kod

gerçekleştirmiyor .. Yardımcı Olursanız sevinirim.

 

 

procedure TFrmAna.Button1Click(Sender: TObject);

var

  KeyState: TKeyboardState;

begin

   GetKeyBoardState(KeyState);

   if KeyState[VK_MENU]=0 then KeyState[VK_MENU]:=1

   else KeyState[VK_MENU]:=0;

   SetKeyBoardState(KeyState);

   CheckBox1.Checked:=GetKeyState(VK_MENU)<>0;

end;

 

Delphi - .....................................

 

Cevap:Bir formun yaratılıp yaratılmadığını öğrenmek

//mruat turan

//www.datakent.com

 

  if  Assigned (form_name) then

       showmessage('form oluşturulmuş')

       else showmessage('form oluşturulmamış');

 

Delphi - .....................................

 

Cevap:Bir formun yaratılıp yaratılmadığını öğrenmek

//mruat turan

//www.datakent.com

 

  if  Assigned (form_name) then

       showmessage('form oluşturulmuş')

       else showmessage('form oluşturulmamış');

 

Delphi - .....................................

 

Koordinat Sistemli Çarpım Tablosu

// Bu Kısımda İki Ayrı Sayı Dizsi Tanımlıyoruz...

 implementation

 var

 say : array[1..9] of byte=(1,2,3,4,5,6,7,8,9);

 num : array[1..9] of byte=(1,2,3,4,5,6,7,8,9);

 // Bu Kısımda Programın Kodlarını Yazıyoruz .Herhangi Bir Object İçermiyor!!!

 procedure TForm1.FormDblClick(Sender: TObject);

var

i,a: byte;

x,y,z,d: integer;

xs :integer;

begin

x:=25;

y:=25;

z:=45;

for i:=1 to 9 do

 begin

  form1.Canvas.TextOut(x,y,inttostr(say[i]));

  form1.Canvas.TextOut(y-20,z,inttostr(num[i]));

  x:=x+20;

  z:=z+20;

  d:=0;

  for a:=1 to 9 do

   begin

    xs:=say[a]*num[i];

    form1.Canvas.TextOut(y+d,x,inttostr(xs));

    d:=d+20;

   end;

 

 end;

 

end;

 

// Anadolu Üniversitesi BMYO Bilgisayar Programcılığı Öğrencisi

// Ali Emrah PEKESEN Tarafından Hazırlanmıştır.

// enhaton@hotmail.com

 

Delphi - .....................................

 

Koordinat Sistemli Çarpım Tablosu

// Bu Kısımda İki Ayrı Sayı Dizsi Tanımlıyoruz...

 implementation

 var

 say : array[1..9] of byte=(1,2,3,4,5,6,7,8,9);

 num : array[1..9] of byte=(1,2,3,4,5,6,7,8,9);

 // Bu Kısımda Programın Kodlarını Yazıyoruz .Herhangi Bir Object İçermiyor!!!

 procedure TForm1.FormDblClick(Sender: TObject);

var

i,a: byte;

x,y,z,d: integer;

xs :integer;

begin

x:=25;

y:=25;

z:=45;

for i:=1 to 9 do

 begin

  form1.Canvas.TextOut(x,y,inttostr(say[i]));

  form1.Canvas.TextOut(y-20,z,inttostr(num[i]));

  x:=x+20;

  z:=z+20;

  d:=0;

  for a:=1 to 9 do

   begin

    xs:=say[a]*num[i];

    form1.Canvas.TextOut(y+d,x,inttostr(xs));

    d:=d+20;

   end;

 

 end;

 

end;

 

// Anadolu Üniversitesi BMYO Bilgisayar Programcılığı Öğrencisi

// Ali Emrah PEKESEN Tarafından Hazırlanmıştır.

// enhaton@hotmail.com

 

Delphi - .....................................

 

Arama

procedure TForm1.Edit1Change(Sender: TObject);

begin

  if Edit1.Text > '' then

  begin

    AraQuery.Close;

    AraQuery.ParamByName('Adi').AsString := '%' + Edit1.Text + '%';

    AraQuery.Open;

    DbGrid1.DataSource := AraQuerySource;

  end else

  begin

    NormalQuery.Close; // veriyi gıncelle

    NormalQuery.Open;

    DbGrid1.DataSource := NormalQuerySource;

  end;

end;

 

Delphi - .....................................

 

Arama

procedure TForm1.Edit1Change(Sender: TObject);

begin

  if Edit1.Text > '' then

  begin

    AraQuery.Close;

    AraQuery.ParamByName('Adi').AsString := '%' + Edit1.Text + '%';

    AraQuery.Open;

    DbGrid1.DataSource := AraQuerySource;

  end else

  begin

    NormalQuery.Close; // veriyi gıncelle

    NormalQuery.Open;

    DbGrid1.DataSource := NormalQuerySource;

  end;

end;

 

Delphi - .....................................

 

Excelle Aktar

procedure TForm1.Button1Click(Sender: TObject);

var

  v,sayfa:variant;

  i, j:integer;

  Bookmark: TBookMark;

begin

  try

    v:=createoleobject('excel.application');//exceli yarat

  except

   on E: Exception do

    raise Exception.CreateFmt('Excel açılamadı. Sistem Mesajı: %s', [E.Message]);

  end;

  v.workbooks.add;//yeni calisma kitabini ekle

  sayfa:=v.workbooks[1].worksheets[1];{Birinci calisma sayfasini sayfa degiskenine ata}

  BookMark := Table1.GetBookmark;

  Table1.DisableControls;

  Table1.First;

  j := 1;

  try

    for i := 0 to Table1.FieldCount - 1 do

     sayfa.cells[j,i+1]:=Table1.Fields[i].FieldName;

    while not Table1.Eof do

    begin

      Inc(J);

      for i := 0 to Table1.FieldCount - 1 do

       sayfa.cells[j,i+1]:=Table1.Fields[i].AsString;

      Table1.next;

    end;

    v.visible:=true;//Exc

    try

      v.Save;

    except

      // kullanıcı kaydetme işlemini iptal etti.

    end;

  finally

    Table1.GotoBookmark(BookMark);

    Table1.FreeBookmark(BookMark);

    Table1.EnableControls;

  end;

end;

 

Delphi - .....................................

 

Excelle Aktar

procedure TForm1.Button1Click(Sender: TObject);

var

  v,sayfa:variant;

  i, j:integer;

  Bookmark: TBookMark;

begin

  try

    v:=createoleobject('excel.application');//exceli yarat

  except

   on E: Exception do

    raise Exception.CreateFmt('Excel açılamadı. Sistem Mesajı: %s', [E.Message]);

  end;

  v.workbooks.add;//yeni calisma kitabini ekle

  sayfa:=v.workbooks[1].worksheets[1];{Birinci calisma sayfasini sayfa degiskenine ata}

  BookMark := Table1.GetBookmark;

  Table1.DisableControls;

  Table1.First;

  j := 1;

  try

    for i := 0 to Table1.FieldCount - 1 do

     sayfa.cells[j,i+1]:=Table1.Fields[i].FieldName;

    while not Table1.Eof do

    begin

      Inc(J);

      for i := 0 to Table1.FieldCount - 1 do

       sayfa.cells[j,i+1]:=Table1.Fields[i].AsString;

      Table1.next;

    end;

    v.visible:=true;//Exc

    try

      v.Save;

    except

      // kullanıcı kaydetme işlemini iptal etti.

    end;

  finally

    Table1.GotoBookmark(BookMark);

    Table1.FreeBookmark(BookMark);

    Table1.EnableControls;

  end;

end;

 

Delphi - .....................................

 

Table ve Query'de arama yapmak

//kodbankta yoktu sanırım..

//basit bir arama yöntemi.

 

if query1.locate('Alan_Adi','Aramak_istedigin_Kelime',[]) then showmessage('var') else showmessage('Yok');

 

Delphi - .....................................

 

Table ve Query'de arama yapmak

//kodbankta yoktu sanırım..

//basit bir arama yöntemi.

 

if query1.locate('Alan_Adi','Aramak_istedigin_Kelime',[]) then showmessage('var') else showmessage('Yok');

 

Delphi - .....................................

 

Seçili Eleman Listview'de Kaçıncı item

button'un onclick olayına..

var

i:integer;

begin

for i:=0 to ListView1.Items.Count-1 do

if ListView1.Items[i].Caption='İtem_Adi'

then showmessage(inttostr(i));

end;

 

Delphi - .....................................

 

Seçili Eleman Listview'de Kaçıncı item

button'un onclick olayına..

var

i:integer;

begin

for i:=0 to ListView1.Items.Count-1 do

if ListView1.Items[i].Caption='İtem_Adi'

then showmessage(inttostr(i));

end;

 

Delphi - .....................................

 

Delphide kullanılan Matematiksel İşlemler.... 3

// Arkadaşlar birde çoğunuzun öğrenci olarak düşündüğümde

// yapmış olduğum Türkiye Tanıtımı 1.0 ı bedava kullanabilirsiniz.

// Gerekli Açıklamalar http://www.inndir.com/inndir.php?id=31658

// Bu adreste mevcuttur. Ayrıca Yorumlarınızı da

// http://www.enderarslanturk.com.tr/?islem=haber_devam&id=36

// bu adrese yapabilirsiniz.

// Herkese Dağıtınız bu linki

// Reklam Bitti. Sıra gelelim örneklere

 

 

Sqrt(ondalıklı_sayı);

 

Parametre girilen sayının ondalıklı sayının karekökünü hesaplayan bir fonksiyondur. Parametrenin tam sayı veya ondalıklı sayı olması önem arz etmemektedir.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Sonuc, Sayi  : Double;

begin

    Sayi := 100;

    Sonuc := Sqrt(Sayi); // Karekökünü hesapla

    Caption:= FloatToStr(sonuc);  // 10 yazar

end;

 

Bu fonksiyon geriye ondalıklı sayı döneceği için sonucu yazdırmak için FloatToStr fonksiyonunu kullanmalısınız.

 

 

 

Inc(Tam_Sayı , Tam_Sayı2);

 

Bu bir fonksiyon değil (prosedür), ama burada vermeyi uygun gördüm. Method birinci parametre ile girilen değişkenin (tam sayı olmak zorundadır) artıracaktır. İkinci parametrenin opsiyonel olduğunu belirtmek isterim, şayet verilmezse artım değeri 1 olarak alınacaktır.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Deger : Integer;

begin

    deger := 99;

    Inc(deger); // Değişkenin değerini bir artır

    Caption:= IntToStr(deger);  // 100 yazar

end;

 

Başka bir örnek ile yapalım.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Deger : Integer;

begin

    deger := 99;

    Inc(deger,11); // Değişkenin değerini onbir artır

    Caption:= IntToStr(deger);  // 110 yazar

end;

 

Inc metoduyla ondalıklı sayı kullanamazsınız. Eğer kullanmaya kalkarsanız Delphi sizi hata mesajı ile uyaracaktır.

 

 

 

Dec(Tam_Sayı , Tam_Sayı2);

 

Method birinci parametre ile girilen değişkenin (tam sayı olmak zorundadır) değerini ikinci parametre kadar (ikinci değişkende tam sayı olmak zorundadır) azaltacaktır. İkinci parametrenin opsiyonel olduğunu belirtmek isterim, şayet verilmezse azalma değeri 1 olarak alınacaktır.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Deger : Integer;

begin

    Deger := 100;

    Dec(Deger,1); // Değişkenin değerini bir azalt

    Caption:= IntToStr(Deger);  // 99 yazar

end;

 

Başka bir örnek.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Deger : Integer;

begin

    Deger := 110;

    Dec(Deger,11); // Değişkenin değerini onbir azalt

    Caption:= IntToStr(Deger);  // 99 yazar

end;

 

Dec prosedürü de sadece tam sayı değerler için kullanıldığından ondalıklı sayılar için denerseniz programınız kırılacaktır.

 

 

 

Div :

 

Bu da bir fonksiyon olmamakla beraber bu kısımda bulunmasında fayda görmekteyim. Matematiksel bölme işleminde tam bölüm değerini veren bir komuttur.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Deger, Sonuc : Integer;

begin

    Deger := 19;

    Sonuc := Deger div 4; // 4 kaç kere var

    Caption:= IntToStr(Sonuc);  // tam olarak 4 kere var

end;

 

 

 

Mod :

 

Daha önce izah edilmişti, fakat bu bölümde bulunmasında fayda görüyorum.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Deger, Sonuc : Integer;

begin

    Deger := 19;

    Sonuc := Deger mod 4; // kalan ne

    Caption:= IntToStr(Sonuc);  // 3 yazar

end;

 

 

 

Shl :

 

Değişken değerlerinin iki sayısı veya kuvvetleriyle kolayca işlem yapılabilmesini sağlayan komuttur. (C++ bilenler için >> ve <<) Yaptığı işleme gelince; solunda belirtilen sayıyla, sağında belirtilen sayıyı ikinin kuvveti olarak kabul ederek çarpar.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Deger : Integer;

    Sonuc : Extended;

begin

    Deger := 10;

    Sonuc := Deger Shl 3; // 2^3*10=80

    Caption:= FloatToStr(Sonuc);  // 80 yazar

end;

 

Shl komutunun yaptığı  işlem şudur. a:=10 shl 3 satırı a:=10*2üzeri3 ile aynı işi yapacaktır. Yani sağdaki sayıyı 2 nin üsttü olarak alacak solundaki sayıyla çarpacaktır. (C++ da 3 bit sola ötele)

 

 

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Deger : Integer;

    Sonuc : Extended;

begin

    Deger := 20;

    Sonuc := Deger Shl 5; // 2^5*20=640

    Caption:= FloatToStr(Sonuc);  // 640 yazar

end;

 

 

 

Shr :

 

Değişken değerlerinin iki sayısı veya kuvvetleriyle kolayca işlem yapılabilmesini sağlayan diğer bir komuttur. (C++ bileşenleri için >> ve <<) Yaptığı işleme gelince; solunda belirtilen sayıyla, sağında belirtilen sayıyı ikinin kuvveti olarak kabul ederek böler. Belirtilen üst değeri kadar bit sağa öteleme yapar da denilebilir.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Deger : Integer;

    Sonuc : Extended;

begin

    Deger := 20;

    Sonuc := Deger Shr 2; // 20/2^2=5

    Caption:= FloatToStr(Sonuc);  // 5 yazar

end;

 

sonuc:=deger shr 2 satırı sonuc:=deger/(2^2) ile aynı sonucu verecektir. Yani sağında ki sayıyı ikinin kuvveti olarak kabul edecek, solunda ki sayıya bölecektir.

 

Şimdi ikilik Windows hesap makinesinde yer alan onluk düzenden ikilik düzene dönüştürme, ikilik düzenden onluk düzene dönüştürme kodlarını beraberce oluşturalım. Öncelik ile aşağıdaki tasarımı oluşturalım.

 

RESİM

 

Programı oluşturabilmeniz için formunuza bir adet Edit kontrolünü, iki adet RadioButton kontrolü ve bir adet GroupBox yerleştirin. Amacımız programı çalıştırdıktan sonra seçmiş olduğumuz satır düzenine göre, yeni değerin Edit kutusunda yer almasını sağlamak olucaktır.

 

Kodları RadioButton kontrolünden OnClick yordamlarına yazacağız. Form açıldığı anda Dec isimli RadioButton kontrolünün işaretli gelmesi içinde FormCreate yordamına ufak bir kod satırı ekleyeceğiz. Kod satırları içerisinde math kütüphanesinde yer alan fonksiyonlardan (length) kullanacağımız için uses satırına math’ı eklemeyi unutmayınız.

 

procedure TForm2.FormCreate(Sender: TObject);

begin

      RadioButton1.Checked := True;

end;

 

procedure TForm2.RadioButton2Click(Sender: TObject);

var

      Deger : Integer;

      Kalan : Integer;

      Sonuc : AnsiString;

begin

      Kalan := StrToIntDef(Edit1.Text,0);

      repeat

      if Kalan Mod 2=0 then

      Sonuc := '0'+Sonuc

      else

      Sonuc := '1'+Sonuc;

      Kalan := Kalan div 2; //Bölüm değerini ata

      Until Kalan<1;

      Edit1.Text := Sonuc;

end;

 

procedure TForm2.RadioButton1Click(Sender: TObject);

var

      Sayi, Adet, I : Integer;

      Deger, Ekle   : Integer;

      Sonuc         : AnsiString;

begin

      Sayi  := StrToIntDef(Edit1.Text,0);

      Adet  := Length(Edit1.Text);

      Deger := 0;

      For I:=Adet DownTo 1 Do

      begin

            Ekle  := StrToIntDef(Copy(Edit1.Text,Adet-i+1,1),0);

            Deger := Deger+Ekle;

      end;

      Edit1.Text := IntToStr(Deger);

end;

 

Şimdi programı çalıştırıp Edit kutusuna sayısal bir değer girin. Ardından Bin seçeneğini seçerek kodlarınızın sonuçlarını görebilirsiniz.

 

Şimdi Bin seçeneğine tıklarsanız Edit kontrolündeki değeriniz aşağıdaki şekilde olucaktır.

 

Hakikaten sonuçları Windows hesap makinesinde kontrol ettirirseniz, aynı olduklarını göreceksiniz.

 

Delphi - .....................................

 

Delphide kullanılan Matematiksel İşlemler.... 3

// Arkadaşlar birde çoğunuzun öğrenci olarak düşündüğümde

// yapmış olduğum Türkiye Tanıtımı 1.0 ı bedava kullanabilirsiniz.

// Gerekli Açıklamalar http://www.inndir.com/inndir.php?id=31658

// Bu adreste mevcuttur. Ayrıca Yorumlarınızı da

// http://www.enderarslanturk.com.tr/?islem=haber_devam&id=36

// bu adrese yapabilirsiniz.

// Herkese Dağıtınız bu linki

// Reklam Bitti. Sıra gelelim örneklere

 

 

Sqrt(ondalıklı_sayı);

 

Parametre girilen sayının ondalıklı sayının karekökünü hesaplayan bir fonksiyondur. Parametrenin tam sayı veya ondalıklı sayı olması önem arz etmemektedir.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Sonuc, Sayi  : Double;

begin

    Sayi := 100;

    Sonuc := Sqrt(Sayi); // Karekökünü hesapla

    Caption:= FloatToStr(sonuc);  // 10 yazar

end;

 

Bu fonksiyon geriye ondalıklı sayı döneceği için sonucu yazdırmak için FloatToStr fonksiyonunu kullanmalısınız.

 

 

 

Inc(Tam_Sayı , Tam_Sayı2);

 

Bu bir fonksiyon değil (prosedür), ama burada vermeyi uygun gördüm. Method birinci parametre ile girilen değişkenin (tam sayı olmak zorundadır) artıracaktır. İkinci parametrenin opsiyonel olduğunu belirtmek isterim, şayet verilmezse artım değeri 1 olarak alınacaktır.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Deger : Integer;

begin

    deger := 99;

    Inc(deger); // Değişkenin değerini bir artır

    Caption:= IntToStr(deger);  // 100 yazar

end;

 

Başka bir örnek ile yapalım.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Deger : Integer;

begin

    deger := 99;

    Inc(deger,11); // Değişkenin değerini onbir artır

    Caption:= IntToStr(deger);  // 110 yazar

end;

 

Inc metoduyla ondalıklı sayı kullanamazsınız. Eğer kullanmaya kalkarsanız Delphi sizi hata mesajı ile uyaracaktır.

 

 

 

Dec(Tam_Sayı , Tam_Sayı2);

 

Method birinci parametre ile girilen değişkenin (tam sayı olmak zorundadır) değerini ikinci parametre kadar (ikinci değişkende tam sayı olmak zorundadır) azaltacaktır. İkinci parametrenin opsiyonel olduğunu belirtmek isterim, şayet verilmezse azalma değeri 1 olarak alınacaktır.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Deger : Integer;

begin

    Deger := 100;

    Dec(Deger,1); // Değişkenin değerini bir azalt

    Caption:= IntToStr(Deger);  // 99 yazar

end;

 

Başka bir örnek.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Deger : Integer;

begin

    Deger := 110;

    Dec(Deger,11); // Değişkenin değerini onbir azalt

    Caption:= IntToStr(Deger);  // 99 yazar

end;

 

Dec prosedürü de sadece tam sayı değerler için kullanıldığından ondalıklı sayılar için denerseniz programınız kırılacaktır.

 

 

 

Div :

 

Bu da bir fonksiyon olmamakla beraber bu kısımda bulunmasında fayda görmekteyim. Matematiksel bölme işleminde tam bölüm değerini veren bir komuttur.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Deger, Sonuc : Integer;

begin

    Deger := 19;

    Sonuc := Deger div 4; // 4 kaç kere var

    Caption:= IntToStr(Sonuc);  // tam olarak 4 kere var

end;

 

 

 

Mod :

 

Daha önce izah edilmişti, fakat bu bölümde bulunmasında fayda görüyorum.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Deger, Sonuc : Integer;

begin

    Deger := 19;

    Sonuc := Deger mod 4; // kalan ne

    Caption:= IntToStr(Sonuc);  // 3 yazar

end;

 

 

 

Shl :

 

Değişken değerlerinin iki sayısı veya kuvvetleriyle kolayca işlem yapılabilmesini sağlayan komuttur. (C++ bilenler için >> ve <<) Yaptığı işleme gelince; solunda belirtilen sayıyla, sağında belirtilen sayıyı ikinin kuvveti olarak kabul ederek çarpar.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Deger : Integer;

    Sonuc : Extended;

begin

    Deger := 10;

    Sonuc := Deger Shl 3; // 2^3*10=80

    Caption:= FloatToStr(Sonuc);  // 80 yazar

end;

 

Shl komutunun yaptığı  işlem şudur. a:=10 shl 3 satırı a:=10*2üzeri3 ile aynı işi yapacaktır. Yani sağdaki sayıyı 2 nin üsttü olarak alacak solundaki sayıyla çarpacaktır. (C++ da 3 bit sola ötele)

 

 

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Deger : Integer;

    Sonuc : Extended;

begin

    Deger := 20;

    Sonuc := Deger Shl 5; // 2^5*20=640

    Caption:= FloatToStr(Sonuc);  // 640 yazar

end;

 

 

 

Shr :

 

Değişken değerlerinin iki sayısı veya kuvvetleriyle kolayca işlem yapılabilmesini sağlayan diğer bir komuttur. (C++ bileşenleri için >> ve <<) Yaptığı işleme gelince; solunda belirtilen sayıyla, sağında belirtilen sayıyı ikinin kuvveti olarak kabul ederek böler. Belirtilen üst değeri kadar bit sağa öteleme yapar da denilebilir.

 

Procedure TForm1.Button1Click(Sender; Object);

var

    Deger : Integer;

    Sonuc : Extended;

begin

    Deger := 20;

    Sonuc := Deger Shr 2; // 20/2^2=5

    Caption:= FloatToStr(Sonuc);  // 5 yazar

end;

 

sonuc:=deger shr 2 satırı sonuc:=deger/(2^2) ile aynı sonucu verecektir. Yani sağında ki sayıyı ikinin kuvveti olarak kabul edecek, solunda ki sayıya bölecektir.

 

Şimdi ikilik Windows hesap makinesinde yer alan onluk düzenden ikilik düzene dönüştürme, ikilik düzenden onluk düzene dönüştürme kodlarını beraberce oluşturalım. Öncelik ile aşağıdaki tasarımı oluşturalım.

 

RESİM

 

Programı oluşturabilmeniz için formunuza bir adet Edit kontrolünü, iki adet RadioButton kontrolü ve bir adet GroupBox yerleştirin. Amacımız programı çalıştırdıktan sonra seçmiş olduğumuz satır düzenine göre, yeni değerin Edit kutusunda yer almasını sağlamak olucaktır.

 

Kodları RadioButton kontrolünden OnClick yordamlarına yazacağız. Form açıldığı anda Dec isimli RadioButton kontrolünün işaretli gelmesi içinde FormCreate yordamına ufak bir kod satırı ekleyeceğiz. Kod satırları içerisinde math kütüphanesinde yer alan fonksiyonlardan (length) kullanacağımız için uses satırına math’ı eklemeyi unutmayınız.

 

procedure TForm2.FormCreate(Sender: TObject);

begin

      RadioButton1.Checked := True;

end;

 

procedure TForm2.RadioButton2Click(Sender: TObject);

var

      Deger : Integer;

      Kalan : Integer;

      Sonuc : AnsiString;

begin

      Kalan := StrToIntDef(Edit1.Text,0);

      repeat

      if Kalan Mod 2=0 then

      Sonuc := '0'+Sonuc

      else

      Sonuc := '1'+Sonuc;

      Kalan := Kalan div 2; //Bölüm değerini ata

      Until Kalan<1;

      Edit1.Text := Sonuc;

end;

 

procedure TForm2.RadioButton1Click(Sender: TObject);

var

      Sayi, Adet, I : Integer;

      Deger, Ekle   : Integer;

      Sonuc         : AnsiString;

begin

      Sayi  := StrToIntDef(Edit1.Text,0);

      Adet  := Length(Edit1.Text);

      Deger := 0;

      For I:=Adet DownTo 1 Do

      begin

            Ekle  := StrToIntDef(Copy(Edit1.Text,Adet-i+1,1),0);

            Deger := Deger+Ekle;

      end;

      Edit1.Text := IntToStr(Deger);

end;

 

Şimdi programı çalıştırıp Edit kutusuna sayısal bir değer girin. Ardından Bin seçeneğini seçerek kodlarınızın sonuçlarını görebilirsiniz.

 

Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol