Metinde filtreleme işlemi nasıl yapılır

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
regedit1
Üye
Mesajlar: 15
Kayıt: 11 May 2009 10:56

Metinde filtreleme işlemi nasıl yapılır

Mesaj gönderen regedit1 »

Arkadaşlar merhaba.

Txt dosyasında uzunca bir metnim var. Bu metin tek bir txt de sürekli tekrarlanıyor. Burda iki kelime arasında filtre uygulattırıp istediğim bilgileri görmek istiyorum. Örnek verirsem daha iyi anlaşılır :

X.txt dosyası içi

MASKNO:03800
LAC = 0xxx DN = xxxxxx EQN = 410- 6- 2- 3
CAT = MS MASKNO:03774
OPTRCL = 6 MASKNO:03798
NUMCAL = 1 MASKNO:08641
ORIG1 = 4
DIV = DIVBY DIVBYMOD DIVDA DIVDAMOD DIVI MASKNO:08598
DIVIMOD DDVBYN DDVDAN DDVIN
BLK = ACCSPORI MASKNO:03773
LNATT = PB MASKNO:03787

END JOB 8840 EXEC'D



MASKNO:03800
LAC = 0xxx DN = xxxxxxx EQN = 710- 1-10- 0
CAT = MS MASKNO:03774
OPTRCL = 5 MASKNO:03798
NUMCAL = 1 MASKNO:08641
ORIG1 = 11
DIV = ACTDIVDA-08005000606 MASKNO:03780
DIVBY DIVBYMOD DIVDA DIVDAMOD DIVI MASKNO:08598
DIVIMOD DDVBYN DDVDAN DDVIN
LNATT = PB MASKNO:03787
COS = CLIP FSK MASKNO:03777

END JOB 8843 EXEC'D


Arkadaşlar yukarıda gördüğünüz gibi bir TXT dosyasında bu komutlar sürekli tekrar ediyor.

benim yapmak istediğim her seferinde LAC ve END JOB arasını her seferinde kontrol ettirmek ve içinde BLK varsa ;

numarayı ve BLK var yazcak.

kısaca Bu 20 satırlık bilgilerden BLK olan ları süzdürmem lazım. Nasıl bi yol izlemeliyim
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: Metinde filtreleme işlemi nasıl yapılır

Mesaj gönderen Battosai »

satır satır arama yap satırda BLK geçiyorsa değeri al

Kod: Tümünü seç

list := Tstringlist.create;
list.loadfromfile('c:\abc.txt');
for i := list.count-1 do begin
  if(ansicontaintext('BLK',list.strings[i])) then
    //BLK BULUNUK....
end;
regedit1
Üye
Mesajlar: 15
Kayıt: 11 May 2009 10:56

Re: Metinde filtreleme işlemi nasıl yapılır

Mesaj gönderen regedit1 »

Peki ama aynı anda hangi numaraya ait BLK olduğunuda bilmem lazım yani şöyle
numara....................kapama
050xXXXXXXX...............BLK

LAC yazan yerde numara ver. numarada kapama varsa BLK var yoksa yok. yani eğer Lac da ki numarada BLK varsa Yaz yoksa numarayıda BLK yıda bana gösterme şeklinde
Cevapla