Mega Code Archive

 
Categories / Delphi / Strings
 

String içindeki sayı üzerinde oynama ve küçücük exe dosyaları yapmak

Thread kullanımı hakkında bilgiye ihtiyacım var. Yardım ederseniz sevinirim. Özellikle CreatThread fonksiyonunu kullanarak yapılan bir örnek varsa çok daha iyi olur. Çünkü istediğim her fonksiyona ayrı bir thread kanalı oluşturup, bunu kontrol edebilmek istiyorum.... Şimdiden teşekkürler....Bilgi paylaştıkça çoğalır ilkesiyle hareket eden herkeze teşekkürler.. Programlarınızda bilgi girişi esnasında kullanıcı açıklama girerken sayısal ifadeler kullanmış olabilir. Örneğin: Ahmet beyden 1. taksite mahbuben tahsil edilmiştir. Şimdi ahmet bey ikinci ödemeyi yaptığında kullanıcıyı hiç uğraştırmamak için kayıta günün tarihini ve ödemesi gereken miktarı otomatik olarak hesaplayıp yeni bir kayıt oluşturduğunu düşünelim. Burada eksik bir nokta var. Peki açıklama ne olacak; yeni kayıtta da açıklamanın içinde 1. ödeme olması hiçde hoş olmaz herhalde. Çünkü 2. ödeme fakat açıklamasında 1. ödeme olduğu yazıyor.İşte bu noktada aşağıdaki procedürü kullanabilirsiniz. Ben prosedür olarak yazdım; fakat siz bunu fonksiyon olarak düzenlerseniz daha kullanışlı olur herhalde....sonuç gidenaciklamaxx adında bir değişkene aktarılıyor (Global bir değişken olmalı) Eğer rakamı arttırması yerine azaltmasını istiyorsanız ssonokunanrkm:=ssonokunanrkm+1; satırında + yı - olarak değiştirin. DİKKAT: Arttırma işlemini yapması için sayının sonuna '.' işaretinin konması gerekir. Doğru Örnek: 1. ödemeye mahsuben Yanlış Örnek: 1 ödemeye mahsuben Ben açıklamayı 35 karakterle sınırlamıştım..siz değiştirirsiniz artık.... Sayı yazının herhangi bir yerinde olabilir. Önemli olan sonunda '.' işareti olması... muharremyildiz@hotmail.com kasimyildizi@yahoo.com İkinci konuyu okumayı unutmayın (EXE kodunu küçültmek-Delphinin kendi özelliği ile) procedure TForm1.kopyaaciklamaxx(gelenaciklamaxx:string); var ssonokunanrkm,suzunluk,silknokta,ssonnokta,snokta,ssaybul:integer; sokunanrakam:string[9]; skopaciklama:string[35]; ssaybuldevam:boolean; begin gidenaciklamaxx:=''; skopaciklama:=gelenaciklamaxx;ssaybuldevam:=true; if Pos('.',skopaciklama)>0 then Begin snokta:=Pos('.',skopaciklama); ssonnokta:=snokta; suzunluk:=0; For ssaybul:=snokta-1 downto 1 do begin if ssaybuldevam then if (skopaciklama[ssaybul] in ['0'..'9']) then begin suzunluk:=suzunluk+1; end else ssaybuldevam:=false; end; if suzunluk>0 then BEGIN silknokta:=ssonnokta-suzunluk; sokunanrakam:=copy(skopaciklama,silknokta,suzunluk); delete(skopaciklama,silknokta,suzunluk); ssonokunanrkm:=strtoint(sokunanrakam); ssonokunanrkm:=ssonokunanrkm+1; insert(inttostr(ssonokunanrkm),skopaciklama,silknokta); gidenaciklamaxx:=skopaciklama; END else gidenaciklamaxx:=skopaciklama; End else gidenaciklamaxx:=skopaciklama; end; *******EXE KODU KÜÇÜLTÜN********** EXE kodunu küçültmek:(T. Bağrıyanık sitesinde anlatmış..Kendisine teşekkür ediyorum..) Menülerden Project>Options>Packes=> bu kısımda Build with runtime packages checkbox kutucuğunu işaretlerseniz uygulamanızın boyutu aşırı derecede küçülür. Örneğin 300kb boyutunda olan bir uygulama bu işlemden sonra 15 veya 16 kb gibi bir boyuta düşer. Fakat artık programınız bazı dosyalara muhtaç olacaktır. Çünkü exe kodunda sadece komutlar mevcuttur. Komutları yerine getirecek kısımların hemen hemen hepsi Delphinin kütüphane dosyalarından sağlanır. Peki bu özelliği nezaman kullanmalısınız? Diyelimki yaptığınız program birçok exe dosyasından oluşuyorsa herbir exe çok fazla yer kaplar. Bu durumda exe küçültme işlemi yapmanız daha mantıklı olacaktır. Böylece bir çok program tek kaynağı kullanmış olacaktır. Bu size diskte ve bellekte daha fazla yer kazanmanızı sağlayacaktır. Bu çalışma sistemi Visual Basicte de aynen uygulanmıştır. Fakat Microsoft kendi programlarını desteklemek istediğinden dolayı visual basic kütüphane dosyaları windows içinde zaten mevcut. Fakat delphi için sizin bu dosyaları windows klasörünün altına kopyalamanız gerekli. Bu işlemi isExpress kullanarak otomatik yapmasını sağlayabilirsiniz...Delphinin EXE dosyaları çoook büyük diyenlere cevap olur herhalde.. Delphi bu özelliği bizim isteğimize bağlamış..ister büyük ister küçük... Dikkat: Eğer kullandığınız bilğisayarda delphi ile yapılmış başka programlar yoksa EXE kodunu küçültmenin bir anlamı yok!!!Diskten ve bellekten kazanmak yerine kaybedersiniz.