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

Bir Serideki Değeri Diğer Seride Arama

#include "stdio.h"

#include "stdlib.h" /* system("cls") , tolower(x) ve exit(0) fonksiyonları için */

#include "conio.h" /* getche() fonksiyonu icin */

void main()

{

      int x[3]={17,42,90},y[20]={17,5,42,17,90,90,42,17,8,17,19,30,42,90,42,42,13,67,89,20};

      int x1_count=0,x2_count=0,x3_count=0,i,j;

      char secim;

      printf ("n                    ----------------------------------");

      printf ("n                   |                                 |");

      printf ("n                   |                                 |");

      printf ("n                   |                                 |");

      printf ("n                    ----------------------------------");

      printf ("n                   |                                 |");

      printf ("n                    ----------------------------------");

      printf ("nnnn                                 **********");

      printf ("n                                 * 3.ODEV *");

      printf ("n                                 **********");

      printf ("nnnnn                                              ALI INAL");

    printf ("n                                             200033028");

      printf ("n                                           End.Muh. 2C");

      printf ("nnn                      ____Herhangi Bir Tusa Basiniz___");

      secim=getche();

start:

      system("cls");

      printf ("n  PROGRAM MENUSU");

      printf ("n ----------------n");

      printf ("n a) X dizisindeki degerlerin, Y dizisindeki tekrar miktarlarini buln");

      printf ("n b) Cikisn");

      printf ("nnSeciminiz (a/b)...");

soru:

      secim=getche();

      switch (tolower(secim))

      {

      case 'a':{

            system("cls");

x1_count=0;

            x2_count=0;

            x3_count=0;

            printf ("Seriler:n--------n x[3]={");

            for (i=0;i<=2;i++)

            {

                  printf("%d",x[i]);

                  if (i!=2) printf (",");

            }

            printf ("}ny[20]={");

            for (i=0;i<=19;i++)

            {

                  printf("%d",y[i]);

                  if (i!=19) printf (",");

            }

            printf ("}n");

            for (i=0;i<=2;i++)

            {

                  for (j=0;j<=19;j++)

                  {

                        if (x[i]==y[j])

                        {

                             switch(i)

                             {

                             case 0: x1_count++;break;

                             case 1: x2_count++;break;

                             case 2: x3_count++;break;

                             }

                        }

                  }

            }

            printf ("nFREKANSLAR ve HISTOGRAMLARI");

            printf ("n-----------------------------------");

            printf ("n%3d SAYISININ FREKANSI(%d) |",x[0],x1_count);

            for (i=1;i<=x1_count;i++) printf("*");

            printf ("n%3d SAYISININ FREKANSI(%d) |",x[1],x2_count);

for (i=1;i<=x2_count;i++) printf("*");

            printf ("n%3d SAYISININ FREKANSI(%d) |",x[2],x3_count);

            for (i=1;i<=x3_count;i++) printf("*");

            printf ("nna) Ana Menuye Donus");

            printf ("nb) Cikis");

            printf ("nnSeciminiz (a/b)...");

soru2:

            secim=getche();

            switch (tolower(secim))

            {

            case 'a': goto start;

            case 'b': {printf("nn");exit(0);}

            default:{printf("nYanlis Secim! a veya b Giriniz..."); goto soru2;}

            }

      }

      case 'b': {printf("nn");exit(0);}

      default : {printf("nYanlis Secim! a veya b Giriniz..."); goto soru;}

      }

}

 

C++ Builder - .....................................

 

İki Boyutlu Bir Dizi Hakkında

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#include <conio.h>

 

int t[4][5]={{7,13,310,427,204},{99,2,508,85,607},{28,44,807,797,308},{356,109,44,707,107}},i,j;

int eks,ekt,ebs,ebt,s=0;

double stndev=0,average;

char secim;

 

void main()

{

void maxmin();

void sumaver();

void standev();

void backquestion();

void tabloyaz();

void toplam();

void ortalama();

system ("cls");  

printf ("n                    ----------------------------------");

printf ("n                   |           ALGORITMALAR           |");

printf ("n                   |                ve                |");

printf ("n                   | BILGISAYAR PROGRAMCILIGINA GIRIS |");

printf ("n                    ----------------------------------");

printf ("n                   |            BIM 106/3             |");

printf ("n                    ----------------------------------");

printf ("nnnn                                 **********");

printf ("n                                 * 4.ODEV *");

printf ("n                                 **********");

printf ("nnnnn                                              ALI INAL");

printf ("n                                             200033028");

printf ("n                                           End.Muh. 2C");

printf ("nnn                      ____Herhangi Bir Tusa Basiniz___");

secim=getch();

reprog:

system ("cls");

 

printf ("n  KULLANILACAK DIZIn ---------------------------------n");

tabloyaz();

 

printf ("nn  PROGRAM MENUSUn ---------------------------------");

printf ("n 1. En Buyukler/Kucukler");

printf ("n 2. Aritmetiksel Ortalama");

printf ("n 3. Standart Sapma");

printf ("n 4. Cikis");

printf ("nn ");

resoru:

printf ("Seciminiz...");

secim=getch();

 

switch (secim)

{

case '1': {

      system ("cls");

      tabloyaz();

      printf ("n >>> Dizisinde En Buyuk, En Kucuk Analizi:n -----------------------------------------");

      maxmin();

      backquestion();

      goto reprog;

      break;}

case '2': {

      system ("cls");

      tabloyaz();

      printf ("n >>> Dizisinde Aritmetiksel ");

      sumaver();

      printf ("n");

      backquestion();

      goto reprog;

      break;}

case '3': {

      system ("cls");

      tabloyaz();

      printf ("n >>> Dizisinde Standart ");

      standev();

      backquestion();

      goto reprog;

      break;}

case '4': {

      printf ("nn");

      exit(0);}

default: { 

      printf ("nYanlis Secim! "); goto resoru; break;}

}

 

}

 

void maxmin(void)

{

ebt=t[0][0];

ekt=t[0][0];

 

for (i=0;i<=3;i++)

{

      eks=t[i][0];

      ebs=t[i][0];

      for (j=0;j<=4;j++)

      {

            if (t[i][j]<eks) eks=t[i][j];

            if (t[i][j]>ebs) ebs=t[i][j];

            if (ebs>ebt) ebt=ebs;

            if (eks<ekt) ekt=eks;

      }

      printf ("n %d. Satirin En Buyugu= %4d   En Kucugu=%4d",i,ebs,eks);

}

 

printf ("n");

for (i=0;i<=4;i++)

{

      eks=t[0][i];

      ebs=t[0][i];

      for (j=0;j<=3;j++)

      {

            if (t[j][i]<eks) eks=t[j][i];

            if (t[j][i]>ebs) ebs=t[j][i];

      }

      printf ("n %d. Sutunun En Buyugu= %4d   En Kucugu=%4d",i,ebs,eks);

}

 

printf ("nn Tablonun En Buyugu= %4d   Tablonun En Kucugu=%4d",ebt,ekt);

}

 

void toplam(void)

{

s=0;

for (i=0;i<=3;i++)

{

      for (j=0;j<=4;j++)

      {

            s=s+t[i][j];

      }

}

}

 

void sumaver(void)

{

toplam();

average=s/20.0;

printf ("Ortalama= %lf",average);

}

 

void ortalama(void)

{

      toplam();

      average=s/20.0;

}

 

void standev(void)

{

ortalama();

for (i=0;i<=3;i++) for (j=0;j<=4;j++) stndev=stndev+(pow(t[i][j]-average,2));

stndev=sqrt(stndev/20);

printf ("Sapma= %lfn",stndev);

}

 

void backquestion(void)

{

      printf ("nn 1. Ana Menuye Donn 2. Cikisn");

resor:

      printf (" Secminiz...");

      secim=getch();

      switch (secim)

      {

      case '1': break;

      case '2': printf ("nn"); exit(0); break;

      default: printf ("n Yanlis Secim!"); goto resor; break;

      }

}

 

void tabloyaz(void)

{

printf ("n    ");

for (i=0;i<=4;i++) printf ("  [%d]",i);

printf("n");

for (i=0;i<=3;i++)

{

      printf (" [%d]",i);

      for (j=0;j<=4;j++) printf ("%5d",t[i][j]);

      printf ("n");

}

}

 

C++ Builder - .....................................

 

Edit İçerisinden istenilen bilginin alınması

Delphi yeni başlayan biri olarak bu kod beni epey bir zorladı...

 

 

 

 

procedure TForm1.Button1Click(Sender: TObject);

var

i: Integer;

URL:string;

begin

URL:=Edit1.Text; // Değişkenimiz edit1'in text'idir

if Pos('http://', LowerCase(URL)) <> 0 then // Eğer http:// sonra büyük harf varsa küçük harfe çevir

System.Delete(URL, 1, 7); //baştaki http:// ifadesini sil

i := Pos('/', URL); // URL değişkeninin içerinde '/' işaretini ara

Edit2.Text := Copy(URL, 1, i); // / işaretinden sonraki karakteristiksel bilgiyi kopyala edit2 nin text ine at

Edit3.Text := 'C:PortixSoftDownload Managerdownload'+copy(URL, i+1, Length(URL) - i + 1);// / işaretinden sonraki karakteristiksel bilgiyi kopyala edit3 ün textine at...

end;

end.

 

 

 

 

Coder by Caylak...

 

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

 

Programı ftp den Güncelleme

Var

  xDosyaUzunluk : LongInt;

 

function FTPDosyaAl( IdFTP : TIdFTP; SrcDosya, DesDosya:TFileName; Ftp, RemoteDir, Login, Pass : String ):Boolean;

begin // Uses IdFTP, IdFTPCommon

  Result := False;

  IdFtp.Host     := Ftp;

  IdFtp.Username := Login;

  IdFtp.Password := Pass;

  IdFtp.Passive  := True;

  IdFtp.Connect;

  If IdFtp.Connected then

  begin

    IdFtp.ChangeDir(RemoteDir);

   //   Gauge'de kullanmak için

   // Dosya Uzunluğunu grlobal bir değişkene atıyoruz...

    xDosyaUzunluk := IdFtp.Size( SrcDosya );

    Try

      IdFtp.TransferType := ftBinary; // Uses IdFTPCommon

      IdFtp.Get(SrcDosya, DesDosya, True);

    Finally

      Result := True;

    end;

    IdFtp.Quit;

  end;

end;

 

procedure TForm1.FormCreate(Sender: TObject);

begin

  If FileExists(ExtractFilePath(Application.Exename) +'Guncelle.BAT')

    then DeleteFile(ExtractFilePath(Application.Exename) +'Guncelle.BAT');

end;

 

procedure TForm1.Guncelle();

Var

  FTPAdres,

  KaynakDizin,

  Name,

  Pass,

  KaynakDosya,

  HedefDosya      : String;

begin

  // Bilerek bu örnek için 1 MB yer ayırarak açtığım FTP sunucu adresini veriyorum...

  FTPAdres    := 'emerkez.info';

  KaynakDizin := '/programlar';

  Name        := 'delphi';

  Pass        := 'arman';

  KaynakDosya := ExtractFileName(Application.Exename);

  HedefDosya  := ChangeFileExt( ExtractFilePath(Application.Exename) + KaynakDosya, '.BAK' );

  HedefDosya  := ChangeFileExt( ExtractFilePath(Application.Exename) + KaynakDosya, '.BAK' );

 

  If FileExists(HedefDosya) AND ( MessageDlg('Hedef Dosya Mevcut, üzerine yazılsın mı ? '+#13'('+HedefDosya+')', mtInformation, [mbYes, mbCancel], 0) = mrCancel )

   then EXIT

   else DeleteFile(HedefDosya);

 

  If FTPDosyaAl( IdFtp, KaynakDosya, HedefDosya, FTPAdres, KaynakDizin, Name, Pass )

    then MessageDlg('Dosya Başarıyla Alındı'+#13#13

                  + 'Şimdi program yeniden başlatılmak üzere kapatılacaktır....',

                  mtConfirmation, [mbOk], 0)

    else MessageDlg('Dosya Alınamadı'+#13'('+KaynakDosya+')', mtError, [mbok], 0);

 

  With TStringList.Create do begin

    Add('@Echo Off' );

    Add( Format('Copy %s %s', [ChangeFileExt(Application.ExeName,'.BAK'), Application.ExeName]) );

    Add('DEL '+ChangeFileExt(Application.ExeName,'.BAK'));

    Add( Application.ExeName );

    SaveToFile( ExtractFilePath(Application.Exename)+'Guncelle.BAT' );

    Free;

  end;

  Application.Terminate;

  WinExec( PChar( ExtractFilePath(Application.Exename)+'Guncelle.BAT'), SW_Hide );

end;

 

procedure TForm1.IdFtpStatus(ASender: TObject; const AStatus: TIdStatus;

  const AStatusText: string);

begin

  StatusBar1.SimpleText := AStatusText;

end;

 

procedure TForm1.IdFtpWork(ASender: TObject; AWorkMode: TWorkMode;

  AWorkCount: Integer);

begin

  Gauge1.Progress := AWorkCount;

  Application.ProcessMessages;

end;

 

procedure TForm1.IdFtpWorkBegin(ASender: TObject; AWorkMode: TWorkMode;

  AWorkCountMax: Integer);

begin

  Gauge1.MinValue := 0;

  Gauge1.MaxValue := xDosyaUzunluk;

  Gauge1.Progress := 0;

  Gauge1.Visible  := True;

end;

 

procedure TForm1.IdFtpWorkEnd(ASender: TObject; AWorkMode: TWorkMode);

begin

  Gauge1.Progress := 0;

  Gauge1.Visible  := False;

end;

 

Kullanımı ise şu kadar basit

procedure TForm1.Button1Click(Sender: TObject);

begin

  Guncelle();

end;

 

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

 

Windows Versiyon

type

    TWindowsVersion = (wvUnknown, wvWin95, wvWin98, wvWinME, wvWinNT,

                       wvWin2k, wvWinXP, wvWin2k3, wvVista, wvSeven);

 

 

function GetWindowsVersion: TWindowsVersion;

begin

  Result := wvUnknown;

  if Win32Platform = VER_PLATFORM_WIN32_NT then

    case Win32MajorVersion of

      4: Result := wvWinNT;

      5: case Win32MinorVersion of

           0: Result := wvWin2k;

           1: Result := wvWinXP;

           2: Result := wvWin2k3;

         end;

      6: case Win32MinorVersion of

           0: Result := wvVista;

      7: case Win32MinorVersion of

           0: Result := wvSeven;

         end;

    end

  else

    case Win32MinorVersion of

      00: Result := wvWin95;

      10: Result := wvWin98;

      90: Result := wvWinME;

    end;

  end;

end;

 

// Kullanımı : if (GetWindowsVersion = wvWinXP) then ......

 

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

 

Çalışma Zamanında Buton Oluşturma

Procedure ButonClick(Sender:Tobject);    // Private Tanim

{ Private declarations }

//

Public

End;

 

Var

Buton:Array of Tbutton; // Tanımlama

 

implementation

 

PROCEDURE BUTONOLUSTUR(Butonismi:String;Son:Integer);

Var

i:Integer;

 begin

SetLength(Dizine,Son+1);

            for i:=1 to son do

         begin

               Buton[i]:=TButton.Create(self);

               buton[i].Parent :=Self;

                      with buton[i] do

                            begin

                            tag:=i;

                           Left :=550;

                            Top:=(basla*30);

                            Width :=20;

                            Height :=19;

                            Caption:='Butonismi '+ IntToStr(i-1);

                            Name :='Butonismi '+IntToStr(basla);

                            OnClick  := ButonClick;

                             END ;

 End;     // Buton Sonu;

 

 Procedure TForm1.ButonClick(Sender:Tobject);

 Begin

 ShowMessage('Yeni Butona Hoş Geldin');

 End;   // Onclick Olayı

 

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

 

dizi ile komponent kullanma

Selam arkadaşlar,

Aşağıdaki kod ile dinamik bileşen oluşturma ve kullanma görülmektedir.

***************************************************

merhaba,

 

Delphide çalışma anında forma nesne eklemek kolaydır.

Örneğin program başlarken ekrana 2 adet buton ekleyen kod şu şekildedir:

 

unit Unit1;

interface

uses

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

   Dialogs, StdCtrls;

 

type

  TForm1 = class(TForm)

    procedure FormActivate(Sender: TObject);

    procedure TusClick(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

  Tuslar:Array[1..10]of TButton;

implementation

 

{$R *.dfm}

 

procedure TForm1.FormActivate(Sender: TObject);

Begin

Tuslar[1]:=TButton.Create(Form1);

Tuslar[1].Setbounds(10,10,70,30); //Buton konumu

Tuslar[1].Parent:=Form1;

Tuslar[1].caption:='Yeni Buton1';

Tuslar[1].OnClick:=TusClick;

 

Tuslar[2]:=TButton.Create(Form1);

Tuslar[2].Setbounds(90,10,70,30); //Buton konumu

Tuslar[2].Parent:=Form1;

Tuslar[2].caption:='Yeni Buton2';

Tuslar[2].OnClick:=TusClick;

end;

 

procedure TForm1.TusClick(Sender: TObject);

begin

if sender=Tuslar[1] then Messagedlg('1 nolu butona

basıldı',mtinformation,[mbok],0);

if sender=Tuslar[2] then Messagedlg('2 nolu butona

basıldı',mtinformation,[mbok],0);

end;

 

end.

 

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

 

dizi'ye mevcut component'leri nasıl aktarabilrim..?

Dizi[1]:='1';

Dizi[2]:='1A';

Dizi[3]:='2';

Dizi[4]:='2A';

Dizi[5]:='3';

for i:=1 to 5 do

begin

    if (dizi[i]) = ('2A')then

    begin

        //"2A"ya eşit diziyi buldum fakat

        //Yukarıdaki Her Dizi Aslında Bir Buton component'i temsil ediyor

        //buldugum diziye ait component'e nasıl kod yazabilirim

        //bütün butonları if else yapısına sokmak saçma geldi

        //buton sayısı 100 olursa if else çekilmez olur

        //Şimdiden Teşekkürler..

 

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

 

Quick Reporda İstenilen Adres Satırlarını Çift Göstermek

Quick reporda bir listeleme prg yazıyordum bazı kişilerin açıklama bilgileri baya uzun olduğu için çift satır oluyor bazıları tek satırda kalıyordu delay bandını büyütüp iki satır yapıncada kısa olanlar cok çirkin bir görünüm alıyordu bu soru aşağıdaki gibi çözdüm

 

 

if Length(sender.AsString) > 50 then

   begin

     QuickRep1.Bands.DetailBand.Height:=72;

    end else  QuickRep1.Bands.DetailBand.Height:=32;

 

   text:=sender.AsString;

 

 

burda qrdbtext için özellikleri :

Autosize := False

Boyutları çift satıra göre ayarlı

 

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

 

Delphi.net'te Hostname, Makine Adı, IP'yi alan Kod Örneği

system.net i unitin uses kısmına akleyiniz.

ben kodları butonun onclick ine yazdım. o kodu olduğu gibi yapıştıryorum.

 

procedure TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs);

var

ip:ipaddress;

begin

         Response.Write(System.Net.Dns.GetHostByName('LocalHost').HostName);

        Response.Write('<br>');

        Response.Write(System.Environment.MachineName + '   ' + System.Net.Dns.GetHostName());

        For ip In System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName()).AddressList do

            Response.Write(ip);

 

end;

 

burda hostname i almanın iki yolu var. Makinenin ip sini ve makine adını alıyor.

Amacım system.net kutuphanesiile yapabilieceklerinizkonusundabir fikir vermekti.

Bu kutuphaneyi biraz gurcalamanızı oneririm...

 

Delphi.NET - .....................................

 

Momodaki Yazıyı Kopyalama İşlemi (Düzeltilmiş Hali)

Uses clipbrd;

 

memo1.SelectAll;

memo1.CopyToClipboard;

 

//Arkadaş eklemiş, bir kaç eksiklik vardı giderdim..

//eklediği için teşekkürler.

//kolay gelsin..

 

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

 

sihirli kareler makro

Sub SihirliKare()

  Const BOYUT = 11

 

  If BOYUT Mod 2 <> 1 Then

    MsgBox "BOYUT tek sayı olmalı."

    Exit Sub

  End If

 

  If BOYUT < 3 Then

    MsgBox "BOYUT en az 3 olmalı."

    Exit Sub

  End If

 

  If BOYUT > 255 Then

    MsgBox "BOYUT Excel'in görüntüleyebileceğinden küçük olmalı. 3-255 arası bir tek sayı deneyin." & vbCr & vbCr & _

           "(Yöntem teorik olarak sonsuza kadar herhangi bir tek sayı için uygulanabilir.)"

    Exit Sub

  End If

 

  Dim YARIM As Long

  YARIM = BOYUT 2

 

  Dim i As Long, j As Long

  Dim satir As Long, sutun As Long, sayi As Long

 

  Sheets.Add  'Her şey yeni sayfada yapılıyor.

  Cells.Select

  With Selection

    .ColumnWidth = 2.5

    .RowHeight = 15

    .Font.Size = 6

    .HorizontalAlignment = xlCenter

    .VerticalAlignment = xlCenter

  End With

 

  For i = 1 To BOYUT

    For j = 1 To BOYUT

 

      satir = BOYUT - j + i

      sutun = j + i - 1

      sayi = (i - 1) * BOYUT + j

 

      If satir <= YARIM Then

         Cells(satir + BOYUT - YARIM + 1, sutun - YARIM + 1) = sayi

      ElseIf sutun <= YARIM Then

         Cells(satir - YARIM + 1, sutun + BOYUT - YARIM + 1) = sayi

      ElseIf satir > BOYUT + YARIM Then

         Cells(satir - BOYUT - YARIM + 1, sutun - YARIM + 1) = sayi

      ElseIf sutun > BOYUT + YARIM Then

         Cells(satir - YARIM + 1, sutun - BOYUT - YARIM + 1) = sayi

      Else

         Cells(satir - YARIM + 1, sutun - YARIM + 1) = sayi

      End If

 

    Next

  Next

 

  Columns(1).Select

  With Selection

    .ColumnWidth = 12

    .Font.Size = 8

  End With

 

  Cells(2, 1) = "BOYUT"

  Cells(2, 1).Select

  Selection.Font.Bold = True

  Cells(3, 1) = "'" & BOYUT & "x" & BOYUT

 

  Cells(5, 1) = "SAYILAR"

  Cells(5, 1).Select

  Selection.Font.Bold = True

  Cells(6, 1) = "'1 - " & CDbl(BOYUT ^ 2)

 

  Cells(8, 1) = "TOPLAMLAR"

  Cells(8, 1).Select

  Selection.Font.Bold = True

  Cells(9, 1).Formula = "=SUM(B2:B" & BOYUT + 1 & ")"

 

  Cells(1, 1).Select

 

End Sub

 

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

 

Evrak Numarası veya Dosya Adını Rakamsal olarak arttırmak

{String bir değerde bulunan rakamsal değerleri kullanarak bir sonraki değeri bulur.

Mesela..:

A91773212 i-> A91773213

A009 u -> A010

ve

XYZ999'u -> XYZ1000 yapar

Daha çok çoklu dosya kaydı yaparken dosya adlarını bulmada ve fatura irsaliye

gibi evrak numaralarının bir sonrakini elde etmede kullanılır}

function DegerArt(const S:String):String;

var i:Integer; Ch:Char; Normal:Boolean;

begin

  Result:=S;

  i:=Length(Result);

  Normal:=False;

  while (i>0) and not Normal do begin

    Ch:=Result[i];

    if Ch in ['0'..'9'] then begin

      if Ch='9' then Ch:='0' else begin

        Inc(Ch);

        Normal:=True;

      end;

      Result[i]:=Ch;

    end else Break;

    dec(i);

  end;

  if not Normal then Insert('1',Result,i+1);

end;

 

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

 

Delphi'de Aktif Klasörden Geri gitmek

Eğer o an bulunduğunuz aktif klasör c:abcdefghijkl: is ve siz "abc" klasöründeki "xyz"

klasörünün içineki 123.jpg resmine ulaşmak istiyorsanız belirtmeniz gereken adres:

//3 kademe yukarı gitmek istediğimiz için 3 kez ".." kullandık

Image1.Picture.LoadFromFile('......xyz123.jpg')   dir...

 

Basit ama önemli ;)

 

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

 

Formun Boyutlarını Sabitlemek / No Resize

Aslında biliyorum forumda var ancak bu kod diğerlerine nazaran daha kısa diğerleri işi

8 satırda hallederken bu iki satırda hallediyor.. Gerçi kontrol sayısı da daha az ama

eğer amacınız formumun boyutları AxB olsun başkada birşey istemem ise en uygun

kod bu:

 

 

type

TForm1 = class(TForm)

.

.

.

protected

procedure WMGetMinMaxInfo(var Message: TWMGetMinMaxInfo);

message WM_GETMINMAXINFO;

end;

.

.

.

procedure TForm1.WMGetMinMaxInfo(var Message: TWMGetMinMaxInfo);

begin

with Message.MinMaxInfo^ do

begin

ptMinTrackSize := Point(800, 600);     //minimum Genişlik X Yükseklik

ptMaxTrackSize := Point(1024, 768);    //maksimum Genişlik X Yükseklik

end;

end;

 

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

 

SQL Tarih Fonksiyonları

Ayın İlk Günü

select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)

 

Bulunduğumuz Haftanın İlk Günü Tarihi

select DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)

 

Haftanın Günleri Günlerini Ayarlar

set DATEFIRST 1            //Pazartesi

select DATEADD(dd, 1 - DATEPART(dw, getdate()), getdate())

 

Yılın İlk Günü

select DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)

 

Çeyrek Dönemin İlk Günü

select DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)

 

Geçerli Günün Gece Yarısı tam saatini verir

select DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)

 

Geçen Ayın Son Günü

select dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()  ), 0))

 

Geçen Yılın Son Günü

select dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()  ), 0))

 

Geçerli Ayın Son Günü

select dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate()  )+1, 0))

 

Geçerli Yılın Son Günü

select dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()  )+1, 0))

 

Geçerli Ayın İlk Pazartesi Günü

select DATEADD(wk, DATEDIFF(wk,0,

            dateadd(dd,6-datepart(day,getdate()),getdate())

                               ), 0)

 

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

 

Memodaki yazıyı kopyalama işlemi

memo1.lines.selectall;

memo1.copytoclirtbort;

 

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

 

Otomatik Kod ver

BU KOD İLE 120.100.00256  TARZINDA MUHASEBE PLANI KODU VEYA BENZERİ ALFASAYISAL

KOD VERİLMESİ GEREKEN KOD UYGULAMALARI İÇİN hazırlanmış bir fonksiyon

 

datamodul içerisinde QHesapkod adında adoquery tanımlanıştır.

 

hesapplani  tablosunda tablo yapısı

 

hesapno varchar(25)    // hesap no  120 -  120.100 - 120.100.00256

hesapadi varchar(150)  // hesap açıklaması

 

müşteri kaydının tutu7lduğu tabloda hesapkodu için verilmiş bir tanımlama alanı

olmalı ve hesapno alanı ile senkronize çalışmalıdır

 

 

 

 

 

 

function TAnaForm.kodver(MOtoKod: string): string;

var

gelen:string;

boyut,sorgu,i,j: Integer;

begin

 

with dmana.QhesapKod do

begin

close;

sql.clear;

sql.Add('select * from hesapplani where hesapno like '+#39+MOtoKod+#39);

open;

end;

sorgu:=0;

if  dmana.QhesapKod.RecordCount=0 then    result:='00001';

 

 

if  dmana.QhesapKod.RecordCount=1 then

      begin

      for i := 0 to 4 do

      begin

      if LeftStr(gelen,1)='0' then

       begin

       sorgu:=sorgu+1;

       gelen:=RightStr(gelen,(5-sorgu));

       end ;

      end;

       sorgu:=strtoint(gelen);

       sorgu:=sorgu+1;

       result:=inttostr(sorgu);

       end;

 

 

if  dmana.QhesapKod.RecordCount>1 then

      begin

      boyut:= dmana.QhesapKod.RecordCount;

      dmana.qhesapkod.First;

      for i := 0 to boyut-1 do

        begin

        gelen:= RightStr( dmana.QhesapKodHesapNo.AsString,5);

            for j := 0 to 4 do

              begin

              if LeftStr(gelen,1)='0' then

                 begin

                 gelen:=RightStr(gelen,(5-j));

                 end else break;

               end;

        if sorgu< strtoint(gelen) then sorgu:=strtoint(gelen);

        dmana.QhesapKod.Next;

        end;

        sorgu:=sorgu+1;

        gelen:=inttostr(sorgu);

   case (5-Length(gelen)) of

      0:

        begin

        result := gelen;

        end;

      1:

        begin

        result := '0'+gelen;

        end;

      2:

        begin

        result := '00'+gelen;

        end;

      3:

        begin

        result := '000'+gelen;

        end;

      4:

        begin

        result := '0000'+gelen;

        end;

      end;

      end;

end;

 

 

 

 

kullanımı

 

procedure TMusteri.Button1Click(Sender: TObject);

begin

MaskEdit1.Text:=anaform.kodver('120.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