View Full Version : نمایش مانده و جمع
MOJTABAATEFEH
دوشنبه 29 شهریور 1389, 12:35 عصر
سلام دوستان عزیز لطفا بفرمایید چطور می توانم جمع یا مانده هر سطر رو که شامل جمع یا مانده سطرهای قبل از آن هست چاپ کنم؟
با تشکر
masood samadi
دوشنبه 29 شهریور 1389, 14:44 عصر
سلام
ابتدا یک فیلد محاسباتی ایجاد کنید مثلا
var Value:Rea
l
سپس مقدار آن را برابر با صفر قرار دهید
procedure TForm1.FormShow(Sender: TObject);
begin
value:=0;
end;
سپس یک فیلد Calc ایجاد نماییدکه در واقع همان فیلد کل شما می باشد به این صورت که روی Tableخود دابل کلیک نمایید در فرمی که باز می شود کلید راست ماوس را زده Add fieldsرا زده تا لیست همه فیلدها اضافه شود سپس مجدد کلیک راست نماییداین بار new tdgn را انتخاب نمایید در فرمی که باز می شود نام فیلد کل را که می خواهی ایجاد شود را وارد نمایید در این جا من نام ان راCalc انتخاب کرده ام سپس نوع آن راCalculate انتخاب کنید و کلید Okرا انتخاب نمایید
سپس روی رویداد Calcfieldsجدول خود رفته و کد زیر را بنویسید در این جا شیء Table من َAdodatasetمی باشد که می تواند هر چیز دیگری نیز باشد به جای Field نام فیلد مورد نظر که همان عدد است را قرار دهید
procedure TForm1.ADODataSet1CalcFields(DataSet: TDataSet
begin
ADODataSet1.fieldbyname('Calc').asfloat:=ADODataSe t1.fieldbyname('Field').asfloat+Value
Value:=Value+ADODataSet1.fieldbyname('Field').asfl oat
end
MOJTABAATEFEH
دوشنبه 29 شهریور 1389, 16:21 عصر
ممنون دوست عزیز سوالم رو کامل می کنم با تصویر ضمیمه و توضیح اینکه می خوام جدول بر اساس یک ستون مرتب بشه بعد مقدار این فیلد مورد نظر مثلا عدد برابر باشه با مقدار فیلد عدد همان سطر + جمع مقدار فیلد عدد سطرهای قبلی البته اگر امکان داره به صورت کلی بفرمایید چون نرم افزار من حسابداری نیست لطفا بررسی نمایید
با تشکر
MOJTABAATEFEH
دوشنبه 29 شهریور 1389, 20:27 عصر
از دوستان کسی تابحال همچین کاری انجام نداده؟
با توجه به تصویر پست قبل
majidmir
پنج شنبه 01 مهر 1389, 07:15 صبح
سلام
دوست عزیز با الگوریتم زیر می تونید این کارو انجام بدید .متاسفانه کدی که باید براساس شماره رکورد انتخاب کنم روبلد نیستم وگرنه .....
.
باید توسط یک حلقه for به صورت زیر عمل جمع رو انجام بدید
for i:=1 to 6 do
begin
if i=1 then
begin
label1.Caption:=inttostr(a[i]) ;
ShowMessage(inttostr(a[i]));
end
else
begin
label1.Caption:=label1.caption+' '+inttostr(a[i]+a[i-1]);
end;
end;
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.