ورود

View Full Version : اشکال در تبدیل شبه کد به زبان دلفی



mnakhaei67
دوشنبه 24 مرداد 1390, 18:23 عصر
:گریه:اشکال در تبدیل شبه کد به زبان دلفی


http://www.iran-eng.com/showthread.php/images/smilies/frown.gifاگه شما میتونید کمکم کنید خواهش میکنم زودتر جوابمو بدید.اگه بتونید شبه کد زیر را برام به دلفی تبدیل کنید خیلی از مشکلاتم حل میشه.میشه این لطفو بکنید و زود جواب ایمیلمو بدید؟ممنون.شبه کد به این صورت میباشد.بااین توضیح که بالاترین سطح موجودی برابر است با M وموجودی انتهای روز برابر است با Mojodi و موجودی ابتدای روز برابر است با mojodi
how many days to get the sefaresh = y
mojodi = M
day = 1;
total day is given = Totalday
do we have a pending sefaresh = z

while ( day <= totalday)
{
if ( z and y == 0)
{
mojodi = Mojodi + Mizan sefaresh
L1:
taghaza=x
if (x>mojodi)
{
kambood(n)=x-mojodi+kambood(n-1)
Mojodi=0
}
else
{
kambood(n)=0
}//end of label
}

generate a random number for taghaza
taghaza = x

if ( mojodi > x )
{
Mojodi= mojodi - x
}
else
{
go to L1

}

day = day +1

if ( y > 0 )
y = y-1

if ( day % toldoreh == 0)
{generate random number for mohlate tahvil
if (Mojodi<M)
{
mizan sefaresh=M-Mojodi
}
}

}

mnakhaei67
چهارشنبه 30 شهریور 1390, 10:33 صبح
اینجا که هیچ کس جواب نداد.من خودم اومدم شبه کدم رو به دلفی تبدیل کردم اما احتمالا یه جاییش مشکل داره آخه این برنامه رو تو کلیدی به نام start نوشتم اما وقتی اجرا میکنم اجرا نمیشه.هیچ کس میتونه بگه علت چیست؟



procedure TForm3.Button1Click(Sender: TObject);

var

memo27: tfrxmemoview;

y: integer;

m: integer;
m_e: integer;
t: integer;
z: boolean;
s: integer;
x: integer;
m_f, n, q, k, d: integer;

label update;

begin

memo27 := frxreport1.findobject('memo27') as tfrxmemoview;

memo27.Text := PrintDate;

t := strtoint(Form2.edit6.Text);

m := strtoint(Form2.edit4.Text);

y := strtoint(Form2.edit5.Text);

d := 1;

z := not z;

while d <= t do

if (y = 0) then

if (z = not z) then

begin

form9.adotable1.insert;

m_e := form9.adotable1.FieldByName('موجودی انتهای روز').Value;

s := form9.adotable1.FieldByName('مقدار سفارش').Value;

m := m_e + s;

update :

begin

x := form10.tblExample.FieldByName('تقاضا').Val ue;

m_f := form9.adotable1.FieldByName('موجودی ابتدای روز').Value;

if (x > m_f) then

begin

n := form9.adotable1.RecNo;

q := form9.adotable1.FieldValues['مقدارکمبود'];

n := n - 1;

k := form9.adotable1.FieldValues['مقدارکمبود'];

q := x - y + k;

m_e := 0;

end

else

n := form9.adotable1.RecNo;

form9.adotable1.FieldValues['مقدارکمبود'] := 0;

end;

end;

random(form10.tblExample.FieldValues['ارقام تصادفی تقاضا']);

x := form10.tblExample.FieldByName('تقاضا').Val ue;

m_f := form9.adotable1.FieldByName('موجودی ابتدای روز').Value;

m_e := form9.adotable1.FieldByName('موجودی انتهای روز').Value;

n := form9.adotable1.RecNo;

n := n - 1;

if (m_f > x) and (form9.adotable1.FieldValues['مقدارکمبود'] = 0) then

m_e := m_f - x

else if (m_f > x) and (form9.adotable1.FieldValues['مقدارکمبود'] <> 0) then

begin

m_e := m_f - x - form9.adotable1.FieldValues['مقدارکمبود'];

n := form9.adotable1.RecNo;

form9.adotable1.FieldValues['مقدارکمبود'] := 0;

end

else

goto update;

d := d + 1;

if (y > 0) then

y := y - 1;

if (d mod t = 0) then

random(form8.tblExample.FieldValues['ارقام تصادفی مهلت تحویل']);

if (m_e < m) then

s := m - m_e;

form9.adotable1.FieldValues['مقدارسفارش'] := s;

frxreport1.ShowReport;

end;