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

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


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

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

Чемпионы рейтинга экспертов в этой рассылке

Vasiliy83
Статус: Практикант
Рейтинг: 951
∙ повысить рейтинг »
Megaloman
Статус: Бакалавр
Рейтинг: 818
∙ повысить рейтинг »
Botsman
Статус: Профессионал
Рейтинг: 508
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Программирование / Basic/VBA

Номер выпуска:956
Дата выхода:16.12.2009, 18:30
Администратор рассылки:Калашников О.А., Руководитель
Подписчиков / экспертов:371 / 99
Вопросов / ответов:4 / 5

Вопрос № 175107: Уважаемые эксперты, подскажите, в документе есть кнопка, код по её нажатию Private Sub ИЦ_Click() ИЦ.Show End Sub Почему не показывает форму, я так понимаю, что её надо куда-то поместить в другое место. Подскажите, в чём дело. Спас...


Вопрос № 175108: Уважаемые эксперты, подскажите код в ВБА - код кнопки, которая добавлена, следующим образом Элементы управления => Кнопка, чтобы при её нажатии открылась папка по адресу, например "D:\Села", Вордовский документ в той же папке название ег...
Вопрос № 175119: Здравствуйте, уважаемые эксперты. Помогите пожалуйста сделать домашнее задание. Прошу Вас составить алгоритм для реализации на Visual Basic 6.0. Вот пример готовой программы: http://elrond.tud.ttu.ee/material/vendelin/kodus/tuba.exe Вопрос № 175123: Решите, пожалуйста, задачу в Basic: 13. В центре экрана построить окружность, в которую вписать равносторонний треугольник с вершиной, направленной влево. Внутрь треугольника вписать еще одну окружность. В центре фигур построить точку. ...

Вопрос № 175107:

Уважаемые эксперты, подскажите, в документе есть кнопка, код по её нажатию

Private Sub ИЦ_Click()
ИЦ.Show
End Sub
Почему не показывает форму, я так понимаю, что её надо куда-то поместить в другое место. Подскажите, в чём дело.
Спасибо Эндрю

Отправлен: 10.12.2009, 18:46
Вопрос задал: Ципихович Эндрю, Посетитель
Всего ответов: 2
Страница вопроса »


Отвечает Vasiliy83, Практикант :
Здравствуйте, Ципихович Эндрю.
У Вас имя кнопки совпадает с именем формы - отсюда и проблема. Назовите форму "ФормаИЦ" и она отобразится.

Ответ отправил: Vasiliy83, Практикант
Ответ отправлен: 10.12.2009, 19:37

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 257583 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Ashotn, 6-й класс :
    Здравствуйте, Ципихович Эндрю.
    Так как форму переименовали в ФормаИЦ, код для ее отображения должен быть ФормаИЦ.Show.
    -----
    Я ни от чего, ни от кого не завишу.

    Ответ отправил: Ashotn, 6-й класс
    Ответ отправлен: 12.12.2009, 14:14

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 257638 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 175108:

    Уважаемые эксперты, подскажите код в ВБА - код кнопки, которая добавлена, следующим образом Элементы управления => Кнопка, чтобы при её нажатии открылась папка по адресу, например "D:\Села", Вордовский документ в той же папке название его, например "про", его имя писать надо полностью "про.doc" или нет и в нём перейти к закладке "гол"
    Спасибо Эндрю

    Отправлен: 10.12.2009, 19:01
    Вопрос задал: Ципихович Эндрю, Посетитель
    Всего ответов: 1
    Страница вопроса »


    Отвечает Vasiliy83, Практикант :
    Здравствуйте, Ципихович Эндрю.
    Код:
    Private Sub Кнопка1_Click()
    Dim myWord As Word.Application, myDoc As Document
    Set myWord = New Word.Application
    Set myDoc = myWord.Documents.Open("D:\села\про.doc")
    Call Shell("explorer D:\села\", vbNormalFocus) 'не понял, зачем Вам перед открытием документа открывать папку, но все же...
    myDoc.ActiveWindow.Visible = True
    myDoc.Bookmarks("гол").Select
    End Sub

    Ответ отправил: Vasiliy83, Практикант
    Ответ отправлен: 10.12.2009, 19:52

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 257584 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 175119:

    Здравствуйте, уважаемые эксперты.
    Помогите пожалуйста сделать домашнее задание.
    Прошу Вас составить алгоритм для реализации на Visual Basic 6.0.
    Вот пример готовой программы:

    http://elrond.tud.ttu.ee/material/vendelin/kodus/tuba.exe

    Но эта программа написана на Visual Basic 2008 , а мне требуется код программы на Visual Basic 6.0.

    А вот задание:

    (Создать приложение на Visual Basic с моделью комнаты, в которой находятся телевизор, лампа, термометр и электрический радиатор с терморегулятором.)

    У лампы и телевизора есть выключатель. Радиатор включается автоматически, если температура комнаты опускается ниже заданного минимума, и постепенно нагревается до максимальной температуры. Если температура поднимается до максимума, радиатор автоматически выключается и комната медленно охлаждается.

    Термометр показывает температуру комнаты.

    Пользователь может задавать мощности телевизора, лампы и радиатора пока модель не активизир ована.

    Температуру включения и выключения радиатора можно изменять в любой момент.

    В активизированном состоянии модели можно включать/выключать лампу и телевизор, а также изменять предельные температуры радиатора. На форме необходимо постоянно показывать общую потребляемую мощность.


    Спасибо.

    Отправлен: 10.12.2009, 23:01
    Вопрос задал: quperec, Посетитель
    Всего ответов: 1
    Страница вопроса »


    Отвечает HookEst, Специалист :
    Здравствуйте, quperec.
    проект в приложении, а это код модуля формы:
    Код:

    VERSION 5.00
    Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomctl.ocx"
    Object = "{0D452EE1-E08F-101A-852E-02608C4D0BB4}#2.0#0"; "FM20.DLL"
    Begin VB.Form Room
    Caption = "Модель комнаты"
    ClientHeight = 4575
    ClientLeft = 60
    ClientTop = 450
    ClientWidth = 7860
    LinkTopic = "Form1"
    ScaleHeight = 4575
    ScaleWidth = 7860
    StartUpPosition = 3 'Windows Default
    Begin MSComctlLib.ProgressBar barTemperature
    Height = 255
    Left = 3480
    Ta bIndex = 9
    Top = 2040
    Width = 4215
    _ExtentX = 7435
    _ExtentY = 450
    _Version = 393216
    Appearance = 1
    Min = 7
    Max = 40
    End
    Begin VB.CommandButton btnLampOn
    Caption = "Включить"
    Height = 300
    Left = 2280
    TabIndex = 2
    Top = 1140
    Width = 1095
    End
    Begin VB.CommandButton btnTVOn
    Caption = "Включить"
    Height = 300
    Left = 2280
    TabIndex = 1
    Top = 240
    Width = 1095
    End
    Begin VB.Timer Timer
    Enabled = 0 'False
    Interval = 1
    Left = 3600
    Top = 120
    End
    Begin VB.CommandButton btnStart
    Caption = "Начать"
    Height = 495
    Left = 6240
    TabIndex = 0
    Top = 3960
    Width = 1215
    End
    Begin MSComctlLib.Slider sbMaxTemperature
    Height = 300
    Left = 120
    TabIndex = 21
    Top = 4080
    Width = 4455
    _ExtentX = 7858
    _ExtentY = 529
    _Version = 393216
    Min = 10
    Max = 40
    SelStart = 10
    TickFrequency = 10
    Value = 10
    End
    Begin MSComctlLib.Slider sbMinTemperature
    Height = 300
    Left = 120
    TabIndex = 22
    Top = 3120
    Width = 4455
    _ExtentX = 7858
    _ExtentY = 529
    _Version = 393216
    Min = 7
    Max = 40
    SelStart = 7
    TickFrequency = 10
    Value = 7
    End
    Begin VB.Label Label7
    Caption = "Мощность"
    Height = 255
    Left = 4560
    TabIndex = 20
    Top = 240
    Width = 1695
    End
    Begin VB.Label Label6
    Caption = "Максимальная температура"
    Height = 300
    Left = 120
    TabIndex = 19
    Top = 3720
    Width = 2895
    End
    Begin VB.Label Label5
    Caption = "Минимальная температура"
    Height = 300
    Left = 120
    TabIndex = 18
    Top = 2760
    Width = 3135
    End
    Begin VB.Label Label4
    Caption = "Термо метр"
    Height = 300
    Left = 4560
    TabIndex = 17
    Top = 1560
    Width = 1215
    End
    Begin VB.Label Label3
    Caption = "Радиатор"
    Height = 300
    Left = 120
    TabIndex = 16
    Top = 2040
    Width = 1095
    End
    Begin VB.Label Label2
    Caption = "Лампа"
    Height = 300
    Left = 120
    TabIndex = 15
    Top = 1140
    Width = 1095
    End
    Begin VB.Label Label1
    Caption = "Телевизор"
    Height = 300
    Left = 120
    TabIndex = 14
    Top = 240
    Width = 1095
    End
    Begin MSForms.SpinButton sbRadiato r
    Height = 300
    Left = 1920
    TabIndex = 13
    Top = 2040
    Width = 255
    Size = "450;529"
    SmallChange = 100
    End
    Begin MSForms.SpinButton sbLamp
    Height = 300
    Left = 1920
    TabIndex = 12
    Top = 1140
    Width = 255
    Size = "450;529"
    SmallChange = 5
    End
    Begin MSForms.SpinButton sbTV
    Height = 300
    Left = 1920
    TabIndex = 11
    Top = 240
    Width = 255
    Size = "450;529"
    SmallChange = 5
    End
    Begin VB.Label lbTemperature
    Alignment = 1 'Right Justify
    Borderstyle="1" 'Fixed Single
    Height = 300
    Left = 6360
    TabIndex = 10
    Top = 1560
    Width = 600
    End
    Begin VB.Label edMinTemperature
    Alignment = 1 'Right Justify
    Borderstyle="1" 'Fixed Single
    Caption = "7"
    Height = 300
    Left = 3840
    TabIndex = 8
    Top = 2760
    Width = 600
    End
    Begin VB.Label edMaxTemperature
    Alignment = 1 'Right Justify
    Borderstyle="1" 'Fixed Single
    Caption = "10"
    Height = 300
    Left = 3840
    TabIndex = 7
    Top = 3720
    Width = 600
    End
    Begin VB.Label lbPower
    Alignment = 1 'Right Justify
    BorderStyl e = 1 'Fixed Single
    Height = 300
    Left = 6360
    TabIndex = 6
    Top = 240
    Width = 600
    End
    Begin VB.Label lbRadiator
    Alignment = 1 'Right Justify
    Borderstyle="1" 'Fixed Single
    Caption = "100"
    Height = 300
    Left = 1320
    TabIndex = 5
    Top = 2040
    Width = 600
    End
    Begin VB.Label lbLamp
    Alignment = 1 'Right Justify
    Borderstyle="1" 'Fixed Single
    Caption = "5"
    Height = 300
    Left = 1320
    TabIndex = 4
    Top = 1140
    Width = 600
    End
    Begin VB.Label lbTV
    Alignment = 1 'Right Justify
    Borderstyle="1" 'Fixed Single
    Caption = "30"
    Height = 300
    Left = 1320
    TabIndex = 3
    Top = 240
    Width = 600
    End
    End
    Attribute VB_Name = "Room"
    Attribute VB_GlobalNameSpace = False
    Attribute VB_Creatable = False
    Attribute VB_PredeclaredId = True
    Attribute VB_Exposed = False
    Option Explicit

    'минимальное и максимальное значения температуры комнаты
    Private Const MIN_ROOM_TEMPERATURE = 7
    Private Const MAX_ROOM_TEMPERATURE = 40

    'теплопотеря комнаты за интервал времени
    Private Const ROOM_HEAT_LOSS = 1

    'теплоотдача радиатора за интервал времени
    Private Const RADIATOR_HEAT_STRENGTH = 2

    'интервал времени
    Private Const TIMER_INTERVAL = 100

    'минимальные и максимальные значения мощностей устройств
    Private Const MIN_TV_POWER = 30
    Private Const MAX_TV_POWER = 100
    Private Const MIN_LAMP_POWER = 5
    Private Const MAX_LAMP_POWER = 100
    Private Const MIN_RADIATOR_POWER = 100
    Private Const MAX_RADIATOR_POWER = 1000


    'поля
    Private mTemperature As Long
    Private mTVOn As Boolean
    Private mLampOn As Boolean
    Private mRadiatorOn As Boolean

    'свойства
    Property Get Temperature() As Long
    Temperature = mTemperature
    End Property

    Property Let Temperature(ByVal RHS As Long)
    mTemperature = RHS
    lbTemperature = RHS
    barTemperature.Value = Min(Max(RHS, barTemperature.Min), barTemperature.Max)
    End Property


    Property Get TVOn() As Boolean
    TVOn = mTVOn
    End Property

    Property Let TVOn(ByVal RHS As Boolean)
    mTVOn = RHS
    CalculatePower
    End Property

    Property Get LampOn() As Boolean
    LampOn = mLampOn
    End Property

    Property Let LampOn(ByVal RHS As Boolean)
    mLampOn = RHS
    CalculatePower
    End Property

    Property Get RadiatorOn() As Boolean
    RadiatorOn = mRadiatorOn
    End Property

    Property Let RadiatorOn(ByVal RHS As Boolean)
    mRadiatorOn = RHS
    CalculatePower
    End Property


    Property Get TVPower() As Long
    TVPower = sbTV
    End Property

    Property Get LampPower() As Long
    LampPower = sbLamp
    End Property

    Property Get RadiatorPower() As Long
    RadiatorPower = sbRadiator
    End Property


    Property Get MinTemperature() As Long
    MinTemperature = sbMinTemperature
    End Property

    Property Get MaxTemperature() As Long
    MaxTemperature = sbMaxTemperature
    End Property


    'методы
    Private Sub CalculatePower()
    Dim Power As Long
    If TVOn Then
    Power = Power + TVPower
    End If
    If LampOn Then
    Power = Power + LampPower
    End If
    If RadiatorOn Then
    Power = Power + RadiatorPower
    End If
    lbPower = Power
    End Sub

    Private Sub ChangeControlStates(ByVal Working As Boolean)
    btnTVOn.Visible = Workin g
    btnLampOn.Visible = Working
    sbTV.Enabled = Not Working
    sbLamp.Enabled = Not Working
    sbRadiator.Enabled = Not Working

    btnStart.Caption = IIf(Working, "Закончить", "Начать")

    If Not Working Then
    lbPower = ""
    lbTemperature = ""
    End If
    End Sub


    'обработчики событий

    Private Sub Form_Load()
    With sbTV
    .Min = MIN_TV_POWER
    .Max = MAX_TV_POWER
    .Value = MIN_TV_POWER
    End With

    With sbLamp
    .Min = MIN_LAMP_POWER
    .Max = MAX_LAMP_POWER
    .Value = MIN_LAMP_POWER
    End With

    With sbRadiator
    .Min = MIN_RADIATOR_POWER
    .Max = MAX_RADIATOR_POWER
    .Value = MIN_RADIATOR_POWER
    End With

    With barTemperature
    .Min = MIN_ROOM_TEMPERATURE
    .Max = MAX_ROOM_TEMPERATURE
    Temperature = .Value
    End With

    With Timer
    .Enabled = False
    .Interval = TIMER_INTERVAL
    E nd With

    ChangeControlStates False
    End Sub

    Private Sub btnStart_Click()
    Timer.Enabled = Not Timer.Enabled
    Temperature = MIN_ROOM_TEMPERATURE
    ChangeControlStates Timer.Enabled
    End Sub

    Private Sub btnTVOn_Click()
    TVOn = Not TVOn
    btnTVOn.Caption = IIf(TVOn, "Выключить", "Включить")
    End Sub

    Private Sub btnLampOn_Click()
    LampOn = Not LampOn
    btnLampOn.Caption = IIf(LampOn, "Выключить", "Включить")
    End Sub



    Private Sub sbTV_Change()
    lbTV = sbTV
    End Sub

    Private Sub sbLamp_Change()
    lbLamp = sbLamp
    End Sub

    Private Sub sbRadiator_Change()
    lbRadiator = sbRadiator
    End Sub

    Private Sub sbMaxTemperature_Scroll()
    sbMaxTemperature = Max(sbMinTemperature, sbMaxTemperature)
    edMaxTemperature = sbMaxTemperature
    End Sub

    Private Sub sbMinTemperature_Scroll()
    sbMinTemperat ure = Min(sbMinTemperature, sbMaxTemperature)
    edMinTemperature = sbMinTemperature
    End Sub

    Private Sub Timer_Timer()
    Temperature = Temperature - ROOM_HEAT_LOSS
    If RadiatorOn Then
    Temperature = Temperature + RADIATOR_HEAT_STRENGTH
    End If

    If Temperature > MaxTemperature Then
    RadiatorOn = False
    ElseIf Temperature < MinTemperature Then
    RadiatorOn = True
    End If
    End Sub



    'вспомогательные
    Private Function Min(ByVal a, ByVal b)
    If a < b Then Min = a Else Min = b
    End Function

    Private Function Max(ByVal a, ByVal b)
    If a > b Then Max = a Else Max = b
    End Function

    что-то вроде этого...
    форма немного отличается(картинки не вставлял)... да и элементы управления по сравнению с Windows.Forms - "бедноватые"...
    так что требуются библиотеки: mscomctl.ocx и FM20.DLL, можно конечно обойтись и без них, но будет не так красиво...

    на комментарии поскупился, так что что не понятно - спрашивайте...
    Успехов.
    Прикрепленный файл: загрузить »

    Ответ отправил: HookEst, Специалист
    Ответ отправлен: 11.12.2009, 18:31

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 257616 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 175123:

    Решите, пожалуйста, задачу в Basic: 13. В центре экрана построить окружность, в которую вписать равносторонний треугольник с вершиной, направленной влево. Внутрь треугольника вписать еще одну окружность. В центре фигур построить точку.

    Отправлен: 11.12.2009, 00:16
    Вопрос задал: untill, Посетитель
    Всего ответов: 1
    Страница вопроса »


    Отвечает Ashotn, 6-й класс :
    Здравствуйте, untill.

    Задание рисуется на форме в VB 2005.

    Приложение:

    -----
    Я ни от чего, ни от кого не завишу.

    Ответ отправил: Ashotn, 6-й класс
    Ответ отправлен: 11.12.2009, 01:27

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 257594 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2009.6.12 от 30.11.2009

    В избранное