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 10:06
Konum: Sivas - Konya
İletişim:

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

Mesaj gönderen FXERKAN » 20 Haz 2004 02:06

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: 2126
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat » 20 Haz 2004 05:22

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 10:06
Konum: Sivas - Konya
İletişim:

Mesaj gönderen FXERKAN » 21 Haz 2004 12:15

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: 2961
Kayıt: 25 Haz 2003 01:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet » 21 Haz 2004 12:39

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: 2126
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat » 21 Haz 2004 02:26

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 » 21 Haz 2004 02:53

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 » 23 Haz 2004 12:11

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! » 10 Oca 2005 05:43

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 08:54
Konum: istanbul

Mesaj gönderen Asri » 10 Oca 2005 10:41

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 07:33
Konum: Ankara

Mesaj gönderen futbolcu » 11 Oca 2005 09:57

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! » 11 Oca 2005 02:22

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 » 11 Oca 2005 03:16

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! » 11 Oca 2005 07:25

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

Cevapla