Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   задача из VBA сделанная в Java Script (https://javascript.ru/forum/misc/45511-zadacha-iz-vba-sdelannaya-v-java-script.html)

Katya1406 04.03.2014 00:08

задача из VBA сделанная в Java Script
 
Я новичок в Java Script.Подскажите пожалуйста как записать задачу из VBA в Java Script.

Private Sub CmdРасчет_Click()
'Объявление локальных переменных
Dim IntKolichestvo, IntI As Integer
Dim StrSoobschenie, StrSoobschenie2, StrVid, StrText As String
Dim SngSk1 As Single, SngSk2 As Single

CurStoimost = 0 'Подготовка к накоплению стоимости
IntI = 0
Do 'Начало тела цикла
IntI = IntI + 1
1: StrText = InputBox("Введите количество " & _
Format(IntI, "# ##0") & "-го товара", "ГиперМаркет Таргет")
If StrText = "" Then
MsgBox "Это неверно.Повторите пожалуйста попытку!!!"
GoTo 1
Else:
IntKolichestvo = CInt(StrText)
End If
2: StrText = InputBox("Введите цену " & Format(IntI, "# ##0 ") & _
"-го товара", "ГиперМаркет Таргет")
If StrText = "" Then
MsgBox "Вы снова ошиблись.Повторите попытку!!!"
GoTo 2
Else:
CurZena = CCur(StrText)
End If
CurStoimost = CurStoimost + CurZena * IntKolichestvo
3: If CurStoimost >= 150 Then
SngSk1 = CurStoimost - CurStoimost * 0.1
Else:
SngSk1 = CurStoimost
End If
4: If OptНаличные.Value = True Then
SngSk2 = CurStoimost
Else:
SngSk2 = CurStoimost + CurStoimost * 0.05
End If
CurStoimost2 = CurStoimost + (1 - (SngSk1 + SngSk2) / 100)

Loop While MsgBox("Хотели бы вы что-нибудь еще? ", vbQuestion + vbYesNoCancel, _
"ГиперМаркет Рост") = vbYes
' Завершение цикла при ответе "Нет"
TxtОплата.Text = Format(CurStoimost2, "# ##0.00")
' Нужно обеспечить согласование в предложениях
Select Case IntI
Case 1: StrVid = " вид товара"
Case 2, 3, 4: StrVid = " вида товара"
Case Else: StrVid = " видов товаров"
End Select

'Вывод результатов
StrSoobschenie = "Вы приобрели " & IntI & " " & StrVid & _
" на общую сумму " & _
Format(CurStoimost2, "# ##0.00") & " гривень." & " " & "Приходите к нам снова!!!"
LblРезультат.Caption = StrSoobschenie


End Sub
'Подготовка рабочего места к работе со следующим покупателем
Private Sub CmdСброс_Click()
LblРезультат.Caption = Empty
TxtНаличные.Text = Empty
TxtОплата.Text = Empty
TxtСдача.Text = Empty

End Sub


Private Sub Label1_Click()

End Sub

Private Sub TxtНаличные_Exit(ByVal Cancel As _
MSForms.ReturnBoolean)
'Объявление локальных переменных
Dim StrSoobschenie2 As String

'Расчет сдачи

CurNalich = CCur(TxtНаличные.Text)
CurSdacha = CurNalich - CurStoimost2
If CurSdacha < 0 Then
TxtНаличные.BackColor = vbRed
StrSoobschenie2 = "Вы недоплатили! "
Lb2Результат.Caption = StrSoobschenie2

Else:
TxtНаличные.BackColor = vbWhite
End If

TxtСдача.Text = Format(CurSdacha, "# ##0.00")


End Sub

Private Sub UserForm_Click()

End Sub

skrudjmakdak 04.03.2014 19:44

в каком месте не понятно? если хотите чтобы вам написали за вас, то врятли кто напишет :) если только что за деньги (я не буду даже за деньги)

изучайте js, спрашивайте где не понятно)) будем отвечать

Katya1406 04.03.2014 21:44

не могу понять каким образом прикрепить само действие к кнопке?

Aetae 05.03.2014 02:52

http://learn.javascript.ru/introduction-browser-events

Katya1406 05.03.2014 22:18

спасибо)подскажите еще пожалуйста аналог для InputBox

nerv_ 06.03.2014 00:02

Цитата:

Сообщение от Katya1406
спасибо)подскажите еще пожалуйста аналог для InputBox

var x = prompt('Message', 0);
alert(x);

Katya1406 07.03.2014 18:19

Подскажите, пожалуйста, как в сделать так, чтобы при нажатии на кнопку, вылазило окно, куда надо вводить данные с клавиатуры?

Katya1406 07.03.2014 22:33

Помогите пожалуйста вот с этой частью:)

StrText = InputBox("Введите количество " & _
Format(IntI, "# ##0") & "-го товара", "ГиперМаркет Таргет")
If StrText = "" Then
MsgBox "Это неверно.Повторите пожалуйста попытку!!!"
GoTo 1
Else:
IntKolichestvo = CInt(StrText)
End If

Там где InputBox с введите кол-во получился,не могу понять как потом сделать так,что после введения первого кол-ва отображалась функция Если

Aetae 08.03.2014 00:39

var strText = prompt('Введите количество ', 0);
if(strText == ''){
    alert('Это неверно.Повторите пожалуйста попытку!!!');
} else {
    intQuantity = parceInt(StrText,10);
}


P.S. Логика проверки на пустоту и приведения к числу хреновая , я бы так не нависал.=\

Katya1406 09.03.2014 12:30

Спасибо.Да это не мое условие просто.Его дал преподаватель и менять нельзя.


Часовой пояс GMT +3, время: 09:00.