Sorularım Şunlar Olucaktı.
1)
Uğraştığım program bir fatura programı fatura basıyor vede aynı zamanda basılan faturalarıda kaydediyor. kaydetme işilemlerinin tamamında table kullandım. farklı bir form üzerinde belli tarihler arasını listelemek için query kullandım .
query1.SQL.Add('SELECT * FROM Fatura WHERE TARIH BETWEEN '+Edit1.Text+' AND '+Edit2.text+');
iki adet edit e girilen tarih aralıklarını listelettirmek istiyorum dbgrid de fakat bu komuta hata veriyor. sadece edit1 i kullanıp where ile tek kayıt bulmak istedeğimde ise type hatası veriyor. tarih kısmının field type i Date. bana bu konuda yardımcı olursanız sewinirim.
2) bir query1 im var birde datasource1 bunların ayarlamaları tam olrak yapılmış. herhangi bir sql cümlesi ile dbgrip e birşeyler döküyorum. ama table ın tüm kayıtları degil mesela iki tarih arası bişşiler listeledim. bu dbgrid de elde ettigim sonucu nasıl quickrep e aktara bilirim sadece o kayıtları yazdırmasını sağlaya bilirim bir rapor gibi.
3) Mustafa bey bir db edit deki para değerini yazı olarak yazan kod u bana göndermişti ama kod içerisinde procedure falan var bunları form içerisinde nasıl kullanacagımı bilmiyorum. kodu aşagıda yazıyorum. atıyorum benim dbedit1 die bir dbedit im var buna nasıl bu kodu uygulaya bilirim. Adım Adım Açıklarsanız sewinirim.
Kod:
function SayiToSozlu (Number

var
Text :Array [0..9,0..1] of String;
Sy, Syt, S : String;
function Oku(Deg:String):String;
var
B1,B2,B3 : String;
P : Integer;
begin
try
B1 := Text[strToInt(copy(Deg, 3, 1)), 0];
B2 := Text[strToInt(Copy(Deg, 2, 1)), 1];
P := strToInt(Copy(Deg, 1, 1));
except
P := 0;
end;
if P > 1 then
b3 := Text[P, 0] + 'Yüz'
else if P = 1 then
b3 := 'Yüz'
else b3 := '';
Oku := b3 + B2 + B1;
end;
begin
Text[0, 0] :='';
Text[1, 0] := 'Bir';
Text[2, 0] := 'İki';
Text[3, 0] := 'Üç';
Text[4, 0] := 'Dört';
Text[5, 0] := 'Beş';
Text[6, 0] := 'Altı';
Text[7, 0] := 'Yedi';
Text[8, 0] := 'Sekiz';
Text[9, 0] := 'Dokuz';
Text[1, 1] := 'On';
Text[2, 1] := 'Yirmi';
Text[3, 1] := 'Otuz';
Text[4, 1] := 'Kırk';
Text[5, 1] := 'Elli';
Text[6, 1] := 'Altmış';
Text[7, 1] := 'Yetmiş';
Text[8, 1] := 'Seksen';
Text[9, 1] := 'Doksan';
if Number <= 0 then
begin
Result := '';
Exit;
end;
S := FormatFloat('0',Number);
S := '000000000000000' + S;
S := Copy(S, Length(s)-14, 15);
Sy := '';
syt := '';
{Boluk$ := MID$(S$, 13, 3): Bolok Boluk$, Sy$, Text$()}
syt := Oku(copy(S, 13, 3));
if Oku(copy(S, 10, 3)) <> '' then
if strToInt(copy(S, 10, 3)) = 1 then
syt := 'Bin' +Syt
else
syt := Oku(copy(S, 10, 3))+'Bin' +Syt;
if Oku(copy(S, 7, 3)) <> '' then
syt := Oku(Copy(S, 7, 3)) + 'Milyon' + Syt;
if Oku(Copy(S, 4, 3)) <> '' then
syt := Oku(Copy(S, 4, 3)) + 'Milyar' + Syt;
if Oku(Copy(S, 1, 3)) <> '' then
syt := Oku(Copy(S, 7, 3)) + 'Trilyon' + Syt;
SayiToSozlu := syt;
end;
function SayiAdiniBul(N: LongWord): string;
begin
case N of
1..19 : Result := YirmidenKucukler[N];
20..99 : Result := Onluklar[N Div 10] + ' ' + SayiAdiniBul(N Mod 10);
100..999 : Result := YirmidenKucukler[N Div 100] + ' HUNDRED ' + SayiAdiniBul(N Mod 100);
1000..999999 : Result := SayiAdiniBul(N Div 1000) + ' THOUSAND ' + SayiAdiniBul(N Mod 1000);
1000000..999999999 : Result := SayiAdiniBul(N Div 1000000) + ' MILLION ' + SayiAdiniBul(N Mod 1000000);
1000000000..4294967295 : Result := SayiAdiniBul(N Div 1000000000) + ' BILLION ' + SayiAdiniBul(N Mod 1000000000);
end; {case}
end;
function SayiOku(Sayi : Real): String;
begin
if Sayi = 0 then
Result := ''
else
if (Sayi >= EnKucuk) and (Sayi <= EnBuyuk) then
begin
Result := SayiAdiniBul(Round(Int(Sayi)));
if not(Frac(Sayi)=0.00) Then Result:=Result+' and '+IntToStr(Round(Frac(Sayi)*100))+'/100';
end
else
Raise ERangeError.CreateFmt('%g ' + HataMesaji + ' %g..%g', [Sayi, EnKucuk, EnBuyuk]);
end;
4) Son olarak Sorum Şu : Hangi programı yapmaya başlarsam başlayım şöyle bir problem ile karşılaşıyorum. Şirketlere program yarzarken para hesaplarında problem yaşıyorum mesela integer tanımladım hesaplıyacagım değerleri. 3 veya 4 milyarsan daha fazla hesap yapamıyorum mesela 300 - 400 milyar. Bu sorunun cvp ı double ile çözülüyor sanırım. ama yapmayı beceremedim. iki adet sayıyı yani 20 - 30 milyar lira bunları toplayıp yazdıran bir program kodunu yazarsanız çok ama çok sewinirim.
Vereceginiz cvp lara şiimdiden teşekkür ederim. İyi Çalışmalar. Kolay Gelsin.