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

 

SOD - Arama Motorlarında Arama Yapan Kod

 

 

procedure TForm1.Button1Click(Sender: TObject);

begin

form2.webbrowser1.Navigate('http://altavista.digital.com/cgi-bin/query?pg=q&what=web&fmt=d&q='+edit1.Text);

form2.Show;

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

form2.WebBrowser1.Navigate('http://altavista.digital.com/cgi-bin/query?pg=q&what=news&fmt=d&q='+edit1.Text);

form2.Show;

end;

 

procedure TForm1.Button3Click(Sender: TObject);

begin

form2.WebBrowser1.Navigate('http://search.yahoo.com/bin/search?p='+edit1.Text);

form2.Show;

end;

 

procedure TForm1.Button4Click(Sender: TObject);

begin

form2.WebBrowser1.Navigate('http://search.dejanews.com/nph-dnquery.xp?query='+edit1.Text+'&defaultOp=AND&svcclass=dncurrent&maxhits=25');

form2.Show;

end;

 

procedure TForm1.Button5Click(Sender: TObject);

begin

form2.WebBrowser1.Navigate('http://www.search.hotbot.com/search.html?MT='+edit1.Text+'&DC=25');

form2.Show;

end;

 

procedure TForm1.Button6Click(Sender: TObject);

begin

form2.WebBrowser1.Navigate('http://www.infoseek.com/Titles?qt='+edit1.Text+'&col=WW&sv=A2');

form2.Show;

end;

 

procedure TForm1.Button7Click(Sender: TObject);

begin

form2.WebBrowser1.Navigate('http://www.excite.com/search.gw?searchType=Concept&search='+edit1.Text+'&category=default');

form2.Show;

end;

 

procedure TForm1.Button8Click(Sender: TObject);

begin

form2.WebBrowser1.Navigate('http://www.infoseek.com/Titles?qt='+edit1.Text+'&col=NN&sv=A2');

form2.Show;

end;

 

procedure TForm1.Button9Click(Sender: TObject);

begin

form2.WebBrowser1.Navigate('http://www.lycos.com/cgi-bin/pursuit?query='+edit1.Text+'&backlink=639');

form2.Show;

end;

 

procedure TForm1.Button10Click(Sender: TObject);

begin

form2.WebBrowser1.Navigate('http://www.mckinley.com/extsearch.cgi?query='+edit1.Text);

form2.Show;

end;

 

procedure TForm1.Button11Click(Sender: TObject);

begin

form2.WebBrowser1.Navigate('http://search.opentext.com/omw/simplesearch?SearchFor='+edit1.Text+'&mode=and');

form2.Show;

end;

 

procedure TForm1.Button12Click(Sender: TObject);

begin

form2.WebBrowser1.Navigate('http://webcrawler.com/cgi-bin/WebQuery?searchText='+edit1.Text+'&maxHits=25');

form2.Show;

end;

 

procedure TForm1.Button13Click(Sender: TObject);

begin

form2.WebBrowser1.Navigate('http://ipix.yahoo.com/cgi-bin/y-new/keyword_search.cgi?db=%2Fdata%2Fglobal_keyword&q='+edit1.Text);

form2.Show;

end;

 

procedure TForm1.Button14Click(Sender: TObject);

begin

form2.WebBrowser1.Navigate('http://www.google.com/search?hl=tr&ie=UTF8&oe=UTF8&q='+edit1.Text+'&btnG=Google%27da+Ara&lr=lang_tr');

form2.Show;

end;

 

procedure TForm1.Button15Click(Sender: TObject);

begin

form2.WebBrowser1.Navigate('http://www6.zdnet.com/cgi-bin/texis/swlib/hotfiles/search.html?Usrt=rel&Usrchtype=simple&Utext='+edit1.Text);

form2.Show;

end;

 

procedure TForm1.Button16Click(Sender: TObject);

begin

form2.WebBrowser1.Navigate('http://www.davecentral.com/cgi-bin/search.pl?query='+edit1.Text);

form2.Show;

end;

 

procedure TForm1.Button17Click(Sender: TObject);

begin

form2.WebBrowser1.Navigate('http://filez.com/cgi/filez.cgi?query='+edit1.Text+'&type=All+Files&hits=50&domain=World&doit=Search/');

form2.Show;

end;

 

procedure TForm1.Button18Click(Sender: TObject);

begin

form2.WebBrowser1.Navigate('http://search.shareware.com/code/engine/Find?logop=and&cfrom=quick&orfile=True&hits=25&search='+edit1.Text+'&category=All-Categories');

form2.Show;

end;

 

procedure TForm1.Button19Click(Sender: TObject);

begin

form2.WebBrowser1.Navigate('http://www.pcgame.com/finder/search.cgi?key='+edit1.Text);

form2.Show;

end;

 

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

 

SOD - Aklınızda bulunsun! Veri Tabanı!

0000000000000000000000000000000000000000000000000000000000000000000000000000000

//BURADA BELEŞÇİLERE YER YOKTUR LÜTFEN DERDİNİZ VARSA FORUMLARI KULLANIN

//VE LÜTFEN KİMSE BURAYA GELEN SORULARI YANITLAMASIN Kİ YÜZ BULUP TEKRAR

//TEKRAR BURAYA SORU SORULMASIN BURASI KOD PAYLAŞIM YERİDİR VE KİMSE SİZİN

//İÇİN KOD YAZMAK ZORUNDA DEĞİLDİR. KODLAR BİR PROGRAMCI İÇİN DEĞERLİDİR

//ÇÜNKÜ BURAYA HERKES KENDİ ALIN TERİNİ VE KENDİ EKMEK PARASINI YAZMAKTA VE

//PAYLAŞMAKTADIR. BAZI ZİHNİYETLER BURAYA ASLINDA ÇOK DEĞERLİ BİLGİLER VERİLDİĞİNİ

//YANİ SİHİRBAZLARIN SIRLARINI PAYLAŞTIĞINI FARKETMEKSİZİN BU SİHİRBAZLARIN

//ONLAR İÇİN YENİ SİHİRLER BULMALARI GEREKMEDİĞİNİ YA DA TÜM SIRLARINI

//PAYLAŞMALARININ GEREKMEDİĞİNİ BİLMELİDİRLER..

//BURASI KALİTELİ BİR SİSTEMDİR VE BU KALİTEYİ ELDE TUTMAK ELİMİZDEDİR

//LÜTFEN BUNU DA HAKKIYLA YAPALIM

0000000000000000000000000000000000000000000000000000000000000000000000000000000

 

{

Arkadaşlar aklınızda bulunsun! Özellikle eğer veri tabanıyla çalışırken

en çok karşılaştığım problem ara bellekte çok fazla yer kaplanması

mesela bir tablom var ve içerisinde 70.000 civarında kayıt var

bu kayırlar dbgrid gibi bir yerde görüntülenirken zaten bir hayli yer

kaplamakta ara bellekte. eğer bunun gibi birkaç formda başka tablolar da yer alırsa

şahsen bir projede karşılaştığım gibi 300megabyte a yakın ara bellek program

tarafından işgal edilmekte. bunun için en azından çalışmadığınız

table ya da query leri kapatıp hafızalarını temizleyin.

Bunu nasıl mı yapacaksınız? Falza teferruatlı yolları olmasıyla birlikte

büyük oranda halleden şu basit komutları da uygulayabilirsiniz }

 

//Önce programı derlemeden adoquery nin active özelliğinin false olmasına

// dikkat ediyoruz ve..

 

procedure TForm11.FormActivate(Sender: TObject);

begin

ADOQuery1.Active:=true;

end;

 

procedure TForm11.FormClose(Sender: TObject; var Action: TCloseAction);

begin

ADOQuery1.Active:=false;

ADOQuery1.CleanupInstance;

end;

 

{Normalde arkadaşlar CleanupInstance komutunu tek başına önermezler

onun yerine Free komutu tercih edilir ancak free komutu aynı zamanda

sizin adoquery nesnenizi programdan yok eder. bu da bir daha create etmeniz

gerekliliğini getirir.. Eğer obje yaratma konusunda da yeniyseniz biraz

canınısı sıkabilir. O yüzden siz CleanupInstance kullanın }

sinan.islekdemir@gmail.com

 

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

 

SOD - Aklınızda bulunsun! Veri Tabanı!

0000000000000000000000000000000000000000000000000000000000000000000000000000000

//BURADA BELEŞÇİLERE YER YOKTUR LÜTFEN DERDİNİZ VARSA FORUMLARI KULLANIN

//VE LÜTFEN KİMSE BURAYA GELEN SORULARI YANITLAMASIN Kİ YÜZ BULUP TEKRAR

//TEKRAR BURAYA SORU SORULMASIN BURASI KOD PAYLAŞIM YERİDİR VE KİMSE SİZİN

//İÇİN KOD YAZMAK ZORUNDA DEĞİLDİR. KODLAR BİR PROGRAMCI İÇİN DEĞERLİDİR

//ÇÜNKÜ BURAYA HERKES KENDİ ALIN TERİNİ VE KENDİ EKMEK PARASINI YAZMAKTA VE

//PAYLAŞMAKTADIR. BAZI ZİHNİYETLER BURAYA ASLINDA ÇOK DEĞERLİ BİLGİLER VERİLDİĞİNİ

//YANİ SİHİRBAZLARIN SIRLARINI PAYLAŞTIĞINI FARKETMEKSİZİN BU SİHİRBAZLARIN

//ONLAR İÇİN YENİ SİHİRLER BULMALARI GEREKMEDİĞİNİ YA DA TÜM SIRLARINI

//PAYLAŞMALARININ GEREKMEDİĞİNİ BİLMELİDİRLER..

//BURASI KALİTELİ BİR SİSTEMDİR VE BU KALİTEYİ ELDE TUTMAK ELİMİZDEDİR

//LÜTFEN BUNU DA HAKKIYLA YAPALIM

0000000000000000000000000000000000000000000000000000000000000000000000000000000

 

{

Arkadaşlar aklınızda bulunsun! Özellikle eğer veri tabanıyla çalışırken

en çok karşılaştığım problem ara bellekte çok fazla yer kaplanması

mesela bir tablom var ve içerisinde 70.000 civarında kayıt var

bu kayırlar dbgrid gibi bir yerde görüntülenirken zaten bir hayli yer

kaplamakta ara bellekte. eğer bunun gibi birkaç formda başka tablolar da yer alırsa

şahsen bir projede karşılaştığım gibi 300megabyte a yakın ara bellek program

tarafından işgal edilmekte. bunun için en azından çalışmadığınız

table ya da query leri kapatıp hafızalarını temizleyin.

Bunu nasıl mı yapacaksınız? Falza teferruatlı yolları olmasıyla birlikte

büyük oranda halleden şu basit komutları da uygulayabilirsiniz }

 

//Önce programı derlemeden adoquery nin active özelliğinin false olmasına

// dikkat ediyoruz ve..

 

procedure TForm11.FormActivate(Sender: TObject);

begin

ADOQuery1.Active:=true;

end;

 

procedure TForm11.FormClose(Sender: TObject; var Action: TCloseAction);

begin

ADOQuery1.Active:=false;

ADOQuery1.CleanupInstance;

end;

 

{Normalde arkadaşlar CleanupInstance komutunu tek başına önermezler

onun yerine Free komutu tercih edilir ancak free komutu aynı zamanda

sizin adoquery nesnenizi programdan yok eder. bu da bir daha create etmeniz

gerekliliğini getirir.. Eğer obje yaratma konusunda da yeniyseniz biraz

canınısı sıkabilir. O yüzden siz CleanupInstance kullanın }

sinan.islekdemir@gmail.com

 

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

 

SOD - Tabloda Field Seçerek Özel Arama Oluşturma

0000000000000000000000000000000000000000000000000000000000000000000000000000000

//BURADA BELEŞÇİLERE YER YOKTUR LÜTFEN DERDİNİZ VARSA FORUMLARI KULLANIN

//VE LÜTFEN KİMSE BURAYA GELEN SORULARI YANITLAMASIN Kİ YÜZ BULUP TEKRAR

//TEKRAR BURAYA SORU SORULMASIN BURASI KOD PAYLAŞIM YERİDİR VE KİMSE SİZİN

//İÇİN KOD YAZMAK ZORUNDA DEĞİLDİR. KODLAR BİR PROGRAMCI İÇİN DEĞERLİDİR

//ÇÜNKÜ BURAYA HERKES KENDİ ALIN TERİNİ VE KENDİ EKMEK PARASINI YAZMAKTA VE

//PAYLAŞMAKTADIR. BAZI ZİHNİYETLER BURAYA ASLINDA ÇOK DEĞERLİ BİLGİLER VERİLDİĞİNİ

//YANİ SİHİRBAZLARIN SIRLARINI PAYLAŞTIĞINI FARKETMEKSİZİN BU SİHİRBAZLARIN

//ONLAR İÇİN YENİ SİHİRLER BULMALARI GEREKMEDİĞİNİ YA DA TÜM SIRLARINI

//PAYLAŞMALARININ GEREKMEDİĞİNİ BİLMELİDİRLER..

//BURASI KALİTELİ BİR SİSTEMDİR VE BU KALİTEYİ ELDE TUTMAK ELİMİZDEDİR

//LÜTFEN BUNU DA HAKKIYLA YAPALIM

0000000000000000000000000000000000000000000000000000000000000000000000000000000

{

Öncelikle arkadaşlar yapmanız gereken şey arama bölümünü açtığınızda aramadan önce şu

kodu uygulatmak}

ADOConnection1.GetFieldNames('Nufuslar',ComboBox1.Items);

{Burada Nufuslar benim tablomun adıdır arkadaşlar...}

{Bu noktadan sonra Combobox'ınızın Autocomplete özelliğini True yapacak olursanız

yazdıklarınız otomatik tamalanacaktır.

Neyse sonra arama olayına gelelimmm... bir adet edit koyun vee... arama butonuna

şunun gibi bir kod yazın}

sorgu.SQL.Text:='select * from Nufuslar where ['+UpperCase(ComboBox1.Text)+'] LIKE '+UpperCase(QuotedStr('%'+acEdit1.Text+'%'))+' ORDER BY '+UpperCase(ComboBox1.Text);

sorgu.Active:=true;

{Bu sayede Comboboxta seçmiş olduğunuz alan adına göre arama yapılır

burada acEdit e takılmayın o benim kullandığım edit componentinin farklı oluşudur

normal edit ile bir farkı yoktur burada kullanımında

ayrıca sonuçlar alfabetik olarak seçtiğiniz alana göre listelenir..

}

 

Clipboard'daki dosyaların isimlerinin listelenmesi

uses

   clipbrd, shellapi;

 

procedure TForm1.Button1Click(Sender: TObject) ;

var

   f: THandle;

   buffer: Array [0..MAX_PATH] of Char;

   i, numFiles: Integer;

begin

   Clipboard.Open;

   try

     f:= Clipboard.GetAsHandle( CF_HDROP ) ;

     If f <> 0 Then Begin

       numFiles := DragQueryFile( f, $FFFFFFFF, nil, 0 ) ;

       memo1.Clear;

       for i:= 0 to numfiles - 1 do begin

         buffer[0] := #0;

         DragQueryFile( f, i, buffer, sizeof(buffer)) ;

         memo1.lines.add( buffer ) ;

       end;

     end;

   finally

     Clipboard.close;

   end;

end;

 

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

 

Clipboard'daki dosyaların isimlerinin listelenmesi

uses

   clipbrd, shellapi;

 

procedure TForm1.Button1Click(Sender: TObject) ;

var

   f: THandle;

   buffer: Array [0..MAX_PATH] of Char;

   i, numFiles: Integer;

begin

   Clipboard.Open;

   try

     f:= Clipboard.GetAsHandle( CF_HDROP ) ;

     If f <> 0 Then Begin

       numFiles := DragQueryFile( f, $FFFFFFFF, nil, 0 ) ;

       memo1.Clear;

       for i:= 0 to numfiles - 1 do begin

         buffer[0] := #0;

         DragQueryFile( f, i, buffer, sizeof(buffer)) ;

         memo1.lines.add( buffer ) ;

       end;

     end;

   finally

     Clipboard.close;

   end;

end;

 

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

 

IP adresinin url adresine çevrilmesi

uses

  Winsock;

 

function IAddrToHostName(const IP: string): string;

var

  i: Integer;

  p: PHostEnt;

begin

  Result := '';

  i      := inet_addr(PChar(IP));

  if i <> u_long(INADDR_NONE) then

  begin

    p := GetHostByAddr(@i, SizeOf(Integer), PF_INET);

    if p <> nil then Result := p^.h_name;

  end

  else

    Result := 'Invalid IP address';

end;

 

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

 

IP adresinin url adresine çevrilmesi

uses

  Winsock;

 

function IAddrToHostName(const IP: string): string;

var

  i: Integer;

  p: PHostEnt;

begin

  Result := '';

  i      := inet_addr(PChar(IP));

  if i <> u_long(INADDR_NONE) then

  begin

    p := GetHostByAddr(@i, SizeOf(Integer), PF_INET);

    if p <> nil then Result := p^.h_name;

  end

  else

    Result := 'Invalid IP address';

end;

 

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

 

IExplorer favori site adreslerinin alınması

function GetIEFavourites

(const favpath: string):TStrings;

var

   searchrec:TSearchrec;

   str:TStrings;

   path,dir,filename:String;

   Buffer: array[0..2047] of Char;

   found:Integer;

begin

  str:=TStringList.Create;

  try

   path:=FavPath+'*.url';

   dir:=ExtractFilepath(path) ;

   found:=FindFirst(path,faAnyFile,searchrec) ;

   while found=0 do begin

    SetString(filename, Buffer,

            GetPrivateProfileString('InternetShortcut',

            PChar('URL'), NIL, Buffer, SizeOf(Buffer),

            PChar(dir+searchrec.Name))) ;

    str.Add(filename) ;

    found:=FindNext(searchrec) ;

   end;

   found:=FindFirst(dir+'*.*',faAnyFile,searchrec) ;

   while found=0 do begin

    if ((searchrec.Attr and faDirectory) > 0)

      and (searchrec.Name[1]<>'.') then

    str.AddStrings(GetIEFavourites

                 (dir+''+searchrec.name)) ;

    found:=FindNext(searchrec) ;

   end;

   FindClose(searchrec) ;

  finally

   Result:=str;

  end;

end;

 

procedure TForm1.Button1Click(Sender: TObject) ;

var pidl: PItemIDList;

     FavPath: array[0..MAX_PATH] of char;

begin

  SHGetSpecialFolderLocation(Handle, CSIDL_FAVORITES, pidl) ;

  SHGetPathFromIDList(pidl, favpath) ;

  ListBox1.Items:=GetIEFavourites(StrPas(FavPath)) ;

end;

 

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

 

IExplorer favori site adreslerinin alınması

function GetIEFavourites

(const favpath: string):TStrings;

var

   searchrec:TSearchrec;

   str:TStrings;

   path,dir,filename:String;

   Buffer: array[0..2047] of Char;

   found:Integer;

begin

  str:=TStringList.Create;

  try

   path:=FavPath+'*.url';

   dir:=ExtractFilepath(path) ;

   found:=FindFirst(path,faAnyFile,searchrec) ;

   while found=0 do begin

    SetString(filename, Buffer,

            GetPrivateProfileString('InternetShortcut',

            PChar('URL'), NIL, Buffer, SizeOf(Buffer),

            PChar(dir+searchrec.Name))) ;

    str.Add(filename) ;

    found:=FindNext(searchrec) ;

   end;

   found:=FindFirst(dir+'*.*',faAnyFile,searchrec) ;

   while found=0 do begin

    if ((searchrec.Attr and faDirectory) > 0)

      and (searchrec.Name[1]<>'.') then

    str.AddStrings(GetIEFavourites

                 (dir+''+searchrec.name)) ;

    found:=FindNext(searchrec) ;

   end;

   FindClose(searchrec) ;

  finally

   Result:=str;

  end;

end;

 

procedure TForm1.Button1Click(Sender: TObject) ;

var pidl: PItemIDList;

     FavPath: array[0..MAX_PATH] of char;

begin

  SHGetSpecialFolderLocation(Handle, CSIDL_FAVORITES, pidl) ;

  SHGetPathFromIDList(pidl, favpath) ;

  ListBox1.Items:=GetIEFavourites(StrPas(FavPath)) ;

end;

 

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

 

Network bilgisayar listesinin alınması

type

  PNetResourceArray = ^TNetResourceArray;

  TNetResourceArray = array[0..100] of TNetResource;

 

function CreateNetResourceList(ResourceType: DWord;

                              NetResource: PNetResource;

                              out Entries: DWord;

                              out List: PNetResourceArray): Boolean;

var

  EnumHandle: THandle;

  BufSize: DWord;

  Res: DWord;

begin

  Result := False;

  List := Nil;

  Entries := 0;

  if WNetOpenEnum(RESOURCE_GLOBALNET,

                  ResourceType,

                  0,

                  NetResource,

                  EnumHandle) = NO_ERROR then begin

    try

      BufSize := $4000;  // 16 kByte

      GetMem(List, BufSize);

      try

        repeat

          Entries := DWord(-1);

          FillChar(List^, BufSize, 0);

          Res := WNetEnumResource(EnumHandle, Entries, List, BufSize);

          if Res = ERROR_MORE_DATA then

          begin

            ReAllocMem(List, BufSize);

          end;

        until Res <> ERROR_MORE_DATA;

 

        Result := Res = NO_ERROR;

        if not Result then

        begin

          FreeMem(List);

          List := Nil;

          Entries := 0;

        end;

      except

        FreeMem(List);

        raise;

      end;

    finally

      WNetCloseEnum(EnumHandle);

    end;

  end;

end;

 

procedure ScanNetworkResources(ResourceType, DisplayType: DWord; List: TStrings);

 

procedure ScanLevel(NetResource: PNetResource);

var

  Entries: DWord;

  NetResourceList: PNetResourceArray;

  i: Integer;

begin

  if CreateNetResourceList(ResourceType, NetResource, Entries, NetResourceList) then try

    for i := 0 to Integer(Entries) - 1 do

    begin

      if (DisplayType = RESOURCEDISPLAYTYPE_GENERIC) or

        (NetResourceList[i].dwDisplayType = DisplayType) then begin

        List.AddObject(NetResourceList[i].lpRemoteName,

                      Pointer(NetResourceList[i].dwDisplayType));

      end;

      if (NetResourceList[i].dwUsage and RESOURCEUSAGE_CONTAINER) <> 0 then

        ScanLevel(@NetResourceList[i]);

    end;

  finally

    FreeMem(NetResourceList);

  end;

end;

 

begin

  ScanLevel(Nil);

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  ScanNetworkResources(RESOURCETYPE_DISK, RESOURCEDISPLAYTYPE_SERVER, ListBox1.Items);

end;

 

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

 

Network bilgisayar listesinin alınması

type

  PNetResourceArray = ^TNetResourceArray;

  TNetResourceArray = array[0..100] of TNetResource;

 

function CreateNetResourceList(ResourceType: DWord;

                              NetResource: PNetResource;

                              out Entries: DWord;

                              out List: PNetResourceArray): Boolean;

var

  EnumHandle: THandle;

  BufSize: DWord;

  Res: DWord;

begin

  Result := False;

  List := Nil;

  Entries := 0;

  if WNetOpenEnum(RESOURCE_GLOBALNET,

                  ResourceType,

                  0,

                  NetResource,

                  EnumHandle) = NO_ERROR then begin

    try

      BufSize := $4000;  // 16 kByte

      GetMem(List, BufSize);

      try

        repeat

          Entries := DWord(-1);

          FillChar(List^, BufSize, 0);

          Res := WNetEnumResource(EnumHandle, Entries, List, BufSize);

          if Res = ERROR_MORE_DATA then

          begin

            ReAllocMem(List, BufSize);

          end;

        until Res <> ERROR_MORE_DATA;

 

        Result := Res = NO_ERROR;

        if not Result then

        begin

          FreeMem(List);

          List := Nil;

          Entries := 0;

        end;

      except

        FreeMem(List);

        raise;

      end;

    finally

      WNetCloseEnum(EnumHandle);

    end;

  end;

end;

 

procedure ScanNetworkResources(ResourceType, DisplayType: DWord; List: TStrings);

 

procedure ScanLevel(NetResource: PNetResource);

var

  Entries: DWord;

  NetResourceList: PNetResourceArray;

  i: Integer;

begin

  if CreateNetResourceList(ResourceType, NetResource, Entries, NetResourceList) then try

    for i := 0 to Integer(Entries) - 1 do

    begin

      if (DisplayType = RESOURCEDISPLAYTYPE_GENERIC) or

        (NetResourceList[i].dwDisplayType = DisplayType) then begin

        List.AddObject(NetResourceList[i].lpRemoteName,

                      Pointer(NetResourceList[i].dwDisplayType));

      end;

      if (NetResourceList[i].dwUsage and RESOURCEUSAGE_CONTAINER) <> 0 then

        ScanLevel(@NetResourceList[i]);

    end;

  finally

    FreeMem(NetResourceList);

  end;

end;

 

begin

  ScanLevel(Nil);

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  ScanNetworkResources(RESOURCETYPE_DISK, RESOURCEDISPLAYTYPE_SERVER, ListBox1.Items);

end;

 

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

 

DDE Connection

Bir programdan diger programa parametre aktararak toplama yaptiran kodlar.

Delphi 7 ile yapilmistir.

 

Project2 kodu

 

Projeye DdeClientConv1 componenti ve 2 edit eklenmeli

// Baglan Butonu

procedure TForm1.Button1Click(Sender: TObject);

begin

  DdeClientConv1.ConnectMode:=ddeManual;

  DdeClientConv1.ServiceApplication:='C:Project1.exe';

 

  If DdeClientConv1.SetLink('Project1','ddeserverconv1') then

  begin

    if Not DdeClientConv1.OpenLink then

    begin

      ShowMessage('Baglanti Kurulamiyor');

      Exit;

    end;

  end

  else ShowMessage('Baglanti Kurulamiyor,Yol Dogrumu');

end;

 

//  Hesapla Butonu

 

procedure TForm1.Button2Click(Sender: TObject);

begin

                                   //1. parametre   2. parametre

   DdeClientConv1.ExecuteMacro(pchar(Edit1.Text+#13+Edit2.Text+#13),false);

end;

 

// Proje1 kodu

 

//DdeServerConv1 componenti eklenmeli proje c:project1.exe diye kaydedilmeli

 

procedure TForm1.DdeServerConv1ExecuteMacro(Sender: TObject;

  Msg: TStrings);

var

m,n:String;

x:Integer;

begin

  m:=Msg.Strings[0]; // Edit1.text

  n:=Msg.Strings[1]; // Edit2.text

  x:=StrToInt(m)+StrToInt(n1);

  ShowMessage(IntToStr(x));

end;

 

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

 

DDE Connection

Bir programdan diger programa parametre aktararak toplama yaptiran kodlar.

Delphi 7 ile yapilmistir.

 

Project2 kodu

 

Projeye DdeClientConv1 componenti ve 2 edit eklenmeli

// Baglan Butonu

procedure TForm1.Button1Click(Sender: TObject);

begin

  DdeClientConv1.ConnectMode:=ddeManual;

  DdeClientConv1.ServiceApplication:='C:Project1.exe';

 

  If DdeClientConv1.SetLink('Project1','ddeserverconv1') then

  begin

    if Not DdeClientConv1.OpenLink then

    begin

      ShowMessage('Baglanti Kurulamiyor');

      Exit;

    end;

  end

  else ShowMessage('Baglanti Kurulamiyor,Yol Dogrumu');

end;

 

//  Hesapla Butonu

 

procedure TForm1.Button2Click(Sender: TObject);

begin

                                   //1. parametre   2. parametre

   DdeClientConv1.ExecuteMacro(pchar(Edit1.Text+#13+Edit2.Text+#13),false);

end;

 

// Proje1 kodu

 

//DdeServerConv1 componenti eklenmeli proje c:project1.exe diye kaydedilmeli

 

procedure TForm1.DdeServerConv1ExecuteMacro(Sender: TObject;

  Msg: TStrings);

var

m,n:String;

x:Integer;

begin

  m:=Msg.Strings[0]; // Edit1.text

  n:=Msg.Strings[1]; // Edit2.text

  x:=StrToInt(m)+StrToInt(n1);

  ShowMessage(IntToStr(x));

end;

 

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

 

dayanamayıyorum artık çok kızıyorum

Polemik yapmayacaktım, dayanamıyorum artık!

 

arkadaşımızın biri şöyle bir bilgi göndermiş:

 

"

Eğer Programınızda Kullandığınız Formların Hafızayı Fazla Doldurmasını

istemiyorsanız aşağıdaki yöntemi kullanmak son derece ideal olacaktır.

 

 Form1 := TForm1.Create(Self);

 Form1.ShowModal;

 FreeAndNil(Form1);

 

The HaCKeRs ( Delphi Developher )

"

 

iyi güzel teşekkür ederiz, de, kel alaka ?...

 

yaptığın iş sadece formdan bir form create etmek!

bunda orjinal herhangi bir şey yok ve gayet kullanılan bir CREATE mantığı!

 

ha şunu da söyliyim güzel arkadaşım,

 

1. formdan create etmişsin, ve bunu da showmodal ile göstermişsin, ama formunun

içine bişey ekle yaz çiz desem yazdıramazsın bu yöntemle!! sayın delelopher

arkadaşım,

2. formun create metodlarını biraz daha araştır! Sadece (Self) işe yaramıyor

3. freeandnil(form1); demişsin, yenilik mi bu yoksa kulağı sağdan göstermek mi?..

her nesne destroy edilirken zaten free and nil yapılıyor! form1.destroy!

4. "The HaCKeRs" lakabına pek yakıştıramadım doğrusu..

 

Burası HACKER forumu veya sitesi değil!

DELPHI KOD BANKASI!!!

 

Sana Ödev Veriyorum Delphi Developher Arkadaşım,

Şu dediklerimi yap:

 

 

1-) Create yöntemlerinden olan SELF, PARENT, NIL operantları arasındaki farkları

bana anlat

 

2-) Ne tür formlar hafızayı doldurur, ne tür formlar hafızayı doldurmaz,

bana bunları anlat,

Hafızayı madem çok kafaya takıyorsun, DLL içine gömülmüş olan kendi Formlarını

nasıl ekrana çağırdığını bana anlat

 

3-) Form1:=Tform1.create(Self) ile oluşturduğun (yarattığın) formun içine güzelce

dizayn edilmiş diğer nesneleri yerleştir ve onların EVENT olaylarının kodlarını

yönlendir! (Boş formu açıp showmodal göstermenin orjinalliği nedir?

(eğer form oluşturmak istiyorsan ZATEN create ile oluşturacaksın,

destroy ile zaten yok etmen gerekiyor!)

 

4-) ve son olarak,

neden son derece IDEAL oluyor arkadaşım buna biraz daha açıklama katarsan

sevinirim! Yukarıdaki 3 maddeyi de beraberinde açıklarsan, idealin NE olduğunu

diğer tüm arkadaşlarım da öğrenmiş olurlar!

 

Delphi ile uğraşan ve bilgilerini paylaşan tüm değerli delphi dostlarıma

 

iyi çalışmalar diliyorum..

 


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