Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Basic / VBA


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Sergey V. Gornostaev
Статус: Специалист
Рейтинг: 99
∙ повысить рейтинг »
Megaloman
Статус: Академик
Рейтинг: 67
∙ повысить рейтинг »
mklokov
Статус: 6-й класс
Рейтинг: 18
∙ повысить рейтинг »

∙ Basic

Номер выпуска:1122
Дата выхода:14.10.2017, 22:15
Администратор рассылки:Андреенков Владимир (Профессор)
Подписчиков / экспертов:14 / 11
Вопросов / ответов:3 / 5

Консультация # 181619: Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос: Сделать задание 1 и 2.В приложении Скачать...
Консультация # 147835: Здравствуйте уважаемы специалисты. Возникла необходимость написать скрипт, который бы удалял изо всех папок файл Thumbs.db, подскажите как это сделать. Заранее спасибо...
Консультация # 68833: как сделать задержку времени на VB? Что-то вроде Sleep(1000) Чес слово искал в нете, в форумах, MSDN, второй час не могу найти....

Консультация # 181619:

Здравствуйте, уважаемые эксперты! Прошу Вас ответить на следующий вопрос:
Сделать задание 1 и 2.В приложении
Скачать

Дата отправки: 26.12.2010, 13:40
Вопрос задал: Benqq
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Megaloman (Академик):

Здравствуйте, Benqq! Вот ответ на первое задание. Код макроса

Sub Z1()
    
Dim a, b, t, y As Single
Dim Ra, Rb, Rt, Ry, tt As String
Dim Msg As String

Ra = "A6"       ' Адреса ячеек, где введём a и b, и отобразим t и y
Rb = "B6"
Rt = "C6"
Ry = "D6"

DD = Mid(5 / 2, 2, 1) ' Определю разделитель целой и дробной части

t = InSng(InputBox("Введите число"), DD)

Select Case t
    Case 1 To 2
        a = InSng(Range(Ra), DD)
        y = a * t ^ 3 + 3
        Msg = "a=" + Format(a, "# ##0.00") + vbCrLf + "t=" + Format(t, "# ##0.00") + vbCrLf + "y= a*t^3+3 = "
    Case Is > 2
        a = InSng(Range(Ra), DD)
        b = InSng(Range(Rb), DD)
        y = Exp(a * t) * Cos(b * t)
        Msg = "a=" + Format(a, "# ##0.00") + vbCrLf + "b=" + Format(b, "# ##0.00") + vbCrLf + "t=" + Format(t, "# ##0.00") + vbCrLf + "y= Exp(a*t)*Cos(b*t) = "
    Case Is < 1
        Msg = "t=" + Format(t, "# ##0.00") + vbCrLf + "y= "
        y = 4
End Select

Range(Rt) = t
Range(Ry) = y

MsgBox Msg + Format(y, "# ### ##0.00")

End Sub
Function InSng(InData, D) As Single
    tt = Replace(InData, ".", D)
    tt = Replace(tt, ",", D)
    InSng = CSng(tt)
End Function
Пояснение: Я написал свою функцию InSng, чтобы входные данные не были чувствительны к разделителю десятичной части (точка или запятая). Установленнйй в системе разделитель я определяю вырезкой второго символа результата деления 5/2= 2.5
Готовый пример в Excel-таблице можно загрузить.

Консультировал: Megaloman (Академик)
Дата отправки: 26.12.2010, 16:54
Прикреплённый файл: посмотреть » [29.0 кб]
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 147835:

Здравствуйте уважаемы специалисты. Возникла необходимость написать скрипт, который бы удалял изо всех папок файл Thumbs.db, подскажите как это сделать. Заранее спасибо

Дата отправки: 20.10.2008, 12:01
Вопрос задал: Nether
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Megaloman (Академик):

Здравствуйте, Nether!
Аналогичная проблема обсуждалась в вопросе № 143514. В приложении - текст JavaScript скрипта в приложении к Вашим целям, который удаляет файлы Thumbs.db на всех дисках в системе, кроме дискеты А:, компакт-дисков и сетевых дисков. Список дисков скрипт определяет сам.
Копируйте текст скрипта, с помощью блокнота сохраните его в файле c расширением .js , например Thumbsdel.JS, запускаете как любую исполнимую программу, ничего дополнительно ставить не нужно.
В приложении также приведен текст VBS-скрипта, аналогично создайте файл, например, Thumbsdel.VBS

Предупреждение:
Задание на экране не проявляется никак. Если надо, могу исправить, чтобы было видно.

Примечание:
Можно написать .bat файл, , например Thumbsdel.bat c таким вот содержанием:

del C:\Thumbs.db /F /S /Q /A
del D:\Thumbs.db /F /S /Q /A
и т д по имеющимся логическим дискам

в котором перечислить все буквы дисков, с которых надо что-то удалить. Но при периодичном запуске будет выскакивать окно командного режима, что при работе будет мешать.
В скрипте это решено.

Приложение:

Консультировал: Megaloman (Академик)
Дата отправки: 20.10.2008, 12:40
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 68833:

как сделать задержку времени на VB?
Что-то вроде Sleep(1000)
Чес слово искал в нете, в форумах, MSDN, второй час не могу найти.

Дата отправки: 27.12.2006, 18:03
Вопрос задал: Alexburzak
Всего ответов: 3
Страница онлайн-консультации »


Консультирует Филатов Евгений Геннадьевич:

Здравствуйте, Alexburzak!

В своей программе я использую код
Start = Timer \' Задает начало паузы.
Do While Timer < Start + 1
DoEvents \' Передает управление другим процессам.
Loop
Задержка в 1 секунду.

С уважением.

Консультировал: Филатов Евгений Геннадьевич
Дата отправки: 27.12.2006, 18:19
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Tossha:

Здравствуйте, Alexburzak!
Можно через таймер. В том месте где вам нужно сделать задержку напишите:

Timer1.Enabled = True
While Timer1.Enabled = True
Wend

Начальные свойства таймера:
Enabled = False
Interval = <нужное время в миллисекундах>

По событию Timer вашего таймера нужно переключать его enabled на false

Но я не уверен что это самый рациональный способ :)

Консультировал: Tossha
Дата отправки: 27.12.2006, 22:17
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Miklucho:

Здравствуйте, Alexburzak!
Используйте API-функцию Sleep:

Public Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal lMilliseconds As Long)

Консультировал: Miklucho
Дата отправки: 28.12.2006, 12:07
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное