Dosyada Replace
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Dosyada Replace
Bir klasördeki dosyaları açıp replace işlemi yapmam gerekiyor. Dosyaları tek tek açıp stringlist veya memoya alarak yapmaya çalıştım ama biraz uzun iş gibi geldi.. Direk yapabileceğim bir yol varmı veya daha önce böyle birşey yapmış olan?
Ansiraplace ile yapılabiliyormuş 

Kod: Tümünü seç
memo1.Lines.Text := AnsiReplace(memo1.Lines.Text,'Eski_deger','Yeni_deger');
istediğiniz türden bir programı ben yazmıştım. Program 625 satırdan ve 3 tane tab menuden oluştuğu için burdan yayınlayamıyorum. Kaynak kodları ile birlikte almak isterseniz mail atmanız yeterli. programım için yazmış olduğum yardım menusunu aşağıdadır. Program txt ve html lerde byte düzeyinde arama ve değiştirme yaptığı için .exe ve .dll lerde de arama ve değiştirme yapılabilir. Ancak unutmamak gerekirki .exe ve .dll lerde bulunan kelimeden daha uzun bir kelime yazılmamalıdır.
iyi çalışmalar.
-----------------------------------------o------------------------------------------
TEXT TOOLS YARDIM
******** DOSYA SEÇ?M? **************
Bu bölümdeki dizin seçme ve işlem yapılacak dosyaları seçme işlemleri diğer bölümlerdede kullanılıyor.
Buradaki işlemler ile HTML içindeki ilk bölüm ve son bölümleri kesip aynı isimde uzantısı txt olan
bir dosya olarak kaydediyoruz.
Sırası ile şu işlemleri yapınız.
1- Filtre den dosya türünü seçiniz. Seçenek yok ise kendiniz *.amd formatında yazabilirsiniz.
2- "Çalışılacak dizini seçiniz" bölümünden Önce sürücü yü C: seçilidir.
3- Sürücü seçtiğiniz de aşağıdaki listede dizin isimleri gelecektir. Değişiklik yapacağınız dosyaların
bulunduğu dizini çift tıklayınız. Aynı anda "Arama dizini" kutusunda seçtiğiniz dizin
tam yolu ile birlikte görünecektir.
4- Alt dizinleri de işleme dahil edecekseniz "Alt dizinleri de ara" yı tıklayarak atif hale getirmeniz gerekiyor.
5- Ara butonuna basınız.
6- Dosyalar sol tarafdaki kutuda listelenecektir.
7- Listelenen bütün dosyalarda işlem yapacaksaniz. "Tümünü seç" butonunu tıklayınız.
Bütün dosyaları seçmekten vazgeçtiyseniz "Tümünü seç" butonunu tekrar tıklayınız.
8- Belirli dosyalarda işlem yapacaksanız. Her bir dosyanın başındaki kutuyu işaretlemeniz yeterli olucaktır.
9- O an işlem yapılan dosyayı "işlem yapılan dosya" kutusunda göreceksiniz.
******** BUL & DEĞİŞTİR **************
Bu bölümde alt dizinler dahil bütün dosyalarda bul değiştir yapılabilir.
Html ve txt içerikli dosyalarda temizlik yapabilirsiniz.
Bul değiştir özelliğini kullanmak için sırası ile şu işlemleri yapınız.
Öncelikle DOSYA SEÇ?M? bölümündeki 1 den 8 dahil olmak üzere işlemleri yapınız.
1- "Bunu bul" kutusu bir den çok kelime/cümle desteği sağlamaktadır
bu kutuya yazacağınız alt alta kelimeler/cümleler hepsi birden işleme dahil edilecektir.
2- "Bununla değiştir" kutusuna yazacağınız kelime/cümle ler "Bunu bul" kutusundaki karşılık
gelen kelime ile değiştirilir. 1. satırdaki kelime 1. satırdak ile 2. 2. ile gibi.
3- Üstteki kutuya kelime/cümle ler yadıktan sonra alttaki kutuya birşey yazmazsanız, bulunacak bütün
kelimeler silinecektir.
4- Her iki kutuyu doldurduktan sonra "Bul" butonunu tıklarsanız sağdaki listede
hangi kelime, hangi dosyada kaç defa bulundu gibi istatistikleri görebilirsiniz.
5- "Değiştir" butonunu tıklarsanız "Bunu bul" listesinde bulunan kelime/cümle ler bulunarak,
Bununla değiştir listesindeki karşılık gelen kelimeler ile değiştirilecektir.
** Bul de?i?tir i?lemleri byte düzeyinde yap?lmaktad?r. Bu yüzden
uzun sürmektedir.
Örnekler :
********** Örnek 1 **********
BUNU BUL
images\
BUNUNLA DEĞİŞTİR
resimler\
Değiştir i tıkladığınızda images\ leri bulup resimler\ olarak değiştirir.
********** Örnek 2 **********
BUNU BUL
images\
egitim\
BUNUNLA DEĞİŞTİR
resimler\
Dersler\
Değiştir i tıkladığınızda images\ leri bulup resimler\ olarak değiştirir.
eğitim\ leri bulup Dersler\ olarak değiştirir.
********** Örnek 3 **********
BUNU BUL
images\
egitim\
BUNUNLA DEĞİŞTİR
resimler\
Değiştir i tıkladığınızda images\ leri bulup resimler\ olarak değiştirir.
eğitim\ leri bulup siler.
********** Örnek 4 **********
BUNU BUL
images\
egitim\
BUNUNLA DEĞİŞTİR
Değiştir i tıkladığınızda images\ leri bulup siler.
eğitim\ leri bulup siler.
*****************************
DOSYA İŞLEMLERİ TEXT VEYA HTML
Bu işlemler ile, bir txt veya html dosyasında,
- Boş satırlar silinebilir
- Bütün boşluklar silinebilir
- Silinecek bir satırda belirleyeceğiniz bir kelime/cümle eğer
-satır başlında ise
-satır sonunda ise
-Satır içinde ise o satırı siler.
Bu özelliğini kullanmak için sırası ile şu işlemleri yapınız.
Öncelikle TEXT TOOLS bölümündeki 1 den 8 dahil olmak üzere işlemleri yapınız.
1- "Boş satırları sil" i işaretleyip "İşleme başla" butonunu tıklarsanız
seçtiğiniz dosyalardaki bütün boş satırlar silinir.
2- "Bütün boşlukları sil" i işaretleyip "İşleme başla" butonunu tıklarsanız
seçtiğiniz dosyalardaki bütün boşlukları siler.
3- "Seçimli satır sil" işaretleyip yanındaki kutuya kelime/cümle yazın.
Yanındaki kutudan işlem türünü seçin.
İle başlar : Yazdığınız kelime/cümle satırın başında varsa.
İle biter : Yazdığınız kelime/cümle satırın sonunda varsa.
İçerir : Yazdığınız kelime/cümle satırın içinde geçiyorsa.
4- "Tablar? sil" i işaretleyip "İşleme başla" butonunu tıklarsanız
seçtiğiniz dosyalardaki bütün Tab lar? siler.
Bundan sonrası size kalmış. Saksıyı çalıştırın ve daha değişik sonuçlara varın.
Yazılım ile ilgili hataları lütfen asri_2121@hotmail.com adresine rapor ediniz.
İyi çalışmalar dilerim.
Asri
iyi çalışmalar.
-----------------------------------------o------------------------------------------
TEXT TOOLS YARDIM
******** DOSYA SEÇ?M? **************
Bu bölümdeki dizin seçme ve işlem yapılacak dosyaları seçme işlemleri diğer bölümlerdede kullanılıyor.
Buradaki işlemler ile HTML içindeki ilk bölüm ve son bölümleri kesip aynı isimde uzantısı txt olan
bir dosya olarak kaydediyoruz.
Sırası ile şu işlemleri yapınız.
1- Filtre den dosya türünü seçiniz. Seçenek yok ise kendiniz *.amd formatında yazabilirsiniz.
2- "Çalışılacak dizini seçiniz" bölümünden Önce sürücü yü C: seçilidir.
3- Sürücü seçtiğiniz de aşağıdaki listede dizin isimleri gelecektir. Değişiklik yapacağınız dosyaların
bulunduğu dizini çift tıklayınız. Aynı anda "Arama dizini" kutusunda seçtiğiniz dizin
tam yolu ile birlikte görünecektir.
4- Alt dizinleri de işleme dahil edecekseniz "Alt dizinleri de ara" yı tıklayarak atif hale getirmeniz gerekiyor.
5- Ara butonuna basınız.
6- Dosyalar sol tarafdaki kutuda listelenecektir.
7- Listelenen bütün dosyalarda işlem yapacaksaniz. "Tümünü seç" butonunu tıklayınız.
Bütün dosyaları seçmekten vazgeçtiyseniz "Tümünü seç" butonunu tekrar tıklayınız.
8- Belirli dosyalarda işlem yapacaksanız. Her bir dosyanın başındaki kutuyu işaretlemeniz yeterli olucaktır.
9- O an işlem yapılan dosyayı "işlem yapılan dosya" kutusunda göreceksiniz.
******** BUL & DEĞİŞTİR **************
Bu bölümde alt dizinler dahil bütün dosyalarda bul değiştir yapılabilir.
Html ve txt içerikli dosyalarda temizlik yapabilirsiniz.
Bul değiştir özelliğini kullanmak için sırası ile şu işlemleri yapınız.
Öncelikle DOSYA SEÇ?M? bölümündeki 1 den 8 dahil olmak üzere işlemleri yapınız.
1- "Bunu bul" kutusu bir den çok kelime/cümle desteği sağlamaktadır
bu kutuya yazacağınız alt alta kelimeler/cümleler hepsi birden işleme dahil edilecektir.
2- "Bununla değiştir" kutusuna yazacağınız kelime/cümle ler "Bunu bul" kutusundaki karşılık
gelen kelime ile değiştirilir. 1. satırdaki kelime 1. satırdak ile 2. 2. ile gibi.
3- Üstteki kutuya kelime/cümle ler yadıktan sonra alttaki kutuya birşey yazmazsanız, bulunacak bütün
kelimeler silinecektir.
4- Her iki kutuyu doldurduktan sonra "Bul" butonunu tıklarsanız sağdaki listede
hangi kelime, hangi dosyada kaç defa bulundu gibi istatistikleri görebilirsiniz.
5- "Değiştir" butonunu tıklarsanız "Bunu bul" listesinde bulunan kelime/cümle ler bulunarak,
Bununla değiştir listesindeki karşılık gelen kelimeler ile değiştirilecektir.
** Bul de?i?tir i?lemleri byte düzeyinde yap?lmaktad?r. Bu yüzden
uzun sürmektedir.
Örnekler :
********** Örnek 1 **********
BUNU BUL
images\
BUNUNLA DEĞİŞTİR
resimler\
Değiştir i tıkladığınızda images\ leri bulup resimler\ olarak değiştirir.
********** Örnek 2 **********
BUNU BUL
images\
egitim\
BUNUNLA DEĞİŞTİR
resimler\
Dersler\
Değiştir i tıkladığınızda images\ leri bulup resimler\ olarak değiştirir.
eğitim\ leri bulup Dersler\ olarak değiştirir.
********** Örnek 3 **********
BUNU BUL
images\
egitim\
BUNUNLA DEĞİŞTİR
resimler\
Değiştir i tıkladığınızda images\ leri bulup resimler\ olarak değiştirir.
eğitim\ leri bulup siler.
********** Örnek 4 **********
BUNU BUL
images\
egitim\
BUNUNLA DEĞİŞTİR
Değiştir i tıkladığınızda images\ leri bulup siler.
eğitim\ leri bulup siler.
*****************************
DOSYA İŞLEMLERİ TEXT VEYA HTML
Bu işlemler ile, bir txt veya html dosyasında,
- Boş satırlar silinebilir
- Bütün boşluklar silinebilir
- Silinecek bir satırda belirleyeceğiniz bir kelime/cümle eğer
-satır başlında ise
-satır sonunda ise
-Satır içinde ise o satırı siler.
Bu özelliğini kullanmak için sırası ile şu işlemleri yapınız.
Öncelikle TEXT TOOLS bölümündeki 1 den 8 dahil olmak üzere işlemleri yapınız.
1- "Boş satırları sil" i işaretleyip "İşleme başla" butonunu tıklarsanız
seçtiğiniz dosyalardaki bütün boş satırlar silinir.
2- "Bütün boşlukları sil" i işaretleyip "İşleme başla" butonunu tıklarsanız
seçtiğiniz dosyalardaki bütün boşlukları siler.
3- "Seçimli satır sil" işaretleyip yanındaki kutuya kelime/cümle yazın.
Yanındaki kutudan işlem türünü seçin.
İle başlar : Yazdığınız kelime/cümle satırın başında varsa.
İle biter : Yazdığınız kelime/cümle satırın sonunda varsa.
İçerir : Yazdığınız kelime/cümle satırın içinde geçiyorsa.
4- "Tablar? sil" i işaretleyip "İşleme başla" butonunu tıklarsanız
seçtiğiniz dosyalardaki bütün Tab lar? siler.
Bundan sonrası size kalmış. Saksıyı çalıştırın ve daha değişik sonuçlara varın.
Yazılım ile ilgili hataları lütfen asri_2121@hotmail.com adresine rapor ediniz.
İyi çalışmalar dilerim.
Asri
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.
Belki elinde kod varsa buraya yaz diyenler olabilir. Karışta olsa aşağıda dfm dosyası ile birlikte veriyorum.
DFM dosyasının içeriği
Kod: Tümünü seç
unit uMain;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, FileCtrl, ComCtrls, ExtCtrls,
CheckLst, inifiles,ActnList, ActnMan;
type
Tform1 = class(TForm)
OpenDialog1: TOpenDialog;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Label1: TLabel;
Label2: TLabel;
Label5: TLabel;
lblnumberfound: TLabel;
Label3: TLabel;
Label8: TLabel;
edit1: TEdit;
Button1: TButton;
islemdosya: TEdit;
CheckBox1: TCheckBox;
dl: TDirectoryListBox;
edit2: TComboBox;
fls: TCheckListBox;
surucu: TDriveComboBox;
tumsec: TCheckBox;
TabSheet2: TTabSheet;
Label9: TLabel;
Label10: TLabel;
Label7: TLabel;
htmlcev: TButton;
txtislem: TRadioGroup;
Button3: TButton;
secimli: TEdit;
nesecili: TComboBox;
Button4: TButton;
bulunanls: TMemo;
mara: TMemo;
mdegis: TMemo;
StaticText1: TStaticText;
TabSheet4: TTabSheet;
Memo2: TMemo;
Button2: TButton;
Button5: TButton;
Button6: TButton;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
procedure flDblClick(Sender: TObject);
procedure edit1DblClick(Sender: TObject);
procedure dlDblClick(Sender: TObject);
procedure dlChange(Sender: TObject);
procedure htmlcevClick(Sender: TObject);
procedure baraExit(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure ElGraphicButton1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure tumsecClick(Sender: TObject);
procedure ElGraphicButton2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure flsMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure dlMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Button2Click(Sender: TObject);
private
procedure FileSearch(const PathName, FileName : string; const InDir : boolean);
procedure bossatirsil;
procedure isimdegistir(eskidosya:string;yenidosya:string);
public
{ Public declarations }
end;
var
form1: Tform1;
ftxt,feski,fyeni:text;
son1:integer;
INI:Tinifile;
kb,alan,bdegis,k,gec,gec1,gec2,gec3,gec4,sad:string;
f:file;
s,sy,se:string;
i1,i2,i3,i4,j,hz,hd,sonsay,say,ic,i,il,y,z:longint;
secimlistr,ss,sse,hict,huz,huz1:string;
satir,hic:integer;
icindevar,bultikli,textislem,bos,yazma,yaz,yaz2:boolean;
durdur,txt2true,baslikvar,baslikacc,secilidosyavar:boolean;
kacbul:longint;
inidosya:string;
implementation
{$R *.DFM}
uses uFileInfo;
procedure Tform1.FileSearch(const PathName, FileName : string; const InDir : boolean);
var Rec : TSearchRec;
Path : string;
begin
Path := IncludeTrailingBackslash(PathName);
if FindFirst(Path + FileName, faAnyFile - faDirectory, Rec) = 0 then
try
repeat
application.ProcessMessages;
if durdur then exit;
fls.Items.Add(Path + Rec.Name);
until FindNext(Rec) <> 0;
finally
FindClose(Rec);
end;
If not InDir then Exit;
if FindFirst(Path + '*.*', faDirectory, Rec) = 0 then
try
repeat
application.ProcessMessages;
if durdur then exit;
if (Rec.Attr in [faDirectory]) and (Rec.Name<>'.') and (Rec.Name<>'..') then
FileSearch(Path + Rec.Name, FileName, True);
until FindNext(Rec) <> 0;
finally
FindClose(Rec);
end;
end; //procedure FileSearch
procedure Tform1.Button1Click(Sender: TObject);
begin
durdur:=false;
tumsec.Checked:=false;
fls.Clear;
lblNumberFound.caption:='';
lblNumberFound.caption:=Inttostr(fls.Items.Count);
FileSearch(Edit1.Text, Edit2.Text, CheckBox1.State in [cbChecked]);
lblNumberFound.caption:=Inttostr(fls.Items.Count);
end;
procedure Tform1.flDblClick(Sender: TObject);
var SelectedFile : string;
Rec : TSearchRec;
frInfo : TfrFileInfo;
begin
end;
procedure secilidosyavarmi;
begin
with form1 do begin
hz:=fls.Items.Count;
secilidosyavar:=false;
for hd:=0 to hz-1 do begin
if fls.Checked[hd] then secilidosyavar:=true;
end;
end;
end;
procedure satirsil;
label devam;
begin
for hic:=1 to length(s) do begin
gec:=s[hic];
if gec<>' ' then begin
if gec<>chr(13) then begin
writeln(fyeni,s);
goto devam;
end;
end;
end;
devam:
end;
procedure satirsilicerir(gecsat:string);
var
hi:longint;
hoku,hokud:string;
begin
with form1 do begin
icindevar:=false;
hi:=0;
if pos(gecsat,s)>0 then begin icindevar:=true;exit;end;
end;
end;
procedure tabsil;
var
hi:longint;
hoku,hokud:string;
begin
with form1 do begin
icindevar:=false;
while Pos(chr(9), S) > 0 do delete(s,Pos(chr(9),s),1);
end;
end;
procedure bosluksil;
var
hi:longint;
hoku,hokud:string;
begin
with form1 do begin
icindevar:=false;
while Pos(' ', S) > 0 do delete(s,Pos(' ',s),1);
end;
end;
procedure satirsililebaslar(gecsat:string);
var
hokud:string;
begin
with form1 do begin
icindevar:=false;
hokud:=copy(s,1,length(gecsat));
if gecsat=hokud then begin icindevar:=true;exit;end;
end;
end;
procedure satirsililebiter(gecsat:string);
var
hokud:string;
begin
with form1 do begin
icindevar:=false;
hokud:=copy(s,length(s)-length(gecsat)+1,length(gecsat));
if gecsat=hokud then begin icindevar:=true;exit;end;
end;
end;
procedure tform1.bossatirsil;
var
hf:file of byte;
hz,hx,hd,hh,hw,hi,hi1:integer;
hs,hk:byte;
adiismi,hoku:string;
hc:char;
label son,devam,bitir;
begin
with form1 do begin
yaz:=false; gec:='';
assignfile(feski,sad);
son1:=pos('.',sad);gec:=copy(sad,1,son1-1);
gec:=gec+'yeni.txt';
adiismi:=gec;
Assignfile(fyeni,gec);
reset(feski);
rewrite(fyeni);
satir:=0;
while not Eof(Feski) do begin
application.ProcessMessages;
if durdur then
begin
closefile(fyeni);
DeleteFile(gec);
exit;
end;
inc(satir);
Readln(feski,s);
label4.Caption:=s;
case txtislem.ItemIndex of
0:satirsil;
1:begin
bosluksil;
writeln(fyeni,s);
end;
2:begin
case nesecili.ItemIndex of
0:begin
satirsililebaslar(secimli.Text);
if not icindevar then writeln(fyeni,s);
end;
1:begin
satirsililebiter(secimli.Text);
if not icindevar then writeln(fyeni,s);
end;
2:begin
satirsilicerir(secimli.Text);
if not icindevar then writeln(fyeni,s);
end;
end;
end;
3:begin
tabsil;
writeln(fyeni,s);
end;
end;
end;
son:
closefile(feski);
closefile(fyeni);
end;
isimdegistir(adiismi,sad);
end;
procedure bulbakalim;
var
kayf,hf:file of byte;
hz,hx,hd,hh,hw,hi1:integer;
kayb,hfb,hs,hk:byte;
hoku:string;
hc:char;
hic:integer;
hi,buldu,ilk,encok:longint;
k,s,ss,sse,hict,huz,huz1:string;
bulundu:boolean;
label son,devam,bitir;
begin
with form1 do begin
hz:=fls.Items.Count;
// hz:=fl.Items.Count;
hi:=0;
for hd:=0 to hz-1 do begin
application.ProcessMessages;
if durdur then exit;
if fls.Checked[hd] then sad:=fls.Items.Strings[hd]
else goto devam;
//sad:=fl.Items.Strings[hd];
islemdosya.Text:=sad;
islemdosya.Refresh;
if textislem then begin
case txtislem.ItemIndex of
0,1,2,3:bossatirsil;
end;
end
else begin
end;
devam:
end;
end;
end;
procedure Tform1.edit1DblClick(Sender: TObject);
begin
edit1.Text:=dl.Directory;
end;
procedure Tform1.dlDblClick(Sender: TObject);
begin
edit1.Text:=dl.Directory;
end;
procedure Tform1.dlChange(Sender: TObject);
begin
edit1.Text:=dl.Directory;
end;
procedure tform1.isimdegistir(eskidosya:string;yenidosya:string);
begin
if FileExists(yenidosya) then begin
DeleteFile(yenidosya);
end;
AssignFile(f,eskidosya);
rename(f,yenidosya);
end;
procedure htmldegistir;
var
htmp,hf:file of byte;
hz,hx,hd,hh,hw,hi,hi1:integer;
hs,hk:byte;
hokud,hoku:string;
hc:char;
hic:integer;
label son,devam,tekrar,bitir,atla;
begin
yaz:=false;
with form1 do begin
hz:=fls.Items.Count;
for hd:=0 to hz-1 do begin
application.ProcessMessages;
if durdur then exit;
if fls.Checked[hd] then ss:=fls.Items.Strings[hd]
else goto atla;
sse:=ss;
devam:
AssignFile(hf,sse);
reset(hf);
if not bultikli then begin
AssignFile(htmp,'temp.txt');
rewrite(htmp);
end;
hi:=0;
kacbul:=0;
while hi<=filesize(hf)-1 do begin
application.ProcessMessages;
if durdur then
begin
closefile(htmp);
deletefile('temp.txt');
exit;
end;
// for hi:=1 to filesize(hf)-1 do begin
seek(hf,hi);
read(hf,hk);
label4.Caption:=inttostr(hi)+' byte tarandi.';
label4.Refresh;
if copy(s,1,1)=chr(hk) then begin
if hi+length(s)>filesize(hf)-1 then goto son;
hoku:='';hokud:='';
for hw:=1 to length(s)-1 do begin
hx:=hi+hw;
seek(hf,hx);
read(hf,hk);
hoku:=hoku+chr(hk);
end;
hokud:=copy(s,1,1)+hoku;
// showmessage(ss+' '+k+' '+hoku);
if hokud=s then begin
k:=bdegis;
inc(kacbul);
yaz:=true;
for hw:=1 to length(k) do begin
// seek(hf,(hi-1)+hw);
hc:=k[hw];hs:=ord(hc);
if not bultikli then write(htmp,hs);
end;
hi:=hi+length(hokud);
goto tekrar;
end
else begin
for hw:=1 to length(hokud) do begin
hc:=hokud[hw];hs:=ord(hc);
if not bultikli then write(htmp,hs);
end;
hi:=hi+length(hokud)-1;
end;
end
else if not bultikli then write(htmp,hk);
inc(hi);
tekrar:
end;
son:
closefile(hf);
if not bultikli then begin
closefile(htmp);
isimdegistir('temp.txt',sse);
end;
bitir:
bulunanls.Lines.Add(s+' '+inttostr(kacbul)+' Adet '+ sse);
atla:
end;
end;
end;
procedure Tform1.htmlcevClick(Sender: TObject);
begin
durdur:=false;
secilidosyavarmi;
if not secilidosyavar then begin
showmessage('İşlem yapılacak dosya seçilmemiş');
exit;
end;
bulunanls.Clear;
for hic:=0 to mara.Lines.Count-1 do begin
if durdur then exit;
s:=mara.Lines.Strings[hic];
bdegis:=mdegis.Lines.Strings[hic];
htmldegistir;
end;
if yaz then showmessage('Dosya içeriği değiştirildi')
else showmessage('Değiştirilecek kayıt bulunamadı');
end;
procedure Tform1.baraExit(Sender: TObject);
begin
//bdegis.MaxLength:=length(bara.Text);
end;
procedure Tform1.Button3Click(Sender: TObject);
begin
durdur:=false;
secilidosyavarmi;
if not secilidosyavar then begin
showmessage('İşlem yapılacak dosya seçilmemiş');
exit;
end;
textislem:=true;
case txtislem.ItemIndex of
0:begin
bulbakalim;
if not durdur then showmessage('Boş satır silme işlemi tamamlandı')
else showmessage('Boş satır silme işlemi iptal edildi')
end;
1:begin
bulbakalim;
if not durdur then showmessage('Bosluk silme işlemi tamamlandı')
else showmessage('Bosluk silme işlemi iptal edildi')
end;
2:begin
bulbakalim;
if not durdur then showmessage('Seçimli satır silme işlemi tamamlandı')
else showmessage('Seçimli satır silme işlemi iptal edildi')
end;
3:begin
bulbakalim;
if not durdur then showmessage('Tab silme işlemi tamamlandı')
else showmessage('Tab silme işlemi iptal edildi')
end;
end;
textislem:=false;
end;
procedure Tform1.ElGraphicButton1Click(Sender: TObject);
begin
form1.Close;
end;
procedure Tform1.Button4Click(Sender: TObject);
begin
durdur:=false;
secilidosyavarmi;
if not secilidosyavar then begin
showmessage('İşlem yapılacak dosya seçilmemiş');
exit;
end;
bulunanls.Clear;
bultikli:=true;
for hic:=0 to mara.Lines.Count-1 do begin
s:=mara.Lines.Strings[hic];
// s:=bara.Text;
htmldegistir;
end;
if yaz then showmessage('İçeriği değişecek dosyalar bulundu.')
else showmessage('Aranan kayıt bulunamadı');
bultikli:=false;
end;
procedure Tform1.tumsecClick(Sender: TObject);
var
hz,hd:longint;
begin
hz:=fls.Items.Count;
if tumsec.Checked then for hd:=0 to hz-1 do begin
fls.Checked[hd]:=true;
end
else for hd:=0 to hz-1 do begin
fls.Checked[hd]:=false;
end;
end;
procedure Tform1.ElGraphicButton2Click(Sender: TObject);
begin
form1.WindowState:=wsminimized;
end;
function prgdizini: string;
begin
Result := ExtractFilePath(Application.ExeName);
if Result[Length(Result)] <> '\' then
Result := Result + '\';
end;
procedure Tform1.FormCreate(Sender: TObject);
begin
opendialog1.InitialDir:=prgdizini;
edit2.text:='*.txt';
edit1.Text:=prgdizini;
dl.Directory:=edit1.Text;
end;
procedure Tform1.flsMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: longint);
var
p:TPoint;
begin
p.x:=x;
p.y:=y;
if fls.ItemAtPos(P,True)<0 then begin end
else fls.Hint:=fls.Items[fls.ItemAtPos(P,True)];
Application.ActivateHint(P);
end;
procedure Tform1.dlMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
p:TPoint;
begin
p.x:=x;
p.y:=y;
if dl.ItemAtPos(P,True)<0 then begin end
else dl.Hint:=dl.Items[dl.ItemAtPos(P,True)];
Application.ActivateHint(P);
end;
procedure Tform1.Button2Click(Sender: TObject);
begin
durdur:=true;
end;
end.
DFM dosyasının içeriği
Kod: Tümünü seç
object form1: Tform1
Left = 218
Top = 146
BorderStyle = bsSingle
Caption = 'Text Tools V.1.0 Coded by Asri'
ClientHeight = 434
ClientWidth = 759
Color = clCream
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
ShowHint = True
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object PageControl1: TPageControl
Left = 3
Top = 9
Width = 753
Height = 417
ActivePage = TabSheet1
TabOrder = 0
object TabSheet1: TTabSheet
Caption = 'Dosya &Se'#231
object Label1: TLabel
Left = 8
Top = 8
Width = 56
Height = 13
Caption = 'Arama dizini'
end
object Label2: TLabel
Left = 560
Top = 8
Width = 22
Height = 13
Caption = 'Filtre'
end
object Label5: TLabel
Left = 8
Top = 48
Width = 99
Height = 13
Caption = #304#351'lem yap'#305'lan dosya'
end
object lblnumberfound: TLabel
Left = 135
Top = 101
Width = 6
Height = 13
Caption = '0'
end
object Label3: TLabel
Left = 175
Top = 101
Width = 71
Height = 13
Caption = 'Dosya bulundu'
end
object Label8: TLabel
Left = 489
Top = 101
Width = 118
Height = 13
Caption = #199'al'#305#351#305'lacak dizini se'#231'iniz'
end
object edit1: TEdit
Left = 8
Top = 24
Width = 545
Height = 21
TabOrder = 0
Text = 'C:\acdarsivi\cdyazilim\aser\html2cutter'
OnDblClick = edit1DblClick
end
object Button1: TButton
Left = 489
Top = 62
Width = 136
Height = 24
Caption = '&Ara'
TabOrder = 1
OnClick = Button1Click
end
object islemdosya: TEdit
Left = 8
Top = 64
Width = 473
Height = 19
Color = clCream
Ctl3D = False
ParentCtl3D = False
TabOrder = 2
end
object CheckBox1: TCheckBox
Left = 8
Top = 100
Width = 113
Height = 17
Caption = '&Alt dizinleride ara'
TabOrder = 3
end
object dl: TDirectoryListBox
Left = 488
Top = 144
Width = 225
Height = 217
ItemHeight = 16
TabOrder = 4
OnChange = dlChange
OnMouseMove = dlMouseMove
end
object edit2: TComboBox
Left = 560
Top = 24
Width = 65
Height = 21
ItemHeight = 13
ItemIndex = 0
TabOrder = 5
Text = '*.txt'
Items.Strings = (
'*.txt'
'*.prn'
'*.log'
'*.ini'
'*.doc'
'*.xls'
'*.htm'
'*.html'
'*.asp'
'*.php'
'*.exe'
'*.dat'
'*.*')
end
object fls: TCheckListBox
Left = 8
Top = 120
Width = 473
Height = 241
ItemHeight = 13
Sorted = True
TabOrder = 6
OnDblClick = flDblClick
OnMouseMove = flsMouseMove
end
object surucu: TDriveComboBox
Left = 488
Top = 120
Width = 225
Height = 19
DirList = dl
TabOrder = 7
end
object tumsec: TCheckBox
Left = 8
Top = 368
Width = 97
Height = 17
Caption = 'T'#252'm'#252'n'#252' se'#231
TabOrder = 8
OnClick = tumsecClick
end
object Button5: TButton
Left = 633
Top = 62
Width = 80
Height = 24
Caption = 'Du&rdur'
TabOrder = 9
OnClick = Button2Click
end
end
object TabSheet2: TTabSheet
Caption = '&Bul&&De'#287'i'#351'tir'
ImageIndex = 1
object Label9: TLabel
Left = 16
Top = 9
Width = 42
Height = 13
Caption = 'Bunu bul'
end
object Label10: TLabel
Left = 16
Top = 102
Width = 76
Height = 13
Caption = 'Bununla de'#287'i'#351'tir'
end
object Label7: TLabel
Left = 392
Top = 18
Width = 120
Height = 13
Caption = 'Bulunan dosyalar'#305'n listesi'
end
object Label4: TLabel
Left = 16
Top = 240
Width = 3
Height = 13
end
object htmlcev: TButton
Left = 16
Top = 187
Width = 75
Height = 25
Caption = '&De'#287'i'#351'tir'
TabOrder = 0
OnClick = htmlcevClick
end
object txtislem: TRadioGroup
Left = 16
Top = 259
Width = 353
Height = 88
Caption = 'Dosya '#304#351'lemleri Text veya HTML'
ItemIndex = 1
Items.Strings = (
'Bo'#351' sat'#305'rlar'#305' sil'
'B'#252't'#252'n bo'#351'luklar'#305' sil'
'Se'#231'imli sat'#305'r sil'
'Tablar? sil')
TabOrder = 1
end
object Button3: TButton
Left = 16
Top = 362
Width = 75
Height = 25
Caption = #304#351'leme &Ba'#351'la'
TabOrder = 2
OnClick = Button3Click
end
object secimli: TEdit
Left = 121
Top = 307
Width = 137
Height = 21
TabOrder = 3
OnExit = baraExit
end
object nesecili: TComboBox
Left = 262
Top = 307
Width = 93
Height = 21
ItemHeight = 13
ItemIndex = 0
TabOrder = 4
Text = #304'le ba'#351'lar'
Items.Strings = (
#304'le ba'#351'lar'
#304'le biter'
#304#231'erir')
end
object Button4: TButton
Left = 96
Top = 187
Width = 75
Height = 25
Caption = '&Bul'
TabOrder = 5
OnClick = Button4Click
end
object bulunanls: TMemo
Left = 392
Top = 34
Width = 345
Height = 329
ScrollBars = ssBoth
TabOrder = 6
end
object mara: TMemo
Left = 16
Top = 25
Width = 185
Height = 68
ScrollBars = ssBoth
TabOrder = 7
end
object mdegis: TMemo
Left = 16
Top = 117
Width = 185
Height = 65
ScrollBars = ssBoth
TabOrder = 8
end
object StaticText1: TStaticText
Left = 208
Top = 25
Width = 177
Height = 105
AutoSize = False
Caption =
'"Bunu bul" kutusuna yazaca'#287#305'n'#305'z her arama kelimesi/cumlesi i'#231'in,' +
' a'#351'a'#287#305'daki "Bununla de'#287'i'#351'tir" kutusunda da kar'#351#305'l'#305#287#305'n'#305'n olmas'#305' g' +
'erekiyor. E'#287'er kar'#351#305'l'#305#287#305' yoksa o kelime/c'#252'mle silinecektir. Kar'#351 +
#305'l'#305#287#305' varsa o kelimeyle de'#287'i'#351'tirilecektir'
TabOrder = 9
end
object Button2: TButton
Left = 176
Top = 187
Width = 75
Height = 25
Caption = 'Du&rdur'
TabOrder = 10
OnClick = Button2Click
end
object Button6: TButton
Left = 99
Top = 362
Width = 75
Height = 25
Caption = 'Du&rdur'
TabOrder = 11
OnClick = Button2Click
end
end
object TabSheet4: TTabSheet
Caption = '&Yard'#305'm'
ImageIndex = 3
object Memo2: TMemo
Left = 8
Top = 8
Width = 721
Height = 369
Color = clCream
Ctl3D = False
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Verdana'
Font.Style = []
Lines.Strings = (
' ' +
' TEXT TOOLS YARDIM'
''
''
'******** DOSYA SE'#199'?M? **************'
'Bu b'#246'l'#252'mdeki dizin se'#231'me ve i'#351'lem yap'#305'lacak dosyalar'#305' se'#231'me i'#351'le' +
'mleri di'#287'er b'#246'l'#252'mlerdede kullan'#305'l'#305'yor.'
''
'Buradaki i'#351'lemler ile HTML i'#231'indeki ilk b'#246'l'#252'm ve son b'#246'l'#252'mleri k' +
'esip ayn'#305' isimde uzant'#305's'#305' txt olan'
'bir dosya olarak kaydediyoruz.'
''
'S'#305'ras'#305' ile '#351'u i'#351'lemleri yap'#305'n'#305'z.'
''
'1- Filtre den dosya t'#252'r'#252'n'#252' se'#231'iniz. Se'#231'enek yok ise kendiniz *.a' +
'md format'#305'nda yazabilirsiniz.'
'2- "'#199'al'#305#351#305'lacak dizini se'#231'iniz" b'#246'l'#252'm'#252'nden '#214'nce s'#252'r'#252'c'#252' y'#252' C: se'#231 +
'ilidir.'
'3- S'#252'r'#252'c'#252' se'#231'ti'#287'iniz de a'#351'a'#287#305'daki listede dizin isimleri gelecek' +
'tir. De'#287'i'#351'iklik yapaca'#287#305'n'#305'z dosyalar'#305'n'
' bulundu'#287'u dizini '#231'ift t'#305'klay'#305'n'#305'z. Ayn'#305' anda "Arama dizini" ku' +
'tusunda se'#231'ti'#287'iniz dizin '
' tam yolu ile birlikte g'#246'r'#252'necektir.'
'4- Alt dizinleri de i'#351'leme dahil edecekseniz "Alt dizinleri de a' +
'ra" y'#305' t'#305'klayarak atif hale getirmeniz gerekiyor.'
'5- Ara butonuna bas'#305'n'#305'z.'
'6- Dosyalar sol tarafdaki kutuda listelenecektir.'
'7- Listelenen b'#252't'#252'n dosyalarda i'#351'lem yapacaksaniz. "T'#252'm'#252'n'#252' se'#231'" ' +
'butonunu t'#305'klay'#305'n'#305'z.'
' B'#252't'#252'n dosyalar'#305' se'#231'mekten vazge'#231'tiyseniz "T'#252'm'#252'n'#252' se'#231'" butonun' +
'u tekrar t'#305'klay'#305'n'#305'z.'
'8- Belirli dosyalarda i'#351'lem yapacaksan'#305'z. Her bir dosyan'#305'n ba'#351#305'n' +
'daki kutuyu i'#351'aretlemeniz yeterli olucakt'#305'r.'
'9- O an i'#351'lem yap'#305'lan dosyay'#305' "i'#351'lem yap'#305'lan dosya" kutusunda g'#246 +
'receksiniz.'
''
'******** BUL & DE'#286#304#350'T'#304'R **************'
'Bu b'#246'l'#252'mde alt dizinler dahil b'#252't'#252'n dosyalarda bul de'#287'i'#351'tir yap'#305 +
'labilir.'
'Html ve txt i'#231'erikli dosyalarda temizlik yapabilirsiniz.'
''
'Bul de'#287'i'#351'tir '#246'zelli'#287'ini kullanmak i'#231'in s'#305'ras'#305' ile '#351'u i'#351'lemleri y' +
'ap'#305'n'#305'z.'
#214'ncelikle DOSYA SE'#199'?M? b'#246'l'#252'm'#252'ndeki 1 den 8 dahil olmak '#252'zere i'#351'l' +
'emleri yap'#305'n'#305'z.'
''
'1- "Bunu bul" kutusu bir den '#231'ok kelime/c'#252'mle deste'#287'i sa'#287'lamakta' +
'd'#305'r'
' bu kutuya yazaca'#287#305'n'#305'z alt alta kelimeler/c'#252'mleler hepsi birde' +
'n i'#351'leme dahil edilecektir.'
'2- "Bununla de'#287'i'#351'tir" kutusuna yazaca'#287#305'n'#305'z kelime/c'#252'mle ler "B' +
'unu bul" kutusundaki kar'#351#305'l'#305'k '
' gelen kelime ile de'#287'i'#351'tirilir. 1. sat'#305'rdaki kelime 1. sat'#305'rda' +
'k ile 2. 2. ile gibi.'
'3- '#220'stteki kutuya kelime/c'#252'mle ler yad'#305'ktan sonra alttaki kutuya' +
' bir'#351'ey yazmazsan'#305'z, bulunacak b'#252't'#252'n '
' kelimeler silinecektir.'
'4- Her iki kutuyu doldurduktan sonra "Bul" butonunu t'#305'klarsan'#305'z ' +
'sa'#287'daki listede '
' hangi kelime, hangi dosyada ka'#231' defa bulundu gibi istatistikl' +
'eri g'#246'rebilirsiniz.'
'5- "De'#287'i'#351'tir" butonunu t'#305'klarsan'#305'z "Bunu bul" listesinde bulunan' +
' kelime/c'#252'mle ler bulunarak, '
' Bununla de'#287'i'#351'tir listesindeki kar'#351#305'l'#305'k gelen kelimeler ile de' +
#287'i'#351'tirilecektir.'
''
'** Bul de?i?tir i?lemleri byte d'#252'zeyinde yap?lmaktad?r. Bu y'#252'zde' +
'n '
' uzun s'#252'rmektedir.'
''
''
''
#214'rnekler :'
'********** '#214'rnek 1 **********'
'BUNU BUL'
'images\'
'BUNUNLA DE'#286#304#350'T'#304'R'
'resimler\'
''
'De'#287'i'#351'tir i t'#305'klad'#305#287#305'n'#305'zda images\ leri bulup resimler\ olarak de' +
#287'i'#351'tirir.'
'********** '#214'rnek 2 **********'
'BUNU BUL'
'images\'
'egitim\'
'BUNUNLA DE'#286#304#350'T'#304'R'
'resimler\'
'Dersler\'
''
'De'#287'i'#351'tir i t'#305'klad'#305#287#305'n'#305'zda images\ leri bulup resimler\ olarak de' +
#287'i'#351'tirir.'
' e'#287'itim\ leri bulup Dersler\ olarak de'#287 +
'i'#351'tirir.'
'********** '#214'rnek 3 **********'
'BUNU BUL'
'images\'
'egitim\'
'BUNUNLA DE'#286#304#350'T'#304'R'
'resimler\'
''
'De'#287'i'#351'tir i t'#305'klad'#305#287#305'n'#305'zda images\ leri bulup resimler\ olarak de' +
#287'i'#351'tirir.'
' e'#287'itim\ leri bulup siler.'
'********** '#214'rnek 4 **********'
'BUNU BUL'
'images\'
'egitim\'
'BUNUNLA DE'#286#304#350'T'#304'R'
''
'De'#287'i'#351'tir i t'#305'klad'#305#287#305'n'#305'zda images\ leri bulup siler.'
' e'#287'itim\ leri bulup siler.'
'*****************************'
'DOSYA '#304#350'LEMLER'#304' TEXT VEYA HTML'
''
'Bu i'#351'lemler ile, bir txt veya html dosyas'#305'nda,'
'- Bo'#351' sat'#305'rlar silinebilir'
'- B'#252't'#252'n bo'#351'luklar silinebilir '
'- Silinecek bir sat'#305'rda belirleyece'#287'iniz bir kelime/c'#252'mle e'#287'er'
' -sat'#305'r ba'#351'l'#305'nda ise'
' -sat'#305'r sonunda ise'
' -Sat'#305'r i'#231'inde ise o sat'#305'r'#305' siler.'
''
'Bu '#246'zelli'#287'ini kullanmak i'#231'in s'#305'ras'#305' ile '#351'u i'#351'lemleri yap'#305'n'#305'z.'
#214'ncelikle TEXT TOOLS b'#246'l'#252'm'#252'ndeki 1 den 8 dahil olmak '#252'zere i'#351'le' +
'mleri yap'#305'n'#305'z.'
''
'1- "Bo'#351' sat'#305'rlar'#305' sil" i i'#351'aretleyip "'#304#351'leme ba'#351'la" butonunu t'#305'k' +
'larsan'#305'z'
' se'#231'ti'#287'iniz dosyalardaki b'#252't'#252'n bo'#351' sat'#305'rlar silinir.'
'2- "B'#252't'#252'n bo'#351'luklar'#305' sil" i i'#351'aretleyip "'#304#351'leme ba'#351'la" butonunu ' +
't'#305'klarsan'#305'z'
' se'#231'ti'#287'iniz dosyalardaki b'#252't'#252'n bo'#351'luklar'#305' siler.'
'3- "Se'#231'imli sat'#305'r sil" i'#351'aretleyip yan'#305'ndaki kutuya kelime/c'#252'mle' +
' yaz'#305'n. '
' Yan'#305'ndaki kutudan i'#351'lem t'#252'r'#252'n'#252' se'#231'in.'
' '#304'le ba'#351'lar : Yazd'#305#287#305'n'#305'z kelime/c'#252'mle sat'#305'r'#305'n ba'#351#305'nda varsa.'
' '#304'le biter : Yazd'#305#287#305'n'#305'z kelime/c'#252'mle sat'#305'r'#305'n sonunda varsa.'
' '#304#231'erir : Yazd'#305#287#305'n'#305'z kelime/c'#252'mle sat'#305'r'#305'n i'#231'inde ge'#231'iyorsa' +
'.'
'4- "Tablar? sil" i i'#351'aretleyip "'#304#351'leme ba'#351'la" butonunu t'#305'klarsa' +
'n'#305'z'
' se'#231'ti'#287'iniz dosyalardaki b'#252't'#252'n Tab lar? siler.'
''
'Bundan sonras'#305' size kalm'#305#351'. Saks'#305'y'#305' '#231'al'#305#351't'#305'r'#305'n ve daha de'#287'i'#351'ik s' +
'onu'#231'lara var'#305'n.'
'Yaz'#305'l'#305'm ile ilgili hatalar'#305' l'#252'tfen asri_2121@hotmail.com adresin' +
'e rapor ediniz.'
#304'yi '#231'al'#305#351'malar dilerim.'
''
'Asri')
ParentCtl3D = False
ParentFont = False
ScrollBars = ssVertical
TabOrder = 0
end
end
end
object OpenDialog1: TOpenDialog
Left = 640
Top = 48
end
end
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.
Çok teşekkür ederim
Kodları aldım, deniyorum. Derleme sırasında :
şeklinde 2 tane mesaj veriyor. uFileinfo yu arıyorum şimdi. Çok çok teşekkürler,
Kodları aldım, deniyorum. Derleme sırasında :
Kod: Tümünü seç
warning : unit FileCtrl is specific to a platform ve
Fatal Error : File not fount : UFileInfo.dcu
şeklinde 2 tane mesaj veriyor. uFileinfo yu arıyorum şimdi. Çok çok teşekkürler,
Sevgi, Saygı.....
.dcu, .dfm, .pas dosyalarının adı ufileinfo dur unit isimlerinin farklı olmasından kaynaklanabilir.Salih yazdı:Derleme sırasında :
Kod: Tümünü seç
warning : unit FileCtrl is specific to a platform ve Fatal Error : File not fount : UFileInfo.dcu
şeklinde 2 tane mesaj veriyor. uFileinfo yu arıyorum şimdi. Çok çok teşekkürler,
tam olarak sorunun nerden kaynaklandığını bilemiyorum.
isterseniz size proje olarak kaynak kodları gönderebilirim.
asri_2121@hotmail.com
iyi çalışmalar.
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.