Husoedit i nasıl kullanacağız ?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Salih
Üye
Mesajlar: 250
Kayıt: 11 Mar 2004 05:36

Husoedit i nasıl kullanacağız ?

Mesaj gönderen Salih »

Merhaba,

Hocam elinize sağlık bu bileşen epeyce işe yarayacak gibi, ama kullanmayı becerebilirsem !

Yanlış mı kuruyorum, yanlış mı kullanıyorum anlamadım. Delphi7 kullanıyorum. Şimdi husoedit.dcu ve husoedit.pas dosyalarını delphi7\lib dizinine kopyaladım.
Install component'e girip husoedit.pas ı açtım. package name dclusr.dpk, compile ve install düğmelerine bastım, düzgün kuruldu diye düşünüyorum.

Formumun üstüne 3 tane husoedit koydum, 1 ve 2 yi toplayıp 3 e yazıcam, hepsi bu. Ne şekilde yapmam lazım ? Kullanıma ilişkin birkaç satır yazarsanız sevinirim.
Sevgi, Saygı.....
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Kod: Tümünü seç

    HusoEdit3.TextAsFloat := husoedit1.Value(Husoedit1.Text) + husoedit2.Value(Husoedit2.Text);
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.
Salih
Üye
Mesajlar: 250
Kayıt: 11 Mar 2004 05:36

Mesaj gönderen Salih »

1 -> 12.00
2 -> 12.00
HusoEdit3.TextAsFloat := husoedit1.Value(Husoedit1.Text) + husoedit2.Value(Husoedit2.Text);

3 -> 2,400 yazıyor

Bu bileşeni sadece display için mi kullanmak lazım yoksa ?

Bir de, neden husoedit1.value yada husoedit1.asfloat şeklinde değil de "husoedit1.Value(Husoedit1.Text)" şeklinde kullanıyoruz ?
Sevgi, Saygı.....
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Salih yazdı:1 -> 12.00
2 -> 12.00
HusoEdit3.TextAsFloat := husoedit1.Value(Husoedit1.Text) + husoedit2.Value(Husoedit2.Text);

3 -> 2,400 yazıyor

Bu bileşeni sadece display için mi kullanmak lazım yoksa ?

Bir de, neden husoedit1.value yada husoedit1.asfloat şeklinde değil de "husoedit1.Value(Husoedit1.Text)" şeklinde kullanıyoruz ?
2,400 yazdığına eminmisin? 24,00 yazması lazım. :) virgülden sonraki kuruş hanesidir.

Value fonkisyionu gönderilen stringte ki noktaları siler ve saf bir moda getirir TextAsFloat Propertysi ise saf sayıyı formatlamak için kullanırız.


Kolay Gelsin...
En son husonet tarafından 24 Eyl 2004 01:31 tarihinde düzenlendi, toplamda 1 kere düzenlendi.

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Salih
Üye
Mesajlar: 250
Kayıt: 11 Mar 2004 05:36

Mesaj gönderen Salih »

Sanırım hatayı buldum,

Ben Aslangeri'nin düzenlediği halini kullanmıştım.
aslangeri yazdı:2.Eğer sayının küsüratı yoksa decimals ı yazmaması için settextasfloat proceduresini değiştirdim

Kod: Tümünü seç

procedure TAlgnEdit.SetTextAsFloat(Value: Extended);
begin
    if frac(value)=0 then text:=FormatFloat('#,###', Value)
    else Text := FormatFloat(FormatString, Value);
end;
bu işlem başka bir tarafta bir aksaklığa yol açabilirmi :?:
Demek ki yol açıyormuş :)
Text := FormatFloat(FormatString, Value);

yapınca düzeldi.

Edit1 : Allah Allah ya, ben yanlış görmüşüm düzelmemiş. şimdi de
12.00
12.00
sonuç 2,400.00 :)

Hocam bi el at şu componente nolur !
Sevgi, Saygı.....
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

S.A.
Kardeş sen benim düzenlememden önceki halini kullan istersen. ben biraz karıştırdımda
:D :D :D
kendime özel yaptım öyle kullanıyorum.
:oops: :oops: :roll: :roll:
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Orjinalini yüklersen dediğim gibi çalışır. @Aslangeri arkadaşımın düzenlemesini incelemedim o yüzden yorum yapamıycam :(

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Salih
Üye
Mesajlar: 250
Kayıt: 11 Mar 2004 05:36

Gene Olmadı

Mesaj gönderen Salih »

Hocam uninstall ettim,
huso* dosyalarını sildim, tekrar http://www.delphiturkiye.com/dfiles/husoedit.zip
adresinden yükledim ve tekrar kurdum. İnanmıyacaksın ama sonuç aynı :
HusoEdit3.TextAsFloat := husoedit1.Value(Husoedit1.Text) + husoedit2.Value(Husoedit2.Text);
123.00 + 234.00 = 35,700.00 böyle gösteriyor !!!
Sevgi, Saygı.....
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Allah Allah :(

Arkadaşlar şu Component i sizde deneyebilirmisiniz?

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ı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

sorun yok calısıyo,
kurus hanesini girmek icin , e basmak gerkiyor normal olarak
ÜŞENME,ERTELEME,VAZGEÇME
Salih
Üye
Mesajlar: 250
Kayıt: 11 Mar 2004 05:36

Mesaj gönderen Salih »

Kuruş girmede sorun yok hocam,
2 tane husoediti toplayıp üçüncüye yazınca kuruşa bölüp göstermiyor (x 100) halini gösteriyor, bir de akşam evdeki bilgisayara kurayım, kafaya taktım.
Sevgi, Saygı.....
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

peki direk textasfloat ları toplatmayı denedinmi.
ben şimdi bi denem yaptım.

Kod: Tümünü seç

a3.TextAsFloat := a1.Value(a1.Text) + a2.Value(a2.Text);
ile yapınca yanlış virgüllerde problem çıkartı ama

Kod: Tümünü seç

  a3.TextAsFloat := a1.Textasfloat + a2.Textasfloat;
şeklinde yapınca normal topladı.
yalnız bendeki değişmiş hali. :!:
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

sanırım problemin sebebini buldum.
Hüseyin hocam value yi çekerken

Kod: Tümünü seç

function THusoEdit.Value(Str: String): Double;
var
     i:integer;
begin
     for i:=1 to length(Str) do
     Begin
        if Str[i]='.' then
            delete(Str,i,1);
     End;
     result:= StrToFloat(Str);
end;
şeklinde yazmış.
eğer bölgesel ayarlarda bi farklılık varsa
if Str='.' then satırı düzgün çalışmıyor. value proceduresinde küçük bir değişiklik ile

Kod: Tümünü seç

function THusoEdit.Value(Str: String): Double;
var
     i:integer;
begin
     for i:=1 to length(Str) do
     Begin
        if Str[i]=ThousandSeparator then
            delete(Str,i,1);
     End;
     result:= StrToFloat(Str);
end;
şekline çevirerek problemi hallediyoruz.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Bu problemleri yazdığınız için teşekkürler yeni versiyonlarında hepsini dikkate alıcam :D

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Salih
Üye
Mesajlar: 250
Kayıt: 11 Mar 2004 05:36

Mesaj gönderen Salih »

aslangeri yazdı:sanırım problemin sebebini buldum.
value proceduresinde küçük bir değişiklik ile
problemi hallediyoruz.
Hocam eline sağlık, çok teşekkürler...
Sevgi, Saygı.....
Cevapla