Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Edit Sayı Çevirme
#1
Merhaba , Arkadaşlar Edit5.Text alanım var bu alana karakter ve virgül girişini engelledim, fakat rapor alırken hata veriyor yardımcı olabilir misiniz?

İlk Önce ;

Code:procedure TForm19.Edit5KeyPress(Sender: TObject; var Key: Char);
Begin
     if not (key in ['0'..'9', #8]) then
 begin
   Key:=#0;
 end;
 end;


procedure TForm19.Edit5Exit(Sender: TObject);
begin
Edit5.Text:=FormatFloat('#,##.00',StrToFloat(Edit5.Text));
end;
End.

Sonra Rapor da ;

:'HAVING (Sum(TBLFATUIRS.BRUTTUTAR - SAT_ISKT - GEN_ISK1T - GEN_ISK2T - GEN_ISK3T)>=$'+Edit5.Text+' AND TBLFATUIRS.FTIRSIP=''1'' AND month(tarih)='+#39+''+Edit1.Text+''+#39+') AS TT ' +

Burayı $'+Edit5.Text+'

StrToInt(IntToStr($'+Edit5.Text+')) yaptım yine " Incorret Syntax Near ',' " hatası verdi.
Cevapla
#2
procedure TForm19.Edit5Exit(Sender: TObject);
var
StrValue:string;
begin
StrValue:= Edit5.Text;
Edit5.Text:=FormatFloat('#,##.00',StrToFloatDef(StrValue,0));
end;
End.
Cevapla
#3
Kendinizi Stored Procedure kullanmaya alıştırsanız; hiç bu sorunlarla uğraşmayacaksınız ama.. (Sizin nezdinizde genele söylüyorum)
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#4
(08-09-2019, Saat: 22:30)faktoral Adlı Kullanıcıdan Alıntı: procedure TForm19.Edit5Exit(Sender: TObject);
var
StrValue:string;
begin
StrValue:= Edit5.Text;
Edit5.Text:=FormatFloat('#,##.00',StrToFloatDef(StrValue,0));
end;
End.

Merhaba faktoral kardeşim kodu yazdığın gibi kullandım ama aynı hatayı veriyor başka yerde değişiklik yapmam gerekiyor mu?

(10-09-2019, Saat: 09:29)OZCANK Adlı Kullanıcıdan Alıntı:
(08-09-2019, Saat: 22:30)faktoral Adlı Kullanıcıdan Alıntı: procedure TForm19.Edit5Exit(Sender: TObject);
var
StrValue:string;
begin
StrValue:= Edit5.Text;
Edit5.Text:=FormatFloat('#,##.00',StrToFloatDef(StrValue,0));
end;
End.

Merhaba faktoral kardeşim kodu yazdığın gibi kullandım ama aynı hatayı veriyor başka yerde değişiklik yapmam gerekiyor mu?

Bu şekilde hata vermiyor ama 5000 TL yerine 5 TL yani 5.000 olarak rapor alıyor

procedure TForm19.Edit5Exit(Sender: TObject);
var
StrValue:string;
begin
StrValue:= Edit5.Text;
Edit5.Text:=FormatFloat('0,',StrToFloatDef(StrValue,0));
end;
End.
Cevapla
#5
(10-09-2019, Saat: 09:29)OZCANK Adlı Kullanıcıdan Alıntı:
(08-09-2019, Saat: 22:30)faktoral Adlı Kullanıcıdan Alıntı: procedure TForm19.Edit5Exit(Sender: TObject);
var
StrValue:string;
begin
StrValue:= Edit5.Text;
Edit5.Text:=FormatFloat('#,##.00',StrToFloatDef(StrValue,0));
end;
End.

Merhaba faktoral kardeşim kodu yazdığın gibi kullandım ama aynı hatayı veriyor başka yerde değişiklik yapmam gerekiyor mu?

(10-09-2019, Saat: 09:29)OZCANK Adlı Kullanıcıdan Alıntı: Merhaba faktoral kardeşim kodu yazdığın gibi kullandım ama aynı hatayı veriyor başka yerde değişiklik yapmam gerekiyor mu?

Bu şekilde hata vermiyor ama 5000 TL yerine 5 TL yani 5.000 olarak rapor alıyor

procedure TForm19.Edit5Exit(Sender: TObject);
var
StrValue:string;
begin
StrValue:= Edit5.Text;
Edit5.Text:=FormatFloat('0,',StrToFloatDef(StrValue,0));
end;
End.


Merhabalar,

--> 5.000,00 TL
Edit5.Text:=FormatFloat('#,##0.00 TL',StrToFloatDef(StrValue,0));

veya

--> 5.000 TL
Edit5.Text:=FormatFloat('#,##0 TL',StrToFloatDef(StrValue,0));


Kolay gelsin.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#6
(10-09-2019, Saat: 09:29)OZCANK Adlı Kullanıcıdan Alıntı:
(08-09-2019, Saat: 22:30)faktoral Adlı Kullanıcıdan Alıntı: procedure TForm19.Edit5Exit(Sender: TObject);
var
StrValue:string;
begin
StrValue:= Edit5.Text;
Edit5.Text:=FormatFloat('#,##.00',StrToFloatDef(StrValue,0));
end;
End.

Merhaba faktoral kardeşim kodu yazdığın gibi kullandım ama aynı hatayı veriyor başka yerde değişiklik yapmam gerekiyor mu?

(10-09-2019, Saat: 09:29)OZCANK Adlı Kullanıcıdan Alıntı: Merhaba faktoral kardeşim kodu yazdığın gibi kullandım ama aynı hatayı veriyor başka yerde değişiklik yapmam gerekiyor mu?

Bu şekilde hata vermiyor ama 5000 TL yerine 5 TL yani 5.000 olarak rapor alıyor

procedure TForm19.Edit5Exit(Sender: TObject);
var
StrValue:string;
begin
StrValue:= Edit5.Text;
Edit5.Text:=FormatFloat('0,',StrToFloatDef(StrValue,0));
end;
End.

Ben genel olarak 
FormatFloat(',0.00',<Float>); Yada
FormatFloat(',0.00',StrToFloatDef(StrValue,0));
Böyle kullanıyorum. Şimdiye kadarda yıllardır problem yaşamadım.
Cevapla
#7
Merhaba, Edit5.text de 5.000 gösterip rapor alırken 5000 olarak nasıl yapabilirim?
Cevapla
#8
(10-09-2019, Saat: 11:26)OZCANK Adlı Kullanıcıdan Alıntı: Merhaba, Edit5.text de 5.000 gösterip  rapor alırken 5000 olarak nasıl yapabilirim?

FastReport da memo DisplayFormattan istediğin gibi düzenleyebirsin.

FormatStr = %2
Kind = fkNumeric

Gibi Yada Sorguda o alanı Formatlayıp gönderebilirsin
Cevapla
#9
faktoral
[quote pid='31005' dateline='1568105151']
(10-09-2019, Saat: 11:26)OZCANK Adlı Kullanıcıdan Alıntı: Merhaba, Edit5.text de 5.000 gösterip  rapor alırken 5000 olarak nasıl yapabilirim?

FastReport da memo DisplayFormattan istediğin gibi düzenleyebirsin.

FormatStr = %2
Kind = fkNumeric

Gibi Yada Sorguda o alanı Formatlayıp gönderebilirsin
[/quote]
Şöyle bir kod kullandım noktalama ve virgüllerden kurtulmak için;

function Value(Str: String): Double;
var
i:integer;
begin
for i:=1 to length(Str) do
Begin
if Str='.' then
delete(Str,i,1);
End;
result:= StrToFloat(Str);
end;

sonra da Rapor buttonunun rapor text almadan ki baş kısmına ;

Edit5.Text := FloatToStr(Value(Edit5.Text)


bu durum dada Convert edemedim diyor.

raised exception class EConvertError with message ''5.000' is not a valid floating point value'. Process stopped. Use Step or Run to continue.
Cevapla
#10
Edit5.Text := FloatToStr(Value(Edit5.Text))

Burada artık "Value(Edit5.Text)"  Float değil onun için hata veriyor.
function SadeceRakamlar(s: string): string;
var
  i: integer;
  rsp: string;
begin
  Result := s;
  if Length(s) < 1 then Exit;
  rsp := '';
  for i := 1 to Length(s) do
  begin
    if s[i] in ['0'..'9'] then
      rsp := rsp + s[i];
  end;
  Result := rsp;
end;

Bunu Kullanın. Ve convert etmeyin. Sonuc size rakamlardan ouşan bir string olarak dönecek.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  unidbgird tek enterde edit ve post ıslemi mehmet07 1 540 05-01-2025, Saat: 15:44
Son Yorum: mehmet07
  WebBrowser1 Gelen Veriyi Pdf e Çevirme sadoal351 7 2.571 04-09-2024, Saat: 18:28
Son Yorum: damert6
  Modelleme sayı kombinasyonu mersoy 13 2.383 25-08-2024, Saat: 09:02
Son Yorum: damert6
  Sesi yazıya çevirme ahmetb 15 11.265 10-06-2024, Saat: 19:55
Son Yorum: aysenur.tatlitug
  Edit içindeki tarihin doğru olup olmadığını kontrol etmek? hasansavci 2 1.440 17-10-2023, Saat: 03:35
Son Yorum: mcuyan



Konuyu Okuyanlar: 2 Ziyaretçi