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

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


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

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

Выпуск № 313
от 04.07.2006, 20:35

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


Вопрос № 47620: Здравствуйте!!! Я хочу написать программу которая переделывает слова из кирилицы в латиницу, например белое молоко - beloe_moloko Я думал сделать так: надо загнать строку в масив и потом проверять каждый символ. Но я не знаю фун...
Вопрос № 47702: Zdastvuyte eksperti. Navernika posmotrel vse uchebniki kotoriy polzuyus sam, no ne nashol otveta. Kak mojno zaftavit polzovatelya jdat? Primer: na QBasic eto - sleep Na FoxPro eto- wait a na VB eto kakoy operator?...

Вопрос № 47.620
Здравствуйте!!! Я хочу написать программу которая переделывает слова из кирилицы в латиницу, например

белое молоко - beloe_moloko

Я думал сделать так: надо загнать строку в масив и потом проверять каждый символ.
Но я не знаю функцию, которая разбивает рядок! Поскажите мне эту функцию, и РОДИНА ВАС НЕ ЗАБУДЕТ (((
Отправлен: 28.06.2006, 22:13
Вопрос задал: ataman (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Александр Шевченко
Здравствуйте, ataman!
Насчет "разбивает рядок" не совсем понятно. Попробуй оттолкнуться от этой функции:
Public Function ToLatin(str as String) As String
Dim cyr As String
Dim lat As String
Dim i As Integer

cyr = "бело мк" 'сюда вставить русский алфавит
lat = "belo_mk" 'сюда вставить латинский алфавит
For i = 1 To Len(str)
ToLatin = ToLatin & Mid(lat, InStr(cyr, Mid(str, i, 1)), 1)
Next
End Function

Правда, есть ограничение - одна буква меняется только на одну букву, то есть нельзя заменить "ж" на "zh" к примеру. Но, думаю, идея ясна.
Ответ отправил: Александр Шевченко (статус: 5-ый класс)
Ответ отправлен: 29.06.2006, 08:53

Отвечает: Miklucho
Здравствуйте, ataman!
Под разбитием рядка как я понял вы имели ввиду разбиение строки на буквы и последующее затем занесение их в массив? Это можно сделать так:

См. приложение.

Приложение:

Ответ отправил: Miklucho (статус: Студент)
Ответ отправлен: 30.06.2006, 19:41


Вопрос № 47.702
Zdastvuyte eksperti. Navernika posmotrel vse uchebniki kotoriy polzuyus sam, no ne nashol otveta.
Kak mojno zaftavit polzovatelya jdat?
Primer: na QBasic eto - sleep
Na FoxPro eto- wait
a na VB eto kakoy operator?
Отправлен: 29.06.2006, 19:04
Вопрос задал: Muhammedov Abdurohman (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Филатов Евгений Геннадьевич
Здравствуйте, Muhammedov Abdurohman!

Для задания паузы можно воспользоваться функцией Timer.
Она возвращает количество секунд после полуночи.
Можно добавить проверку на переход даты, т.е если поставить задержку на 10 секунд и запустить программу в 23:59:55, то начальное значение Timer должно равняться 86395 ( максимум 86399 ), через 10 секунд значение будет равно 5, а не 86405, и программа зациклится.
На момент паузы лучше освободить процессор от нагрузки.

С уважением.

Приложение:

Ответ отправил: Филатов Евгений Геннадьевич (статус: 4-ый класс)
Ответ отправлен: 29.06.2006, 19:29
Оценка за ответ: 5
Комментарий оценки:
Very thanks

Отвечает: Александр Шевченко
Здравствуйте, Muhammedov Abdurohman!
Нужно использовать API:
Public Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
это объявление следует вставить в самый верх формы или модуля. Использование -
Sleep 500 'задержка на 500 миллисекунд
Ответ отправил: Александр Шевченко (статус: 5-ый класс)
Ответ отправлен: 30.06.2006, 08:30
Оценка за ответ: 5
Комментарий оценки:
Spasibo. Ne znal chto nado ispolzovat API

Отвечает: Miklucho
Здравствуйте, Muhammedov Abdurohman!

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Command1_Click()
Dim i As Integer

For i = 1 To 5
Sleep (500)
MsgBox (i)
Next i
End Sub
Ответ отправил: Miklucho (статус: Студент)
Ответ отправлен: 30.06.2006, 19:52
Оценка за ответ: 5


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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

В избранное