Programlama yapalım ve Öğrenelim. - Delphi Eğitim54
  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

karakter fonksiyonları-1 (length)

delphi karakter fonksiyonları-1 (length)

length komutu ve kullanım alanları

lenght fonksiyonu ile girilen karaker sayısı alma

 

girilen bir metnin karakter sayısını neden almalıyım?

eğer programımda girilen bazı alanlarda karakter sınırlaması yapmam

gerekiyorsa bunu denetim için kullanırım.

 

length fonksiyonunun söz dizimi nasıldır?

length(string)

burada string

a)sabit bir metin olabilir

b)bir deişken olabilir.

 

örnek

amacımız bir edit'e girilien metnin sayısını almak

eğer sayı 6'dan küçükse uyarı versin ve metin kutusunu temizlesin.

forma

1adet label

1adet edit

1adet buton

 

kontrolü ekliyelim

*labelin caption'u 'kullanıcı adı'

*butonun captionu 'tamam' olsun

imdi butonun on click olayına aşağıdaki kodu girelim

 

procedure TForm1.Button1Click(Sender: TObject);

var

sy:integer  ;

begin

sy:=length(edit1.Text ); //edite giren textin uzunluğunu al

if sy < 6 then //uzunluğu kontrol et ve

begin

showmessage('kullanıcı adınız en az 6 karakter olmalı'); //mesajı ver

edit1.text:="; // editi temizle

form1.ActiveControl :=Edit1 ; //editin üstüne git

end;

 

end;

 

end.

 

 

iyi çalışmalar

 

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

 

CLASS ları Ne işe yarar uygulayarak anlayalım.

CLASS lara giriş seviyesindedir.

Bu makale Class lara giriş seviyesindedir.

 

Programlama da programcıların en zorlandığı olaylardan biride Nesneye Dayalı Programlamanın kavramını anlamaktır. Class Nedir? Nesne Nedir? Constuructor(Kurucu) nedir? Vb

 

Öncelikle Temelden başlayarak ilkel yöntemleri kullanalım sonra da Modern (Sosyete) kodlama yöntemlerine geçelim. Bakın ben bu yöntemleri Java da öğrenmiştim.

 

Bir integer dizisinin elemanlarını ListBoxa basan bir program yapalım.

 

procedure TForm1.Button1Click(Sender: TObject);

var

    dizi: Array[0..9]of Integer;

    i:Integer;

begin

    dizi[0]:= 5;

    dizi[1]:= 1;

    dizi[2]:= 3;

    dizi[3]:= 4;

    dizi[4]:= 6;

    dizi[5]:= 7;

    dizi[6]:= 8;

    dizi[7]:= 5;

    dizi[8]:= 9;

    dizi[9]:= 6; //Dizilere atanan değerler kullanıcıdan alınabilir.

 

    For i:=0 to high(dizi) do

        ListBox1.Items.Add(intToStr(Dizi[i]));

End;

 

 

 

Bir dizi oluşturduk. Bir döngü açıp ekrana bastırdık. İkinci bir dizi daha ekrana bastırmamız gerektiğini düşünelim. Aşağıdaki gibi yapılabilir.

 

 

procedure TForm1.Button1Click(Sender: TObject);

var

    dizi1: Array[0..9]of Integer;

    dizi2: Array[0..9]of Integer;

    i:Integer;

begin

    dizi1[0]:= 5;

    dizi1[1]:= 1;

    dizi1[2]:= 3;

    dizi1[3]:= 4;

    dizi1[4]:= 6;

    dizi1[5]:= 7;

    dizi1[6]:= 8;

    dizi1[7]:= 5;

    dizi1[8]:= 9;

    dizi1[9]:= 6; //Dizilere atanan değerler kullanıcıdan alınabilir.

 

    dizi2[0]:= 7;

    dizi2[1]:= 7;

    dizi2[2]:= 4;

    dizi2[3]:= 3;

    dizi2[4]:= 6;

    dizi2[5]:= 7;

    dizi2[6]:= 8;

    dizi2[7]:= 5;

    dizi2[8]:= 9;

    dizi2[9]:= 9; //Dizilere atanan değerler kullanıcıdan alınabilir.

 

    For i:=0 to high(dizi1) do

        ListBox1.Items.Add('Dizi1 ' + intToStr(Dizi1[i]));

 

    For i:=0 to high(dizi2) do

        ListBox1.Items.Add('Dizi2 '+intToStr(Dizi2[i]));

 

End;

 

 

 

Yukarıda görüldüğü gibi iki for döngüsü yaptık. Halbuki bir int dizisinin ekrana basılması olayı tek seferde yapılabilirdi. Burada devreye fonksiyon ve Procedure kavramı girer. Bir Procedure ile bu işi yapsak daha kullanışlı olurdu.

 

 

Procedure Listele(Dizi: Array of Integer);

var

    i:Integer;

begin

 

 

    For i:=0 to high(dizi) do

        Form1.ListBox1.Items.Add(' ' + intToStr(Dizi[i]));

    Form1.ListBox1.Items.Add('________');

 

End;

 

procedure TForm1.Button1Click(Sender: TObject);

var

    Dizi1: Array[0..9]of Integer;

    Dizi2: Array[0..9]of Integer;

Begin

    dizi1[0]:= 5;

    dizi1[1]:= 1;

    dizi1[2]:= 3;

    dizi1[3]:= 4;

    dizi1[4]:= 6;

    dizi1[5]:= 7;

    dizi1[6]:= 8;

    dizi1[7]:= 5;

    dizi1[8]:= 9;

    dizi1[9]:= 6; //Dizilere atanan değerler kullanıcıdan alınabilir.

 

    dizi2[0]:= 7;

    dizi2[1]:= 7;

    dizi2[2]:= 4;

    dizi2[3]:= 3;

    dizi2[4]:= 6;

    dizi2[5]:= 7;

    dizi2[6]:= 8;

    dizi2[7]:= 5;

    dizi2[8]:= 9;

    dizi2[9]:= 9; //Dizilere atanan değerler kullanıcıdan alınabilir.

 

    Listele(dizi1);

    Listele(dizi2);

End;

 

 

 

Programımız daha basitleşmiş olduğunu görüyoruz. 3 ncü 4 ncü 5 nci dizimizi listelemek artık bizim için daha basit. Diyelimki Dizimizde ki indislerimizin taşıdığı değerlerin toplamını almamız gerekiyor bunu bir fonksiyonla halledebiliriz. Programımız dizimizin hem indislerini ekrana bassın hemde toplamını alsın.

 

 

Function DiziTopla(Dizi: Array of Integer):Integer;

var

    Top:Integer;

    i:Integer;

begin

    Top := 0;

 

    For i:=0 to high(dizi) do

    Begin

        Top := Top + Dizi[i];

        Form1.ListBox1.Items.Add(' ' + intToStr(Dizi[i]));

    End;

    Form1.ListBox1.Items.Add('________');

    Result := Top;

End;

 

 

procedure TForm1.Button1Click(Sender: TObject);

var

    Dizi1: Array[0..9]of Integer;

    Dizi2: Array[0..9]of Integer;

Begin

    dizi1[0]:= 5;

    dizi1[1]:= 1;

    dizi1[2]:= 3;

    dizi1[3]:= 4;

    dizi1[4]:= 6;

    dizi1[5]:= 7;

    dizi1[6]:= 8;

    dizi1[7]:= 5;

    dizi1[8]:= 9;

    dizi1[9]:= 6; //Dizilere atanan değerler kullanıcıdan alınabilir.

 

    dizi2[0]:= 7;

    dizi2[1]:= 7;

    dizi2[2]:= 4;

    dizi2[3]:= 3;

    dizi2[4]:= 6;

    dizi2[5]:= 7;

    dizi2[6]:= 8;

    dizi2[7]:= 5;

    dizi2[8]:= 9;

    dizi2[9]:= 9; //Dizilere atanan değerler kullanıcıdan alınabilir.

 

    ShowMessage(intToStr(DiziTopla(dizi1)));

 

End;

 

 

Evet Programımız tek bir fonksiyon ile dizimizi ListBoxa hem listeledik hem de dizimizin indislerinin toplamını aldık. Peki dizimizin üstünde başka işlem yapmamız gerekebilirmi tabikide kullanım alanlarımız genişleyecektir. Örneğin küçükten büyüye sıralama Dizimizin en büyük indisli elamanın bulma vb.. bu tip işlemlerin hepsi bir integer dizi si üzerinde yapılacaktır. Ve her Fonksiyonumuzu çağırdığımızda bu dizimisi geçmek zorunda kalıyoruz. Artık Class kavramına girme zamanı geldi.

 

Class veriler ve bu veriler üzerinde yapılacak işlemleri tutan birimdir.

Yukarıdaki örneklere dikkat ettiyseniz hep integer dizisi üzerinde işlem yapmaktadır. O halde bizim class'ın amacı integer dizisi üzerinde işlemler yapmalıdır. Class integer dizisini başlangıçta ister. Böylece hep aynı dizi üzerinde işlem yapar

 

 

unit Unit1;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;

 

type

    TDiziClass = Class

        Function DiziSum(dizi:Array of Integer):Integer;

        Function DiziMax(dizi:Array of Integer):Integer;

End;

type

  TForm1 = class(TForm)

    ListBox1: TListBox;

    Button1: TButton;

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

 

implementation

 

{$R *.dfm}

Function TDiziClass.DiziSum(dizi:Array of Integer):Integer;

var

    i, Top:Integer;

Begin

    Top := 0;

    For i := 0 To high(Dizi) do

    Begin

        Top := Top + Dizi[i];

    End;

    Result := Top;

End;

 

Function TDiziClass.DiziMax(dizi:Array of Integer):Integer;

var

    i, k, Max, Tmp:Integer;

Begin

    i := 0;

    MAX := dizi[0];

    For i := 0 To high(Dizi)- 1 do

    Begin

        if max < dizi[i + 1] Then

        Begin

            max := dizi[i + 1];

        End;

    End;

    Result := Max;

End;

procedure TForm1.Button1Click(Sender: TObject);

var

    Dizi:Array[0..9] Of Integer;

    i:Integer;

    DiziClass:TdiziClass;

begin

    DiziClass := TDiziClass.Create;

 

    Dizi[0] := 300;

    Dizi[1] := 301;

    Dizi[2] := 302;

    Dizi[3] := 303;

    Dizi[4] := 170;

    Dizi[5] := 304;

    Dizi[6] := 1210;

    Dizi[7] := 1600;

    Dizi[8] := 1700;

    Dizi[9] := 10000;

 

    ShowMessage(IntToStr(DiziClass.DiziMax(Dizi)));

    ShowMessage(IntToStr(DiziClass.DiziSum(Dizi)));

end;

 

end.

 

 

 

Yukarıda görüldüğü gibi dizinin elemanlarının toplamlarını ayrıca dizinin enbüyük indisli elamanını yakaladık. Aynı işi class ve fonksiyon kullanmadan yapsaydık bir hayli karışık ve uzun olurdu.

_________________

 

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

 

harf harf arama

procedure TfrmISIgerek.Edit4KeyPress(Sender: TObject; var Key: Char);

var

sql1,sql2: string;

begin

if key = #8 then s := copy(s,1,length(s)-1)

else if key = #13 then speedbutton5.Click

else    s := s + key;

 

datasource1.DataSet := query1;

sql1 := 'select * from maddeler';

sql2 := 'where Materyal like "' + s + '%"'+ ' or Materyal like "' + uppercase(s) + '%"';

query1.Active := false;

query1.SQL.Clear;

query1.SQL.Add(sql1);

query1.SQL.Add(sql2);

query1.Active := true;

 

end;

 

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

 

Basit bir string şifreleme/deşifre etme  fonksiyonu

Bir ini veya register içinde bakıldığında okunmasını

istemediğiniz stringlerinizi bu fonksiyon yardımıyla

şifreleyebilir veya deşifre edebilirsiniz.

function RSpassword(Pass : string; Mode : Boolean):String ;

Var Ch       : Char ;

    TempPass : String ;

    Count    : Byte ;

begin

  If Mode Then { Şifrele }

   Begin

     TempPass := " ;

     Count := Length(Pass) ;

     while Count > 0 do

      Begin

        IF Count = length(Pass) Then

         Begin

           Ch := Pass[Count];

           TempPass := chr(Ord(Ch)+31);

         End

         Else

           Begin

             TempPass :=Chr(Ord(Pass[Count])+Ord(Pass[Count+1])+10)+TempPass;

           End ;

         Dec(Count);

      End ;

   End

     Else {Deşifre}

       Begin

         TempPass := " ;

         Count := Length(Pass) ;

         while Count > 0 do

          Begin

            IF Count = length(Pass) Then

             Begin

               Ch := Pass[Count];

               TempPass := chr(Ord(Ch)-31);

             End

             Else

               Begin

                 Ch  := Pass[Count];

                 TempPass :=Chr(Ord(Ch)-Ord(TempPass[1])-10)+TempPass;

               End ;

             Dec(Count);

          End ;

       End ;

   RSPassword := TempPass;

end;

 

Stringi şifrelemek için fonksiyon program da şağıdaki şekilde çağrılmalıdır ;

 

[Degişgen] := RSpassword([şifrelenecek string],True));

 

Stringi deşifre etmek için fonksiyon program da şağıdaki şekilde çağrılmalıdır ;

 

[Degişgen] := RSpassword([deşifre edilecek string],False));

 

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

 

Basit bahis oyunu

//Merhaba Arkadaşlar;

//proje kodları

//////////////////////////////////

 

 

program Project1;

 

uses

  Forms,

  Unit1 in 'Unit1.pas' {Form1};

 

{$R *.res}

 

begin

  Application.Initialize;

  Application.CreateForm(TForm1, Form1);

  Application.Run;

end.

//////////////////////////////////

 

//unit .dfm kodları

object Form1: TForm1

  Left = 288

  Top = 118

  Width = 696

  Height = 480

  Caption = 'Form1'

  Color = clBtnFace

  Font.Charset = DEFAULT_CHARSET

  Font.Color = clWindowText

  Font.Height = -11

  Font.Name = 'MS Sans Serif'

  Font.Style = []

  OldCreateOrder = False

  OnCreate = FormCreate

  PixelsPerInch = 96

  TextHeight = 13

  object SpeedButton1: TSpeedButton

    Left = 464

    Top = 40

    Width = 23

    Height = 22

  end

  object Label1: TLabel

    Left = 8

    Top = 8

    Width = 32

    Height = 13

    Caption = 'Label1'

    OnMouseDown = Label1MouseDown

  end

  object Label2: TLabel

    Left = 144

    Top = 88

    Width = 32

    Height = 13

    Caption = 'Label2'

  end

  object Label3: TLabel

    Left = 240

    Top = 88

    Width = 65

    Height = 17

    Caption = 'Label3'

  end

  object Panel1: TPanel

    Left = 200

    Top = 248

    Width = 265

    Height = 169

    Caption = 'Panel1'

    TabOrder = 0

  end

  object Button1: TButton

    Left = 136

    Top = 40

    Width = 75

    Height = 25

    Caption = 'Button1'

    TabOrder = 1

    OnClick = Button1Click

  end

  object Edit1: TEdit

    Left = 136

    Top = 128

    Width = 121

    Height = 21

    TabOrder = 2

    Text = 'Edit1'

  end

  object Button2: TButton

    Left = 224

    Top = 40

    Width = 75

    Height = 25

    Caption = 'Button2'

    TabOrder = 3

    OnClick = Button2Click

  end

  object para: TEdit

    Left = 256

    Top = 144

    Width = 121

    Height = 21

    TabOrder = 4

    Text = 'para'

    OnChange = paraChange

  end

  object para2: TEdit

    Left = 256

    Top = 168

    Width = 121

    Height = 21

    TabOrder = 5

    Text = 'para2'

  end

  object newgame1: TButton

    Left = 608

    Top = 0

    Width = 75

    Height = 25

    Caption = 'newgame1'

    TabOrder = 6

    OnClick = newgame1Click

  end

  object Quit1: TButton

    Left = 608

    Top = 24

    Width = 75

    Height = 25

    Caption = 'Quit1'

    TabOrder = 7

    OnClick = Quit1Click

  end

  object Help1: TButton

    Left = 608

    Top = 48

    Width = 75

    Height = 25

    Caption = 'Help1'

    TabOrder = 8

  end

  object HowToPlay1: TButton

    Left = 608

    Top = 72

    Width = 75

    Height = 25

    Caption = 'HowToPlay1'

    TabOrder = 9

  end

  object bahis: TEdit

    Left = 40

    Top = 152

    Width = 121

    Height = 21

    TabOrder = 10

    Text = 'bahis'

    OnChange = bahisChange

  end

  object Bahis2: TEdit

    Left = 40

    Top = 176

    Width = 121

    Height = 21

    TabOrder = 11

    Text = 'Bahis2'

  end

end

 

 

///////////////////////////////

//unit1.pas kodları

/////////////////////////////

 

unit Unit1;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, ExtCtrls, Buttons, Menus;

 

type

  TForm1 = class(TForm)

    SpeedButton1: TSpeedButton;

    Panel1: TPanel;

    Label1: TLabel;

    Button1: TButton;

    Edit1: TEdit;

    Button2: TButton;

    Label2: TLabel;

    para: TEdit;

    para2: TEdit;

    Label3: TLabel;

    newgame1: TButton;

    Quit1: TButton;

    Help1: TButton;

    HowToPlay1: TButton;

    bahis: TEdit;

    Bahis2: TEdit;

    procedure FormCreate(Sender: TObject);

    procedure Label1MouseDown(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure paraChange(Sender: TObject);

    procedure bahisChange(Sender: TObject);

    procedure newgame1Click(Sender: TObject);

    procedure Quit1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

   Form1: TForm1;

s:array [1..40] of TSpeedButton;

i:integer;

 

 

implementation

 

{$R *.dfm}

 

procedure TForm1.FormCreate(Sender: TObject);

var

l,t:integer;

begin

t:=0;

l:=0;

for i:=1 to 40 do  begin

s[i]:=TSpeedButton.Create(self);

   s[i].Parent:=panel1;

   s[i].Height:=30;

   s[i].Width:=30;

   s[i].Left:=l;

   s[i].top:=t;

   s[i].Caption:=IntToStr(i);

   s[i].Font:=SpeedButton1.Font;

   s[i].SendToBack;

   l:=l+30;

   if ((i mod 8)=0) then

   l:=0;

   t:=0 + (i div 8)*30 ;

 

   end;

Label1.Left:=0;

Label1.Top:=0;

Label1.Width:=240;

Label1.Height:=150;

Label1.BringToFront;

   end;

 

 

procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y: Integer);

var

  a,b:integer;

  begin

if button=mbleft then begin

  if y<30  then

  begin

  a:=(1+(x div 30));

  if s[a].Font.Color=clBlue then begin

    b:=StrToInt(Bahis.Text);

Bahis.Text:=IntToStr(b+10);

if b+10>400 then Bahis.Text:='400';

   s[a].Font.Color:=clRed;

        end;

  end

  else begin

if y<60 then

    begin

    a:=(9+(x div 30));

     if s[a].Font.Color=clBlue then begin

    b:=StrToInt(Bahis.Text);

Bahis.Text:=IntToStr(b+10);

if b+10>400 then Bahis.Text:='400';

    s[a].font.Color:=clRed;

    end;

    end

 

  else begin

if y<90  then

  begin

  a:=(17+(x div 30));

    if s[a].Font.Color=clBlue then begin

    b:=StrToInt(Bahis.Text);

Bahis.Text:=IntToStr(b+10);

if b+10>400 then Bahis.Text:='400';

  s[a].Font.Color:=clRed;

        end;

  end

 

   else begin

  if y<120  then

  begin

  a:=(25+(x div 30));

    if s[a].Font.Color=clBlue then begin

    b:=StrToInt(Bahis.Text);

Bahis.Text:=IntToStr(b+10);

if b+10>400 then Bahis.Text:='400';

  s[a].Font.Color:=clRed;

  end;

  end

 

   else begin

  if y<150  then

  begin

  a:=(33+(x div 30));

    if s[a].Font.Color=clBlue then begin

    b:=StrToInt(Bahis.Text);

Bahis.Text:=IntToStr(b+10);

if b+10>400 then Bahis.Text:='400';

  s[a].Font.Color:=clRed;

  end;

  end;

end;

end;

end;

end;

end

      else begin

if button=mbRight then begin

 

 

  if y<30  then

  begin

  a:=(1+(x div 30));

if s[a].Font.Color=clRed then begin

b:=StrToInt(Bahis.Text);

Bahis.Text:=IntToStr(b-10);

if b-10<0 then Bahis.Text:='0';

s[a].font.Color:=clBlue;

                             end;

  end

  else begin

if y<60 then

    begin

    a:=(9+(x div 30));

    if s[a].Font.Color=clRed then begin

b:=StrToInt(Bahis.Text);

Bahis.Text:=IntToStr(b-10);

if b-10<0 then Bahis.Text:='0';

    s[a].font.Color:=clBlue;

                              end;

    end

 

  else begin

if y<90  then

  begin

  a:=(17+(x div 30));

  if s[a].Font.Color=clRed then begin

b:=StrToInt(Bahis.Text);

Bahis.Text:=IntToStr(b-10);

if b-10<0 then Bahis.Text:='0';

  s[a].Font.Color:=clBlue;

                            end;

  end

 

   else begin

  if y<120  then

  begin

  a:=(25+(x div 30));

  if s[a].Font.Color=clRed then begin

b:=StrToInt(Bahis.Text);

Bahis.Text:=IntToStr(b-10);

if b-10<0 then Bahis.Text:='0';

  s[a].Font.Color:=clBlue;

  end;

  end

 

   else begin

  if y<150  then

  begin

  a:=(33+(x div 30));

  if s[a].Font.Color=clRed then begin

b:=StrToInt(Bahis.Text);

Bahis.Text:=IntToStr(b-10);

if b-10<0 then Bahis.Text:='0';

  s[a].Font.Color:=clBlue;

  end;

  end;

end;

                     end;

end;

end;

end;

end;

end;

 

 

procedure TForm1.Button1Click(Sender: TObject);

var

x,y,z,t,f:integer;

b:variant;

begin

Randomize;

x:=1+Random(40);

Edit1.Text:=IntToStr(x);

y:=StrToInt(Para.Text);

   if y<0 Then ShowMessage('oyun bitti')

   else begin

if s[x].Caption=intToStr(x) then

    begin

    for i:=1 to 8 do begin

    Randomize;

    t:=1+Random(40);

      end;

   if s[x].Font.Color=clRed then

        begin

        b:=StrToInt(Bahis.Text);

 

        Para.Text:=IntToStr(y+((40/b)*100));

        if b=400 then Para.Text:=IntToStr(y);

        end

        else begin

        z:=StrToInt(Bahis.Text);

        Para.Text:=IntToStr(y-z);

        end;

        end;

    end;

Label1.Enabled:=False;

Button1.Visible:=False;

Button2.Visible:=True;

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

    for i:=1 to 40 do

    begin

    s[i].Font.Color:=clBlue;

    end;

 

Bahis.Text:='0';

Button1.Visible:=True;

Button2.Visible:=False;

Label1.Enabled:=True;

end;

procedure TForm1.ParaChange(Sender: TObject);

begin

Para2.Text:=Para.Text+' $';

end;

 

 

 

procedure TForm1.bahisChange(Sender: TObject);

begin

Bahis2.Text:=Bahis.Text+' $';

end;

 

procedure TForm1.newgame1Click(Sender: TObject);

begin

Button1.Visible:=True;

Button2.Visible:=False;

Para.Text:='1000';

Bahis.Text:='0';

 

Edit1.Text:='0';

for i:=1 to 40 do begin

  s[i].Font.Color:=clBlue;

 

  end;

end;

 

procedure TForm1.Quit1Click(Sender: TObject);

begin

Form1.Close;

end;

 

end.

 

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

 

Alpha Form

Flashtaki gibi alpaha efektli form

 

Timer bileşeninin ontimer olayına yazılacak kod :

 

var

x:integer;

begin

form1.alphablend:=true;

for x:=0 to 255 do

form1.alphablendvalue:=x+10;

end;

 

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

 

Tmediaplayer Ses Ayarlama

TMediaPlayer Kullanan bir uygulamada ses ayarı

uses

  MPlayer, MMSystem;

 

const

  MCI_SETAUDIO = $0873;

  MCI_DGV_SETAUDIO_VOLUME = $4002;

  MCI_DGV_SETAUDIO_ITEM = $00800000;

  MCI_DGV_SETAUDIO_VALUE = $01000000;

  MCI_DGV_STATUS_VOLUME = $4019;

 

type

  MCI_DGV_SETAUDIO_PARMS = record

    dwCallback: DWORD;

    dwItem: DWORD;

    dwValue: DWORD;

    dwOver: DWORD;

    lpstrAlgorithm: PChar;

    lpstrQuality: PChar;

  end;

 

type

  MCI_STATUS_PARMS = record

    dwCallback: DWORD;

    dwReturn: DWORD;

    dwItem: DWORD;

    dwTrack: DWORD;

  end;

 

procedure SetMPVolume(MP: TMediaPlayer; Volume: Integer);

  { Volume: 0 - 1000 }

var

  p: MCI_DGV_SETAUDIO_PARMS;

begin

  { Volume: 0 - 1000 }

  p.dwCallback := 0;

  p.dwItem := MCI_DGV_SETAUDIO_VOLUME;

  p.dwValue := Volume;

  p.dwOver := 0;

  p.lpstrAlgorithm := nil;

  p.lpstrQuality := nil;

  mciSendCommand(MP.DeviceID, MCI_SETAUDIO,

    MCI_DGV_SETAUDIO_VALUE or MCI_DGV_SETAUDIO_ITEM, Cardinal(@p));

end;

 

function GetMPVolume(MP: TMediaPlayer): Integer;

var

  p: MCI_STATUS_PARMS;

begin

  p.dwCallback := 0;

  p.dwItem := MCI_DGV_STATUS_VOLUME;

  mciSendCommand(MP.DeviceID, MCI_STATUS, MCI_STATUS_ITEM, Cardinal(@p));

  Result := p.dwReturn;

  { Volume: 0 - 1000 }

end;

//örnek olarak

bir tane scrollbar ekleyip onchange olayına

SetMPVolume(MediaPlayer1, scrollbar1.position);

dediğiniz halde kaydırma çubuğu ile sesi kısıp açabilirsiniz

Kolay gelsin

 

Dokümanı Değerlendirin. DEĞERLENDİR:

 

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

 

Timer Kullanımı

unit Unit7;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, ExtCtrls;

 

type

  TForm1 = class(TForm)

    Timer1: TTimer;

    Label1: TLabel;

    Edit1: TEdit;

    procedure Timer1Timer(Sender: TObject);

    procedure Edit1Change(Sender: TObject);

    procedure FormCreate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

  flag:boolean;

implementation

 

{$R *.dfm}

 

procedure TForm1.Timer1Timer(Sender: TObject);

var

strput:string;

myfile:Textfile;

 

begin

Assignfile(myfile,'fast.txt');

Append(myfile);

if Label1.Caption='ON'then begin

Label1.Caption:='OFF' ;

end

else begin Label1.Caption:='ON';

end;

while flag=true do begin

writeln(myfile,Edit1.Text);

flag:=false;

end;

Closefile(myfile);

 

end;

procedure TForm1.Edit1Change(Sender: TObject);

begin

flag:=true;

end;

 

procedure TForm1.FormCreate(Sender: TObject);

begin

flag:=true;

end;

 

end.

 

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

 

Richedit ten RTF formatını okuma

RichEdit nesnesinin RichText özelliğini okuyamazsınız.

Bu kod ile RichEdit nesnesinin altında yatan RTF kodlarını okuyabilir

ve bunu Wordpad dosyası olarak kaydedebilirsiniz..

 

Function GetRTF(RE: TRichedit): string;

Var

   strStream: TStringStream;

Begin

   strStream := TStringStream.Create(") ;

   Try

     RE.PlainText := False;

     RE.Lines.SaveToStream(strStream) ;

     Result := strStream.DataString;

   Finally

     strStream.Free

   End;

End;

 

 

Kullanımı :

 

   Memo1.Text := GetRTF ( RichEdit1 );

 

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

 

Açılır kapanır forum

AÇILIR-KAPANIR FORM

İşyeri kepengine benzer bir sekilde açilip kapanabilen bir form yaratmak için

kullanilabilecek kod örnegi asagidadir. Açilma ve kapanma komutu, bu örnekte

baslik alani üzerinde sag fare tusuna basilarak verilmektedir.

 

uses Printers,  Buttons, ShellAPI;

 

  private

    { Private declarations }

    FOldHeight : Integer;

    procedure WMNCRButtonDown(var Msg : TWMNCRButtonDown);

message WM_NCRBUTTONDOWN;

 

procedure TForm1.FormCreate(Sender: TObject);

begin

  FOldHeight := ClientHeight;

end;

 

procedure TForm1.WMNCRButtonDown(var Msg : TWMNCRButtonDown);

var

  I : Integer;

begin

  if (Msg.HitTest = HTCAPTION) then

    if (ClientHeight = 0) then

      begin

        I := 0;

        while (I < FOldHeight) do begin

          I := I + 40;

          if (I > FOldHeight) then

            I := FOldHeight;

          ClientHeight := I;

          Application.ProcessMessages;

        end;

      end

    else

      begin

        FOldHeight := ClientHeight;

        I := ClientHeight;

//kapanma efekti için, I degerini dogrudan "0" a esitlemek

//yerine kademeli olarak azaltabilirsiniz.

 

            I := 0;

          ClientHeight := I;

          Application.ProcessMessages;

    end;

end;

 

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

 

Yüzden geri sayım

00 den 0 a geri sayım

100 den 0 a geri sayan program

procedure Delay(ms : longint);

var TheTime : LongInt;

begin

   TheTime := GetTickCount + ms;

   while GetTickCount < TheTime do

     Application.ProcessMessages;

end;

 

 

procedure TForm1.Button1Click(Sender: TObject);

var i,s:integer;

begin

s:=100;

for i:=1 to 100 do begin

s:=s-1;

edit1.Text:=inttostr(s);

Delay(1000);

end;

end;

 

 

 

procedure TForm1.Button2Click(Sender: TObject);

begin

halt;

end;

 

procedure TForm1.FormCreate(Sender: TObject);

begin

edit1.Text:='100';

end;

 

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

 

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