Programlama | Programlama Dilleri | C Programlama Dili |C++

Hata
  • XML Parsing Error at 1:82. Error 9: Invalid character
Anasayfa Programlama C++ Builder FindDialog ile Dosyada Kelime Arama


FindDialog ile Dosyada Kelime Arama

AÇIKLAMA

C++ Builder 6 ile uyumludur. Bu projemizde öncelikli olarak OpenDialog yard?m?yla bilgisayar üzerinden bir dosya aç?l?r. Daha sonra Ctrl+F tu? bile?imi kullan?larak FindDialog yard?m?yla dosya üzerinde istanilen bir kelimenin aranmas? i?lemi gerçekle?tirilir. Form üzerinde bu tu? bile?iminin çal??mas? için Form'un KeyPreview özelli?inin true olmas? gerekti?ini hat?rlatmakta fayda var. Daha aran?lan tamamen e?le?me veya büyük küçük harf fark? olmadan aran?l?r. E?er bulunamazsa aranan ifade bulunamad? tarz?nda bir sonuç döndürür, e?er bulunursa kelimenin bulundu?u yer Memo kontrolü içerisinde seçilir. Seçimin yap?labilmesi için Memo1 nesnesinin HideSelection özelli?i false yap?lmal?d?r. Arama i?lemlerinde a?a?? ve yukar? gibi iki seçenek bulunmaktad?r projede aktif de?illerdir fakat arama i?lemi s?ras?nda bulunan noktalar?n bir dizi veya ListBox içerisinde saklanmas? suretiyle a?a?? ve yukar? arama i?lemleri basit bir ?ekilde halledilebilir. 


Program?n Tamam?n? A?a??daki Linkten ?ndirebilirsiniz

Linki Görebilmeniz ?çin Üye Olman?z Gerekmektedir...

Üye Kay?t

Program Kodu:

  1. //---------------------------------------------------------------------------
  2.  
  3. #include <vcl.h>
  4. #pragma hdrstop
  5.  
  6. #include "Unit1.h"
  7. //---------------------------------------------------------------------------
  8. #pragma package(smart_init)
  9. #pragma resource "*.dfm"
  10. TForm1 *Form1;
  11. String onceki="";
  12. //---------------------------------------------------------------------------
  13. __fastcall TForm1::TForm1(TComponent* Owner)
  14.         : TForm(Owner)
  15. {
  16. }
  17. //---------------------------------------------------------------------------
  18.  
  19. void __fastcall TForm1::Button1Click(TObject *Sender)
  20. {
  21. if(OpenDialog1->Execute())
  22. Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
  23. }
  24. //---------------------------------------------------------------------------
  25.  
  26. void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
  27.       TShiftState Shift)
  28. {
  29. if((Shift==(Shift<<ssCtrl))&&(Key==70))
  30. FindDialog1->Execute();
  31. }
  32. //---------------------------------------------------------------------------
  33. void __fastcall TForm1::FindDialog1Find(TObject *Sender)
  34. {
  35. static int yer=0,adet=0;
  36. AnsiString s,f;
  37. f=FindDialog1->FindText;
  38. if(f!=onceki)
  39. {
  40. yer=0;
  41. adet=0;
  42. }
  43. s=Memo1->Text.SubString(yer+1,Memo1->Text.Length());
  44. if(FindDialog1->Options.Contains(frMatchCase))
  45. {
  46.  f=f.UpperCase();
  47.  s=s.UpperCase();
  48.  
  49. }
  50. int b=s.Pos(f);
  51. yer+=b;
  52. if(b==0)
  53. {
  54.  if(adet==0)
  55.  ShowMessage("Aranan ?fade Bulunamad?");
  56.  else
  57.  {
  58.  adet=0;
  59.  yer=0;
  60.  ShowMessage("Arama Tamamland?");
  61.  }
  62. }
  63. else
  64. {
  65. adet++;
  66. Memo1->SelStart=yer-1;
  67. Memo1->SelLength=f.Length();
  68. }
  69. onceki=f;
  70. }
  71. //---------------------------------------------------------------------------
  72. void __fastcall TForm1::FormCreate(TObject *Sender)
  73. {
  74. Memo1->HideSelection=false;
  75. }
  76. //---------------------------------------------------------------------------
Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Pazartesi, 03 Eylül 2012 15:38 )  
amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım