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

For döngüsünden kaçış - çıkmak

önce global bir değişken tanımlayalım (alıntı nın açıklanmış halidir diyelim ;) )

 

var cik : Boolean;

 

 

daha sonra mesela progressbar'a değer atıyor olalım ve bunu Button1 in clik yordamı ile başlatalım

 

procedure TForm1.Button1Click(Sender: TObject);

var a : Integer;

begin

  cik := false;

  ProgressBar1.Min := 0;

  ProgressBar1.Max := 1000000;

  for a:=0 to 1000000 do begin

    ProgressBar1.Position := a;

    Application.ProcessMessages; // Böylece bilgisayarı çok az bir zamanlığına oyaladık

    if (Application.Terminated) OR (cik) then break;  //o sıarada Button 2 aracılığı ile

  end;                                                //cik değerinin true olmasını sağlıyacağız

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

  cik := true;

end;

 

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

 

WebImage (Component)

//= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

//--- WebImage Component v1.0 -------------------------------------------------

//--- (c) BilgeSoft 2008 ------------------------------------------------------

//--- Author          : Salih BOZ ---------------------------------------------

//--- Web             : www.bilgesoft.com -------------------------------------

//= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

//                     -------------------                                      

//                         ÖZELLİKLER                                          

//                     -------------------                                     

//     Internet üzerinde bulunan jpeg resimleri formunuzda gösterir.           

//                                                                             

//                                                                             

//= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

 

unit WebImage;

 

interface

 

uses

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

  ExtCtrls, Jpeg;

type

  TWebImageThread = class;

  TWebImage = class(TImage)

  private

        { Private declarations }

  protected

        { Protected declarations }

        FWebImageThread: TWebImageThread;

  public

        { Public declarations }

        constructor Create(AOwner: TComponent); override;

        destructor Destroy; override;

    procedure LoadFromURL(URL: String);

  published

        { Published declarations }

  end;

  TWebImageThread = class(TThread)

  protected

        FFileExt: String;

        procedure View;

  public

       WebImage: TWebImage;

        URL: String;

        Stream: TStream;

        procedure Execute; override;

  end;

 

procedure Register;

function   GetHttpFile(StrUrl:String; Stream:TStream):Boolean;

 

implementation

 

uses WinINet;

 

procedure Register;

begin

  RegisterComponents('Bilgesoft', [TWebImage]);

end;

 

function GetHttpFile(StrUrl:String; Stream:TStream):Boolean;

var

  ISession, HttpFile: HINTERNET;

  UrlBuff: String;

  ByteRead, BuffSize, FileSize, Reserved: DWord;

  bSizeIsKnown: boolean;

  ms: TMemoryStream;

  FileSizeBuff: Pointer;

  Buffer: Pointer;

begin

  Stream.Position := 0;

  Result := false;

 

  ISession := InternetOpen(nil, INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);

  HttpFile := InternetOpenUrl(ISession, PChar(StrUrl), nil, 0, INTERNET_FLAG_DONT_CACHE, 0);

  SetLength(UrlBuff, 1024);

  BuffSize := 1024;

  Reserved := 0;

if HttpQueryInfo(HttpFile, HTTP_QUERY_CONTENT_LOCATION, PChar(UrlBuff), BuffSize, Reserved) = false then

  begin

         case(GetLastError()) of

                ERROR_INSUFFICIENT_BUFFER:

                begin

                   SetLength(UrlBuff, BuffSize+1);

                   HttpQueryInfo(HttpFile, HTTP_QUERY_CONTENT_LOCATION, PChar(UrlBuff), BuffSize, Reserved);                 end;

                ERROR_HTTP_HEADER_NOT_FOUND:

                   UrlBuff := StrUrl;

                else

                   InternetCloseHandle(HttpFile);

                   exit;

         end;

  end;

  GetMem(FileSizeBuff, 4);

  BuffSize := sizeof(FileSizeBuff);

  Reserved := 0;

  bSizeIsKnown := HttpQueryInfo(HttpFile, HTTP_QUERY_CONTENT_LENGTH, FileSizeBuff, buffSize, Reserved);

  if bSizeIsKnown then

  begin

         FileSize := StrToInt(PChar(FileSizeBuff));

         if Stream is TMemoryStream then

                ms := Stream as TMemoryStream

         else

                ms := TMemoryStream.Create;

         ms.Size := FileSize;

         Result := InternetReadFile(HttpFile, ms.Memory, FileSize, ByteRead);

         if Result then Stream.CopyFrom(ms, 0);

         if ms <> Stream then ms.Free;

  end

  else

  begin

         GetMem(Buffer, 2048);

         FileSize := 2048;

         while true do

         begin

                Result := InternetReadFile(HttpFile, Buffer, FileSize, ByteRead);

                if ByteRead = 0 then break;

                Stream.Write(Buffer^, ByteRead);

         end;

         FreeMem(Buffer);

  end;

  FreeMem(FileSizeBuff);

  InternetCloseHandle(HttpFile);

  InternetCloseHandle(ISession);

end;

 

constructor TWebImage.Create(AOwner: TComponent);

begin

        inherited;

        FWebImageThread := nil;

end;

 

destructor TWebImage.Destroy;

begin

        if not (csDesigning in ComponentState) then

        begin

                if FWebImageThread <> nil then

                begin

                        FWebImageThread.Terminate;

                        FWebImageThread.WaitFor;

                        FWebImageThread := nil;

                end;

        end;

        inherited;

end;

 

procedure TWebImage.LoadFromURL(URL: String);

begin

        if FWebImageThread = nil then

        begin

                FWebImageThread := TWebImageThread.Create(true);

                FWebImageThread.FFileExt := UpperCase(ExtractFileExt(URL));

                FWebImageThread.WebImage := Self;

                FWebImageThread.URL := URL;

                FWebImageThread.Resume;

        end;

end;

 

procedure TWebImageThread.View;

var

        Jpeg: TJpegImage;

begin

        Stream.Seek(0, soFromBeginning);

        if (FFileExt = '.JPG') or (FFileExt = '.JPEG') then

        begin

                Jpeg := TJpegImage.Create;

                try

                        Jpeg.LoadFromStream(Stream);

                        WebImage.Picture.Assign(Jpeg);

                except

                end;

                Jpeg.Free;

        end;

        WebImage.Repaint;

end;

 

procedure TWebImageThread.Execute;

var

        Succeed: Boolean;

begin

        Stream := TMemoryStream.Create;

        Succeed := GetHttpFile(URL, Stream);

        if Succeed then

                Synchronize(View);

        Stream.Free;

        WebImage.FWebImageThread := nil;

end;

 

end.

 

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

 

Decode/Encode WideString

function DecodeWideStr(s:string): widestring;

var

  wc: widechar;

  wsi: Integer;

begin

  Result := '';

  if pos('|',s) = 1 then

  begin

    delete(s,1,2);

    for wsi := 1 to length(s) div 2 do

    begin

      wc := widechar(smallint(ord(s[wsi * 2]) + 256 * ord(s[wsi * 2 - 1])));

      Result := Result + wc;

    end;

  end

  else

    Result := s;

end;

 

function EncodeWideStr(s:widestring): string;

var

  k: Integer;

  wc: widechar;

  d: string;

begin

  d := '|'; // unicode start marker

 

  for k := 1 to length(s) do

  begin

    wc := s[k];

    d := d + chr(((smallint(wc) and $FF00) shr 8));

    d := d + chr(smallint(wc) and $FF);

  end;

  Result := d;

end;

 

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

 

RichEditte Arama Yapmak

Alıntıdır...

ve alıntı bu satırın bir altından başlıyor

//-------------------------------------------------------------------------------

Dün gece bir programcılık sitesinin forum kısmında üyenin birisi Delphide RichEditte nasıl arama

yapıldığını soruyordu. Hemen ayrıntıya girmeden aşağıda verdiğim cevabı verdim.

 

RichEdit nesnesinin içeriğinde arama yapmak istiyorsanız FindText() metodunu kullanabilirsiniz.

Bu konuda bilgi vermek için forma bir düğme yerleştirdim ve aşağıda verdiğim kodu hazırladım. Aramaya

RichEdit nesnesi içeriğinin başından itibaren yapmak istediğim için FindText metoduna 2. parametre olarak 0

verdim. Bu kodu geliştirip aynı bilginin bulunduğu 2. veya 3. yere gidebilirsiniz.

 

procedure TForm1.BulClick(Sender: TObject);

Var

Sonuc, Uzunluk :Integer;

Aranan : String;

Secenek : TSearchTypes;

begin

Uzunluk := Length(RichEdit1.Text);

Aranan := InputBox('Aranacak bilgi', '', '');

Secenek := Secenek + [stMatchCase];

Sonuc := RichEdit1.FindText(Aranan, 0, Uzunluk, Secenek);

If Sonuc <> -1 Then

begin

RichEdit1.SetFocus;

RichEdit1.SelStart := Sonuc;

RichEdit1.SelLength := Length(Aranan);

end

else

ShowMessage('Aradığınız bilgi bulunamadı');

end;

 

Bu kodda tanımladığım ve FindText() metoduna 4. parametre olarak TSearchTypes tipi ile arama yapılırken

küçük-büyük harf ayrımının yapılıp yapılmayacağı ve aranan bilginin bağımsız kelime olup olmadığı konusunda

ayarlama yapılabilir. Bu örnekte bu değişkene [stMatchCase] seçeneğini aktardığım küçük büyük harf ayrımı

yapılır. TSearchTypes tipinin 2. elemanına ise stWholeWordseçeneği aktarılabilinir.

 

Ancak bu kodu deneyen forum üyesi 2. bir soru daha yönelterek; RichEdite çok miktarda bilgi girdiği için

dikey kaydırma çubuğuna yer verdiğini ve FindText() ile aranıp bulunup ters renge boyanan metnin nerede

olduğunu görmek için elle kaydırma yapmak zorunda kaldığını belirtti. Nedense bu sorunu atlamışım.

Yukarıda verdiğim kod üzerinde çalıştım, help metinlerine baktım ama FindText() metodu ile arama işlemi

sonucu metnin nasıl kaydırılacağı konusunda hiç bilgi bulamadım. Saat gece yarısını geçtiği fazla araştırma

yapamadım uyudum. Bu sabah bu sorunu yıllardır Delphi ile program yazan iş arkadaşım Metin beye havale ettim.

Metin bey 1 saatlik uğraştan sonra HideSelection özelliğini false yapılması gerektiğine hükmetti.

 

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

 

Delphi Kod Editörü'nde Ctrl+J Tuş Bileşeni Kullanımı

Yeni başlayanlara yol gösterici olacağı düşüncesiyle, Delphi kod editöründe Ctrl+J

tuş bileşeninin kullanımı ile ilgili örnekler sunuyorum.

Açıklamalarda kullanılan | işareti yanıp sönen imleci ifade etmektedir.

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  |(imleç) yanıp söndüğü yerde Ctrl+J kullanımı ile tüm blok listesine ulaşırsınız.

  Liste, array declaration (const) ile başlar ve alfabetik sırada gider.

  c| -> c harfinden sonra Ctrl+J basımı "case statement (with else)" ilk sırada gelir

        ve onaylamanız halinde;

  case | of

    : ;

    : ;

  else ;

  end;      ---> bloğunu oluşturur.

 

  i|Ctrl+J -> açılan listede if then else seçerseniz;

  if | then

  begin

 

  end

  else

  begin

 

  end;      ---> bloğunu oluşturur.

 

  f|Ctrl+J -> for veya function blokları,

  t|Ctrl+J -> try blokları,

  w|Ctrl+J -> while veya with blokları oluşturur.

 

end;

 

İşinizi görmesi dileklerimle,

Çalışmalarınızda başarılar dilerim.

 

NeverFear - kaheri579@hotmail.com

 

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

 

dosya/klasör gizle, işlem gizle, port gizle (rootkit örnek)

http://...................................../DownloadFile.aspx?PostId=33383&Destination=UserPosts%2f11153.beni_gizle.rar

 

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

 

Dosya Şifreleme / Açma

//Bu prosedür verilen dosyayı şifreler, eğer şifreli ise açar

 

procedure EnDecryptFile(pathin, pathout: string; Chave: Word);

var

  InMS, OutMS: TMemoryStream;

  cnt: Integer;

  C: byte;

begin

  InMS  := TMemoryStream.Create;

  OutMS := TMemoryStream.Create;

  try

    InMS.LoadFromFile(pathin);

    InMS.Position := 0;

    for cnt := 0 to InMS.Size - 1 DO

      begin

        InMS.Read(C, 1);

        C := (C xor not (ord(chave shr cnt)));

        OutMS.Write(C, 1);

      end;

    OutMS.SaveToFile(pathout);

  finally

    InMS.Free;

    OutMS.Free;

  end;

end;

 

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

 

Delphi sürümlerini tanımlama dosyası

Selam arkadaşlar,

 

Delphide sürüm kontrolü için aşağıdaki dosyayı projeyle aynı dizine yerleştirin

Kullanım için aşağıdaki satırı programınıza ekleyin:

{$I VERSIONS.INC}

 

Kullanımına örnek:

  {$IFNDEF DELPHI5_UP}

  TContextPopupEvent = procedure(Sender: TObject; MousePos: TPoint;

    var Handled: Boolean) of object;

  {$ENDIF}

 

VERSIONS.INC dosyası:

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

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

// File        : VERSIONS.INC

// Description : Supply a better list of defines than simply VERxxx

// Author      : Lasse V?gs?ther Karlsen <lasse@cintra.no>

// Copyright   : (C) 1999 Lasse V?gs?ther Karlsen

 

// Used with permission.

// Modified for D6/Kylix.  efg, June/July 2001.

// Modified for D7         Jim McKeeth, January 2003

 

// $Author: Lasse $

// $Revision: 1 $

// $Date: 1.10.99 14:17 $

// $Archive: /Komponenter/Utils/VERSIONS.INC $

 

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

// First define the proper version define

{$UNDEF DELPHI1}  {$IFDEF VER80}  {$DEFINE DELPHI1} {$ENDIF}

{$UNDEF DELPHI2}  {$IFDEF VER90}  {$DEFINE DELPHI2} {$ENDIF}

{$UNDEF BCB1}     {$IFDEF VER93}  {$DEFINE BCB1}    {$ENDIF}

{$UNDEF DELPHI3}  {$IFDEF VER100} {$DEFINE DELPHI3} {$ENDIF}

{$UNDEF BCB3}     {$IFDEF VER110} {$DEFINE BCB3}    {$ENDIF}

{$UNDEF DELPHI4}  {$IFDEF VER120} {$DEFINE DELPHI4} {$ENDIF}

{$UNDEF BCB4}     {$IFDEF VER125} {$DEFINE BCB4}    {$ENDIF}

{$UNDEF DELPHI5}  {$IFDEF VER130} {$DEFINE DELPHI5} {$ENDIF}

{$UNDEF DELPHI6}  {$IFDEF VER140} {$DEFINE DELPHI6} {$ENDIF}

{$UNDEF DELPHI7}  {$IFDEF VER150} {$DEFINE DELPHI7} {$ENDIF}

 

{$IFDEF DELPHI1}  {$DEFINE DELPHI}

                  {$DEFINE DELPHI1UP} {$ENDIF}

{$IFDEF DELPHI2}  {$DEFINE DELPHI}

                  {$DEFINE DELPHI1UP}

                  {$DEFINE DELPHI2UP} {$ENDIF}

{$IFDEF DELPHI3}  {$DEFINE DELPHI}

                  {$DEFINE DELPHI1UP}

                  {$DEFINE DELPHI2UP}

                  {$DEFINE DELPHI3UP} {$ENDIF}

{$IFDEF DELPHI4}  {$DEFINE DELPHI}

                  {$DEFINE DELPHI1UP}

                  {$DEFINE DELPHI2UP}

                  {$DEFINE DELPHI3UP}

                  {$DEFINE DELPHI4UP} {$ENDIF}

{$IFDEF DELPHI5}  {$DEFINE DELPHI}

                  {$DEFINE DELPHI1UP}

                  {$DEFINE DELPHI2UP}

                  {$DEFINE DELPHI3UP}

                  {$DEFINE DELPHI4UP}

                  {$DEFINE DELPHI5UP} {$ENDIF}

{$IFDEF DELPHI6}  {$DEFINE DELPHI}

                  {$DEFINE DELPHI1UP}

                  {$DEFINE DELPHI2UP}

                  {$DEFINE DELPHI3UP}

                  {$DEFINE DELPHI4UP}

                  {$DEFINE DELPHI5UP}

                  {$DEFINE DELPHI6UP} {$ENDIF}

{$IFDEF DELPHI7}  {$DEFINE DELPHI}

                  {$DEFINE DELPHI1UP}

                  {$DEFINE DELPHI2UP}

                  {$DEFINE DELPHI3UP}

                  {$DEFINE DELPHI4UP}

                  {$DEFINE DELPHI5UP}

                  {$DEFINE DELPHI6UP}

                  {$DEFINE DELPHI7UP} {$ENDIF}

{$IFDEF LINUX}    {$DEFINE DELPHI}

                  {$DEFINE DELPHI1UP}

                  {$DEFINE DELPHI2UP}

                  {$DEFINE DELPHI3UP}

                  {$DEFINE DELPHI4UP}

                  {$DEFINE DELPHI5UP}

                  {$DEFINE DELPHI6UP} {$ENDIF}

{$IFDEF BCB1}     {$DEFINE BCB}

                  {$DEFINE BCB1UP}    {$ENDIF}

{$IFDEF BCB3}     {$DEFINE BCB}

                  {$DEFINE BCB1UP}

                  {$DEFINE BCB3UP}    {$ENDIF}

{$IFDEF BCB4}     {$DEFINE BCB}

                  {$DEFINE BCB1UP}

                  {$DEFINE BCB3UP}

                  {$DEFINE BCB4UP}    {$ENDIF}

 

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

// Require one of the 'known' compiler versions at this time

{$IFNDEF DELPHI}{$IFNDEF BCB}

  This unit requires Delphi version 1.x-7.x, Kylix 1 - 3, BCB version 1, 3 or 4

{$ENDIF}{$ENDIF}

 

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

// Now set the integer-size for this compiler

{$IFDEF DELPHI}

  {$IFDEF DELPHI2UP}

    {$DEFINE SIZE_32}

  {$ELSE}

    {$DEFINE SIZE_16}

  {$ENDIF}

{$ELSE}

  // BCB

  {$DEFINE SIZE_32}

{$ENDIF}

 

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

// Set language feature defines

{$IFDEF DELPHI}

  {$IFDEF DELPHI3UP}

    {$DEFINE HAS_INTERFACE}     // Compiler has support for interfaces

  {$ENDIF}

  {$IFDEF DELPHI4UP}

    {$DEFINE HAS_LONGWORD}      // Compiler has the data type LONGWORD

    {$DEFINE HAS_DEFAULTPARAMS} // Compiler supports default parameters

    {$DEFINE HAS_OVERLOAD}      // Compiler has the OVERLOAD directive

    {$DEFINE HAS_INT64}         // Compiler has the data type INT64

    {$DEFINE HAS_DYNAMICARRAYS} // Compiler support dynamic arrays

    {$DEFINE HAS_NEWVCL}        // VCL has new properties like Constraints etc.

    {$DEFINE HAS_IMPLEMENTS}    // Compiler has the IMPLEMENTS keyword

  {$ENDIF}

{$ELSE}

  {$IFDEF BCB3UP}

    {$DEFINE HAS_INTERFACE}     // Compiler has support for interfaces

  {$ENDIF}

  {$IFDEF BCB4UP}

    {$DEFINE HAS_LONGWORD}      // Compiler has the data type LONGWORD

    {$DEFINE HAS_DEFAULTPARAMS} // Compiler supports default parameters

    {$DEFINE HAS_OVERLOAD}      // Compiler has the OVERLOAD directive

    {$DEFINE HAS_INT64}         // Compiler has the data type INT64

    {$DEFINE HAS_DYNAMICARRAYS} // Compiler support dynamic arrays

    {$DEFINE HAS_NEWVCL}        // VCL has new properties like Constraints etc.

    {$DEFINE HAS_IMPLEMENTS}    // Compiler has the IMPLEMENTS keyword

  {$ENDIF}

{$ENDIF}

 

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

 

sendmessage

selam arkadaslar!

 

  Bilen varsa lutfen yardim edin.

  Ben delphide form uzerinde olan bir buttonun hint-ni sendmessage ile nasil deyise bilerim.

 

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

 

Birden fazla sütun içeren Memo'dan StringGrid'e Aktarım

NeverFear - kaheri579@hotmail.com

 

Yeni bir proje açıp Form1 üzerine 1 adet Memo, 1 adet StringGrid ve 1 adet Buton

bırakın. Kodlamamızı iki sütunlu bilgi içeren Memo1 bileşeni için yapacağız.

 

Object Inspector penceresinin Properties sekmesinden;

Memo1 için -> Height=229, Width=110, ScrollBars=ssVertical olarak ayarlayın.

              Lines özelliğine, şimdilik aşağıdaki gibi bilgiler girin.

              25.11.2008 25,00

              25.12.2008 25,00

              25.01.2009 25,00

              25.02.2009 25,00

              25.03.2009 25,00

             

StringGrid1-> ScrollBars=ssVertical, ColCount=2, DefaultRowHeight=16, FixedCols ve

              FixedRows=0, RowCount=1 olarak ayarlayın.

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

Bu işlemleri tamamladıktan sonra, yordamlara aşağıdaki kodları ekleyin.

 

procedure TForm1.FormCreate(Sender: TObject);

begin

  StringGrid1.Cells[0, 0]:= 'Vade';

  StringGrid1.Cells[1, 0]:= 'Tutar';

end;

 

procedure TForm1.Button1Click(Sender: TObject);

var s, t: integer;

    tar, mik: string;

begin

  StringGrid1.RowCount:= Memo1.Lines.Count + 1;

  for s:= 0 to Memo1.Lines.Count - 1  do

  begin

     t:= s + 1;

     tar:= Memo1.Lines.Strings[s];

     mik:= tar;

     if Pos(' ', tar) > 0 then

     begin

        tar:= Copy(tar, 1, Pos(' ', tar));

        mik:= Copy(mik, Pos(' ', mik) + 1, Length(mik));

        StringGrid1.Cells[0, t]:= tar;

        StringGrid1.Cells[1, t]:= mik;

     end;

  end;

end;

//Çalıştırın ve butonu tıklayın.

 

İşinizi görmesi dileğimle,

Çalışmalarınızda başarılar dilerim.

 

NeverFear - kaheri579@hotmail.com

 

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

 

copy /b (binary) faydalı bir komut

cmd.exe

copy /b resimdosyasi.jpg + compressedFile.zip/rar/v.s resimdosyasi.jpg

 

bir klasörün içine sağ tıkla "yeni" 'den "Sıkıştırılmış Klasör.zip" 'i seç

veeee resimdosyasi.jpg'ye sağ tıkla "birlikte aç de" oradan "sıkıştırılmış (daraltılmış) klasörler" seç.....

:)

her hangi bir resim dosyasını kullanabilirsin

 

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

 

netstat veya benzeri uygulamalardan port gizlemek

{

yalnızca 'portgizle.sys' sürücü dosyası kaynak kodlarını (tabii ki de) yollamıyorum.

(rootkitlerin yapabildiklerinden biri)

}

{

http://...................................../DownloadFile.aspx?PostId=33368&Destination=UserPosts%2f11153.portgizle.zip

}

 

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

 

Delphi Arabirim Kısayolları

CTRL+K+I --> Seçilen bloğu içeri doğru kaydırır.

CTRL+K+U --> Seçilen bloğu dışarı doğru kaydırır.

 

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

 

2dk da programinizi hoparlorden konusturun

6 aydir bakmiyordum buralara. (askeriz urfa da)

 

baktim SAPI nin lafi gecmis...

en acemisine kadar herkesin anlayacagi sekilde yazdim. buyrun:

 

(www.st-tools.com/download/sapi4-engine.exe)

SAPI Engine'i kurduktan sonra...

 

Component menusunden,

Import Activex Control u,

oradan da,

 

"Microsoft Direct Text-to-Speech (Version 1.0)"

 

i secip "install" butonuna tiklayin.

 

Component Barda ACTIVEX sekmesinde

"DirectSS" adli componenti gorebilirsiniz.

 

formunuza bunu attiktan sonra kodunuza:

 

DirectSS1.Speak('hi! i am a speaking program by erseen kegeesh.');

 

gibi bir komut ekleyerek programlarinizi konusturabilirsiniz.

 

kolay gele...

 

Ersin Kecis

 

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

 

Format Fonksiyonu Kullanım Örnekleri

Example code : Showing all of the formatting data types

 

var

  text : string;

begin

  // Just 1 data item

  ShowMessage(Format('%s', ['Hello']));

 

  // A mix of literal text and a data item

  ShowMessage(Format('String = %s', ['Hello']));

  ShowMessage('');

 

  // Examples of each of the data types

  ShowMessage(Format('Decimal          = %d', [-123]));

  ShowMessage(Format('Exponent         = %e', [12345.678]));

  ShowMessage(Format('Fixed            = %f', [12345.678]));

  ShowMessage(Format('General          = %g', [12345.678]));

  ShowMessage(Format('Number           = %n', [12345.678]));

  ShowMessage(Format('Money            = %m', [12345.678]));

  ShowMessage(Format('Pointer          = %p', [addr(text)]));

  ShowMessage(Format('String           = %s', ['Hello']));

  ShowMessage(Format('Unsigned decimal = %u', [123]));

  ShowMessage(Format('Hexadecimal      = %x', [140]));

end;

 

OUTPUT:

   Hello

   String = Hello

 

   Decimal          = -123

   Exponent         = 1.23456780000000E+004

   Fixed            = 12345.68

   General          = 12345.678

   Number           = 12,345,68

   Money            = ?12,345.68

   Pointer          = 0069FC90

   String           = Hello

   Unsigned decimal = 123

   Hexadecimal      = 8C

 

 

Example code : Using the index, width and precision values

begin

  // The width value dictates the output size

  // with blank padding to the left

  // Note the <> characters are added to show formatting

  ShowMessage(Format('Padded decimal    = <%7d>', [1234]));

 

  // With the '-' operator, the data is left justified

  ShowMessage(Format('Justified decimal = <%-7d>', [1234]));

 

  // The precision value forces 0 padding to the desired size

  ShowMessage(Format('0 padded decimal  = <%.6d>', [1234]));

 

  // A combination of width and precision

  // Note that width value precedes the precision value

  ShowMessage(Format('Width + precision = <%8.6d>', [1234]));

 

  // The index value allows the next value in the data array

  // to be changed

  ShowMessage(Format('Reposition after 3 strings = %s %s %s %1:s %s',

                     ['Zero', 'One', 'Two', 'Three']));

 

  // One or more of the values may be provided by the

  // data array itself. Note that testing has shown that an *

  // for the width parameter can yield EConvertError.

  ShowMessage(Format('In line           = <%10.4d>', [1234]));

  ShowMessage(Format('Part data driven  = <%*.4d>', [10, 1234]));

  ShowMessage(Format('Data driven       = <%*.*d>', [10, 4, 1234]));

end;

 

OUTPUT:

   Padded decimal    = <   1234>

   Justified decimal = <1234   >

   0 padded decimal  = <001234>

   Width + precision = <  001234>

   Reposition after 3 strings = Zero One Two One Two

   In line           = <      1234>

   Part data driven  = <      1234>

   Data driven       = <      1234>

 

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

 

İyi Arayüz Oluşturma

Bir Forum sitesinden alıntıdır...

Bence çok önemli bilgiler veriyor, Uygun bir arayüz ile sunulmadıktan sonra bilgi sadece harf ve

rakam yığınıdır...

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

 

İyi bir program;

 

Çekici görünmeli

İyi organize edilmiş olmalı

Kullanımı ve anlaşılması kolay olmalı

En iyi uygulamalar, kullanıcının herhangi bir eğitime ve dokümana gerek duymadan, sezgisel olarak

çalışabildiği uygulamalardır

 

 

Bunun için nelere dikkat etmeliyiz :

 

*Programda renklerde, fontlarda ve tüm arayüzde tutarlı olunması gerekir. Kullanıcı her formu açtığı zaman

 başka başka arayüzle karşılaşmamalı.

*Kullanıcını uygulama içinde istediğine ulaşması kolay olmalı.

*Uygulamanın tüm özelliklerine klavye ve fare ile ulaşılabilmelidir.

*Formda Tab Order (tab tuşuna bastıkça bir sonraki kontrole geçiş sırası) düzgün olarak ayarlanmalıdır.

 Bu kullanıcının klavye ile uygulamayı kullanmasını kolaylaştırır.

*Kullanıcıya mümkün olduğu kadar görsel ipuçları sunmak iyidir. Mesela işlem yapılırken fare imlecinin

 kum saati şeklini alması gibi.

*Kullanıcının girdiği veriyi hemen kontrol edip, bir yanlışlık var ise hemen düzeltmesini istemek gerekir.

*Kullanıcılar için özel menü ve/veya araç çubukları oluşturmuş iseniz, bunların gerektiği zaman gözükür olup,

 kullanıcını görmemesi gerektiği zaman göremediğinden emin olmalısınız. Mesela görmeye yetkisi yoksa.

*Hata olabilecek yerleri önceden sezmeye çalışıp buralarda hata kontrolü yapın. Hata mesajlarını açık ve kısa

 yazın.

*Kullanıcının programın kontrolünün kendisinde olduğunu hissetmesi iyidir. Bazı işleri otomatize edin ama bu

 işlemin başlamasını veya kontrolünü kullanıcıya bırakın.

*Kullanıcılar programdaki görünüşü değiştirmeyi severler. Kullanıcılara bu imkanı verin.

*Programı mümkün olduğu kadar interaktif yapın. Bunun içinde :

kincil formları mümkün olduğu kadar modeless açın. (Show ile)

*İşlemleri bölümlere ayırın. Mesela yazdırmak için tüm uygulamayı yüklemek gerekmeyebilir.

*Uzun ve çok zaman alan işlemleri arka planda yapıp, ön planda kullanıcının diğer işlemleri yapmasına izin

 verin.

*En iyi dizayn edilmiş uygulamalarda bile kullanıcılar hata yapabilir. Bir hata yaptıkları zaman bunu geri

 alabilmeleri lazımdır.

*Kullanıcıya mutlaka olan biten hakkında bilgi verin. Kullanıcılar kendilerine hiçbir yanıt vermeyen bir

 ekrana ancak birkaç saniye tahammül ederler. Fare imlecini kum saati haline getirmek, statuss barda mesaj

 göstermek veya bir progress barla işleyişin biten yüzdesi hakkında bilgi vermek gibi.

*Estetik. Görsel tasarım arayüzün dizaynının en önemli kısmıdır. Estetik açıdan güzel bir programı kullanmak

 kullanıcıları daha çok mutlu eder. Mesela Adres bilgisi girilecek ise, bu bilgileri gruplayıp, baş tarafına

 Adres ile alakalı bir resim koymak (mesela ev resmi) gibi görsellikler sunmak kullanıcının daha kolay

 anlamasını sağlar.

 

MICROSOFT İYİ ARAYÜZ KONTROL LİSTESİ

 

*Program kolay bir şekilde kurulmalıdır (install).

*Kurulum işlemi restart istememelidir.

*Kullanıcılar uygulamayı kullanmaya başlamadan önce bir açıklama yazısı (readme) okumak zorunda kalmamalıdır.

*Kullanıcının ürettiği dosyalar, My Documents klasöründe saklanmalıdır.

*Uygulamanız Program Files klasörü dışında klasör oluşturmamalıdır

*Uygulamanız hard diskin ana klasörüne (c:, d:...) herhangi bir dosya yazmamalıdır.

*Uygulama Start (Başlat) menüsüne yardım, readme ve uninstall kısayolları oluşturmamalıdır.

*Kullanıcının izni dışında masa üstüne uygulamanın kısayolu konulmamalıdır.

*Eğer uygulama Windows başlarken çalışacak bir uygulama ise herhangi bir açılış ekranı veya mesaj

 göstermemelidir.

*Kullanıcı Denetim masasındaki Görüntü seçeneği ile renkleri değiştirdiği zaman, program bu renklere uyum

 sağlayabilmelidir.

*Programın tüm fonksiyonlarına klavye ile ulaşılabilmelidir.

*Kullanıcı varsayılan font büyüklüğünü artırdığı zaman program buna uyum sağlayabilmelidir.

*Eğer olabilirse standart kısayol tuşları kullanılmalıdır. F1 yardım, F2 Edit gibi.

*Kullanıcı ekran çözünürlüğünü değiştirdiği zaman, uygulama uyum sağlayabilmelidir.

 

DELPHI TARAFINDA YAPILMASI GEREKENLER

 

*Ekranlar 800 x 600 çözünürlüğünde hazırlanmalıdır.

*Forma konulacak bileşenlerin Align özellikleri ayarlanarak, yüksek çözünürlükte ekranda boş kısımların

 kalmaması sağlanmalıdır.

*Eğer forma buton konulacak ise, forma Align özelliği alBottom olan bir Tpanel konup, butonlar bu panelin

 üzerine konulmalıdır. Butonlar sağ köşeye göre hizalanmalı ve Anchors özelliği akRight olarak ayarlanmalıdır.

 Bu ekranın büyüklüğü değişse bile butonların daima sağ tarafta kalmasını sağlar.

*Programda standart Windows renkleri dışında renkler kullanılmamalı ve bittikten sonra birkaç değişik renk

 şeması ile deneyerek sırıtan renkler belirlenip temizlenmelidir.

*Eğer form çok küçükse ve büyüklüğünün değişmesi gerekmiyor ise, BorderStyle özelliği bsSingle yapılmalı,

 BorderIcons kısmındaki biMinimize ve biMaximize False yapılmalıdır.

*Her program için bir açılış (splash) ekranı olmalıdır.

*Bazı durularda animasyon eklemek olayı daha görsel hale getirebilir. Mesela kopyalama ve bulma işlemlerinde

 kullanmak gibi. Ancak animasyonları çok sık kullanmak kullanıcıyı meşgul edebilir veya kızdırabilir.

  Sadece çok özel durumlarda animasyon kullanın.

*Tab order sırası mutlaka düzgün olmalıdır.

*Formdaki Fontlar Tahoma 8 punto olmalı.

*Label ve Edit gibi bileşenlerin ParenFont özelliği True olarak kalmalı ve font bilgisini formdan almalılar

*Genelde formda labellar ve yanlarında Editler olur. Bu durumda labelların Left özelliği aynı olmalı, yani

 aynı hizada olmalılar. Aynı şekilde Editlerin de Left özellikleri eşit olmalı.

*Labelların Alignment özelliği taLeftJustify olmalı ve caption mutlaka bir boşluk ve ardından iki nokta ile

 bitmelidir. Mesela Adı :

*Labelların ilk harfi büyük olmalıdır.

*Kullanıcı bir ekranı kapattığı zaman büyüklüğünü ve pozisyonunu kaydedip, tekrar açtığı zaman aynı yerde ve

 boyutlarda açmak iyi olacaktır.

*Program klavye ile tam yönetilebilir olmalıdır. Bunun için menü öğelerinde ve butonlarda & işareti

 kullanılarak bu komutlara klavye yardımı ile ulaşılmasını sağlamalısınız. Program bittikten sonra

 bilgisayardan fareyi söküp, tüm ekranlarda klavye ile gerekli işlemleri yapıp yapamadığınızı test

 etmelisiniz.

*Formlar mümkün olduğu kadar Modeless gösterilmelidir (Show ile). Sadece gerekli durumlarda Modal

 gösterilmelidir (Showmodal ile). Modeless formlar kullanıcıya daha fazla hareket serbestliği verir,

 oysa kullanıcı modal açılan bir formu kapatmadan başka bir işlem yapamaz.

*Eğer bazı değerlerin girilmesi zorunlu ise bunlar kaydedip formu kapatmadan önce kontrol edilmeli ve

 kullanıcıya açık bir şekilde mesaj verilmelidir. “Adı alanını doldurmalısınız!” gibi bir mesaj verip,

 SetFocus ile bu Edite konumlanılmalıdır.

*Kullanıcının seçebileceği seçenekler sınırlı ise bunun dışındaki bilgileri girmesine olanak verilmemelidir.

 Bu tip durumlarda RadioGroup veya ComboBox gibi bir bileşen kullanarak sadece seçebileceği seçenekleri

 kullanıcıya sunmak gerekir.

*Buna benzer olarak kullanıcı bazı alanlara belli tipte değerler girebilir. Mesela Miktar ve parasal alanlara

 karakter girememelidir.

*Objelere varsayılan olaylar vermek faydalıdır. Örneğin Gridlere çift tıklandığı zaman Düzeltme ekranı

 gelmelidir veya bir nesneyi bir yerden sürükle-bırak yöntemi ile taşıdığınız zaman varsayılan bir olay

 atanmalıdır.

*Eğer sayfada çok fazla bileşen var ise TPageControl ile mantıklı bir gruplandırma yapılmalıdır.

*Kullanıcı veride herhangi bir değişiklik yaptıktan sonra köşedeki çarpı ile formu kapatmak istediği zaman,

 değişiklikleri kaydetmek isteyip istemediği sorulmalıdır. Seçenekler Evet (kaydet), Hayır (kaydetme) ve

 İptal (kapatma işleminden vazgeç) şeklinde olmalıdır.

 

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

 

re: OpenDialog (isa2002)

procedure TForm1.OpenDialog1Show(Sender: TObject);

begin

   {"OPEN" - > "Aç"}

   SetDlgItemText (GetParent (OpenDialog1.Handle),

                   IDOK, PChar ('&Aufmachen')) ;

   {"Cancel" - > "İptal"}

   SetDlgItemText (GetParent (OpenDialog1.Handle),

                   IDCANCEL, PChar ('&Widerruf')) ;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  if OpenDialog1.Execute then OpenDialog1Show(Button1);

end;

 

//isa2002 ... sanırım işine yarayacaktır.

 

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

 

AsyncPro ile SAPI

unit ExSapi0;

 

interface

  uses

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

      StdCtrls, OoMisc, AdSapiEn, Gauges;

 

  type

      TPhraseType=(ptHelp,ptQuiet,ptDate,ptTime,ptQuit,ptUnknown);

 

      TForm1   =   class(TForm)

          Button1:   TButton;

          ApdSapiEngine1:   TApdSapiEngine;

          Memo1:TMemo;

          Gauge1:TGauge;

          Label1:TLabel;

          Label2:TLabel;

          function AnalyzePhrase   (Phrase   :   string)   :   TPhraseType;

          procedure SaySomething   (Something   :   string);

          procedure Button1Click(Sender:   TObject);

          procedure ApdSapiEngine1VUMeter(Sender:   TObject;   Level:   Integer);

          procedure ApdSapiEngine1PhraseFinish(Sender: TObject; const Phrase:String);

      private

          {   Private   declarations   }

      public

          {   Public   declarations   }

      end;

 

  var

      Form1:   TForm1;

  implementation

 

  {$R   *.DFM}

 

  function   TForm1.AnalyzePhrase (Phrase :string): TPhraseType;

  begin

      Result := ptUnknown;

      if Phrase ='help' then

          Result   :=   ptHelp

      else   if   (Phrase   =   'close')   or   (Phrase   =   'exit')   or

                      (Phrase   =   'goodbye')   or   (Phrase   =   'end')   or

                      (Phrase   =   'bye')   then

          Result   :=   ptQuit

      else   if   (Phrase   =   'stop   speaking')   or   (Phrase   =   'hush')   or

                      (Phrase   =   'be   quiet')   or   (Phrase   =     'quiet')   or

                      (Phrase   =   'shut   up')   then

          Result   :=   ptQuiet

      else   if   (Phrase   =   'what   time   is   it')   or   (Phrase   =   'time')   then

          Result   :=   ptTime

      else   if   (Phrase   =   'what   day   is   it')   or   (Phrase   =   'day')   then

          Result   :=   ptDate;

  end;

 

  procedure   TForm1.SaySomething   (Something   :   string);

  begin

      Memo1.Lines.Add   ('-->   '   +   Something);

      ApdSapiEngine1.Speak   (Something);

  end;

 

  procedure   TForm1.Button1Click(Sender:   TObject);

  begin

      with   ApdSapiEngine1.WordList   do   begin

          Clear;

          Add   ('close');

          Add   ('exit');

          Add   ('goodbye');

          Add   ('end');

          Add   ('bye');

 

          Add   ('stop   speaking');

          Add   ('hush');

          Add   ('be   quiet');

          Add   ('quiet');

          Add   ('shut   up');

 

          Add   ('what   time   is   it');

          Add   ('time');

 

          Add   ('what   day   is   it');

          Add   ('day');

 

          Add   ('help');

      end;

 

      SaySomething   ('Welcome   to   the   speech   recognition   demo.');

      SaySomething   ('Say   "Help"   to   get   help');

      ApdSapiEngine1.Listen;

  end;

 

  procedure   TForm1.ApdSapiEngine1VUMeter(Sender:   TObject;   Level:   Integer);

  begin

      Gauge1.Progress   :=   Level;

  end;

 

  procedure   TForm1.ApdSapiEngine1PhraseFinish(Sender:   TObject;

      const   Phrase:   String);

  begin

      Memo1.Lines.Add   ('<--   '   +   Phrase);

      case   AnalyzePhrase   (Phrase)   of

          ptHelp   :

              begin

                  SaySomething   ('You   can   say   several   things   to   this   demo.');

                  SaySomething   ('"Help"   will   give   you   help.');

                  if   ApdSapiEngine1.Duplex   =   sdFull   then

                      SaySomething   ('"Stop   Speaking"   will   cause   me   to   stop   speaking   the   '   +

                                                  'current   phrase.');

                  SaySomething   ('"What   time   is   it?"   will   tell   the   current   time.');

                  SaySomething   ('"What   day   is   it?"   will   tell   the   current   day.');

                  SaySomething   ('"Goodbye"   will   end   this   demo.');

              end;

          ptQuit   :

              begin

                  SaySomething   ('Goodbye');

                  ApdSapiEngine1.WaitUntilDoneSpeaking;

                  Close;

              end;

          ptQuiet   :

              ApdSapiEngine1.StopSpeaking;

          ptDate   :

              SaySomething   ('It   is   '   +   FormatDateTime   ('mmmm   d,   yyyy',   Now)   +   '.');

          ptTime   :

              SaySomething   ('It   is   '   +   FormatDateTime   ('h:nam/pm',   Now)   +   '.');

          ptUnknown   :

              SaySomething   ('I   didn''t   understand   you.');

      end;

  end;

 

  end.

 

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

 

Buttondan uzak bağlantı edit1 deki ip ile

procedure TForm1.Button1Click(Sender: TObject);

begin

 

  WinExec(PChar('C:WINDOWSsystem32mstsc.exe /v ' + Edit1.Text),

  SW_SHOWNORMAL);

end;

 

end.

 

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

 

Bir Resim'i herhangi bir açıda çevirmek

~~~~~~~~~~~~~~~~~~~~~~~~~

Const PixelMax = 32768;

Type

   pPixelArray = ^TPixelArray;

   TPixelArray = Array[0..PixelMax-1] Of TRGBTriple;

 

Procedure RotateBitmap_ads(SourceBitmap : TBitmap;out DestBitmap : TBitmap; Center : TPoint; Angle : Double) ;

Var

   cosRadians : Double;

   inX : Integer;

   inXOriginal : Integer;

   inXPrime : Integer;

   inXPrimeRotated : Integer;

   inY : Integer;

   inYOriginal : Integer;

   inYPrime : Integer;

   inYPrimeRotated : Integer;

   OriginalRow : pPixelArray;

   Radians : Double;

   RotatedRow : pPixelArray;

   sinRadians : Double;

begin

   DestBitmap.Width := SourceBitmap.Width;

   DestBitmap.Height := SourceBitmap.Height;

   DestBitmap.PixelFormat := pf24bit;

   Radians := -(Angle) * PI / 180;

   sinRadians := Sin(Radians) ;

   cosRadians := Cos(Radians) ;

   For inX := DestBitmap.Height-1 Downto 0 Do

   Begin

     RotatedRow := DestBitmap.Scanline[inX];

     inXPrime := 2*(inX - Center.y) + 1;

     For inY := DestBitmap.Width-1 Downto 0 Do

     Begin

       inYPrime := 2*(inY - Center.x) + 1;

       inYPrimeRotated := Round(inYPrime * CosRadians - inXPrime * sinRadians) ;

       inXPrimeRotated := Round(inYPrime * sinRadians + inXPrime * cosRadians) ;

       inYOriginal := (inYPrimeRotated - 1) Div 2 + Center.x;

       inXOriginal := (inXPrimeRotated - 1) Div 2 + Center.y;

       If

         (inYOriginal >= 0) And

         (inYOriginal <= SourceBitmap.Width-1) And

         (inXOriginal >= 0) And

         (inXOriginal <= SourceBitmap.Height-1)

       Then

       Begin

         OriginalRow := SourceBitmap.Scanline[inXOriginal];

         RotatedRow[inY] := OriginalRow[inYOriginal]

       End

       Else

       Begin

         RotatedRow[inY].rgbtBlue := 255;

         RotatedRow[inY].rgbtGreen := 0;

         RotatedRow[inY].rgbtRed := 0

       End;

     End;

   End;

End;

 

{Usage:}

procedure TForm1.Button1Click(Sender: TObject) ;

Var

   Center : TPoint;

   Bitmap : TBitmap;

begin

   Bitmap := TBitmap.Create;

   Try

     Center.y := (Image.Height div 2)+20;

     Center.x := (Image.Width div 2)+0;

    // RotateBitmap_ads(Kaynak Resim,Hedef Resim,Merkez,Açı) ;

     RotateBitmap_ads(Image1.Picture.Bitmap,Bitmap,Center,Angle) ;

     Angle := Angle + 15;

     Image2.Picture.Bitmap.Assign(Bitmap) ;

   Finally

     Bitmap.Free;

   End;

end;

 

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

 

Bir Cümleyi Kelime Kelime Ayırmak

procedure ayikla(var yazi:string; Memo: TMemo);

var

sonuc:String;

begin

Memo.Clear;

begin

 repeat

  yazi:=Trim(yazi);

  sonuc:=(LeftStr(yazi , Pos(' ',yazi)));

  sonuc:=Trim(sonuc);

  if sonuc<>'' then Memo.Lines.Add(Trim(sonuc));

  Delete(yazi,1,length(sonuc));

 until Pos(' ',yazi)=0;

 Memo.Lines.Add(Trim(yazi));

end;

end;

 

//Kullanımı

procedure TForm1.Button1Click(Sender: TObject);

var ayiklanacak:String;

begin

ayiklanacak:=Edit1.Text;

ayikla(ayiklanacak,Memo1);  //Edit1'in içerisindeki cümledeki her bir kelimeyi Memo1'e aktarır

end;

 

// ÖNEMLİ NOT: Unicode Desteği için procedure'deki yazi değişkenini ve Button1.Click'deki

// ayiklanacak değişkenlerini WideString tanımlayıp, Edit ve Memo nesnelerini Unicode desteği

// olan bileşenlerden şeçin

 

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

 

Uzak Bağlantı Yardımı

Uzak Masaüstü Bağlantısı parametreleri

 

MSTSC      [<Bağlantı Dosyası>] [/v:<sunucu[:bağlantı noktası]>] [/console]

[/f[tam ekran]][/w:<genişlik> /h:<yükseklik>] | /Edit" Bağlantı Dosyası "

| /Migrate | /?

 

< Bağlantı Dosyası > -- bağlantı için .rdp dosyası adını

belirtir.

 

/v:< <sunucu[:bağlantı noktası]> -- bağlanmak istediğiniz Terminal Server

 belirtir.

 

/console sunucunun konsol oturumuna bağlanır.

 

/f – İstemciyi tam ekran modunda başlatır.

 

/w:<genişlik> -- Uzak Masaüstü ekranın genişliğini belirtir.

 

/h:<yükseklik> -- Uzak Masaüstü ekranın yüksekliğini belirtir.

 

/edit Belirtilen .rdp dosyasını düzenlemek için açar.

 

/migrate – İstemci Bağlantı Yöneticisiyle oluşturulan eski bağlantı

dosyalarını yeni .rdp bağlantı dosyalarına yükseltir.

 

 

// Bunlar mstsc.exe'nin açılış parametreleridir.

// Örnek vermek gerekirse;

// Bir sunucuya bağlanmak için şu komutları yazabilirsiniz:

 

  WinExec('mstsc.exe /v 10.90.30.10',SW_SHOW);

 

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

 

En Hızlı Dosya Boyutu Öğrenme

function DosyaBoyutu(filename: TFileName): integer;

var

  H: THandle;

begin

  Result := -1;

  H := FileOpen(filename,fmShareDenyNone);

  if GetLastError <> 0 then

  begin

    MessageDlg(SysErrorMessage(GetLastError),mtError,[mbok],-1);

    exit;

  end;

  Result := GetFileSize(H,nil);

  if Result = -1 then  MessageDlg(SysErrorMessage(GetLastError),mtError,[mbok],-1);

  FileClose(H);

end;

 

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

 

Button'a Uzaktan Bağlantı Ekleme

Arkadaşlar bir sorum olacak Delphi de Bir buttona tıkladığımda 10.90.20.253 gibi bir server'a uzaktan bağlantı yapmasını istiyorum.

 

procedure TForm1.srv3Click(Sender: TObject);

begin //srv3'e Uzaktan bağlanma yapım aşamasında

WinExec('mstsc.exe',SW_SHOW);

 

Yukarıda ki kodda uzak bağlantı penceresini açabiliyorum ama direk olarak servera nasıl bağlanabilirim

Bu şekilde projeme 2 tane daha bağlantı butonu eklemek istiyorum yardımcı olurmusunuz

 

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

 

StrToWideStr WideStrToStr

function strTowstr(m_str_Value:string):WideString;

  var

   m_wstr_Value:WideString;

   m_i_Len,i:integer;

  begin

   m_i_Len:=Length(m_str_Value);

   m_wstr_Value:='';

   for i:=1 to m_i_Len   do

   begin

    m_wstr_Value:=m_wstr_Value+WideChar(Ord(m_str_Value[i]));

   end;

  result:=m_wstr_Value;

  end;

 

function wstrTostr(m_wstr_Value:WideString):string;

  var

   m_str_result:string;

   s:string;

   i:integer;

  begin

   SetLength(m_str_result,length(m_wstr_Value));

   for i:=1 to length(m_wstr_Value) do

    begin

     m_str_result[i]:=char(word(m_wstr_Value[i])   and   $FF);

    end;

   result:=m_str_result;

  end;

 

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

 

Unicode Mesaj Kutuları

unit myMessageBox;

 

interface

uses

Windows;

 

//MessageBox

function gfniMessageBox (const sWMsg, sWTitle: WideString; const iStyle: UINT): Integer;

 

//ShowMessage

procedure gpcShowMessage (const sWMsg: WideString); overload;

procedure gpcShowMessage (const sWMsg, sWTitle: WideString); overload;

 

//Application.MessageBox

procedure gpcMessageBox (const sWMsg: WideString); overload;

procedure gpcMessageBox (const sWMsg, sWTitle: WideString); overload;

procedure gpcMessageBox (const sWMsg, sWTitle: WideString; const iStyle: UINT); overload;

 

//Yes button and a No button.

function gfniMessageBoxYesNo (const sWMsg: WideString): Integer; overload;

function gfniMessageBoxYesNo (const sWMsg, sWTitle: WideString): Integer; overload;

function gfniMessageBoxYesNo (const sWMsg, sWTitle: WideString; const iStyle: UINT): Integer; overload;

//Yes and No buttons and the Cancel button button

function gfniMessageBoxYesNoCancel (const sWMsg: WideString): Integer; overload;

function gfniMessageBoxYesNoCancel (const sWMsg, sWTitle: WideString): Integer; overload;

function gfniMessageBoxYesNoCancel (const sWMsg, sWTitle: WideString; const iStyle: UINT): Integer; overload;

 

//------------------------------------------------------------------------------

implementation

uses

Forms, SysUtils ;

 

 

//------------------------------------------------------------------------------

function gfniMessageBox (const sWMsg, sWTitle: WideString; const iStyle: UINT): Integer;

begin

Result := MessageBoxW(Application.Handle, PWideChar(sWMsg), PWideChar(sWTitle), iStyle or MB_SETFOREGROUND);

end;

 

 

//------------------------------------------------------------------------------

procedure gpcMessageBox (const sWMsg: WideString); overload;

begin

gpcMessageBox(sWMsg, '');

end;

 

procedure gpcMessageBox (const sWMsg, sWTitle: WideString); overload;

begin

gfniMessageBox(sWMsg, sWTitle, 0);

end;

 

procedure gpcMessageBox (const sWMsg, sWTitle: WideString; const iStyle: UINT); overload;

begin

gfniMessageBox(sWMsg, sWTitle, iStyle or MB_APPLMODAL or MB_OK);

end ;

 

 

//ShowMessage

procedure gpcShowMessage (const sWMsg: WideString);

begin

gfniMessageBox(sWMsg, Application.Exename, MB_OK);

end;

 

procedure gpcShowMessage (const sWMsg, sWTitle: WideString);

begin

gfniMessageBox(sWMsg, sWTitle, MB_OK);

end;

 

function gfniMessageBoxYesNo (const sWMsg: WideString): Integer;

begin

Result := gfniMessageBoxYesNo(sWMsg, '');

end;

 

function gfniMessageBoxYesNo (const sWMsg, sWTitle: WideString): Integer;

begin

Result := gfniMessageBoxYesNo(sWMsg, sWTitle, 0);

end;

 

function gfniMessageBoxYesNo (const sWMsg, sWTitle: WideString; const iStyle: UINT): Integer;

begin

Result := gfniMessageBox(sWMsg, sWTitle, iStyle or MB_YESNO or MB_APPLMODAL { or MB_ICONQUESTION} );

end;

 

function gfniMessageBoxYesNoCancel (const sWMsg: WideString): Integer;

begin

Result := gfniMessageBoxYesNoCancel(sWMsg, '');

end;

 

function gfniMessageBoxYesNoCancel (const sWMsg, sWTitle: WideString): Integer;

begin

Result := gfniMessageBoxYesNoCancel(sWMsg, sWTitle, 0);

end;

 

function gfniMessageBoxYesNoCancel (const sWMsg, sWTitle: WideString; const iStyle: UINT): Integer;

begin

Result := gfniMessageBox(sWMsg, sWTitle, iStyle or MB_YESNOCANCEL or MB_APPLMODAL or MB_ICONQUESTION);

end;

 

end.

 

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

 

font register

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFonts

 

as a type REG_SZ. The data string contains the font file name.

Here is a batch file that adds the "Bitstream Cyberbit (TrueType)" font:

 

copy <Drive:>FolderCYBERBIT.TTF %SystemRoot%fonts*.*

regedit /y <Drive:>Folderbitstream.reg

exit

 

where bitstream.reg contains:

 

REGEDIT4

 

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFonts]

"Bitstream Cyberbit (TrueType)"="CYBERBIT.TTF"

 

You must reboot Windows NT to use the font.

 

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

 

İngilizce sözlük Açık Kaynaklı

Merhaba ;

Delphi 7 ile İnfopowerGrid ve Murat Hocamın Geliştirdiği MSPButton bileşenleri Kullandığım bir program..

 

Bileşenlerde Paket İçinde Mevcuttur

 

Ben Yapmış olduğum ve halen üzerinde çalıştığım programlara paylaşmaya devam etcem.

 

Herkese Kolay Gelsin

ismail Kocacan

 

http://rapidshare.com/files/156396924/Sozluk_Source.rar.html

 

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

 

Unicode Mesaj Kutuları

unit myMessageBox;

 

interface

uses

Windows;

 

//MessageBox

function gfniMessageBox (const sWMsg, sWTitle: WideString; const iStyle: UINT): Integer;

 

//ShowMessage

procedure gpcShowMessage (const sWMsg: WideString); overload;

procedure gpcShowMessage (const sWMsg, sWTitle: WideString); overload;

 

//Application.MessageBox

procedure gpcMessageBox (const sWMsg: WideString); overload;

procedure gpcMessageBox (const sWMsg, sWTitle: WideString); overload;

procedure gpcMessageBox (const sWMsg, sWTitle: WideString; const iStyle: UINT); overload;

 

//Yes button and a No button.

function gfniMessageBoxYesNo (const sWMsg: WideString): Integer; overload;

function gfniMessageBoxYesNo (const sWMsg, sWTitle: WideString): Integer; overload;

function gfniMessageBoxYesNo (const sWMsg, sWTitle: WideString; const iStyle: UINT): Integer; overload;

//Yes and No buttons and the Cancel button button

function gfniMessageBoxYesNoCancel (const sWMsg: WideString): Integer; overload;

function gfniMessageBoxYesNoCancel (const sWMsg, sWTitle: WideString): Integer; overload;

function gfniMessageBoxYesNoCancel (const sWMsg, sWTitle: WideString; const iStyle: UINT): Integer; overload;

 

//------------------------------------------------------------------------------

implementation

uses

Forms, SysUtils ;

 

 

//------------------------------------------------------------------------------

function gfniMessageBox (const sWMsg, sWTitle: WideString; const iStyle: UINT): Integer;

begin

Result := MessageBoxW(Application.Handle, PWideChar(sWMsg), PWideChar(sWTitle), iStyle or MB_SETFOREGROUND);

end;

 

 

//------------------------------------------------------------------------------

procedure gpcMessageBox (const sWMsg: WideString); overload;

begin

gpcMessageBox(sWMsg, '');

end;

 

procedure gpcMessageBox (const sWMsg, sWTitle: WideString); overload;

begin

gfniMessageBox(sWMsg, sWTitle, 0);

end;

 

procedure gpcMessageBox (const sWMsg, sWTitle: WideString; const iStyle: UINT); overload;

begin

gfniMessageBox(sWMsg, sWTitle, iStyle or MB_APPLMODAL or MB_OK);

end ;

 

 

//ShowMessage

procedure gpcShowMessage (const sWMsg: WideString);

begin

gfniMessageBox(sWMsg, Application.Exename, MB_OK);

end;

 

procedure gpcShowMessage (const sWMsg, sWTitle: WideString);

begin

gfniMessageBox(sWMsg, sWTitle, MB_OK);

end;

 

function gfniMessageBoxYesNo (const sWMsg: WideString): Integer;

begin

Result := gfniMessageBoxYesNo(sWMsg, '');

end;

 

function gfniMessageBoxYesNo (const sWMsg, sWTitle: WideString): Integer;

begin

Result := gfniMessageBoxYesNo(sWMsg, sWTitle, 0);

end;

 

function gfniMessageBoxYesNo (const sWMsg, sWTitle: WideString; const iStyle: UINT): Integer;

begin

Result := gfniMessageBox(sWMsg, sWTitle, iStyle or MB_YESNO or MB_APPLMODAL { or MB_ICONQUESTION} );

end;

 

function gfniMessageBoxYesNoCancel (const sWMsg: WideString): Integer;

begin

Result := gfniMessageBoxYesNoCancel(sWMsg, '');

end;

 

function gfniMessageBoxYesNoCancel (const sWMsg, sWTitle: WideString): Integer;

begin

Result := gfniMessageBoxYesNoCancel(sWMsg, sWTitle, 0);

end;

 

function gfniMessageBoxYesNoCancel (const sWMsg, sWTitle: WideString; const iStyle: UINT): Integer;

begin

Result := gfniMessageBox(sWMsg, sWTitle, iStyle or MB_YESNOCANCEL or MB_APPLMODAL or MB_ICONQUESTION);

end;

 

end.

 

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

 

Türkçe Büyük Harf Yazma

// ardadaşlar daha önceden eklenmişti diye biliyorum ama aradım bulamadım bu yüzden yeniden ekledim

 

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);

begin

  if key in['i','ı','ş','ç','ğ','ü','ö'] then

begin

if key='i' then key:='İ';

if key='ı' then key:='I';

if key='ş' then key:='Ş';

if key='ç' then key:='Ç';

if key='ğ' then key:='Ğ';

if key='ü' then key:='Ü';

if key='ö' then key:='Ö';

end else

  key:=UpCase(key);

end;

 

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

 

Karekök Fonksiyonu

#include "stdio.h"

#include "math.h"  /*Programda kullanilan fabs ve

                        programin sonunda kontrol

                        icin kullanilan pow ve

                        sqrt fonksiyonlari icin  */

int main(int argc, char* argv[])

{

int evethayir;

float x,t,ri,r;

a:    printf("nKarekoku Bulunacak Sayiyi Giriniz: ");

      scanf("%f",&x);

      printf("nEpsilon Degerini Giriniz: ");

      scanf("%f",&t);

      ri=x/2;

      r=ri;

      do    {

            ri=r;

            r=0.5*(ri+(x/ri));

            }

      while(fabs(x-r*r)>t);

 

      printf ("nSONUCLAR");

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

      printf ("n%f Sayisinin, %f Epsilon degeri ile hesaplanan karekoku: %f",x,t,r);

      printf ("n%f Sayisinin, Pow(x,0.5) ile hesaplanan karekoku: %f",x,pow(x,0.5));

      printf ("n%f Sayisinin, Sqrt(x) ile hesaplanan karekoku: %fn",x, sqrt(x));

      printf ("nDEGERLENDIRME");

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

      printf ("nHesaplanan deger Pow(x,0.5) ile hesaplanan degerden %f farkli.",fabs(r-pow(x,0.5)));

      printf ("nHesaplanan deger Sqrt(x) ile hesaplanan degerden %f farkli.",fabs(r-sqrt(x)));

      printf ("nnBaska Hesaplama Yapilacak Mi? (1=Evet,2=Hayir) ");

      scanf ("%d",&evethayir);

      if (evethayir==1)goto a;

}

 

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

 

İki Ayrı Seri Bilgisayara Hesaplatma

#include <stdio.h>

#include <stdlib.h> /* Ekran temizlemede kullanilan system("cls"), girisi

                       kucuk harfe ceviren tolower() ve programdan cikis

                          saglayan exit(0) fonksiyonlari icin */

#include <conio.h>  /* Ekrandan tek bir karakter okutmak icin kullanilan

                          getche() fonksiyonu icin */

main()

{     int p,i,j;

      double fakt,sonuc=0;

      char secim;

      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                                 * 2.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    1     1     1     1     1          1");

      printf ("na) --- - --- + --- - --- + --- ...... ---");

      printf ("n    5!   10!   15!   20!   25!        30!nn");

      printf ("n     3        9        15            27");

      printf ("nb) ------ - ------ + ------ ...... ------");

      printf ("n    5+7!    11+13!   17+19!        29+31!nn");

      printf ("nc) Cikisn");

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

soru:

      secim=getche();

      if (tolower(secim)=='a')

      {     system("cls");

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

            printf ("n                   1     1     1          1");

            printf ("nHESAPLANAN SERI : --- - --- + --- ...... ---");

            printf ("n                   5!   10!   15!        30!");

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

            p=1; 

            sonuc=0;

            for (i=5;i<=30;i=i+5)

                  {

                        fakt=1;

                        for (j=1;j<=i;j++) fakt=fakt*j;

                        sonuc=sonuc+p*(1/fakt);

                        p=-p;

                  }

            printf("nSERI SONUCU: %lfn",sonuc);

            printf("nna) Ana Menuye Donus");

            printf("nb) Cikis");

soru3:

            printf("n Seciminiz...");

            secim=getche();

            if (tolower(secim)=='a') goto start;

            else if (tolower(secim)=='b') {printf("n"); exit(0);}

            else {printf("nYanlis Giris! a veya b Girin...");goto soru3;}

      }

      else if (tolower(secim)=='b')

a:

      {     system("cls");

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

            printf ("n                    3        9        15            27");

            printf ("nHESAPLANAN SERI : ------ - ------ + ------ ...... ------");

            printf ("n                   5+7!    11+13!   17+19!        29+31!");

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

            p=1;

            sonuc=0;

            for (i=3;i<=27;i=i+6)

                  {

                        fakt=1;

                        for (j=1;j<=i+4;j++) fakt=fakt*j;

                        sonuc=sonuc+p*(i/(i+2+fakt));

                        p=-p;

                  }

            printf("nSERI SONUCU: %lfn",sonuc);

            printf("nna) Ana Menuye Donus");

            printf("nb) Cikis");

soru4:

            printf("n Seciminiz...");

            secim=getche();

            if (tolower(secim)=='a') goto start;

            else if (tolower(secim)=='b') {printf("n"); exit(0);}

            else {printf("nYanlis Giris! a veya b Girin...");goto soru4;}

      }

      else if (tolower(secim)=='c') {printf("nn"); exit(0);}

      else {printf("nYanlis Giris! a veya b Girin...");goto soru;}

}

 

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

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