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

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


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

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 314
от 05.07.2006, 21:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 183, Экспертов: 27
В номере:Вопросов: 3, Ответов: 8


Вопрос № 47727: Здравствуйте уважаемые эксперты. Возник у меня такой вопрос, как в файл параллельного доступа, записать длинную строку (например 150 символов)?...
Вопрос № 47749: Здравствуйте, я написал программу, но она не работает, выбывает ошибку: else without if, код программы ниже, фото программы найдете за такой ссылкой: www.kamenec.h10.ru/delete/proga.gif...
Вопрос № 47776: Здравствуйте, я написал программу "Адресная книжка", но после закрытия этой программы введенные данные не сохраняются, как сделать что бы сохранялись Скин прграммы и также если в связи с несовпадением кодировки можете найти тут: www...

Вопрос № 47.727
Здравствуйте уважаемые эксперты.
Возник у меня такой вопрос, как в файл параллельного доступа, записать длинную строку (например 150 символов)?

Приложение:

Отправлен: 30.06.2006, 00:37
Вопрос задал: Fedos (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: AlexanderZh
Здравствуйте, Fedos!

Open pathname For mode [Access access] [lock] As [#]filenumber [Len=reclength]

reclength - Optional. Number less than or equal to 32,767 (bytes).
For files opened for random access, this value is the record length. For sequential files, this value is the number of characters buffered.

Для файлов открытых в режиме RANDOM определяет длину записи... Сколько по умолчанию не помню, но мало...
---------
Людей можно поделить на 10 типов: тех, кто понимает двоичную систему и тех, кто нет...
Ответ отправил: AlexanderZh (статус: 9-ый класс)
Ответ отправлен: 30.06.2006, 19:58
Оценка за ответ: 5


Вопрос № 47.749
Здравствуйте, я написал программу, но она не работает, выбывает ошибку: else without if, код программы ниже, фото программы найдете за такой ссылкой:
www.kamenec.h10.ru/delete/proga.gif

Приложение:

Отправлен: 30.06.2006, 10:46
Вопрос задал: ataman (статус: 1-ый класс)
Всего ответов: 6
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Коляка Вадим
Здравствуйте, ataman!
Private Sub Command1_Click()
If Option2 = True Then
MsgBox ("right")
Else
MsgBox ("false")
End If
End Sub
я думаю это без комментариев...
Ответ отправил: Коляка Вадим (статус: 2-ой класс)
Ответ отправлен: 30.06.2006, 11:02
Оценка за ответ: 4
Комментарий оценки:
да, Вы наисали правельно, но у меня автоматически дописывало ":"

Отвечает: Александр Шевченко
Здравствуйте, ataman!
Нужно использовать либо однострочный вариант:
If Option2 = True Then MsgBox("right") Else MsgBox("false")
либо многострочный:
If Option2 = True Then
MsgBox("right")
Else
MsgBox("false")
End If
во втором случае после "Then" ничего не должно быть.
Смешивать их нельзя.
Ответ отправил: Александр Шевченко (статус: 5-ый класс)
Ответ отправлен: 30.06.2006, 11:17
Оценка за ответ: 5

Отвечает: Кошелев АВ
Здравствуйте, ataman!
Достаточно убрать двоеточие после Else
Ответ отправил: Кошелев АВ (статус: 4-ый класс)
Ответ отправлен: 30.06.2006, 11:59
Оценка за ответ: 4
Комментарий оценки:
Но двоеточие добовляется автоматически

Отвечает: Fedos
Здравствуйте, ataman!
Вам надо писать либо так:

Private Sub Command1_Click()
If Option2 = True Then
MsgBox ("right")
Else: MsgBox ("false")
End If
End Sub

либо так:

Private Sub Command1_Click()
If Option2 = True Then MsgBox ("right") Else MsgBox ("false")
End Sub

Ответ отправил: Fedos (статус: 1-ый класс)
Ответ отправлен: 30.06.2006, 23:21

Отвечает: Кокорич Вадим Леонидович
Здравствуйте, ataman!
Естественно, прога небудет работать!
Попробуйте так:

Private Sub Command1_Click()
If Option2.value= 1 Then
MsgBox ("right")
Else
MsgBox ("false")
End If
End Sub

---------
Труд сделал обезьяну человеком, а лень человека - программистом !
Ответ отправил: Кокорич Вадим Леонидович (статус: 1-ый класс)
Ответ отправлен: 01.07.2006, 08:45

Отвечает: Залетин Виталий Викторович (мь!тарь)
Здравствуйте, ataman!
Private Sub Command1_Click()
If Option2 = True Then
MsgBox ("right")
Else
MsgBox ("false")
End If
End Sub

Вот это правильный вариант. Конструкция If допускает использование ее без закрывающей фразы End If, но тогда они должны быть в одной строке - чего у Вас и наблюдается. Компилятор интерпретирует строку

If Option2 = True Then MsgBox ("right")

именно таким образом. Т. е.

Else: MsgBox ("false")
End If

это уже иная конструкция - другое условие. Текст ошибки переводится как "Else не соответствует If" или "Else без If".
---------
Учиться никогда не поздно. Особенно программированию!
Ответ отправил: Залетин Виталий Викторович (мь!тарь) (статус: Студент)
Ответ отправлен: 01.07.2006, 14:34


Вопрос № 47.776
Здравствуйте, я написал программу "Адресная книжка", но после закрытия этой программы введенные данные не сохраняются, как сделать что бы сохранялись
Скин прграммы и также если в связи с несовпадением кодировки можете найти тут:
www.kamenec.h10.ru/delete/proga_2.html

Приложение:

Отправлен: 30.06.2006, 16:42
Вопрос задал: ataman (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: AlexanderZh
Здравствуйте, ataman!
Скорее всего проблема в работе с функцией len(). Строки могут быть переменной длины, а при инициализации программы (считывании записей) структура person имеет нулевую длину... Сдесь лучше использовать строки фиксированной длины, либо писать в файл построчно (в текстовом формате)...
---------
Людей можно поделить на 10 типов: тех, кто понимает двоичную систему и тех, кто нет...
Ответ отправил: AlexanderZh (статус: 9-ый класс)
Ответ отправлен: 30.06.2006, 19:48


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

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.34 от 01.06.2006
Яндекс Rambler's Top100

В избранное