Progress-servis55.ru

Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Excel канкулятор vba

Visual Basic калькулятор

Сегодня 27.12.02 и у меня радости полные штаны! Я по химии ПОЛУЧИЛ 4. Я сам не знаю как я это сделал, нифига я ей не ответил, но за что — то она мне поставила. И от радости я написал статью «Самоуничтожитель компа», если ты хочешь над кем — нибуть прикольнуться, то в ближайшем будущем мы будем делать всякие приколы (Начиная со 2 — ой части), а если тебе не в терпеж, и ты толком не зная языка, хочешь над кем — нибуть прикольнуться, то можешь прочитать урок «Урок 25 — Делаем самоуничтожитель компа» , в ней даже не нужен редактор VB(тебе нужен блокнот (текстовой документ), или любой другой текстовой редактор, а это к счастью дается с виндом. Если у тебя по какой — то причине не открывается, то в самом начале 3 части эта статья есть. Что — то я заболтался (это от радости), ну что ты готов сделать свою первую серьезную программу? да. Не слышу. Да! Децл погромче. ДА Я ХОЧУ СДЕЛАТЬ КАЛЬКУЛЯТОР. Фу бля, не ори на ухо, ты меня оглушил.

Ну, если ты готов, тогда приступим. Как всегда входим в VB, кликаем на Standart EXE. Помещаем на форму 3 текстовых поля, со свойством Text равным: у первых двух без текста, а у 3-его равным 0(это можно сделать в окне свойство объекта, или написать код Text1.Text=»»,Text2.Text=»»,Text3.Text=»0″,я рекомендую все свойства писать только кодом, так ты быстрее освоишь язык), и 5 кнопок со свойством Caption равным:
У 1-ой CE
У 2-ой X
У 3-ей /
У 4-ой +
У 5-ой —

Как это делать ты должен знать (в окне свойство объекта, или кодом Command1.Caption=»CE». естественно в поле Form onLoad(кликни два раза по форме))
У тебя должна получиться такая штука:

Теперь я хотел бы пояснить что такое Val(при прибавлении см. выше в коде), это функция, она нужна для того, чтобы комп преобразовывал символ из строки, в число, т.е., допустим если ты напишешь без нее, то при прибавлении 4+4, у тебя будет не 8, а 44. Ну вроде объяснил. Исходник программы можешь скачать отсюда

у тя недочет на command3 т.к. если ввести во второе окно 0! прога не будет радотать!

тоже что выше только русским языком. Проблема в том что на ноль делить нельзя. Но все же хотелось попытаться

а как сделать калькулятор с одной строкой?

2 Кирилл
—————————
1) Вписываешь в textbox число
2) По нажатию на кнопку (допустим «+»), присваиваешь числовое содержимое textbox’a переменной A и очищаешь текстовое поле.
3) Вписываешь в textbox второе число
4) Нажимаешь равно — содержимое textbox’a присваивается переменной В. Значение суммы A+B присваивается переменной C. Textbox очищается. Затем значение переменной C выводится в textbox.

Читать еще:  Шрифт для excel

тут тяжелого не че нет т0)) не понять это грех полнейший.

Проблемы деления на ноль нет!
просто дописать к комманд3:
If Text2.Text = 0 Then Text3.Text = «дел на 0!»
и всё! Программа отлажена. ))

Ну да или пользоваться Try Catch Finaly

Да я канешно начинающий 2 дня на проге но я не пойму от куда Command1_Click() взялось.
Добрые люди подскажите

классно! все получилось с первого раза!

Privet Padre. U menya est vopros. Mojno vmesto text3 postavits label ? Pri mojeniyu vixodit tak:
Private Sub CommandN_Click()
LabelN.Caption = text1.text * text2.text
End Sub

2 Женя
Надо 2 раза кликнуть по кнопке на форме и компилятор (это VB) сам сгенерирует этот текст. или можно самому написать — ошибкой не будет. Между Private Sub Command1_Click() и End Sub распологается код, который выполняется при нажатии на кнопку.
З.Ы. Command1 — это имя кнопки, имя и название могут быть разными

2 Ashot
Лучший способ всё узнать — попробовать самому

Стрелочки вперед-оглавление-назад пропали 🙁 Абыдна

А-а-а. Не пропали. Это я их потелял 🙂

Напишите статью с созданием dll на VB

а можете мне кинуть файл калькулятора на adm!adm@adm-arch.ru
была бы очень признательна, так как очень хочу зачет по информатике)

adm@adm-arch.ru то есть

я вообще не могу сделать?
VB 6.0 вроде норм,а ни хрна((((

как вот мне написать text1.text = «»

он все ровно в графе пишет Text1.

Вы не пробовали через Val()?

Тогда может не +, а & ?

А как корень извлекать?

кампот(compod) При добавлении If Text2.Text = 0 Then Text3.Text = «дел на 0!» После основного Text3.Text = Text1.Text / Text2.Text он все равно выдает ошибку, т.к он выполняет сначала десвие Text3.Text = Text1.Text / Text2.Text, а затем If Text2.Text = 0 Then Text3.Text = «дел на 0!», при перемены их местами, он дает нужное, но все равно выполняет 2е действие, и следовательно ошибка. Как от неё исбавиться?Ну или как при получении нужного результата, она не читала 2ю команду?

Все, не надо, нашел в следующих главах

постоянно выдает какие то ошибки((((

корень- text3=sqr(val(text1))
квадрат — text3=val(text1)^2
степень — text3=val(text1)^val(text2)
чтобы небыло ошибки — if val(text2)=0 then
msgbox «На ноль делить нельзя!!»
text1=»» : text2=»» : text3=0
else
text3 = val(text1)/val(text2)
end if

люди, а как сделать типа чтобы цыфры вводились не с клавы, а как на обычном калькуляторе, с кнопками?

Читать еще:  Размер а4 в excel

и ещё, как сделать кнопки, поприятнее на вид. ну хотя бы как на ХР SP3

Private Sub Command1_Click()
Me.Text1.Text = Me.Text1.Text + («1»)
End Sub

Алгоритм калькулятора с вводом и выводом значений разжеван тут http://vbbook.ru/forum/viewtopic.php? >

Юра, немного неработает. у меня 3 текстовых поля, и если я нажимаю кнопку 1, то в 1-м поле появляется число, но я нажимаю мышкой, на второе поле, нажимаю кнопки, а оно всё равно пишет в 1-й строке. пытался исправить, но новичок — немсмог.

Попробуй сделать через массив.

я незнаю как. я же говорю, что новичёк

андрюха, связь есть .

андрюха, Скайп есть .

да, есть
valyance

желательно поскореее)))) мне завтра работу здавать(

СПОСИБО ТУТ Я НАЧИЛЬСЯ УДАЛИТ СО СТРОЧКИ ЦИФРЫ .

Я уже подобное делал. Вот бы сделать чё-нибудь наподобие стандартного калькулятора в винде.

Спасибо большое! Только на кнопке + должен быть такой код:

Dim A
Dim B
A = Val(Text1.Text)
B = Val(Text2.Text)
Text3.Text = A + B

Маск, где ты прописал Dim A дам тебе советик, не делай такое объявление, лучше так Dim A as long, а так как ты объявил по умолчанию будет Variant

Это все очень просто, но есть и более простые способы создать калькулятор с более высоким функционалом, например используя Excel библиотеку , и проще и функционал можно значительно повысить могу поделиться опытом. Где будем писать? VB6 или VB.net

Согласен с Юрой. То есть будет так:
Dim A as Long, B as Long
A = Val(Text1.Text)
B = Val(Text2.Text)
Text3.Text = A + B

Парни ! а как в Hex посчитать?

В VB есть встроенные функции:
Hex и Hex$

это из DEC->Hex. а наоборот?

CDec: Returns a variant with a value converted to a decimal subtype.
Пользуйся Object Browser. Клавиша F2.

C = Conversion.CDec(Val(Text1.Text)) так пробовал , буквы не видит a-f, ткни в нужном направлении

разобрался сам
C = Conversion.CDec(Val(«&H» & Text1.Text))

запустил: не вводятся цифры с клавиатуры. так должно быть или я что-то не так сделал.

п.с. запустил и сначала сбросил СЕ — норм, а дальше в не вводятся цифры.. но и ошибку не выдает.. вообще никакой реакции.. если пробуешь делать операцию, тогда выдает ошибку №13: «несовпадение типов»

Все, норм, разобрался.. ) (сорри)

У меня такая жк проблема как у валеры помгите плз не мгоу гразобраться

Ошибка в коде надо писать text3 = val(text1) + val(text2)
А так же все остальные.

Dim A as Long, B as Long
A = Val(Text1.Text)
B = Val(Text2.Text)
Text3.Text = A + B
kuda eto vvodit’?

А как в описанном в этом уроке VB-калькуляторе десятичные числа переводить в двоичные и наоборот? То же самое насчёт шестнадцатиричных.

как сделать вот это:
Text1.text = Text1.text — последний символ

Читать еще:  Стандотклон в excel что это

Ну ты логически сам подумай: от длины текста отнять 1.

А выглядеть это будет так: text1.text=left(text1.text,len(text1.text)-1)

Вместо того, чтобы страдать ерундой типа переписывания калькулятора, выучите Делфи — и вы сможете писать серьезные проги и работать с сетью.

Stertor, Супер — крутой «Делфи» не одарен всеми библиотеками для «Серьезных прог».

Если хочешь писать серьезные проги, учи C#, C++

ReDoX, с чего ты реши что Delphi не подходит для серьёзных программ?
Почитай в интернете сколько полезных программ на нём уже написали.

Stertor, большое спс!

Edward, Существует много древних библиотек, с помощью которых не напишешь «Серьезных» программ.

ReDoX: Aimp не серьёзная программа?

проблема в том, что на делфи в основном пишут десктопный софт, а системный чаще на c/c++, так как больше контроля над перформансом (из-за этого за дельфей закрепилась дурная слава, якобы приложения, созданные на ней «медленные»). Зато для того, чтобы написать на сишке даже простенькое приложение, нужно попотеть. А попытка создать приложение с формой может напрочь отбить охоту писать программу дальше. Достоинства Делфи — относительная простота, быстрота и легкость при разработке. Если кто-то гоняется за скоростью — пишите на win api или пишите с ассемблерными вставками — будет работать точно так же, как c++.

я сделала калькулятор,но проблема в том,что у меня 2 текстовых поля для ввода переменных,а одно для вывода ответа,когда я нажимаю на кнопку «1»,то пишет только в одно текстовое поле,пытаюсь ввести во второе,но ничего не получается,что делать?

Private Sub Command2Click() ‘при нажатии на кнопку *, 1 текстовое поле будет умножено на второе, и это будет равно 3-ему
Text3.Text = Val(Text1.Text) * Val(Text2.Tex)
End Sub

Private Sub Command3Click() ‘при нажатии на кнопку /, 1 текстовое поле будет разделенно на второе, и это будет равно 3-ему
If Val(Text2.Text) 0 then Text3.Text = Val(Text1.Text) / Val(Text2.Tex) Else Text3.text=»Ошибка: На нуль делить нельзя»
End Sub

Допущены ошибки, вместо «Text2.Tex» нужно писать «Text2.Text»

0du14ik, Спасибо, Исправили

krisstenly, я так понимаю, у вас 2 текстовых поля , в которые надо вводить числа через кнопочек на форме?
если да, то вам нужно сделать эти 2ва поля одним именим разным индексом (т.е. массив объектов), это для динаммичного ввода текста имея аргумент (индекс поля). Дальше нужна переменная для хранения индекса Активного поля (Активное поле — то поле, на которое вы кликнули мышкой для активизации, и в нём появился мигающий курсор).
Ещё нужно найти это активное поле, это через ряд процедур (Focus) объекта ТекстБокса

Ссылка на основную публикацию
Adblock
detector
×
×