Yorumları: 374
Konuları: 66
Kayıt Tarihi: 16-12-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 115 Başlangıç
08-09-2019, Saat: 13:01
(Son Düzenleme: 08-09-2019, Saat: 13:04, Düzenleyen: OZCANK.)
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.
Yorumları: 75
Konuları: 5
Kayıt Tarihi: 03-11-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 370 Acemi
procedure TForm19.Edit5Exit(Sender: TObject);
var
StrValue:string;
begin
StrValue:= Edit5.Text;
Edit5.Text:=FormatFloat('#,##.00',StrToFloatDef(StrValue,0));
end;
End.
Yorumları: 1.499
Konuları: 83
Kayıt Tarihi: 05-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 12.314 Üstad
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...
Yorumları: 374
Konuları: 66
Kayıt Tarihi: 16-12-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 115 Başlangıç
10-09-2019, Saat: 09:29
(Son Düzenleme: 10-09-2019, Saat: 09:59, Düzenleyen: OZCANK.)
(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.
Yorumları: 852
Konuları: 40
Kayıt Tarihi: 11-11-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 4.327 Uzman
10-09-2019, Saat: 10:07
(Son Düzenleme: 10-09-2019, Saat: 10:08, Düzenleyen: hi_selamlar.)
(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.
Yorumları: 75
Konuları: 5
Kayıt Tarihi: 03-11-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 370 Acemi
10-09-2019, Saat: 11:10
(Son Düzenleme: 10-09-2019, Saat: 11:12, Düzenleyen: faktoral.)
(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.
Yorumları: 374
Konuları: 66
Kayıt Tarihi: 16-12-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 115 Başlangıç
Merhaba, Edit5.text de 5.000 gösterip rapor alırken 5000 olarak nasıl yapabilirim?
Yorumları: 75
Konuları: 5
Kayıt Tarihi: 03-11-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 370 Acemi
10-09-2019, Saat: 11:45
(Son Düzenleme: 10-09-2019, Saat: 11:53, Düzenleyen: faktoral.)
(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
Yorumları: 374
Konuları: 66
Kayıt Tarihi: 16-12-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 115 Başlangıç
10-09-2019, Saat: 14:01
(Son Düzenleme: 10-09-2019, Saat: 14:04, Düzenleyen: OZCANK.)
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.
Yorumları: 75
Konuları: 5
Kayıt Tarihi: 03-11-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 370 Acemi
10-09-2019, Saat: 15:07
(Son Düzenleme: 10-09-2019, Saat: 15:21, Düzenleyen: faktoral.)
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.
|