这个代码在水晶报告中的错误是什么?

时间:2014-03-14 23:17:34

标签: crystal-reports

我试图在Crystal Reports中创建函数,但我不知道我的代码有什么问题。

Function (stringvar txtNum1,stringvar txtNum2)
stringvar allname:= "";
stringvar Array  day1:=["الأول من ", "الثاني من ", "الثالث من ", " الرابع من ", "الخامس       من ", "السادس من ", " السابع من ", "الثامن من ", " التاسع من ", " العاشر من ", " الحادي عشر     من ", "الثاني عشر من  ", " الثالث عشر من ", " الرابع عشر من ", "الخامس عشر من ", "السادس عشر من ", " السابع عشر من ", "الثامن عشر من ", "التاسع عشر من ", " العشرون من ", "الواحد والعشرون من ", "الثاني والعشرون من ", "الثالث والعشرون من ", "الرابع والعشرون من ", "الخامس والعشرون من ", " السادس والعشرون من ", "السابع والعشرون من ", "الثامن والعشرون من ", " التاسع والعشرون من ", " الثلاثون من ", "الواحد والثلاثون من "];
stringvar Array  dayNo : = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31"];
stringvar Array  month1 := ["يناير ", "فبراير ", "مارس ", " أبريل ", " مايو", " يونيو", "يوليو", " أغسطس ", "سبتمبر ", " أكتوبر", "نوفمبر", " ديسمبر"];
stringvar Array  Hmonth : = ["محرم ", "صفر ", "ربيع أول ", "  ُربيع ثاني ", " جماد أول", " جماد ثاني ", "رجب", " شعبان ", "رمضان ", " شوال", "ذو القعدة", " ذوالحجة"];
stringvar Array  monthNo : = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"];

if Length(txtNum1) = 1 then
(
txtNum1 := "0" + txtNum1;

)

else if Length(txtNum1) < 1 then
        txtNum1 := "00";


 if Length(txtNum2) = 1 then
 (  txtNum2 := "0" + txtNum2;

  )
else if Length(txtNum2) < 1 then
        txtNum2 := "00";

numbervar position:=0;
numbervar size:=ubound(dayNo); 
Local NumberVar i;
For i := 1 To size  Do
(
  if dayNo<i> = txtNum1 then
 position:=i;
 );

 numbervar position1:=0;
 numbervar size1:=ubound(monthNo); 
 Local NumberVar i1;
 For i1 := 1 To size1 Do
 (
  if monthNo<i1> = txtNum2 then
 position1:=i1;
  );

  allname := day1[position]&month1[position1];

1 个答案:

答案 0 :(得分:0)

我得到它编译,但我不知道它是否正在做你想要它做的事情。如果你按照一致的方式格式化它,那将非常有帮助。

Function (stringvar txtNum1,stringvar txtNum2)

// ':=' is a valid assignment operator; ': =' isn't
stringvar allname := "";
stringvar Array  day1:=["الأول من ", "الثاني من ", "الثالث من ", " الرابع من ", "الخامس       من ", "السادس من ", " السابع من ", "الثامن من ", " التاسع من ", " العاشر من ", " الحادي عشر     من ", "الثاني عشر من  ", " الثالث عشر من ", " الرابع عشر من ", "الخامس عشر من ", "السادس عشر من ", " السابع عشر من ", "الثامن عشر من ", "التاسع عشر من ", " العشرون من ", "الواحد والعشرون من ", "الثاني والعشرون من ", "الثالث والعشرون من ", "الرابع والعشرون من ", "الخامس والعشرون من ", " السادس والعشرون من ", "السابع والعشرون من ", "الثامن والعشرون من ", " التاسع والعشرون من ", " الثلاثون من ", "الواحد والثلاثون من "];
stringvar Array  dayNo := ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31"];
stringvar Array  month1 := ["يناير ", "فبراير ", "مارس ", " أبريل ", " مايو", " يونيو", "يوليو", " أغسطس ", "سبتمبر ", " أكتوبر", "نوفمبر", " ديسمبر"];
stringvar Array  Hmonth := ["محرم ", "صفر ", "ربيع أول ", "  ُربيع ثاني ", " جماد أول", " جماد ثاني ", "رجب", " شعبان ", "رمضان ", " شوال", "ذو القعدة", " ذوالحجة"];
stringvar Array  monthNo := ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"];

// don't embed ';' in last line of code in IF statement
if Length(txtNum1) = 1 then
  txtNum1 := "0" + txtNum1
else if Length(txtNum1) < 1 then
   txtNum1 := "00"
// you need a ; at the end of the block, however
;

// same here
if Length(txtNum2) = 1 then
  txtNum2 := "0" + txtNum2
else if Length(txtNum2) < 1 then
  txtNum2 := "00"
// and here
;

numbervar position:=0;
numbervar size:=ubound(dayNo);

Local NumberVar i;
For i := 1 To size  Do (
  // array positions use '[]', not '<>'
  if dayNo[i] = txtNum1 then
    position:=i;
);

numbervar position1:=0;
numbervar size1:=ubound(monthNo); 
Local NumberVar i1;

For i1 := 1 To size1 Do (
  // same here
  if monthNo[i1] = txtNum2 then
    position1:=i1;
);

allname := day1[position] & month1[position1];