Crystal Reports Formula для генерации случайного числа - PullRequest
0 голосов
/ 14 марта 2012

Предположим, что

x = 1001 Теперь я ввожу x в свой код и генерирую y в следующем порядке:

Length of 1001 is 4 so starting from the last number 

т.е. 1 (число) * 4 (позиция числа) & 0 * 3 & 0 * 2 & 1 * 1, который дает новый номер 4001

Другой пример.1234 дает 16941

В кристалле я создаю формулу следующим образом:

stringvar tmp_EventNo;
stringvar tmp_Password;
numbervar i;
numbervar m_password;

    tmp_EventNo = Trim(ToText({GR_EVENT.event_number}));
    For i := Len(tmp_EventNo) To 1 Step -1 Do 
        (
        tmp_PassWord = tmp_PassWord & Trim(ToText(Val(Mid(tmp_EventNo, i, 1)) + i));
        );                   
    m_Password = Val(tmp_PassWord);

m_password

Но, похоже, это не работает.Просто результат 0,00

Пожалуйста, помогите заранее спасибо

1 Ответ

1 голос
/ 14 марта 2012

Хороший легкий - ты ударишь себя:)

В Кристалле = используется для оценки. := используется для назначения.]

Было несколько других проблем с кодом, поэтому я настроил его для вас:

stringvar tmp_EventNo;
stringvar tmp_Password;
numbervar i;
numbervar m_password;

    tmp_EventNo := Trim(ToText({GR_EVENT.event_number}, 0, ''));
    For i := Len(tmp_EventNo) To 1 Step -1 Do 
        (
        tmp_PassWord := tmp_PassWord & Trim(ToText(Val(Mid(tmp_EventNo, i, 1)) * i,0));
        );                   
    m_Password := Val(tmp_PassWord);

tmp_PassWord;
...