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ı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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ı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(08-09-2019, Saat: 22:30)faktoral Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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ı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(08-09-2019, Saat: 22:30)faktoral Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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ı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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ı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(08-09-2019, Saat: 22:30)faktoral Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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ı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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ı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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ı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.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
  Edit'i Combobox gibi kullanmak bünyamin68 7 258 19-09-2019, Saat: 22:20
Son Yorum: SimaWB
  Edit Sayı Girme OZCANK 3 91 15-09-2019, Saat: 01:28
Son Yorum: Aktolgali
  combobox veriyi edit text gösterme burak 6 447 24-08-2019, Saat: 09:35
Son Yorum: bünyamin68
  Mask Edit Null Value Error narkotik 2 210 25-07-2019, Saat: 04:42
Son Yorum: narkotik
  Com Porttan gelen veriyi strin formatına çevirme 41linea41 3 366 12-06-2019, Saat: 02:41
Son Yorum: Fesih ARSLAN



Konuyu Okuyanlar: 1 Ziyaretçi