Page 1 of 1

Writing Function in Stimulsoft

Posted: Wed Jul 06, 2011 1:38 am
by xeyyam
Hi.

I have reports in Crystal Reports and now i want to create this report in Stimulsoft . I wrote many formulas in Crystal Report , but now i dont know how write this formulas in Stimulsoft . Please help me .

Writing Function in Stimulsoft

Posted: Wed Jul 06, 2011 4:56 am
by HighAley
Hello.
xeyyam wrote:Hi.

I have reports in Crystal Reports and now i want to create this report in Stimulsoft . I wrote many formulas in Crystal Report , but now i dont know how write this formulas in Stimulsoft . Please help me .
We have import of reports from Crystal Report. But unfortunately it can't convert complicated formulas because Crystal uses a completely different format of expression. We don't have plans to develop this feature, because it requires very hard developments.

If you have any exact problems in converting formulas to Stimulsoft Reports we'll be glad to help you.

Thank you.

Writing Function in Stimulsoft

Posted: Wed Jul 06, 2011 5:11 am
by xeyyam
I want to know how can i write my own functions in Stimulsoft . For example i have variable and this variable depend on some compilicated function , So can can write this function and make my variable depen on this function ?

Writing Function in Stimulsoft

Posted: Wed Jul 06, 2011 5:15 am
by xeyyam
HighAley wrote:Hello.
xeyyam wrote:Hi.

I have reports in Crystal Reports and now i want to create this report in Stimulsoft . I wrote many formulas in Crystal Report , but now i dont know how write this formulas in Stimulsoft . Please help me .
We have import of reports from Crystal Report. But unfortunately it can't convert complicated formulas because Crystal uses a completely different format of expression. We don't have plans to develop this feature, потому что it requires very hard developments.

If you have any exact problems in converting formulas to Stimulsoft Reports we'll be glad to help you.

Thank you.
My variable depends on such furmula :

shared stringVar array holidays := Split({GET_TABELNW_REPORT.HOLIDAY}, ",");
shared numberVar size := ubound(Split({GET_TABELNW_REPORT.HOLIDAY}, ","));
local numberVar i;
local stringVar result := 'false';
for i := 1 To size Do
(
if 1 = toNumber(holidays) then
result := 'true';
);
if not IsNull({GET_TABEL_REPORTNEW.END_DATE}) then
if Date({GET_TABEL_REPORTNEW.B2},{GET_TABEL_REPORTNEW.B1},1)<{GET_TABEL_REPORTNEW.BEGIN_DATE} then
''
else
if Date({GET_TABEL_REPORTNEW.B2},{GET_TABEL_REPORTNEW.B1},1) <= {GET_TABEL_REPORTNEW.END_DATE} then

if DayOfWeek(Date({GET_TABEL_REPORTNEW.B2},{GET_TABEL_REPORTNEW.B1},1)) in [7,1] and result = 'true' then
'B'
else if (not IsNull({GET_TABEL_REPORTNEW.MEZUNIYYET})) and (not IsNull({GET_TABEL_REPORTNEW.MEZUNIYYET_BEG_DAY}) and (not IsNull({GET_TABEL_REPORTNEW.MEZUNIYYET_END_DAY})) and (Date({GET_TABEL_REPORTNEW.B2},{GET_TABEL_REPORTNEW.B1},1) in {GET_TABEL_REPORTNEW.MEZUNIYYET_BEG_DAY} to {GET_TABEL_REPORTNEW.MEZUNIYYET_END_DAY})) then
'M'
else
if DayOfWeek(Date({GET_TABEL_REPORTNEW.B2},{GET_TABEL_REPORTNEW.B1},1)) in [7,1] then
'i'
else if result = 'true' then
'B'
else if (not IsNull({GET_TABEL_REPORTNEW.DIFF_XESTELIK}))and (not IsNull({GET_TABEL_REPORTNEW.XESTELIK_BEG_DAY}) and (not IsNull({GET_TABEL_REPORTNEW.XESTELIK_END_DAY})) and (Date({GET_TABEL_REPORTNEW.B2},{GET_TABEL_REPORTNEW.B1},1) in {GET_TABEL_REPORTNEW.XESTELIK_BEG_DAY} to {GET_TABEL_REPORTNEW.XESTELIK_END_DAY})) then
'X'

else if (not IsNull({GET_TABEL_REPORTNEW.ODENISSIZ_MEZUNIYYET})) and (not IsNull({GET_TABEL_REPORTNEW.ODENISSIZ_BEG_DAY}) and (not IsNull({GET_TABEL_REPORTNEW.ODENISSIZ_END_DAY})) and (Date({GET_TABEL_REPORTNEW.B2},{GET_TABEL_REPORTNEW.B1},1) in {GET_TABEL_REPORTNEW.ODENISSIZ_BEG_DAY} to {GET_TABEL_REPORTNEW.ODENISSIZ_END_DAY})) then
'ÖM'
else if (not IsNull({GET_TABEL_REPORTNEW.SOSIAL_MEZUNIYYET})) and (not IsNull({GET_TABEL_REPORTNEW.SOSIAL_BEG_DAY}) and (not IsNull({GET_TABEL_REPORTNEW.SOSIAL_END_DAY})) and ( Date({GET_TABEL_REPORTNEW.B2},{GET_TABEL_REPORTNEW.B1},1) in {GET_TABEL_REPORTNEW.SOSIAL_BEG_DAY} to {GET_TABEL_REPORTNEW.SOSIAL_END_DAY})) then
'SM'
else if (not IsNull({GET_TABEL_REPORTNEW.TEHSIL_MEZUNIYYET})) and (not IsNull({GET_TABEL_REPORTNEW.TEHSIL_BEG_DAY}) and (not IsNull({GET_TABEL_REPORTNEW.TEHSIL_END_DAY})) and (Date({GET_TABEL_REPORTNEW.B2},{GET_TABEL_REPORTNEW.B1},1) in {GET_TABEL_REPORTNEW.TEHSIL_BEG_DAY} to {GET_TABEL_REPORTNEW.TEHSIL_END_DAY})) then
'TM'
else if (not IsNull({GET_TABEL_REPORTNEW.NAMELUM_MEZUNIYYET})) and (not IsNull({GET_TABEL_REPORTNEW.NAMELUM_BEG_DAY}) and (not IsNull({GET_TABEL_REPORTNEW.NAMELUM_END_DAY})) and (Date({GET_TABEL_REPORTNEW.B2},{GET_TABEL_REPORTNEW.B1},1) in {GET_TABEL_REPORTNEW.NAMELUM_BEG_DAY} to {GET_TABEL_REPORTNEW.NAMELUM_END_DAY})) then
'NM'
else if (not IsNull({GET_TABEL_REPORTNEW.ANALIQ_MEZUNIYYETI})) and (not IsNull({GET_TABEL_REPORTNEW.ANALIQ_M_BEG_DAY}) and (not IsNull({GET_TABEL_REPORTNEW.ANALIQ_M_END_DAY})) and (Date({GET_TABEL_REPORTNEW.B2},{GET_TABEL_REPORTNEW.B1},1) in {GET_TABEL_REPORTNEW.ANALIQ_M_BEG_DAY} to {GET_TABEL_REPORTNEW.ANALIQ_M_END_DAY})) then
'AM'
else if (not IsNull({GET_TABEL_REPORTNEW.IS_BURAXMAQ})) and (not IsNull({GET_TABEL_REPORTNEW.IS_BURAXMAQ_BEG_DAY}) and (not IsNull({GET_TABEL_REPORTNEW.IS_BURAXMAQ_END_DAY})) and (Date({GET_TABEL_REPORTNEW.B2},{GET_TABEL_REPORTNEW.B1},1) in {GET_TABEL_REPORTNEW.IS_BURAXMAQ_BEG_DAY} to {GET_TABEL_REPORTNEW.IS_BURAXMAQ_END_DAY})) then
'İB'
else if DayOfWeek(Date({GET_TABEL_REPORTNEW.B2},{GET_TABEL_REPORTNEW.B1},1)) in [7,1] and
result = 'true' then
'B'

else if DayOfWeek(Date({GET_TABEL_REPORTNEW.B2},{GET_TABEL_REPORTNEW.B1},1)) in [7,1] then
'i'
else if result = 'true' then
'B'
else if {@f2}='B' then
ToText(({GET_TABEL_REPORTNEW.OFFICE_HOURS}-1),0)
else
ToText({GET_TABEL_REPORTNEW.OFFICE_HOURS},0)
else
if DayOfWeek(Date({GET_TABEL_REPORTNEW.B2},{GET_TABEL_REPORTNEW.B1},1)) in [7,1] then
'i'
else
' '
else
if DayOfWeek(Date({GET_TABEL_REPORTNEW.B2},{GET_TABEL_REPORTNEW.B1},1)) in [7,1] then
'i'
else
' '


Writing Function in Stimulsoft

Posted: Wed Jul 06, 2011 8:13 am
by HighAley
Hello.

You can write your function on the Code tab in the begin of report, for example:

Code: Select all

Namespace Reports
    
    Public Class Report
		Inherits Stimulsoft.Report.StiReport
		
		
		Public Function GetDateString(ByVal dateToConvert As DateTime) As String
			'
			'Place your code here
			'
			Return "new date string"
		End Function
		
		
        Public Sub New()
            MyBase.New
            Me.InitializeComponent
            .....
and then use this function in expressions, for example:

DateTimeStandard: {DateTime.Now}
DateTimeModified: {GetDateString(DateTime.Now)}

Thank you.

Writing Function in Stimulsoft

Posted: Thu Jul 07, 2011 12:28 am
by xeyyam
Thank you a lot.

Writing Function in Stimulsoft

Posted: Thu Jul 07, 2011 1:12 am
by Andrew
As always we are glad to help you.

Thank you.