Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

ÖNEMLİ AÇIKLAMA: MUTLAKA OKUYUNUZ!

Gönderen Konu: Indy Bileşenleri 1  (Okunma sayısı 5348 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı teknolok

  • Global Moderatör
  • *****
  • İleti: 155
  • Rep: +3/-1
  • Cinsiyet: Bay
Indy Bileşenleri 1
« : 08 Ekim 2005 18:31:30 »
INDY BİLEŞENLERİ 1
İndy bileşenleriyle ben Özkan besinili (xbarakuda) her hafta indyserver indyclient  indymisc Tablarından birer kontrolü anlatmaya çalışıcam elimden geldiği kadarıyla

                                                       İNDYSERVER1
Server uygulama yapmak istiyenler için çok amaçlı protokoldür bir çok uygulama geliştire bilirsiniz (http,ftp,tcp,mirc) gibi

IDTCPSERVER
Idtcpserver1.defaultport:=kullanmak istediğiniz portu bu kısımdan belirlemelisiniz Idtcpserver1.active:=true  server açık kapalımı olmasını belirleyin

 Onconnect olayı

Belirlediğimiz porta bağlanmak istiyen biri oldugunda  onconnect olayı gercekleşir Bağlantı kurmak istiyen kişinin bilgilerini almak için(athread.Connection.Socket.Binding.PeerIP) yazmanınız yeterlidir.
Porta gelen bilgileri okumak için (athread.Connection.ReadLn);
Bağlantı kuran kişi bilgi göndermek için (athread.Connection.WriteLn('selam hoş geldiniz '))

                                                             IDTCPCLİET

İdtcpclient  host : bağlantı sağlanacak ip buradan belirleyin.
İdtcpclient  port : bağlantı sağlanacak portu belirleyin serverdeki portun aynısı olması şart
İdtcpclient writeln servere mesaj göndermek için kullanılır
İdtcpclient readln : serverden gelen mesajları okuya bilirsiniz.
idtcpclient1.Socket.LocalName servermakinasının ismin örgene bilirsiniz
Diğer yordanları anlatmama gerek yok sanırım biraz mantıkla olayı çözersiniz

                                 Örnek olarak bir program yapalım size bağlantı kuran makinenın cdromunu Açtıralım chat yapan bir basit bir program yapalım

                                                                     Server bölümü

                               Bir form hazırlayın bir ındyserver tabından tcpserver bir memo bir checkbox Yerleştirin   Aşağıdaki kodu gerekli kısımlara yazın

Kod: Delphi
  1. procedure TForm1.IdTCPServer1Connect(AThread: TIdPeerThread);
  2. begin
  3. memo1.Lines.Add(athread.Connection.Socket.Binding.IP+'bağlan mak iştiyor ' );
  4. athread.Connection.WriteLn('selam hoş geldiniz ');
  5. athread.Connection.Connected;
  6.   if checkbox1.Checked=true then
  7.   athread.Connection.WriteLn('cd');
  8. end;
  9.  
  10. procedure TForm1.FormCreate(Sender: TObject);
  11. begin
  12.  Idtcpserver1.DefaultPort:=1100;
  13.  Idtcpserver1.Active:=true;
  14. end;
  15.  
  16. procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
  17. begin
  18. Idtcpserver1.Active:=false;
  19. end;
  20.  
  21. procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
  22. var
  23. s:string;
  24. begin
  25. if athread.Connection.Connected then
  26. s:=athread.Connection.ReadLn;
  27. memo1.Lines.Add(s);
  28. end;
  29.  
  30. procedure TForm1.IdTCPServer1Disconnect(AThread: TIdPeerThread);
  31. begin
  32. athread.Connection.Disconnect;
  33. memo1.Lines.Add('bağlantı kesildi');
  34. end;
  35.  
  36. end.

                                IDTCPCLİENT BÖLÜMÜ

Formunuza iki button indyclient tabından ıdtcpclient iki edit bir tane de memo koyun gerekli kodları yazın

Kod: Delphi
  1. procedure TForm1.Button1Click(Sender: TObject)
  2. var
  3.  mesaj:string;
  4. begin
  5. IDTCPclient1.Connect;
  6. IDTCPclient1.Host:=edit2.Text;
  7. DTCPclient1.Port:=1100;
  8. mesaj:=idtcpclient1.ReadLn;
  9.   if mesaj='cd' then
  10.    mciSendString('Set cdaudio door open', nil, 0, 0)
  11.    else
  12.   memo1.Lines.Add(mesaj);
  13. end;
  14.  
  15. procedure TForm1.FormCreate(Sender: TObject);
  16. begin
  17. button2.Enabled:=false;
  18.  edit2.Text:='10.0.0.11';
  19. end;
  20.  
  21. procedure TForm1.IdTCPClient1Connected(Sender: TObject);
  22. begin
  23. button2.Enabled:=true;
  24. end;
  25.  
  26. procedure TForm1.Button2Click(Sender: TObject);
  27. begin
  28. idtcpclient1.WriteLn(edit1.Text);
  29. end;
  30.  
  31. end.


Xp işletim siteminde bazı sorunlar vere bilir

                     INDY MİSC
  IdDecoderMIME1 ve IdDecoderMIME1
Metinleri şifreme işine yarar
 IdencoderMIME1.Encode şifrelek isdediğiniz metin yada memonun içindeki metni şifreler
IdDecoderMIME1.DecodeString şifreli metini eski haline çevirir
Örnek   yazdımız metni şifreleyip kaydeden kayıtlı şifreli metinleri tekrardan açan bir program yazalım
Bir form hazırlayın formunuza bir IdDecoderMIME1 bir IdDecoderMIME1 iki memo
Bir opendialog bir savedialog 4 adet button yerleştirin  
Formu bu şekil tasarlaya bilirsiniz




Kod: Delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3. IdencoderMIME1.Encode(memo1.Text);
  4. memo2.Text:=IdencoderMIME1.EncodeString(memo1.Text);
  5. end;
  6.  
  7. procedure TForm1.Button2Click(Sender: TObject);
  8. begin
  9. IdDecoderMIME1.DecodeString(memo2.Text);  memo1.Text:=IdDecoderMIME1.DecodeString(memo2.Text);
  10. end;
  11.  
  12. procedure TForm1.Button3Click(Sender: TObject);
  13. var
  14. yol:ansistring;
  15. begin
  16. opendialog1.Title:='dosya seçiniz';
  17. opendialog1.Filter:='txt dosyalari|*.txt|';
  18. if opendialog1.Execute then
  19. begin
  20. yol:=opendialog1.FileName;
  21. memo1.Lines.LoadFromFile(yol);
  22. end;
  23.    end;
  24.  
  25. procedure TForm1.Button6Click(Sender: TObject);
  26. var
  27. yol:ansistring;
  28. begin
  29. savedialog1.Title:='dosyayı kaydet';
  30. savedialog1.DefaultExt:='txt';
  31. if savedialog1.Execute then
  32. begin
  33. yol:=savedialog1.FileName;
  34. memo1.Lines.SaveToFile(yol);
  35. end;
  36.  end;
  37.  
  38.  
  39. procedure TForm1.Button4Click(Sender: TObject);
  40. var
  41. yol:ansistring;
  42. begin
  43. opendialog1.Title:='dosya seçiniz';
  44. opendialog1.Filter:='txt dosyalari|*.txt|';
  45. if opendialog1.Execute then
  46. begin
  47. yol:=opendialog1.FileName;
  48. memo2.Lines.LoadFromFile(yol);
  49. end;
  50.    end;
  51.  
  52.    procedure TForm1.Button5Click(Sender: TObject);
  53. var
  54. yol:ansistring;
  55. begin
  56. savedialog1.Title:='dosyayı kaydet';
  57. savedialog1.DefaultExt:='txt';
  58. if savedialog1.Execute then
  59. begin
  60. yol:=savedialog1.FileName;
  61. memo2.Lines.SaveToFile(yol);
  62. end;
  63.  end;
  64.  
  65.  end.
« Son Düzenleme: 28 Eylül 2008 04:56:24 by Kocaturk »
Bizim gerçek kıldıklarımıza Onların hayalleri yetişemedi ....FATİH SULTAN MEHMET HAN

Çevrimdışı usiel

  • Üye
  • ***
  • İleti: 42
  • Rep: +1/-0
Ynt: Indy Bileşenleri 1
« Yanıtla #1 : 29 Şubat 2008 23:07:18 »
saol hocam işime bay ayarayacak.

Çevrimdışı Kocaturk

  • Administrator
  • *****
  • İleti: 2.474
  • Rep: +56/-5
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: Indy Bileşenleri 1
« Yanıtla #2 : 01 Mart 2008 23:17:53 »
Patron hoş geldin. Askerlik bittimi yoksa ??

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: Indy Bileşenleri 1
« Yanıtla #3 : 02 Mart 2008 16:49:12 »
Patron hoş geldin. Askerlik bittimi yoksa ??
anlayamadım ??? eski yazı ki :P
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı Kocaturk

  • Administrator
  • *****
  • İleti: 2.474
  • Rep: +56/-5
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: Indy Bileşenleri 1
« Yanıtla #4 : 02 Mart 2008 20:28:51 »
 :utn: Benim gibi admin olursa :) 2005 de yazılmış yazıyı yeni gibi görürsen böyle olur. Evet @akrep in laneti tüm siteyi sarmış galiba. :):)

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: Indy Bileşenleri 1
« Yanıtla #5 : 02 Mart 2008 20:44:58 »
Ben dedim değil mi ::D
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı kartal3434

  • Üye
  • ***
  • İleti: 21
  • Rep: +0/-0
Ynt: Indy Bileşenleri 1
« Yanıtla #6 : 09 Ağustos 2008 13:56:52 »
slm arkdaşlar bu yazmış oldugunu kodlar internet üzerinde calışırmı ama routerdan nat ayarı yapmadan... eger calışıyorsa sorun yok calışmıyor ise calışmasını nasıl saglarız..

Çevrimdışı ss80

  • Üye
  • ***
  • İleti: 20
  • Rep: +0/-0
Ynt: Indy Bileşenleri 1
« Yanıtla #7 : 27 Eylül 2008 23:58:44 »
daha fazla ornek lutfen.mesela dosya transferi,

Çevrimdışı cheshme

  • Yeni Üye
  • *
  • İleti: 14
  • Rep: +1/-0
Ynt: Indy Bileşenleri 1
« Yanıtla #8 : 27 Temmuz 2009 16:17:39 »
client kısmın button1click yordamında mcisendstring diye bi fonksiyon kullanmışsın. bu delphide olan bi fonksiyon mu yoksa uses kısmına flan bişey mi eklememiz gerekiyor. ben de undeclared hatası werdi de??