2012-03-13 3 views
0

Пусть предположимCrystal Reports Формула для генерации случайных чисел

х = 1001 Теперь я ввод х до моего кода и генерации у в следующем порядке:

Length of 1001 is 4 so starting from the last number 

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

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

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

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

Ниццы легко один- вы будете пинать себя :)

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

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

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; 
+0

Вы Легенда! Черт, человек. Иногда код становится настолько много в твоем сознании, что ты пропускаешь мелкие вещи, такие как это. – aMazing

+0

Эй, хороший ответ. вы можете рассмотреть вопрос о редактировании вопроса - например, улучшая форматирование и формулировку, чтобы сделать его более полезным для других людей, пытающихся решить подобные проблемы. – paulmelnikow

Смежные вопросы