Delphi Not defteri icindeki yazıyı değitirmek istiyorum yrdm
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 25
- Kayıt: 12 Mar 2014 09:26
Re: Delphi Not defteri icindeki yazıyı değitirmek istiyorum
Niye yardım eden yok madem bukadar mesgul forum niye foruma giriyorlar
Re: Delphi Not defteri icindeki yazıyı değitirmek istiyorum
Merhaba.
- Sadece bir aydır Delphi ile kod yazdığın değerlendirilince, aslında temelden başlaman gerektiğini aksi halde bu konuda gelecek planın olmadığı kanaatine varabiliriz. Bu doğaldır.
- Aşağıda örnek ve bu mesaj ekinde örnek proje / kaynak kodlarını da koydum. Kodları eksiksiz olarak okumaya, Google ve/veya Delphi kaynaklarından karşılaştırma yaparak öğrenmeye gayret et.
- Bir çok noktada tekrara girdim. Aslında bir kaç satır ile halledilebilecek bir koddur. Bilerek uzattım. Eskisinin üzerinde değil, sonuna YENI ifadesi ekleyip kaydediyor..
Başarılar.
- Sadece bir aydır Delphi ile kod yazdığın değerlendirilince, aslında temelden başlaman gerektiğini aksi halde bu konuda gelecek planın olmadığı kanaatine varabiliriz. Bu doğaldır.
- Aşağıda örnek ve bu mesaj ekinde örnek proje / kaynak kodlarını da koydum. Kodları eksiksiz olarak okumaya, Google ve/veya Delphi kaynaklarından karşılaştırma yaparak öğrenmeye gayret et.
- Bir çok noktada tekrara girdim. Aslında bir kaç satır ile halledilebilecek bir koddur. Bilerek uzattım. Eskisinin üzerinde değil, sonuna YENI ifadesi ekleyip kaydediyor..
Başarılar.
Kod: Tümünü seç
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
OpenDialog1.Filter := 'Metin Dosyaları *.TXT|*.TXT|XML Dosyaları *.XML|*.XML|Tüm Dosyalar *.*|*.*';
OpenDialog1.FilterIndex := 2;
if OpenDialog1.Execute then
begin
Edit1.Text := OpenDialog1.FileName;
end;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
Var
Metin : TStringList;
strGelen,
strSonuc,
strKaynakDosya,
strHedefDosya,
strDosyaUzantisi : String;
begin
strKaynakDosya := Edit1.Text;
strDosyaUzantisi := ExtractFileExt( strKaynakDosya);
if FileExists( strKaynakDosya ) then
begin
strHedefDosya := ChangeFileExt( strKaynakDosya, '_YENI' + strDosyaUzantisi );
Metin := TStringList.Create;
Metin.LoadFromFile( Edit1.Text );
strGelen := Metin.Text;
strSonuc := StringReplace( strGelen, Edit2.Text, Edit3.Text, [rfReplaceAll]) ;
Metin.Text := strSonuc;
Metin.SaveToFile( strHedefDosya );
MessageDlg('İşlem başarıyla tamamlandı', mtInformation, [mbOk], 0);
Metin.Free;
end
else MessageDlg( '"'+strKaynakDosya +'" isimli dosya yerinde yok...!', mtError, [mbOk], 0);
end;
- Dosya ekleri
-
- Dosya_BulDegistir.rar
- Dosya içinden Bul Değiştir.
- (207.47 KiB) 69 kere indirildi
-
- Üye
- Mesajlar: 25
- Kayıt: 12 Mar 2014 09:26
Re: Delphi Not defteri icindeki yazıyı değitirmek istiyorum
OHA SEN ADAMIN DİBİSİN YA ADAMIN KARE KÖKÜSÜN SAOLASIN VALLA HOCAM OKADAR COK SEVİNDİMKİ SUAN TAM İSTEDİGİM TARZ BİRŞEY YA MÜTHİS BİRŞEY VALLAHİmrmarman yazdı:Merhaba.
- Sadece bir aydır Delphi ile kod yazdığın değerlendirilince, aslında temelden başlaman gerektiğini aksi halde bu konuda gelecek planın olmadığı kanaatine varabiliriz. Bu doğaldır.
- Aşağıda örnek ve bu mesaj ekinde örnek proje / kaynak kodlarını da koydum. Kodları eksiksiz olarak okumaya, Google ve/veya Delphi kaynaklarından karşılaştırma yaparak öğrenmeye gayret et.
- Bir çok noktada tekrara girdim. Aslında bir kaç satır ile halledilebilecek bir koddur. Bilerek uzattım. Eskisinin üzerinde değil, sonuna YENI ifadesi ekleyip kaydediyor..
Başarılar.
Kod: Tümünü seç
procedure TForm1.BitBtn1Click(Sender: TObject); begin OpenDialog1.Filter := 'Metin Dosyaları *.TXT|*.TXT|XML Dosyaları *.XML|*.XML|Tüm Dosyalar *.*|*.*'; OpenDialog1.FilterIndex := 2; if OpenDialog1.Execute then begin Edit1.Text := OpenDialog1.FileName; end; end; procedure TForm1.BitBtn2Click(Sender: TObject); Var Metin : TStringList; strGelen, strSonuc, strKaynakDosya, strHedefDosya, strDosyaUzantisi : String; begin strKaynakDosya := Edit1.Text; strDosyaUzantisi := ExtractFileExt( strKaynakDosya); if FileExists( strKaynakDosya ) then begin strHedefDosya := ChangeFileExt( strKaynakDosya, '_YENI' + strDosyaUzantisi ); Metin := TStringList.Create; Metin.LoadFromFile( Edit1.Text ); strGelen := Metin.Text; strSonuc := StringReplace( strGelen, Edit2.Text, Edit3.Text, [rfReplaceAll]) ; Metin.Text := strSonuc; Metin.SaveToFile( strHedefDosya ); MessageDlg('İşlem başarıyla tamamlandı', mtInformation, [mbOk], 0); Metin.Free; end else MessageDlg( '"'+strKaynakDosya +'" isimli dosya yerinde yok...!', mtError, [mbOk], 0); end;
COK TEŞEKKÜR EDERİM HELAL OLSUN YA KİMSE SENİN GİBİ YARDIM ETMEDİ VALLA HELAL OLSUN BE BU ADAMI YÖNETİCİ YAPSINLAR VALLA HELAL OLSUN KRAL ADAM !!!
-
- Üye
- Mesajlar: 25
- Kayıt: 12 Mar 2014 09:26
Re: Delphi Not defteri icindeki yazıyı değitirmek istiyorum
peki eskisi üzerine kaydetmesi icin ne yapmam gerek _YENİ ifadesini sildim ancak değiştirmedi bana tam olarak o lazımdı sizide yordum değiştirilcek olan kodu söylerseniz sevinirim yada ben bi programı daha gezeyim
Re: Delphi Not defteri icindeki yazıyı değitirmek istiyorum
Kod: Tümünü seç
strHedefDosya := ChangeFileExt( strKaynakDosya, '_YENI' + strDosyaUzantisi );
Kod: Tümünü seç
strHedefDosya := strKaynakDosya;
-
- Üye
- Mesajlar: 25
- Kayıt: 12 Mar 2014 09:26
Re: Delphi Not defteri icindeki yazıyı değitirmek istiyorum
valla saolasın sen beni anladın hic bilgim yok die artık bunu arat bunu değiştir diyosun biraz komik bi durum ama insan bilgisi olsun istiyor böyle kafasına göre yazsın istiyor ama hic yakınımdan surdan başlla burdan basla diyen yok yani c#visual basic hepsini denedim sökemedim bi türlü bi söksem keske neler yapardım die düşünüyorum bazen
şey diyecegim seni kacırmadan son bir soru ben 3 xml dosyasını düzenliyecegim ya bu projeyi 3 ünü kopylayıroum alt alta yani 3 tane değiştirme islemi icin bütün hepsini kopyalyıp
yapıstırıyorum onlarada aynı kodu giricemde openfile dialog die bi dosyada eklemem gerek sanırsam 1 tane kullanılıyor cünkü bunu da yaptımmı tamamdır adamsın be ! berki sanıyorsun seni gaza getiroyurm bilgi alıyorum böyle düşünenler olacaktır hayır tam tersi sen bana yardım ettin ilk basta zaten ben aldım mesajı sen yazınca diğerleri direk bana dedi ordan basla surdan basla bazen berki yanlıs ama .
şey diyecegim seni kacırmadan son bir soru ben 3 xml dosyasını düzenliyecegim ya bu projeyi 3 ünü kopylayıroum alt alta yani 3 tane değiştirme islemi icin bütün hepsini kopyalyıp
yapıstırıyorum onlarada aynı kodu giricemde openfile dialog die bi dosyada eklemem gerek sanırsam 1 tane kullanılıyor cünkü bunu da yaptımmı tamamdır adamsın be ! berki sanıyorsun seni gaza getiroyurm bilgi alıyorum böyle düşünenler olacaktır hayır tam tersi sen bana yardım ettin ilk basta zaten ben aldım mesajı sen yazınca diğerleri direk bana dedi ordan basla surdan basla bazen berki yanlıs ama .
-
- Üye
- Mesajlar: 25
- Kayıt: 12 Mar 2014 09:26
Re: Delphi Not defteri icindeki yazıyı değitirmek istiyorum
mrmarman yazdı:
yerineKod: Tümünü seç
strHedefDosya := ChangeFileExt( strKaynakDosya, '_YENI' + strDosyaUzantisi );
yazman yeterli. Biraz daha gezersen bulacaktın ama yazayım.Kod: Tümünü seç
strHedefDosya := strKaynakDosya;
yanlız buildlerken böyle bi hata aldım sebebi nedir orda işlem yapmadım ama ?
Re: Delphi Not defteri icindeki yazıyı değitirmek istiyorum
Sondan başlayalım.
(1) Resmini verdiğin hata Delphi sürüm farklılığından doğuyor. Ben Delphi 2007 ile kodlayıp derledim. O satırı sen silebilirsin. Sorun ortadan kalkar.
(2) Şu haliyle her değiştirme işlemi için sonuç çıkış sonucu içeren strSonuc değişkenini giriş bilgi yani strGelen içine geri yollayarak tekrar işleme sokarsın. Böylece sonuç içindeki gelen halini alır ve diğer her defasında yeni değişiklikten her defasında nasbini alır. Nihai olarak bunu kaydedersin.
Örnek :
Eskisi :
Yenisi :
Ne yaptığımı anladın değil mi ? Her defasında strSonuc bizim değişmiş haliydi ya, onu değişecek kaynak haline dönüştürüp yeniden işleme alıyoruz. Sonra yeniden. En sonunda nihai olarak kaydetmek üzere Metin.Text'e atıp kaydediyoruz.
Örnekte 6 adet EditBox dediğin edit'lerden Edit2'dekini Edit3'teki ile, Edit4'dekini Edit5'teki ile, Edit6'dakini Edit7'deki ile değiştirecek şekilde bir yapı kurduk.
Programcılığı ilerlettiğinde bu kısmı bir fonksiyon haline dönüştürüp tek daha az satırlık işlemler halinde yazabilirsin. Başlangıç seviyesinde mantığı kavrayabilmen için biraz sağ kulağı soldan gösterdim.
(1) Resmini verdiğin hata Delphi sürüm farklılığından doğuyor. Ben Delphi 2007 ile kodlayıp derledim. O satırı sen silebilirsin. Sorun ortadan kalkar.
(2) Şu haliyle her değiştirme işlemi için sonuç çıkış sonucu içeren strSonuc değişkenini giriş bilgi yani strGelen içine geri yollayarak tekrar işleme sokarsın. Böylece sonuç içindeki gelen halini alır ve diğer her defasında yeni değişiklikten her defasında nasbini alır. Nihai olarak bunu kaydedersin.
Örnek :
Eskisi :
Kod: Tümünü seç
strGelen := Metin.Text;
strSonuc := StringReplace( strGelen, Edit2.Text, Edit3.Text, [rfReplaceAll]) ;
Metin.Text := strSonuc;
Kod: Tümünü seç
strGelen := Metin.Text;
strSonuc := StringReplace( strGelen, Edit2.Text, Edit3.Text, [rfReplaceAll]) ;
strGelen := strSonuc;
strSonuc := StringReplace( strGelen, Edit4.Text, Edit5.Text, [rfReplaceAll]) ;
strGelen := strSonuc;
strSonuc := StringReplace( strGelen, Edit6.Text, Edit7.Text, [rfReplaceAll]) ;
Metin.Text := strSonuc;
Örnekte 6 adet EditBox dediğin edit'lerden Edit2'dekini Edit3'teki ile, Edit4'dekini Edit5'teki ile, Edit6'dakini Edit7'deki ile değiştirecek şekilde bir yapı kurduk.
Programcılığı ilerlettiğinde bu kısmı bir fonksiyon haline dönüştürüp tek daha az satırlık işlemler halinde yazabilirsin. Başlangıç seviyesinde mantığı kavrayabilmen için biraz sağ kulağı soldan gösterdim.
Re: Delphi Not defteri icindeki yazıyı değitirmek istiyorum
Sorunu yanlış anlamışım. 3 tane XML'yi aynı değiştirme parametreleri ile kullanmak istiyorsun...
- O zaman öncelikle değiştirilecek dosyaları bir listeye alıp ondan sonra yapman lazım. Ama bu defa da aynı şekilde dosya seç listeye al, dosya seç listeye al üç kere diyeceksin. Sen EDİT'lerdeki ayarlara dokunmadan dosya seç, uygula de, dosya seç, uygula de aynı kapıya çıkar.
- O zaman öncelikle değiştirilecek dosyaları bir listeye alıp ondan sonra yapman lazım. Ama bu defa da aynı şekilde dosya seç listeye al, dosya seç listeye al üç kere diyeceksin. Sen EDİT'lerdeki ayarlara dokunmadan dosya seç, uygula de, dosya seç, uygula de aynı kapıya çıkar.