HusoEdit Ayarlarını şöyle yapıyorum;
Kod: Tümünü seç
HusoEditType=CurrencyType
Decimals=2
MaxLength=5
Kod: Tümünü seç
99,99
Ancak şöyle oluyor;
Kod: Tümünü seç
0,99
yaparsam
Kod: Tümünü seç
999,99
teşekkür ederim...
Kod: Tümünü seç
HusoEditType=CurrencyType
Decimals=2
MaxLength=5
Kod: Tümünü seç
99,99
Kod: Tümünü seç
0,99
Kod: Tümünü seç
999,99
buradaki mod'u 3 yapprocedure THusoEdit.SetMaxLength(Value: integer);
begin
if ( Value < 22 ) and ( Value > FDecimals+1 ) then
FMaxLength := Value;
if (FMaxLength-FDecimals-1) mod 4 = 0 then
Dec(FMaxLength);
end;
Zaman ne çabuk geçiyor bu soruyu yıllar önce ben sormuştum neyse linki vereyim viewtopic.php?t=469&highlight=component+y%FCklemeseamoon yazdı:hocam hüsoedit'i çok duydum. kullanmak istiyorum.
ama ben delphide acemiyim.
bişey sorucam bu kodları vermişsiniz sitenizden de indirdim
ama bunu nnasıl komponent olarak kuracağımı bilmiyorum yardımcı olursanız sevinirim
Kod: Tümünü seç
function THusoEdit.SymbolDelete(AString: string): string;
var
buffer: string;
SymbolStr: string;
begin
Buffer := AString;
case CurrencySymbol of
TL: SymbolStr := TLSymbol;
YTL: SymbolStr := YTLSymbol;
EURO: SymbolStr := EUROSymbol;
DOLAR: SymbolStr := DOLARSymbol;
else
SymbolStr:='NONE';
end;
if Pos(SymbolStr, Buffer) <> 0 then
begin
case CurrencySymbol of
TL: Delete(Buffer, Length(AString) - 2, 3);
YTL: Delete(Buffer, Length(AString) - 3, 4);
EURO: Delete(Buffer, Length(AString) - 1, 2);
DOLAR: Delete(Buffer, Length(AString) - 1, 2);
end;
end;
Result := Trim(Buffer);
end;
Eyvallah Hocam elinize sağlık...gkimirti yazdı:Merhaba Huseyin Hocam,
SymbolDelete proceduru bazen symbol stringi olmasa da
bu silme islemini gerceklestiriyor idi bende basit bir kontrol ekledim,
musterimiz urun fiyatının sebepsiz yere 30 YTL iken 0,30 YTL oldugunu soyledi, uzun aramalar sonucu sebebini buldum hocam
asagıya duzeltip ekledim...
Kod: Tümünü seç
function THusoEdit.SymbolDelete(AString: string): string; var buffer: string; SymbolStr: string; begin Buffer := AString; case CurrencySymbol of TL: SymbolStr := TLSymbol; YTL: SymbolStr := YTLSymbol; EURO: SymbolStr := EUROSymbol; DOLAR: SymbolStr := DOLARSymbol; else SymbolStr:='NONE'; end; if Pos(SymbolStr, Buffer) <> 0 then begin case CurrencySymbol of TL: Delete(Buffer, Length(AString) - 2, 3); YTL: Delete(Buffer, Length(AString) - 3, 4); EURO: Delete(Buffer, Length(AString) - 1, 2); DOLAR: Delete(Buffer, Length(AString) - 1, 2); end; end; Result := Trim(Buffer); end;
Kod: Tümünü seç
object EFaturaYuvarla: THusoEdit
Left = 408
Top = 72
Width = 100
Height = 21
HelpType = htKeyword
MaxLength = 5
Decimals = 2
ActiveFontColor = clRed
ActiveSoilColor = clWindow
Text = '0,00'
TabOrder = 6
end
Kod: Tümünü seç
if (FMaxLength-FDecimals-1) mod 4 = 0 then
Dec(FMaxLength);
Kod: Tümünü seç
if CursorPos >= FDecimals+1 then
begin
if Length(Buffer) < FMaxLength then
Insert( Key, Buffer, Length(Buffer)-CursorPos+1 );
end
Kod: Tümünü seç
recreatewnd;