htm - txt - doc - rtf dosyalarında arama yapmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
FXERKAN
Üye
Mesajlar: 178
Kayıt: 26 Tem 2003 11:06
Konum: Sivas - Konya
İletişim:

htm - txt - doc - rtf dosyalarında arama yapmak

Mesaj gönderen FXERKAN »

merhaba

yapmaya çalıştığım küçük bir program. amacı htm - txt - doc - rtf ve belki pdf dosyaları içerisinde arama yapabilen bir program

programa aramak istediğiniz kelimeyi yazacaksınız ve hangi dizinde arama yapmak istediğinizi belirttikten sonra ara diyeceksiniz. program size anahtar kelimenin bulunduğu dosyaları bulacak ve bir kenarda gösterecek.

tabii bulunan dosyaya tıklayınca o dosyayı açacak. böyle bir şekilde dosya içerisinde arama yapabilmek için benim ne kullanmam gerekir. herhangibir component( mesela indy bileşenleri gibi..), yada başka bir şey

teşekkürler
[ F X E R K A N © - E r k a n Ç İ F T Ç İ ]
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2130
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

birinci adım olarak sözü edilen dosya formatlarını delphi içinden okuyabilmen gerekir. Hali hazırda htm, txt , rtf yi zaten okuyabiliyorsun. pdf ve doc için extradan bir kaç takla atman gerekecek.

dosya formatlarını okuma aşamasıan geldikten sonra bir çok siteden bulabileceğin iki fonskiyona ihtiyacın olacak.
1-belirli bir klasördeki uygun uzantılı dosyaları bulma (*.doc;*.htm v.s.)
2-dosyada aranan ifadeyi bulma

not: bazı formatlarda arama yaparken biraz daha uğraşman gerekecek. mesela htm dosyasında arama yapıyorsan html taglarını pas geçmen gerekebilir.

not2: pdf ve doc formatlarını okuyabilen bileşenler icin http://www.torry.ru adresine bakabilirsin.
Kullanıcı avatarı
FXERKAN
Üye
Mesajlar: 178
Kayıt: 26 Tem 2003 11:06
Konum: Sivas - Konya
İletişim:

Mesaj gönderen FXERKAN »

hocam peki rtf - htm - txt dosyalarını delphide nasıl okuyabiliyorum ?

bunu bilseydim zaten ben kendim bir tane arama motoru yazacaktım

pdf için birşeylerde buldum galiba ayrıca teşekkürler
[ F X E R K A N © - E r k a n Ç İ F T Ç İ ]
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Bir algoritma oluştur. Arayacağın stringleri karakter karakter karşılaştırarak okuyabilirsin.

Atıyorum

Kod: Tümünü seç

a:String; //aranacak string
b:String; //arama yapılcak string
i, T:Integer;


For i = 0 To length(b) do
   For t =  0 To Length(a) do
    if B[i] = a[t] Then 


Kolay Gelsin....

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2130
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

FXERKAN yazdı:hocam peki rtf - htm - txt dosyalarını delphide nasıl okuyabiliyorum ?
en basitinden html ve txt için
memo1.lines.loadfromfile('a.htm')
memo1.lines.loadfromfile('a.txt'),
rtf için de richedit bileşenini kullanabilirsiniz...

Kod: Tümünü seç

for i:=0 to memo1.lines.count - 1 do
  showmessage(memo1.lines[i])
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

bence arama işlemini memo üzerinden yapma. herhangibir stringlist create edip onun üzerinden kolayca aynı işlemleri 10 kat daha hızlı yapabilirsin.

ayrıntılar için bakınız arama :) TStringlist
shadowmann
Üye
Mesajlar: 508
Kayıt: 30 Oca 2004 10:49

Mesaj gönderen shadowmann »

aradığın örnek program dtsearch tam senin aradığın program. bir incele.

burda warez sitesi adresi filan vermedim. ilanen duyrulur.
Kullanıcı avatarı
Fatih!
Kıdemli Üye
Mesajlar: 1172
Kayıt: 26 Kas 2004 10:46
Konum: Malatya
İletişim:

Mesaj gönderen Fatih! »

memo1.lines.loadfromfile('a.htm')
bu şekilde yaptığım zaman richedit htm dosyasının kodlarını listeliyor benim istediğim dosya içindeki metinleri almak.
bunu nasıl yspabilirim?
Kullanıcı avatarı
Asri
Kıdemli Üye
Mesajlar: 767
Kayıt: 16 Eyl 2003 09:54
Konum: istanbul

Mesaj gönderen Asri »

Bu linkte bul ve değiştir özelliği ulan bir kod mevcut . BYTE düzeyinde arama mantığı ile çalışıyor. .pas ve .dfm dosyasını mesaja eklemiştim.

Bence byte düzeyinde arama en sağlıklı sonucu vericektir. Yavaş ama en kararlısı :)

viewtopic.php?p=32406

iyi çalışmalar.
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.
Kullanıcı avatarı
futbolcu
Üye
Mesajlar: 129
Kayıt: 02 Tem 2003 08:33
Konum: Ankara

Mesaj gönderen futbolcu »

FaoSoft yazdı:
memo1.lines.loadfromfile('a.htm')
bu şekilde yaptığım zaman richedit htm dosyasının kodlarını listeliyor benim istediğim dosya içindeki metinleri almak.
bunu nasıl yspabilirim?
SynEdit bileşeni kullanılarak yapılmış bir örnek. linki:
http://www.planet-source-code.com/vb/sc ... 2FI3816771
Bilgi çoğaldıkça krallar ölür
Kullanıcı avatarı
Fatih!
Kıdemli Üye
Mesajlar: 1172
Kayıt: 26 Kas 2004 10:46
Konum: Malatya
İletişim:

Mesaj gönderen Fatih! »

SynEdit bileşeni kullanılarak yapılmış bir örnek. linki:
http://www.planet-source-code.com/vb/sc ... 2FI3816771
iki synedit bileşeni buldum ikisinninde delphi7 desteği yok. d7 desteli synedit var mı acaba
Misafir

Mesaj gönderen Misafir »

merhaba.
http://www.erasoluzioni.com/paxdebugger ... nstall.htm
bu adreste delphi7 için yapılması için gerekli değişikliği anlatıyor.
kolay gelsin.
Kullanıcı avatarı
Fatih!
Kıdemli Üye
Mesajlar: 1172
Kayıt: 26 Kas 2004 10:46
Konum: Malatya
İletişim:

Mesaj gönderen Fatih! »

sorunumu sayfayı webbrowsere yükleyip copy paste yönmtemiyle hallettim.
tşk
Cevapla