我试图在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];
答案 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];