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

DBGrid'e kayıt bazında  CheckBox Ekleme ,Renklendirme ,Resim ekleme,Yazı Fontunu Değiştir

Grid üzerinde yapılabilecek database uygulamalarına örnek.

            mbedtr@hotmail.com(Mücahit Bedir)

 

 

  void __fastcall TForm1::DBGridDrawColumnCell

    (TObject *Sender, const TRect Rect, int DataCol, TColumn *TColumn, TGridDrawState State)

{

  if (CompareText(Column->FieldName, "alan") == 0) {

     UINT check = 0;

 

     if (Table1->FieldValues["alan"])

        check = DFCS_CHECKED;

 

     DBGrid->Canvas->FillRect(Rect);

     DrawFrameControl(DBGrid1->Canvas->Handle, (RECT*) &Rect, DFC_BUTTON, DFCS_BUTTONCHECK | check);

 

  } else

     DBGrid->DefaultDrawColumnCell(Rect, DataCol, Column, State);

}

 

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

 

void __fastcall TForm1::DBGridDrawColumnCell

    (TObject *Sender, const TRect Rect, int DataCol, TColumn *TColumn, TGridDrawState State)

{

  TDBGrid *grid = static_cast<TDBGrid*>(Sender);

 

  if (Column->FieldName != "")

     grid->DefaultDrawColumnCell(Rect, DataCol, Column, State);

  else if (tbEmpleados->FieldValues["alan"] >= 150000)

     grid->Canvas->StretchDraw(Rect, Image1->Picture->Graphic);

  else

     grid->Canvas->StretchDraw(Rect, Image2->Picture->Graphic);

}

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

void __fastcall TForm1::DBGridDrawColumnCell

    (TObject *Sender, const TRect& Rect, int DataCol, TColumn *Column, TGridDrawState State)

{

  TDBGrid *grid = static_cast<TDBGrid*>(Sender);

  TFontStyles FS;

 

  switch (grid->DataSource->DataSet->UpdateStatus()) {

    case usModified: FS << fsBold; break;

    case usInserted: FS << fsItalic; break;

    case usDeleted: FS << fsStrikeOut; break;

  }

 

  grid->Canvas->Font->Style = FS;

  grid->DefaultDrawColumnCell(Rect, DataCol, Column, State);

}

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

void __fastcall TForm1::DBGridDrawColumnCell

    (TObject *Sender, const TRect Rect, int DataCol, TColumn *TColumn, TGridDrawState State)

{

  TDBGrid *grid = static_cast<TDBGrid*>(Sender);

 

  if (Tablo->FieldValues["alan"] >= Tablo->FieldValues["alan"])

     grid->Canvas->Font->Color = clRed;

 

  grid->DefaultDrawColumnCell(Rect, DataCol, Column, State);

}

 

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

 

DBGrid'e kayıt bazında  CheckBox Ekleme ,Renklendirme ,Resim ekleme,Yazı Fontunu Değiştir

Grid üzerinde yapılabilecek database uygulamalarına örnek.

            mbedtr@hotmail.com(Mücahit Bedir)

 

 

  void __fastcall TForm1::DBGridDrawColumnCell

    (TObject *Sender, const TRect Rect, int DataCol, TColumn *TColumn, TGridDrawState State)

{

  if (CompareText(Column->FieldName, "alan") == 0) {

     UINT check = 0;

 

     if (Table1->FieldValues["alan"])

        check = DFCS_CHECKED;

 

     DBGrid->Canvas->FillRect(Rect);

     DrawFrameControl(DBGrid1->Canvas->Handle, (RECT*) &Rect, DFC_BUTTON, DFCS_BUTTONCHECK | check);

 

  } else

     DBGrid->DefaultDrawColumnCell(Rect, DataCol, Column, State);

}

 

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

 

void __fastcall TForm1::DBGridDrawColumnCell

    (TObject *Sender, const TRect Rect, int DataCol, TColumn *TColumn, TGridDrawState State)

{

  TDBGrid *grid = static_cast<TDBGrid*>(Sender);

 

  if (Column->FieldName != "")

     grid->DefaultDrawColumnCell(Rect, DataCol, Column, State);

  else if (tbEmpleados->FieldValues["alan"] >= 150000)

     grid->Canvas->StretchDraw(Rect, Image1->Picture->Graphic);

  else

     grid->Canvas->StretchDraw(Rect, Image2->Picture->Graphic);

}

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

void __fastcall TForm1::DBGridDrawColumnCell

    (TObject *Sender, const TRect& Rect, int DataCol, TColumn *Column, TGridDrawState State)

{

  TDBGrid *grid = static_cast<TDBGrid*>(Sender);

  TFontStyles FS;

 

  switch (grid->DataSource->DataSet->UpdateStatus()) {

    case usModified: FS << fsBold; break;

    case usInserted: FS << fsItalic; break;

    case usDeleted: FS << fsStrikeOut; break;

  }

 

  grid->Canvas->Font->Style = FS;

  grid->DefaultDrawColumnCell(Rect, DataCol, Column, State);

}

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

void __fastcall TForm1::DBGridDrawColumnCell

    (TObject *Sender, const TRect Rect, int DataCol, TColumn *TColumn, TGridDrawState State)

{

  TDBGrid *grid = static_cast<TDBGrid*>(Sender);

 

  if (Tablo->FieldValues["alan"] >= Tablo->FieldValues["alan"])

     grid->Canvas->Font->Color = clRed;

 

  grid->DefaultDrawColumnCell(Rect, DataCol, Column, State);

}

 

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

 

Exe ye SWF Gömme

Bir ara internette bunu nasıl yapabileceğim konusunda araştırma yapmama rağmen, tam olarak bilgi alamadım. Bilgileri birleştirdiğimde birkaç denemelerime rağmen sonuca ulaşabildim. http://www.enderarslanturk.com.tr kişisel siteme bu makaleyi açtıktan sonra delphici arkadaşlar makalenin aynen örneğini diğer topluluklarda yayınlamışlardır. Fakat kodbankasına baktığımda hayrete düştüm. Buraya bu makale atılmamış ve dedimki en iyi kendi makalemi kendim koymalıyım.

 

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

 

Exe ye swf gömmek için sırası ile

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

 

1. adım : swf mizi c: kopyalıyoruz. ( Swf mizin adı Deneme olsun.)

 

2. adım : Başlat tan çalıştıra geliyoruz ve command yazıp enter a

basıyoruz.

 

3. adım : Yine diskimizin root una geliyoruz ( c: ) ve burada copy con

Deneme.rc yazıp entera basın. Imleç bir alt satıra geçiyor. Burayada

deneme rcdata deneme.swf yazdıktan sonra klavyemizin ctrl + z tuşlarına

basarak rc dosyamızı oluşturalım.

 

4. adım : Tekrar root tayken brcc32 deneme.rc yazarak entera basıyoruz.

Delphi komutu otomatik olarak bize .res dosyasını oluşturuyor.

 

5. adım : Delphiyi açtıktan sonra formun oncreate veya onshow olayına

aşağıdaki kodumuzu yapıştırıyoruz.

 

var

        rStream: TResourceStream;

        fStream: TFileStream;

        fname: string;

begin

        fname:=ExtractFilePath(Application.ExeName)+'deneme.swf';

        rStream := TResourceStream.Create(hInstance, 'deneme', RT_RCDATA);

        try

              fStream := TFileStream.Create(fname, fmCreate);

              try

                    fStream.CopyFrom(rStream, 0);

              finally

                    fStream.Free;

              end;

        finally

              rStream.Free;

        end;

       ShockwaveFlash1.Stop;

       ShockwaveFlash1.Movie:=fname;

       ShockwaveFlash1.play;

end;

 

tabii {$R *.Dfm} ifadesinin altına {$R deneme.res} yazmayı ve uses e

mmsystem eklemeyide unutmayalım.

 

Buraya kadar :) Ama bunun için Delphiden activex bileşeni olan

ShockwaveFlash kurulmalıdır. Eğer bu delphiye install edilmemiş ise o

zaman durmadan adımlara devam.

 

6. adım : Delphi menüsünden Component --> Import ActiveX Contol... -- >

Shockwave Flash (Versiyon 1.0) seçilerek Install tuşuna basılır. Burada

şunu belki hatırlatmama gerek yok ama bilmeyenler olabilir diye küçük

birşey daha belirtmek istiyorum, Install butonuna basmadan önce

isterseniz bu bileşenin kütüphanenin hangi sekmesinde olacağına siz karar

verebilirsiniz. Bunun için Palette Page açılır kutusundan ( Combobox )

istediğiniz sekmeyi seçip öyle Install edebilirsiniz...

 

Hepinize çalışmalarınızda başarılar dilerim.

 

Ender ARSLANTÜRK

http://www.enderaRslanturk.com.tr

 

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

 

Api Search Engine

PROGRAM Project;

 

USES

  APISearchEngine;

 

CONST

  MessageBoxA = $572D5D8E; //?Crc32??

 

VAR

  MessageBox:FUNCTION(hWnd:DWORD;lpText,lpCaption:PChar;uType:DWORD) : Integer; STDCALL;

  LoadLibrary:FUNCTION(lpLibFileName: PChar): HMODULE; stdcall;

 

Function IntToStr(Value: Integer): String;

begin

  Str(Value, Result);

end;

 

BEGIN

  BuildCRC32Table;

  @LoadLibrary:=MyLoadLibraryA;

  MessageBox:=GetProcAddress(LoadLibrary('user32.dll'),MessageBoxA);

  Messagebox(0,Pchar('LoadLibraryA:'+IntToStr(integer(MyLoadLibraryA))),'Message',0);

END.

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

UNIT APISearchEngine;

 

{$WARNINGS OFF}

 

INTERFACE

 

type

 DWORD=LongWord;

 

 

PROCEDURE BuildCRC32Table;

FUNCTION  CalculateCRC32(VAR Buffer;CONST Size:DWORD) : DWORD;

FUNCTION GetProcAddress(Module:Cardinal;ProcessCRC:DWORD) : Pointer;

FUNCTION MyLoadLibraryA:Pointer;

 

IMPLEMENTATION

 

CONST

  IMAGE_DIRECTORY_ENTRY_EXPORT     = 0;

  SIZE_OF_80387_REGISTERS          = 80;

  IMAGE_NUMBEROF_DIRECTORY_ENTRIES = 16;

  MAX_API_STRING_LENGTH            = 150;

  IMAGE_DOS_SIGNATURE              = $5A4D;

  IMAGE_NT_SIGNATURE               = $00004550;

  MIN_KERNEL_SEARCH_BASE           = $70000000;

 

TYPE

  PImageDosHeader               =^TImageDosHeader;

  TImageDosHeader               = PACKED RECORD

    e_magic                     : WORD;

    e_cblp                      : WORD;

    e_cp                        : WORD;

    e_crlc                      : WORD;

    e_cparhdr                   : WORD;

    e_minalloc                  : WORD;

    e_maxalloc                  : WORD;

    e_ss                        : WORD;

    e_sp                        : WORD;

    e_csum                      : WORD;

    e_ip                        : WORD;

    e_cs                        : WORD;

    e_lfarlc                    : WORD;

    e_ovno                      : WORD;

    e_res                       : ARRAY [0..3] OF WORD;

    e_oemid                     : WORD;

    e_oeminfo                   : WORD;

    e_res2                      : ARRAY [0..9] OF WORD;

    _lfanew                     : LongInt;

  END;

 

  PImageFileHeader              =^TImageFileHeader;

  TImageFileHeader              = PACKED RECORD

    Machine                     : WORD;

    NumberOfSections            : WORD;

    TimeDateStamp               : LongWord;

    PointerToSymbolTable        : LongWord;

    NumberOfSymbols             : LongWord;

    SizeOfOptionalHeader        : WORD;

    Characteristics             : WORD;

  END;

 

  PImageDataDirectory           =^TImageDataDirectory;

  TImageDataDirectory           = RECORD

    VirtualAddress              : LongWord;

    Size                        : LongWord;

  END;

 

  PImageOptionalHeader          =^TImageOptionalHeader;

  TImageOptionalHeader          = PACKED RECORD

    Magic                       : WORD;

    MajorLinkerVersion          : Byte;

    MinorLinkerVersion          : Byte;

    SizeOfCode                  : LongWord;

    SizeOfInitializedData       : LongWord;

    SizeOfUninitializedData     : LongWord;

    AddressOfEntryPoint         : LongWord;

    BaseOfCode                  : LongWord;

    BaseOfData                  : LongWord;

    ImageBase                   : LongWord;

    SectionAlignment            : LongWord;

    FileAlignment               : LongWord;

    MajorOperatingSystemVersion : WORD;

    MinorOperatingSystemVersion : WORD;

    MajorImageVersion           : WORD;

    MinorImageVersion           : WORD;

    MajorSubsystemVersion       : WORD;

    MinorSubsystemVersion       : WORD;

    Win32VersionValue           : LongWord;

    SizeOfImage                 : LongWord;

    SizeOfHeaders               : LongWord;

    CheckSum                    : LongWord;

    Subsystem                   : WORD;

    DllCharacteristics          : WORD;

    SizeOfStackReserve          : LongWord;

    SizeOfStackCommit           : LongWord;

    SizeOfHeapReserve           : LongWord;

    SizeOfHeapCommit            : LongWord;

    LoaderFlags                 : LongWord;

    NumberOfRvaAndSizes         : LongWord;

    DataDirectory               : PACKED ARRAY[0..IMAGE_NUMBEROF_DIRECTORY_ENTRIES-1] OF TImageDataDirectory;

  END;

 

  PImageNtHeaders               =^TImageNtHeaders;

  TImageNtHeaders               = PACKED RECORD

    Signature                   : LongWord;

    FileHeader                  : TImageFileHeader;

    OptionalHeader              : TImageOptionalHeader;

  END;

 

  PImageExportDirectory         =^TImageExportDirectory;

  TImageExportDirectory         = PACKED RECORD

    Characteristics             : LongWord;

    TimeDateStamp               : LongWord;

    MajorVersion                : WORD;

    MinorVersion                : WORD;

    Name                        : LongWord;

    Base                        : LongWord;

    NumberOfFunctions           : LongWord;

    NumberOfNames               : LongWord;

    AddressOfFunctions          :^PLongWord;

    AddressOfNames              :^PLongWord;

    AddressOfNameOrdinals       :^PWord;

  END;

 

VAR

  CRC32TAB : ARRAY[0..255] OF DWORD;

 

PROCEDURE BuildCRC32Table; ASSEMBLER;

ASM

    mov     ebx, 0EDB88320h

    lea     edi, crc32tab

    xor     ecx, ecx

  @loc1:

    mov     eax, ecx

    mov     edx, 8

  @loc2:

    test eax, 1

    jz  @loc3

    shr     eax, 1

    xor     eax, ebx

    jmp     @loc4

  @loc3:

    shr     eax, 1

  @loc4:

    dec     edx

    jnz     @loc2

    stosd

    inc     ecx

    cmp     ecx, 256

    jb  @loc1

END;

 

FUNCTION CalculateCRC32(VAR Buffer;CONST Size:DWORD) : DWORD; ASSEMBLER;

ASM

    push esi

    push edi

    push ebx

    mov edi,edx

    mov esi,eax

    xor ebx,ebx

    mov eax,$ffffffff

    mov ecx,edi

    shr ecx,2

    jecxz @Rest

  @Loop:

    mov edx,[esi]

    mov bl,al

    xor bl,dl

    shr eax,8

    xor eax,dword ptr [CRC32tab+ebx*4]

    mov bl,al

    xor bl,dh

    shr eax,8

    xor eax,dword ptr [CRC32tab+ebx*4]

    shr edx,16

    mov bl,al

    xor bl,dl

    shr eax,8

    xor eax,dword ptr [CRC32tab+ebx*4]

    mov bl,al

    xor bl,dh

    shr eax,8

    xor eax,dword ptr [CRC32tab+ebx*4]

    add esi,4

    loop @Loop

  @Rest:

    mov ecx,edi

    and ecx,3

    jecxz @End

  @Loop_Rest:

    mov bl,al

    xor bl,[esi]

    shr eax,8

    inc esi

    xor eax,dword ptr [CRC32tab+ebx*4]

    loop @Loop_Rest

@End:

    xor eax,$ffffffff

    pop ebx

    pop edi

    pop esi

END;

 

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

FUNCTION GetProcAddress(Module:Cardinal;ProcessCRC:DWORD) : Pointer;

VAR

  ExportName           : pChar;

  Address              : Cardinal;

  J                    : Cardinal;

  ImageDosHeader       : PImageDosHeader;

  ImageNTHeaders       : PImageNTHeaders;

  ImageExportDirectory : PImageExportDirectory;

 

BEGIN

  ImageDosHeader:=Pointer(Module);

  ImageNTHeaders:=Pointer(Module+ImageDosHeader._lfanew);

  ImageExportDirectory:=Pointer(ImageNtHeaders.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress+Module);

  J:=0;

  Address:=0;

  REPEAT

    ExportName:=Pointer(Cardinal(Pointer(Cardinal(ImageExportDirectory.AddressOfNames)+Module+J*4)^)+Module);

    IF CalculateCRC32(ExportName^,Length(ExportName))=ProcessCRC THEN

      Address:=Cardinal(Pointer(Word(Pointer(J SHL 1+Cardinal(

               ImageExportDirectory.AddressOfNameOrdinals)+Module)^) AND

               $0000FFFF SHL 2+Cardinal(ImageExportDirectory.AddressOfFunctions)

               +Module)^)+Module;

    Inc(J);

  UNTIL (Address<>0)OR(J=ImageExportDirectory.NumberOfNames);

  Result:=Pointer(Address);

END;

 

FUNCTION MyLoadLibraryA:Pointer;

const

  MyLoadLibraryA=$3FC1BD8D;//LoadLibraryA?Crc32??

 

asm

  mov eax,fs:$30

      mov eax,[eax + $0c]

      mov esi,[eax + $1c]

      lodsd

      mov eax,[eax+$08]

  mov edx,MyLoadLibraryA

  call GetProcAddress

end;

 

END.

 

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

 

MediaPlayer Geri Kalan Süre

Bunun için önce bir fonksiyon yazacağız..

 

function MilliSecondsToString(MilliSeconds: integer): string;

var i1, i2: integer;

begin

 i1:=(MilliSeconds div 1000) div 60;

 i2:=(MilliSeconds div 1000)-(i1*60);

 Result:=FormatFloat('00',i1)+':'+FormatFloat('00',i2);

end;

 

Ve Formunuza 3 tane label yerleştirin.

Bunlardan birisi Şarkının süresini

ikincisi Şarkının şu anki zamanını

Sonuncusu ise geri kalan zamanı gösterecek...

 

 

Tüm süre için:

süre.Caption:=MilliSecondsToString(Mediaplayer1.Length);

 

Şu anki zaman için:

simdi.Caption:=MilliSecondsToString(mediaplayer1.position);

 

Kalan süre:

kalan.Caption:=MilliSecondsToString(mediaplayer1.Length-mediaplayer1.Position);

 

timer1.inteval:=100; gibi bir ayarlama ile her 100 milisaniyede bir bu değişkenler

gerekli Label nesnelerine yazdırılacaktır...

 

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

 

Trafik.gov.tr Adres araç sorgulama

Trafik.gov.tr delphı kullanarak araç sorgulama işi nasıl yapılabilinir.

 

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

 

c++ de istedigin frekansta ses uretmek

#include <iostream>

#include <windows.h> // WinApi header

 

using namespace std;

 

int main()

{

Beep(523,500); // 523 hertz (C5) for 500 milliseconds

Beep(587,500);

Beep(659,500);

Beep(698,500);

Beep(784,500);

 

cin.get(); // wait

return 0;

}

 

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

 

Ne dinliyorum özelliği

//www.delphiturkiye.com/forum

// @mege

procedure CurrentPlay(ARTIST: string;bStop:boolean);

var

  handleMSN:THandle;

  structCopy:TCopyDataStruct;

  stringBuffer:array [0..127] of WideChar;

begin

  ARTIST:= copy(ARTIST,1,75);

  FillChar(stringBuffer,SizeOf(stringBuffer),#0);

 

  if Not bStop then

    StringToWideChar('Music'+'1'+''+'{0}'+''+ARTIST+''+'WMContentID'+#0,@stringBuffer[0],128)

  else  // parça stop edildi ise

    StringToWideChar('Music'+'0'+''+'{0}'+''+ARTIST+''+'WMContentID'+#0,@stringBuffer[0],128);

 

  // orjinal hali

  //StringToWideChar('Music'+'1'+''+'{0} - {1}'+''+ARTIST+''+TITLE+''+ALBUM+''+'WMContentID'+#0,@stringBuffer[0],128);

 

  ZeroMemory(@structCopy,SizeOf(TCopyDataStruct));

  with structCopy do

  begin

    cbData:=SizeOf(stringBuffer);

    dwData:=$547;

    lpData:=@stringBuffer[0];

  end;

 

  handleMSN:=FindWindowEx(0,0,'MsnMsgrUIManager',nil);

  while handleMSN <> 0 do

  begin

    SendMessage(handleMSN,WM_COPYDATA,0,Integer(@structCopy));

 

    handleMSN:=FindWindowEx(0,handleMSN,'MsnMsgrUIManager',nil);

  end;

end;

 

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

 

Save Dialog

Etdiyiniz komekliye gore size tesekkur edirem.

 

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

 

Bir çeşit delay!

//Ben çok çektim bu sleep olayında %100 cpu kullanınca hiçbir işlem yapılamıyordu.

//Sonradan bu kodu uyguladım ve ne kadar sürelik sleep istiyorsam o kadar döngüye soktum.

 

procedure delay;

begin

sleep(100);

 Application.ProcessMessages;

 end;

 

//Bir dakikalık sleep için bunu 600 kez döndürürseniz size 1 dklık bir sleep olur.

//Windows uygulamalarını da çalıştırırken 0.1 snlik bir duraksama engel olmaz.

 

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

 

Formun başlığına kayan yazı eklemek

var

  Form1: TForm1;

  a: string;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.FormCreate(Sender: TObject);

begin

 a := 'Ne mutlu Türküm diyene!...';

end;

 

procedure TForm1.Timer1Timer(Sender: TObject);

var

  i: Integer;

begin

  Application.Title := a;

  Form1.Caption     := a;

  for i := 1 to (Length(a) - 1) do

    a[i] := Application.Title[i + 1];

  a[Length(a)] := Application.Title[1];

 

 

end;

 

end.

 

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

 

SaveDialog_Cevap

procedure TForm1.SaveDialog1Show(Sender: TObject);

var

  r: TRect;

  Left, top: Integer;

begin

  Left:=200;  //  Bu left

  top:=100;     //    Bu right

  with sender as topendialog do begin

    GetWIndowRect( GetParent( handle ), r );

    MOveWindow( GetParent( handle ),

                Left, top, r.right-r.left,

                r.bottom-r.top, true );

    Abort;

  end;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

 savedialog1.Execute;

end;

 

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

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