Информационный канал Subscribe.Ru -*-------------------------------------------------------------------------- Visual Basic для новичков и профессионаловtitle> head> Visual Basic для новичков и профессионалов #36 [http://www.basic.webhost.ru] www.basic.webhost.ru [http://basic.webhost.ru/news.php] Новости [http://basic.webhost.ru/vbfaq.php] FAQ VB [http://basic.webhost.ru/basicfaq.php] FAQ Basic Форум [http://basic.webhost.ru/guestbook/index.php] Гостевая [http://basic.webhost.ru/games.php] Games [http://basic.webhost.ru/soft.php] Soft [http://basic.webhost.ru/demo.php] Demo [http://basic.webhost.ru/downloadver.php] Версии Basic [http://basic.webhost.ru/vb_example.php] Примеры [http://basic.webhost.ru/basic.php] Basic [http://basic.webhost.ru/arch.php] Архив рассылки [http://basic.webhost.ru/articles.php] Статьи Сегодня в выпуске: > Новости сайта > Новое на форуме > Вопросы и ответы > Курс обучения для начинающих > Компоненты, контролы, исходники > Статья выпуска > Наши партнеры Бред автора Здравствуйте уважаемые подписчики! Вот и дошли руки сделать очередной выпуск, который запоздал на большой промежуток времени. Спросите, почему? Диплом всему ответ! Можете поздравить меня с успешной защитой дипломного проекта на Отлично! Поздравления прошу писать [mailto:vb-question@list.ru?subject=Поздравления] сюда. Ну а что у нас с сайтом? С сайтом продолжается работа. Точные сроки сказать не смогу, так как еще много работы предстоит сделать. Опять же изменен дизайн рассылки! Это конечный вариант дизайна рассылки. Наша рассылка уходит ненадолго в отпуск. Все связано с "ремонтом" сайта. На это уходит много времени. Но вы также можете присылать свои ответы и вопросы, ни одно письмо не останется без внимания. За все время невыхода рассылки поступило некоторое количество вопросов. Ну-с, начнем! ВВЕДЕНО НОВОЕ ПРАВИЛО (4). ЧИТАЙТЕ НИЖЕ. Правила рассылки 1. Вопросы, касающиеся другой сферы программирования, а также сферы ПО - НЕ ПРИНИМАЮТСЯ! 2. Письма с указанием ссылок на какой-либо ресурс или сайт будут отвергнуты, либо ссылкы будут заменены на <РЕКЛАМА> и не будут опубликованы в рассылке! 3. Используйте текстовый формат письма при написании вопроса или ответа. 4. ПИСЬМА С СОДЕРЖАНИЕМ ТИПА "ПИШИ СЮДА, Я ТЕБЕ ВЫШЛЮ ИСХОДНИК", ЛИБО "НАПИШИ МНЕ, Я ТЕБЕ ОБЪЯСНЮ" БОЛЬШЕ НЕ ПУБЛИКУЮТСЯ! ЕСЛИ ВЫ ХОТИТЕ ПОДЕЛИТЬСЯ ФАЙЛОМ, ПРИСЫЛАЙТЕ ЕГО АВТОРУ РАССЫЛКИ. ЭТО ВАМ НЕ ФОРУМ И НЕ СЛУЖБА СООБЩЕНИЙ МЕЖДУ ПОДПИСЧИКАМИ! Новости сайта www.basic.webhost.ru Нет новостей. Продолжается работа над сайтом. Вопросы и ответы Место Имя Баллы 1 *Casper* (=) 86 2 HouseBugs (=) 28 3 Андрей Е. (+) 26 4 Андрей (now@...) (-) 24 5 Bullet [PCLO] (New!) 20 Всего участников: 51 Общее количество баллов всех участников: 422 Из них не заработали ни одного балла 4 участника Новые вопросы _____________________________________________________________ 78/ Предлагаю следующую проблему к обсуждению:как встроить диалоговое окно в метод класса в ActiveXDLL и получить с его помощью данные? Вот пример: Public Function GetUserChoice$() метод класса MyForm.Show vbModal диалоговое окно для получения данных от пользователя Здесь возможна обработка данных GetUserChoice = куда сохраняли ввод см.обработчик OnClick ниже End Function Обработчик события OnClick для кнопки на диалоговой форме MyForm содержит такой код: Private Sub Command1_Click() сюда сохраняем ввод = Text1.Text Unload Me End Sub Проблема,собственно, состоит в том,как сохранить введенные данные и вернуть их в метод.Все перепробовал (глобальные переменные,свойства вспомогательного класса итд.) ничего не работает,форма как будто существует сама по себе,в глухой изоляции и в упор не видит ни переменных,ни классов в других модулях.Складывается такое впечатление,что в ActiveXDll в VB вообще нет поддержки визуальности. К слову, с этой проблемой я обращался за помощью к нескольким <<профессиональным>> программистам (или тем,которые заявляли себя таковыми) на VB,но ни один из них не ответил.Видимо,ответить было нечего ;). [[mailto:vb-question@list.ru?subject=answer_78] Ответить] _____________________________________________________________ 79/ Всем привет!!! У меня три вопроса: 1)Для воспроизведения MP3 файлов в своей программе я использовал следующую функцию Private Declare Function mciExecute Lib "winmm.dll" _ (ByVal lpstrCommand As String) As Long Private Sub Form_Load() lpstrCommand = "Play " & "C:\Windows\Media\Chimes.wav" Call mciExecute(lpstrCommand) End Sub При закрытии программы файл продолжает воспроизводиться. Как сделать что - то наподобие кнопки Стоп, чтобы можно было остановить воспроизведение до закрытия программы. 2)Почему вышеуказанная функция не понимает пробелов в указании пути к файлу. Как можно это исправить? 3)И последнее. Как задержать выполнение программы на несколько секунд. Например, перед закрытием проигрывается звуковой файл, а затем происходит выгрузка. [[mailto:vb-question@list.ru?subject=answer_79] Ответить] _____________________________________________________________ 80/ Как прописать на кнопку запуск Microsoft Query? [[mailto:vb-question@list.ru?subject=answer_80] Ответить] _____________________________________________________________ 81/ Здравствуйте Друзья, не работает CommonDialog пишет license information for this component not foundю You do not have an appropriate license to use this functionainality in the design environment. Как исправить помогите [[mailto:vb-question@list.ru?subject=answer_81] Ответить] _____________________________________________________________ 82/ Как сделать чтобы при нажатии на объекте звучал звук (wav)? [[mailto:vb-question@list.ru?subject=answer_82] Ответить] _____________________________________________________________ 83/ Помогите пожалуйста. Нужно написать на VB прогу которая отправляла бы на интернет страницу (php) данные. Тоесть программа отправки SMS должна передавать само сообщение, номер и оператор на определенную страницу. Заранее благодарен. [[mailto:vb-question@list.ru?subject=answer_83] Ответить] _____________________________________________________________ 84/ 1) Как сделать ярлык на рабочем столе. 2) Как зарегистрировать расширение (т.е. при открытие файла с твоим выдуманным расширением, открывалась твоя программа и т.д. и т.п.) Спасибо! [[mailto:vb-question@list.ru?subject=answer_84] Ответить] _____________________________________________________________ 85/ имеется элемент WebBrowser1, как сделать чтобы в нем открывалася web страница находящаяся в одной папке с программой? [[mailto:vb-question@list.ru?subject=answer_85] Ответить] _____________________________________________________________ [mailto:vb-question@list.ru?subject=quest] >ЗАДАТЬ СВОЙ ВОПРОС В РАССЫЛКУ< Вопросы, ответы на которые не были получены __________________________________________________________ 28/ Как вывести все иконки ассоциативных файлов (как в проводнике) [[mailto:vb-question@list.ru?subject=answer_28] Ответить] __________________________________________________________ 40/ Здраствуйте ! У меня к вам будет один вопрос. Можно ли на ВБ (у меня установлена 6-я версия программы) сделать поиск подключенных компьютеров по локальной сети.Мне нужно узнать их ай-пи адрес и желательно имя компьютера. Я начинающий программист, если можно, обьясните более подробно. Заранее спасибо [[mailto:vb-question@list.ru?subject=answer_40] Ответить] __________________________________________________________ 49/ Тут такая проблема... Я собрался изучить базы данных, а вот хелп не могу найти, в частности по MSH FlexGrid, если у вас есть хелп по контролам вы бы не смогли бы мне прислать или подсказать как с ним работать. Зарание благодарю!!!! [[mailto:vb-question@list.ru?subject=answer_49] Ответить] __________________________________________________________ 54/ Как сделать турнирную таблицу (Как в футболе). Самое главное - это сортировка. Заранее спасибо! [[mailto:vb-question@list.ru?subject=answer_54] Ответить] __________________________________________________________ 57/ Здравствуйте. Уважаемы програмисты, я не программирую на VB. Недавно появилась задачка, которую я предполагаю как можно решить, но не знаю как реализовать. Исходные данные. Есть сетевой принтер с возможностью двухсторонней печати. Пользователи работают с MS Word. На печать посылаются задания из n листов. При этом, листы с 1 по n-2 должны быть напечатаны с одной стороны. Лист n-1 является последним листом документа, а лист n оборотной стороной листа n-1. Предпологаемое решение. По нажатию кнопки "Печать1" из переменной "Количество листов в документе" извлекается заначение n и если n<2 выводится на экран сообщение "Печать с оборотом не возможна" и производится выход из программы, если n>2 вызывается на исполнение функция печати, которой в параметрах передается: 1. Печатать листы с 1 по n-2; 2. Печатать без оборота. Вызывается на исполнение функция печати, которой в параметрах передается: 1. Печатать листы n-1, n; 2. Печатать с оборотом. При этом желательно сделать так, чтобы между вызовами функций печати в очередь печати не проскочило какое-нибудь задание. Естественно, все это оформить в виде макроса. Прошу Вас помочь мне. [[mailto:vb-question@list.ru?subject=answer_57] Ответить] __________________________________________________________ 62/ Здравствуйте уважаемуе программисты. Подскажите принцип работы с объектом phone. Вопрос жизни и смерти. [[mailto:vb-question@list.ru?subject=answer_62] Ответить] __________________________________________________________ 63/ Здравствуйте! Как сделать столбец для таблицы с помощью VB который будет показывать номера кварталов с min зарплатой(в таблице 4 квартала). Другой столбец - Динамика изменения средней зарплаты по кварталам (рост, падение, колебание, постоянно)\ нужно найти среднее знаение среди записей каждого отдела и чтобы написал динамику изменени, то что напискано в скобках, одно слово. [[mailto:vb-question@list.ru?subject=answer_63] Ответить] __________________________________________________________ 67/ Здравствуйте! У меня к Вам два вопроса по VBA. 1. Мне часто приходится выполнять расчеты в Excel по формулам. Каким образом можно организовать вычисление в цикле так, чтобы после каждого следующего обращения формулы к ячейке X ее содержимое изменялось бы с определенным шагом? 2. При поиске в таблице базы данных какого-либо значения я пользуюсь формулами "ВПР" или "ГПР". Как можно сделать, чтобы при нахождении приближенного значения функция возвращала наименьшее из наибольших значений в строке или столбце списка, а не наибольшее из наименьших, как заложено в формулах? Заранее благодарю. Александр. [[mailto:vb-question@list.ru?subject=answer_67] Ответить] __________________________________________________________ 68/ Как поменять рисунок рабочего стола? SystemParametersInfo работает только с bmp файлами, а как применить jpg или gif? [[mailto:vb-question@list.ru?subject=answer_68] Ответить] __________________________________________________________ 70/ Здраствуйте, подскажите пожалуйсто как наложить на большую картинку меньшую по определенным координатам, при этом результат сохранить в графический файл (bmp). [[mailto:vb-question@list.ru?subject=answer_70] Ответить] __________________________________________________________ 71/ Например есть соединение с интернетом и локальной сетью - как можно средствами VB6 узнать кол-во принятых и отправленых байт? Меня интересует конкректный пример, но можно хоть что-нибудь - если это вообще возможно. Заранее благодарю. [[mailto:vb-question@list.ru?subject=answer_71] Ответить] __________________________________________________________ 74/ Как сделать хороший менеджер закачек с использованием DirectPlay? Желательно исходник [[mailto:vb-question@list.ru?subject=answer_74] Ответить] __________________________________________________________ 76/ podskazhite pozhalusta, kak pravil'nee pristupit' k sozdaniu tablic i kakogo roda tablica nujna dlya vvoda, obrabotki i rascheta dannix, na VB.net. mne bazu sozdavat' ne nado. Zaranee spasibo [[mailto:vb-question@list.ru?subject=answer_76] Ответить] __________________________________________________________ Полученные ответы _____________________________________________________________ 41/ А возможноли сделать на VB трех мерный кубик-рубик. Похожий на этот "http://conus-video.zp.ua/img/rubik.zip". Или хотя бы подскажите, где можно взять исходник к такой игре. [Ответить] Отвечает: Виктор Кубик Рубика на экране Не знаю, может поможет. Программу взял с сайта arbuz.uz. E-mail автора: admin @ arbuz.uz Программа на Turbo Pascal'e. Грани кубика на экране можно вращать, используя <<правую>> часть клавиатуры мнемонически: 8 верхняя грань, 2 нижняя, 4 левая, 6 правя, 1 задняя, . передняя - по часовой стрелке, они же вместе с "Shift" - против. Используя F1 F6 можно посмотреть кубик с разных сторон. Если вы в общем, нажав <<0>> кубик вернётся в исходное <<собранное>> состояние, это самое большое преимущество перед настоящим кубиком (ещё вопрос, какой более настоящий?), опять же не уроните. Поворот сопровождается настоящим скрипом. При движении нет раздражающего мигания потому, что кубик не перерисовывается, а заново <<заливается>> цветом это ещё и быстрее чем перерисовывание. Выход, конечно, <>. Можно копировать текст через клипборд сразу заработает! Если конечно у вас подключен графический модуль и вообще стоит Turbo Pascal _____________________________________________________________ Оценка за ответ: 4 _____________________________________________________________ 43/ Здравствуйте уважаемые програмисты. Смотрю я на это дело, сайт развивается, рассылка стала хорошей. То есть объемной. Я конечно не надеялся получать тут ответы, но смотрю, что после прекращения рассылки Visual Basic: "новости сайтов, советы, примеры кодов". Вижу что часть писателей теперб здесь. У меня к вам такой вопрос. Видел программу типа Чатер Бокс. Смысл простой я звоню со своего компа на другой имеющий эту же прогу. Она соединяется. Вся суть в том что можно переслать файлы или написать текст. Если кто знает как это сделать на VB. Как открыть порт и набрать номер я знаю. А дальше? [Ответить] Отвечает: Bullet Ну если порт ты открыл и номер набрал то дело осталось за малым. Если ты используешь компонент MSComm для набора номера то после установления связи с другим модемом сделай так: MSComm1.Output = "Привет, проверка связи!" & vbCr Данное сообщение отправится на другой конец. Для того чтобы получить сообщение сделай так: sRec = MSComm1.Input MsgBox sRec и увидишь что отосланное тебе сообщение отобразилось на экран. Естественно перед этим нужно чтобы ты соединился с другим модемом. Процедура обработки событий: Private Static Sub MSComm1_OnComm() Select Case MSComm1.CommEvent Case comEvReceive ' Получение данных Case comEvSend ' Отправка данных Case Else ' Неизвестное событие End Select End Sub А для того чтобы отправить файл можно использовать два варианта: 1. Написать собственный протокол обмена данными. 2. Использовать готовые алгоритмы. Я бы посоветовал использовать алгоритм ZModem, он может докачивать файл при разрыве соединения. Для отправки текстовых файлов используй метод указанный выше (MSComm1.Output) этого вполне будет достаточно. А еще лучше загляни в MSDN. Хотя бы в версию 98 года. Там в папке с примерами есть папка MScomm и в ней проект VBTerm.vbp. В этом проекте реализован терминал для связи между двумя модемами. Очень детальный и наглядный. _____________________________________________________________ Оценка за ответ: 5 _____________________________________________________________ 59/Доброго здоровья всем читателям рассылки! У меня есть один вопрос. Имеются два BMP рисунка разного размера, необходимо наложить на рисунок большего размера рисунок меньшего размера строго по заданным координатам, сохранить полученный рисунок. Буду благодарен за любые мысли. [Ответить] Отвечает: Известный Незнокомец Посмотри исходник, возможно тебе поможет. _____________________________________________________________ Оценка за ответ: 5 _____________________________________________________________ 60/ Здравствуйте уважаемые программисты! Может кто-нибудь знает,как работать с модемом в VB. Хотя бы номер набирать. Киньте исходничок на мыло, кому не лень. Спасёте меня по-крупному! [Ответить] Отвечает: Bullet [PCLO] Для начала необходимо подключить к проэкту и поместить на форму компонент MSComm. Этот компонент используется для работы с модемом. Далее на форме нужно создать текстовое окошко с именем txtNum и две кнопки cmdDial и cmdCancel. Саму форму для порядка можно назвать frmMain. Далее текст программы, который нужно вставить в проект. ' Для того что бы эта программа работала, Ваш телефон и ' модем должны быть подсоединены к телефонной линии ' -------------------------------------------------------- Option Explicit DefInt A-Z ' Переменная для определения была ли нажата кнопка Отмена Dim bCancelFlag Private Sub cmdCancel_Click() ' Если пользователь передумал звонить и нажал Отмену bCancelFlag = True End Sub Private Sub cmdDial_Click() ' Установим настройки соединения ' Так как на COM1 обычно висит мышка то запишем в CommPort значение равное 2 MSComm1.CommPort = 2 MSComm1.Settings = "9600,N,8,1" ' Откроем порт On Error Resume Next MSComm1.PortOpen = True If Err Then MsgBox "COM2: не доступен. Укажите в свойстве CommPort другое значение." Exit Sub End If ' Обнулим входной буфер MSComm1.InBufferCount = 0 ' Собственно сама команда набора номера ' Для набора номера любой модем использует команду AT и в зависимости ' от типа набора номера префикс. ' Т.е. для импульсного набора используй команду ATDP, а для тонового - ATDT MSComm1.Output = "ATDP" + txtNum.Text + ";" + vbCr ' Теперь необходимо удостовериться что команда сработала. ' Для этого подождем пока модем вернет "OK" Do dummy = DoEvents() ' Если в буфере появились данные, то прочитаем их If MSComm1.InBufferCount Then FromModem$ = FromModem$ + MSComm1.Input ' Проверим нету ли там строки "OK" If InStr(FromModem$, "OK") Then ' Выведем на экран сообщение о том, что на том конце провода подняли трубку Beep MsgBox "Дозвон осуществлен. Поднимите трубку телефона и говорите, либо отмените звонок нажав Отмена" Exit Do End If End If ' Пользователь нажал Отмена If bCancelFlag Then bCancelFlag = False Exit Do End If Loop ' Сбросим модемное соединение MSComm1.Output = "ATH" + vbCr ' Закроем порт MSComm1.PortOpen = False End Sub Private Sub Form_Load() ' Читать входящюю команду целиком MSComm1.InputLen = 0 End Sub Ну вот собственно и все. Для более детальной информации о компоненте MSComm поройся в MSDN. Ну а что касается команд модема - то посмотри в руководстве пользователя. Если такового нету или там не описаны команды, которые поддерживает твой модем, то поищи эту информацию через какой-нибудь поисковый сервер. Удачи. _____________________________________________________________ Оценка за ответ: 5 Отвечает: TIM Private Sub Command1_Click() Open "COM1" For Output As #1 'or COM2 Print #1, "ATDT" & Text1.Text & Chr$(13) Close #1 End Sub _____________________________________________________________ Оценка за ответ: 3 _____________________________________________________________ 73/Как узнать свой Ip адрес? [Ответить] Отвечает: Bullet [PCLO] Подключи к проекту и помести на форму компонент MS WinSock Далее так: Private Sub Form_Load() ' Выводим на экран свой ай-пи MsgBox Winsock1.LocalIP End Sub _____________________________________________________________ Оценка за ответ: 5 Отвечает: Станислав Сергеевич Егунов Скачать утилиту myIP http://www.basic-software.de/eng_dc_myip_win.html ,работает отлично! Проверте на вирусы и шпионы , на всякий случай ! Станислав Сергеевич Егунов. _____________________________________________________________ Оценка за ответ: 3 Отвечает: OverKill '1 ВАРИАНТ 'Расположите на форме компонент Winsock(Winsock1) через меню Project|Components - Microsoft Winsock Control 6.0 Private Sub Form_Load() MsgBox Winsock1.LocalIP End Sub ------------------------------------------------------------------ -------------- '2 ВАРИАНТ 'Вставьте следующий код в событие формы Private Sub Form_Load() MsgBox "IP Host Name: " & GetIPHostName() MsgBox "IP Address: " & GetIPAddress() End Sub 'Добавьте модуль в проект. Вставьте следующий код в модуль Public Const MAX_WSADescription = 256 Public Const MAX_WSASYSStatus = 128 Public Const ERROR_SUCCESS As Long = 0 Public Const WS_VERSION_REQD As Long = &H101 Public Const WS_VERSION_MAJOR As Long = WS_VERSION_REQD \ &H100 And &HFF& Public Const WS_VERSION_MINOR As Long = WS_VERSION_REQD And &HFF& Public Const MIN_SOCKETS_REQD As Long = 1 Public Const SOCKET_ERROR As Long = -1 Public Type HOSTENT hName As Long hAliases As Long hAddrType As Integer hLen As Integer hAddrList As Long End Type Public Type WSADATA wVersion As Integer wHighVersion As Integer szDescription(0 To MAX_WSADescription) As Byte szSystemStatus(0 To MAX_WSASYSStatus) As Byte wMaxSockets As Integer wMaxUDPDG As Integer dwVendorInfo As Long End Type Public Declare Function WSAGetLastError Lib "WSOCK32.DLL" () As Long Public Declare Function WSAStartup Lib "WSOCK32.DLL" (ByVal wVersionRequired As Long, lpWSADATA As WSADATA) As Long Public Declare Function WSACleanup Lib "WSOCK32.DLL" () As Long Public Declare Function gethostname Lib "WSOCK32.DLL" (ByVal szHost As String, ByVal dwHostLen As Long) As Long Public Declare Function gethostbyname Lib "WSOCK32.DLL" (ByVal szHost As String) As Long Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long) Public Function GetIPAddress() As String Dim sHostName As String * 256 Dim lpHost As Long Dim HOST As HOSTENT Dim dwIPAddr As Long Dim tmpIPAddr() As Byte Dim i As Integer Dim sIPAddr As String If Not SocketsInitialize() Then GetIPAddress = "" Exit Function End If If gethostname(sHostName, 256) = SOCKET_ERROR Then GetIPAddress = "" MsgBox "Windows Sockets error " & Str$(WSAGetLastError()) & " has occurred. Unable to successfully get Host Name." SocketsCleanup Exit Function End If sHostName = Trim$(sHostName) lpHost = gethostbyname(sHostName) If lpHost = 0 Then GetIPAddress = "" MsgBox "Windows Sockets are not responding. " & "Unable to successfully get Host Name." SocketsCleanup Exit Function End If CopyMemory HOST, lpHost, Len(HOST) CopyMemory dwIPAddr, HOST.hAddrList, 4 ReDim tmpIPAddr(1 To HOST.hLen) CopyMemory tmpIPAddr(1), dwIPAddr, HOST.hLen For i = 1 To HOST.hLen sIPAddr = sIPAddr & tmpIPAddr(i) & "." Next GetIPAddress = Mid$(sIPAddr, 1, Len(sIPAddr) - 1) SocketsCleanup End Function Public Function GetIPHostName() As String Dim sHostName As String * 256 If Not SocketsInitialize() Then GetIPHostName = "" Exit Function End If If gethostname(sHostName, 256) = SOCKET_ERROR Then GetIPHostName = "" MsgBox "Windows Sockets error " & Str$(WSAGetLastError()) & " has occurred. Unable to successfully get Host Name." SocketsCleanup Exit Function End If GetIPHostName = Left$(sHostName, InStr(sHostName, Chr(0)) - 1) SocketsCleanup End Function Public Function HiByte(ByVal wParam As Integer) HiByte = wParam \ &H100 And &HFF& End Function Public Function LoByte(ByVal wParam As Integer) LoByte = wParam And &HFF& End Function Public Sub SocketsCleanup() If WSACleanup() <> ERROR_SUCCESS Then MsgBox "Socket error occurred in Cleanup." End If End Sub Public Function SocketsInitialize() As Boolean Dim WSAD As WSADATA Dim sLoByte As String Dim sHiByte As String If WSAStartup(WS_VERSION_REQD, WSAD) <> ERROR_SUCCESS Then MsgBox "The 32-bit Windows Socket is not responding." SocketsInitialize = False Exit Function End If If WSAD.wMaxSockets < MIN_SOCKETS_REQD Then MsgBox "This application requires a minimum of " & CStr(MIN_SOCKETS_REQD) & " supported sockets." SocketsInitialize = False Exit Function End If If LoByte(WSAD.wVersion) < WS_VERSION_MAJOR Or (LoByte(WSAD.wVersion) = WS_VERSION_MAJOR And HiByte(WSAD.wVersion) < WS_VERSION_MINOR) Then sHiByte = CStr(HiByte(WSAD.wVersion)) sLoByte = CStr(LoByte(WSAD.wVersion)) MsgBox "Sockets version " & sLoByte & "." & sHiByte & " is not supported by 32-bit Windows Sockets." SocketsInitialize = False Exit Function End If SocketsInitialize = True End Function _____________________________________________________________ Оценка за ответ: 5 Отвечает: TIM Подключаешь компонент MS Winsock Control 6.0 и пишешь вот так: Private Sub Command1_Click() MsgBox "Local Host Name: " & Winsock1.LocalHostName & vbCrLf & "Local IP: " & Winsock1.LocalIP End Sub _____________________________________________________________ Оценка за ответ: 4 Отвечает: matreshka Этот контрол нужен в основном для связи с удаленным компом, но можно с ним делать и другие штуки. Например, сейчас мы узнаем свой IP адрес. Создай новый проект, нажми на Project/Components/MicrosoftWinsock Control 6.0, и кинь на форму появившийся на панели инструментов Winsock1, и кнопку. Код: Private Sub Command1_Click() MsgBox Winsock1.LocalIP End Sub _____________________________________________________________ Оценка за ответ: 4 _____________________________________________________________ 75/Здравствуйте! Помогите начинающему в программировании VB! Использую VB встроенный в EXEL. Для постижения сей науки читаю спец литературу, но инфа там очень скудная, или в некотором роде для меня ещё не понятная. Написал макрос: Sub SaveAS() frm5.Show ChDir "C:\My" FName = Application.GetSaveAsFilename If FName = False Then Else ActiveWorkbook.SaveAS FileName:=FName, FileFormat:= _ xlNormal, Password: ="", WriteResPassword:="", ReadOnlyRecommended: =False _ , CreateBackup:=False End If End Sub Нужно: При нажатии созданной Нн-ой кнопки : Проверить создана ли директория, если не создана , вывести форму (создать?, нет?), Если "нет" прекратить выполнение макроса, если "да" создать директорию ( MkDir "C:\My") и продолжить написанное. Заранее благодарен. [Ответить] Отвечает: Bullet [PCLO] sDirName = "C:\My" If Dir(sDirName) = vbNullString Then nResult = MsgBox("Директория " & Chr(34) & sDirName & Chr(34) & " не существует. Создать её?", vbYesNo + vbQuestion, "Папка не найдена ...") If nResult = vbNo Then Exit Sub ' Тут пишешь код для создания директории и всего что тебе там надо было MkDir "C:\My" '... '... End If _____________________________________________________________ Оценка за ответ: 5 Отвечает: AGavrilov Если я правильно понял, то можно это сделать например так: Option Explicit Sub SaveAS() 'references - Microsoft Scripting Runtime (необходима ссылка на эту библиотеку) Dim fso As New FileSystemObject Dim fld As Folder 'каталог Dim sfldName As String 'название каталога Dim intAnswer As Integer 'ответ пользователя sfldName = "C:\My" 'проверяем наличие каталога 'если его нет, то выдаем сообщение пользователю ' метод FolderExists возвращает True если каталог существует, и False в противном случае If Not fso.FolderExists(sfldName) Then 'Chr(34) - ASCII код двойных кавычек 'Chr(13) -ASCII код перехода на новую строку intAnswer = MsgBox("Каталога " & Chr(34) & sfldName & Chr(34) & " не существует." & Chr(13) _ & "Создать его?", vbQuestion + vbYesNo, "Ошибка ") 'выбираем ответ пользователя Select Case intAnswer Case Is = vbYes 'если "Да", то создаем каталог Set fld = fso.CreateFolder(sfldName) 'или используем MkDir (sfldName) Case Is = vbNo 'если "Нет", то выходим из процедуры Exit Sub End Select Else End If 'а здесь дальше продолжаешь написанное 'ChDir "C:\My" 'и т.д. End Sub _____________________________________________________________ Оценка за ответ: 5 _____________________________________________________________ 77/Как в текстовом поле вывести знак " (кавычки) [Ответить] Отвечает: Андрей Еремин Если не ошибаюсь, написать знак кавычек два раза. _____________________________________________________________ Оценка за ответ: 5 Отвечает: Кудрявцев Александр Text1.text = "В конце будут кавычки -> " & chr(34) _____________________________________________________________ Оценка за ответ: 5 Отвечает: AGavrilov Надо использовать Chr(34) - ASCII код двойных кавычек Например: Dim strText As String strText = " Пример для отображения кавычек " & Chr(34) Text1.Text = strText _____________________________________________________________ Оценка за ответ: 5 Отвечает: fly Там где нужно вывести кавычку поставь две. Например при выводе "Пример""это" покажет Пример"это. _____________________________________________________________ Оценка за ответ: 5 Отвечает: Вячеслав Привет, Ставь три кавычки - у меня всё работает вот пример Private Sub Form_Load() Text1.Text = """" End Sub _____________________________________________________________ Оценка за ответ: 5 [mailto:vb-question@list.ru?subject=quest] <Задать свой вопрос!> Обучение для новичков На данный момент раздел приостановлен в связи с переездом на другой домен. Приносим свои извинения. [mailto:vb-question@list.ru?subject=learn_quest] Задать вопрос>>> Компоненты, контролы, исходники M означает, что данный архив содержит только модуль. Примеры и модули Ссылка Описание Ссылка Описание [http://basic.webhost.ru/downsoft.php?ex=1&id=About.zip&fil=about. zip] about.zip Стандартное окно About в VB (4.2KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=OpenCD.zip&fil=OpenC D.zip] OpenCD.zip Управление CD (M) (1KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=anigif.zip&fil=anigi f.zip] anigif.zip Анимация в VB (5KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=progressbar.zip&fil= progressbar.zip] progressbar.zip Progress Bar в трее (4KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=appprioritet.zip&fil =appprioritet.zip] appprioritet.zip Устанавливаем приоритет в приложении (1.8KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=randomform.zip&fil=r andomform.zip] randomform.zip Разные формы (M) (2KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=biosinfo.zip&fil=bio sinfo.zip] biosinfo.zip Просматривает ифрормацию о БИОСе (5.5KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=RandomForms.zip&fil= RandomForms.zip] RandomForms.zip Разные формы (1KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=cd-rom.zip&fil=cd-ro m.zip] cd-rom.zip Работа с CD-ROM (1.6KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=Reestr.zip&fil=Reest r.zip] Reestr.zip Работа с реестром (2.5KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=commondialog.zip&fil =commondialog.zip] commondialog.zip Диалог открытия файла без контрола (1.9KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=registry.zip&fil=reg istry.zip] registry.zip Регистрация в реестре (9.5KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=coolvbmenu.zip&fil=c oolvbmenu.zip] coolvbmenu.zip Клевое меню в VB (14KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=resource.zip&fil=res ource.zip] resource.zip Просмоторщик ресурсов проги (46.6KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=disableendtasks.zip& fil=disableendtasks.zip] disableendtasks.zip Запрет нажатия Ctrl+Alt+Del (1.8KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=RU_EN.zip&fil=RU_EN. zip] RU_EN.zip Переключение языка программно (M) (1KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=File_size.zip&fil=Fi le_size.zip] File_size.zip Определяет размер файла (M) (1KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=sharp.zip&fil=sharp. zip] sharp.zip Пример часиков (2.1KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=fso.zip&fil=fso.zip] fso.zip Работа с FSO (File System Object) (101KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=ShutDown.zip&fil=Shu tDown.zip] ShutDown.zip Шатдаун компьютера (M) (1KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=HDD_info.zip&fil=HDD _info.zip] HDD_info.zip Информация о диске (M) (1KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=sort.zip&fil=sort.zi p] sort.zip Сортировка массива за 0.2 секунды! (M) (1KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=hddserial.zip&fil=hd dserial.zip] hddserial.zip Серийный номер диска (24KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=Standart.zip&fil=Sta ndart.zip] Standart.zip Стандартные диалоги и окна (M) (1KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=Hibernate.zip&fil=Hi bernate.zip] Hibernate.zip Выключение и перезагрузка ПК (M) (1KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=systrayicon.zip&fil= systrayicon.zip] systrayicon.zip Иконка в трее (21KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=lines2000.zip&fil=li nes2000.zip] lines2000.zip Пример игры Lines (74KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=transparent.zip&fil= transparent.zip] transparent.zip Прозрачность окна (M) (1KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=manifest.zip&fil=man ifest.zip] manifest.zip ХР стиль в аппликухе (2.5KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=Tray_icon2.zip&fil=T ray_icon2.zip] Tray_icon2.zip Икнока в трее 2 (M) (1KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=mdlMain.zip&fil=mdlM ain.zip] mdlMain.zip ХР стиль в приложении (M) (1KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=Tray_icon.zip&fil=Tr ay_icon.zip] Tray_icon.zip Иконка в трее (M) (1KB) [http://basic.webhost.ru/downsoft.php?ex=1&id=winwordorfo.zip&fil= winwordorfo.zip] winwordorfo.zip Проверка орфографии с помощью Word'а (1.9KB) Компоненты: Ссылка Описание Ссылка Описание [http://basic.webhost.ru/downsoft.php?id=SpiritButtonEdit.zip&ocx= 1] SpiritButtonEdit.zip Кнопка с текстовым полем [http://basic.webhost.ru/downsoft.php?id=ProgBar.zip&ocx=1] ProgBar.zip Двухцветный прогресс бар [http://basic.webhost.ru/downsoft.php?id=SpiritClock.zip&ocx=1] SpiritClock.zip Электронные часы [http://basic.webhost.ru/downsoft.php?id=RunString.zip&ocx=1] RunString.zip Бегущая строка [http://basic.webhost.ru/downsoft.php?id=SpiritEditDate.zip&ocx=1] SpiritEditDate.zip Компонент редактирования даты [http://basic.webhost.ru/downsoft.php?id=STrayIco.zip&ocx=1] STrayIco.zip Иконка в трее [http://basic.webhost.ru/downsoft.php?id=XPButton.zip&ocx=1] XPButton.zip Кнопка в стиле XP, Office, и др. [http://basic.webhost.ru/downsoft.php?id=UA_SuperTextBox.zip&ocx=1 ] UA_SuperTextBox.zip TextBox вмещающий более 65КБ текста [http://basic.webhost.ru/downsoft.php?id=SpiritProgressBar.zip&ocx =1] SpiritProgressBar.zip Прогресс Бар в классическом стиле [http://basic.webhost.ru/downsoft.php?id=verticalLabel.zip&ocx=1] verticalLabel.zip Вертикальный лейбл [http://basic.webhost.ru/downsoft.php?id=ARFlatBttn.zip&ocx=1] ARFlatBttn.zip Кнопка [http://basic.webhost.ru/downsoft.php?id=vPlayer.zip&ocx=1] vPlayer.zip Плейер [http://basic.webhost.ru/downsoft.php?id=HyperlinkAX.zip&ocx=1] HyperlinkAX.zip Компонент для создания гиперссылок [http://basic.webhost.ru/downsoft.php?id=shelllink.zip&ocx=1] shelllink.zip Программное создание иконки NEW!!! Статья Есть вопросы относительно статьи, [mailto:vb-question@list.ru?subject=quest_art] задавайте! Вопрос задает: Serg: Здравствуйте, можно ли получить описание операторов языка? Отвечает автор: Пожалуйста: Краткие описания основных функций и команд VB (для начинающих) Это кpаткий спpавочник по опеpатоpам VB. Abs (функция) - возвращает абсолютное значение числа And (операция) - логическое И AppActivate (оператор) - активизирует окно приложения Array (функция) - создает массив из параметров и возвращает его какпеременную типа Variant Asc (функция) - возвращает числовой код первого символа строки аргумента Atn (функция) - возвращает арктангенс числа в радианах Веер (оператор) - проигрывает звуковой сигнал через динамик компьютера Call (оператор) - передает управление процедуре модуля (Sub), функциимодуля (Function) или подпрограмме DLL CBool (функция) - приводит выражение к типу Boolean CByte (функция) - преобразует выражение к типу Byte ССur (функция) - преобразование выражения к типу Currency CDate (функция) - преобразование выражения к типу Date CDbl (функция) - преобразование к типу Double ChDir (оператор) - изменяет текущий каталог на устройстве ChDrive (оператор) - изменяет текущее устройство Choose (функция) - возвращает значение из списка аргументов с определеннымпорядковым номером Chr (функция) - возвращает символ, связанный с определенным числовымкодом CInt (функция) - преобразование выражения к типу Integer CLng (функция) - преобразование выражения к типу Long Close (оператор) - закрывает файл, открытый оператором Open Command (функция) - возвращает командную строку, используемую длязапуска Visual Basic или приложения на Visual Basic Const (оператор) - объявления констант Cos (функция) - возвращает косинус числа Create Object (функция) - создать OLE Automation объект CSng (функция) - преобразование выражения к типу Single CStr (функция) - преобразование выражения к типу String CurDir (функция) - возвращает текущий каталог логического устройства CVar (функция) - преобразование выражения к типу Variant CVErr (функция) - возвращает подтип ошибки, для определенного пользователемномера ошибки Date (оператор) - устанавливает значение системной даты Date (функция) - возвращает значение системной даты DateAdd (функция) - возвращает переменную типа Variant, содержащуюдату, отличающуюся от заданной на определенный интервал времени DateDiff (функция) - возвращает число временных интервалов между двумядатами DatePart (функция) - возвращает определенную часть заданной даты DateSerial (функция) - возвращает дату для заданного года, месяцаи дня DateValue (функция) - возвращает дату Day (функция) - возвращает число от 1 до 31, соответствующее текущемудню месяца DDB (функция) - возвращает значение амортизационных потерь за определенныйпериод Declare (оператор) - на уровне модуля объявляет ссылки ко внешним подпрограммамв DLL Deftype (операторы) - устанавливает тип данных по умолчанию на уровнемодуля для переменных, параметров подпрограмм, а также возвращаемыхзначений для функций и операторов Property Get, начинающихся с определенныхсимволов Dim (оператор) - объявляет переменные и выделяет память под них Dir (функция) - возвращает имя файла или каталог, подходящий дляданного шаблона или атрибута файла, или метку тома устройства DoEvents (функция) - прерывает выполнение приложения Do... Loop (оператор) - повторяет блок команд до тех пор, пока условиеверно или до тех пор, пока условие не станет верным End (оператор) - заканчивает подпрограмму или блок команд Environ (функция) - возвращает строку, связанную с переменной окруженияоперационной системы EOF (функция) - возвращает значение, указывающее, достигнут ликонец файла Eqv (оператор) - проверяет логическое равенство двух выражений Erase (оператор) - повторно инициализирует элементы массивов фиксированногоразмера и перераспределяет память под динамические массивы Error (оператор) - эмулирует возникновение ошибки Error (функция) - возвращает текст сообщения данного номера ошибки Exit (операторы) - осуществляет выход из циклов Do ... Loop, For... Next, функции и процедур Ехр (функция) - возвращает экспоненту числа FileAttr (функция) - возвращает режим открытия или номер (handle) файла FileCopy(onepamop) - копирует файл FileDateTime (функция) - возвращает дату и время создания или последнеймодификации файла FileLen (функция) - возвращает длину файла в байтах Fix (функция) - возвращает целую часть числа For Each...Next (оператор) - повторяет одну и ту же последовательностькоманд для каждого элемента массива или коллекции For...Next (оператор) - повторяет последовательность команд определенноечисло раз Format (функция) - форматирует выражение в соответствии с заданнымформатом FreeFile (функция) - возвращает следующий не занятый номер файла дляиспользования в операторе Open Function (оператор) - объявляет имя, аргументы и код подпрограммы,возвращающей значение (функции) FV (функция) - возвращает значение ренты, основываясь на периодическихвзносах и постоянной норме капиталовложений Get (оператор) - читает данные из открытого файла в переменную GetAttr (функция) - возвращает атрибуты файла, каталога или меткитома GetObject (функция) - возвращает OLE Automation объект для файла сданным расширением GoSub... Return (оператор) - выполняет подпрограмму GoTo (оператор) - передает управление определенной строке подпрограммыбез возврата контроля Hex (функция) - возвращает строку, представляющую шестнадцатеричноезначение числа Hour (функция) - возвращает целое число в диапазоне 0 - 23 включительно,представляющее определенный час дня If...Then... Else (оператор) - выполнение групп команд в зависимостиот значения выражения Iff (функция) - возвращает одно из двух значении в зависимости от значениявыражения Imp (операция) - импликация двух выражений Input (функция) - возвращает символы из файла, открытого для последовательногодоступа или как двоичный файл Input # (оператор) - считывает данные из открытого файла в переменные InputBox (функция) - показывает диалоговое окно ввода, ожидает вводатекста и возвращает содержимое введенного текста, после закрытия окна InStr (функция) - возвращает позицию первой найденной подстроки в строке Int (функция) - возвращает целую часть числа Is (операция) - сравнение двух ссылок на объекты IsArray (функция) - возвращает булево значение, указывающее, являетсяли данная переменная массивом IsDate (функция) - возвращает булево значение, указывающее, можетли выражение быть преобразовано к типу Date IsEmpty (функция) - возвращает булево значение, указывающее, инициализированоли значение данной переменной IsError (функция) - возвращает булево значение, указывающее, являетсяли выражение значением кода ошибки IsMissing (функция) - возвращает булево значение, указывающее,был ли передан данный необязательный параметр в подпрограмму IsNull (функция) - возвращает булево значение, указывающее, несодержит ли выражение недопустимое (Null) значение IsNumeric (функция) - возвращает булево значение, указывающее,может ли данное выражение рассматриваться как число IsObject (функция) - возвращает булево значение, указывающее, являетсяли выражение объектом OLE Automation Kill (оператор) - удаляет файл LBound (функция) - возвращает значение нижней границы индекса массива LCase (функция) - возвращает строку в нижнем регистре Left (функция) - возвращает определенное число символов с начала строки Len (функция) - возвращает число символов строки или число байт,необходимых для хранения переменной Let (оператор) - присваивает значение выражения переменной или свойству Like (операция) - сравнение двух строк Line Input # (оператор) - считывает строку из файла в переменную Load (оператор) - загружает в память форму или элемент управления LoadPicture (функция) - загружает графический образ в объекты: Form, Loc (функция) - возвращает текущую позицию чтения/записи в открытомфайле Lock (оператор) - контролирует доступ других процессов ко всему или части открытого файла LOF (функция) - возвращает размер в байтах открытого файла Log (функция) - возвращает натуральный логарифм числа LSet (оператор) - копирует строку в строковую переменную, а такжекопирует значение переменной одного специализированного типа в переменнуюдругого специализированного типа LTrim (функция) - возвращает копию строки без лидирующих пробелов Mid (оператор) - замещает определенное число символов в строке на символыиз другой строки Mid (функция) - возвращает определенное число символов с определеннойпозиции строки Minute (функция) - возвращает целое число в диапазоне 0 - 59, представляющееминуту часа MkDir (оператор) - создает новый каталог Mod (операция) - возвращает остаток от деления двух чисел Month (функция) - возвращает целое число в диапазоне 1 - 12, представляющееномер месяца MsgBox (функция) - показывает сообщение в диалоговом окне, ожидаетвыбор одной из кнопок пользователем и возвращает значение, указывающее,какая кнопка была выбрана Name (оператор) - переименовывает файл или каталог Not (операция) - логическое отрицание Now (функция) - возвращает текущие значения даты и времени Oct (функция) - возвращает строку, представляющую восьмеричное представлениечисла On Error (оператор) - устанавливает обработчик ошибок и задает местоположениеподпрограммы обработки; используется также для отмены обработки ошибокподпрограммой обработчика Оn..GoSub, On...GoTo (операторы) - передача управления на одну изнескольких определенных строк (меток), в зависимости от значения выражения Open (оператор) - скрывает файл для ввода/вывода Option Base (оператор) - используется для объявления значения нижнейграницы размерности индексов массивов по умолчанию Option Compare (оператор) - используется на уровне модуля для объявленияметода сравнения по умолчанию при сравнении строк Option Explicit (оператор) - используется на уровне модуля для установкипроверки наличия объявлений для всех переменных в данном модуле Option Private (оператор) - используется на уровне модуля для указания,что весь модуль является Private Or (операция) - логическое ИЛИ Partition (функция) - возвращает строку, указывающую, сколько развстретились числа из заданного диапазона Print # (оператор) - записывает форматированные данные в файл Private (оператор) - используется на уровне модуля для объявления Privateпеременных и выделяет место в памяти для их хранения Property Get (оператор) - объявляет имя, аргументы и код подпрограммыполучения значения свойства Property Let (оператор) - объявляет имя, аргументы и код процедурыустановки значения свойства Property Set (оператор) - объявляет имя, аргументы и код процедурыустановки ссылки на объект Public (оператор) - используется на уровне модуля для объявления Publicпеременных и выделяет место в памяти для их хранения Put (оператор) - записывает переменную в файл QBColor (функция) - возвращает RGB код, соответствующий номеру цвета Randomize (оператор) - инициализирует генератор случайных чисел RGB (функция) - возвращает целое число, представляющее значение RGBкода ReDim (оператор) - используется на уровне подпрограммы для переопределенияразмера динамических массивов и выделения под них места в памяти Rem (оператор) - вставка комментариев в программу Reset (оператор) - закрывает все открытые программой файлы Resume (оператор) - продолжает выполнение программы после завершенияпроцедуры обработчика ошибок Right (функция) - возвращает определенное число символов с правой стороныстроки RmDir (оператор) - удаляет каталог Rnd (функция) - возвращает случайное число RSet (оператор) - копирует правую часть строки в строковую переменную RTrim (функция) - возвращает копию строки без конечных пробелов SavePicture (оператор) - сохраняет в файл графический образ объектаForm, элементов управления Picture Box или Image Second (функция) - возвращает целое значение в диапазоне 0 - 59,представляющее секунду в минуте Seek (оператор) - устанавливает позицию для следующей операции чтенияили записи в открытый файл Seek (функция) - возвращает текущую позицию чтения/записи открытогофайла Select Case (оператор) - выполняет одну или несколько команд, в зависимостиот значения выражения SendKeys (оператор) - посылает одно или несколько нажатий клавиш активномуокну, как если бы они были введены пользователем с клавиатуры Set (оператор) - связывает ссылку на объект с переменной или свойством SetAttr (оператор) - устанавливает атрибуты файла Sgn (функция) - возвращает знак числа Shell (функция) - запускает внешнюю программу на выполнение Sin (функция) - возвращает значение синуса угла Space (функция) - возвращает строку, содержащую определенное числопробелов Spc (функция) - позиционирование в строке вывода Sqr (функция) - подсчет значения квадратного корня числа Static (оператор) - используется на уровне модуля для объявления переменныхи выделяет место в памяти для их хранения. Переменные сохраняют значениядо завершения программы Stop (оператор) - приостанавливает выполнение программы Str (функция) - возвращает строковое представление числа StrComp (функция) - возвращает результат сравнения строк StrConv (функция) - возвращает преобразованную строку String (функция) - возвращает строку заданной длины из одинаковых символов Sub (оператор) - объявляет имя, параметры и тело процедуры Switch (функция) - подсчитывает значения списка выражении и возвращаетзначение или выражение, связанное с выражением из списка, значениекоторого равно True Tab (функция) - позиционирование в строке вывода Tan (функция) - возвращает значение тангенса угла Time (оператор) - устанавливает значение системных часов Time (функция) - возвращает значение типа Date, указывающее текущеесистемное время Timer (функция) - возвращает число секунд, прошедших после полуночи TimeSerial (функция) - возвращает значение типа Date, содержащеевремя для заданного часа, минуты и секунды Time Value (функция) - возвращает значение типа Date, содержащеевремя суток Trim (функция) - возвращает копию строки без начальных и конечных пробелов Type (оператор) - объявляет на уровне модуля специализированный типданных TypeName (функция) - возвращает строку информации о заданной переменной UBound (функция) - возвращает значение наибольшего индекса для даннойразмерности массива UCase (функция) - возвращает строку, преобразованную в верхний регистр Unload (оператор) - выгружает форму или элемент управления из памяти Unlock (оператор) - контролирует доступ других процессов ко всему иличасти открытого файла Val (функция) - возвращает числовое представление строки VarType (функция) - возвращает значение, указывающее тип переменной Weekday (функция) - возвращает целое число, представляющее день недели While...Wend (оператор) - выполняет в цикле последовательность команддо тех пор, пока верно условие Width # (оператор) - назначает ширину строки вывода для операции записив открытый файл With (оператор) - выполняет последовательность команд для конкретногообъекта или переменной специализированного типа Write # (оператор) - записывает данные в файл Хоr (операция) - исключающее ИЛИ Year (функция) - возвращает целое число, представляющее год [mailto:vb-question@list.ru?subject=quest_art] Задать вопрос по статье | [mailto:vb-question@list.ru?subject=articles] Прислать свою статью Дружественные сайты [http://www.delphi.int.ru] http://www.delphi.int.ru - Программирование на DELPHI: Вопросы и Ответы читателей; Статьи по программированию на Delphi, других языках программирования, графике (OpenGL/DirectX); Компоненты, Пакеты, Plug-in'ы, Модули для Delphi; Исходники программ, игр; Документация и ссылки на документацию по программированию; Рассылка, в которой каждый программист найдёт что-то полезное! [http://infomania2004.webhost.ru] http://infomania2004.webhost.ru. Этот сайт создан для того, чтобы вы могли получить интересующую вас информацию с минимальными затратами сил и времени. Если вы не нашли здесь нужной информации, оставьте заявку..."> Все о Динамо - [http://www.DinamoMania.ru] www.DinamoMania.ru На этом сайте вы найдете все новости и интервью ВСЕХ видов спорта Динамо. Также на сайте есть таблицы всех видов спорта. Видео и Фото материалы. И все это на одном сайте - www.DinamoMania.ru Это первый и единственный сайт, который освещает все виды одного клуба. Юмор Последний звонок: - Наталья, вы же учитель литературы! Вы должны учить детей прекрасному, а не как открывать глазом бутылки! *** - Я себе мыло "Дав" купила. - Дожили! Мылодав она купила! То есть без мылодава мыло выдавить мы не сможем! :)) Наши партнеры Рассылки [http://subscribe.ru/] Subscribe.Ru [_] [http://subscribe.ru/catalog/comp.soft.prog.vbforbeginprof] Visual Basic для новичков и профессионалов [_] [http://subscribe.ru/catalog/comp.soft.prog.delphifaq] Программирование на Delphi ____________________ [HTML] [windows.] OK Хотите стать нашим партнером? Пишите [mailto:admin-basic@list.ru?subject=Partner] сюда. body> html> USES Graph,CRT; LABEL 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25, 26,27; VAR CH: CHAR; graphdriver,graphmode,I,K:integer; FACE:ARRAY[1..9] OF INTEGER; UP,RR:ARRAY[1..9] OF INTEGER; RIGHT:ARRAY[1..9] OF INTEGER; LEFT:ARRAY[1..9] OF INTEGER; DARK:ARRAY[1..9] OF INTEGER; DOWN:ARRAY[1..9] OF INTEGER; procedure KUB( X1,X2,X3,X4,Y1,Y2,Y3,Y4,COL:INTEGER); BEGIN setcolor(8);LINE(X1,Y1,X2,Y2);SOUND(100*COL); LINE(X2,Y2,X3,Y3); LINE(X3,Y3,X4,Y4); LINE(X4,Y4,X1,Y1); NOSOUND { READLN; }END; procedure KUB1( X4,Y4,COL1:INTEGER); BEGIN SOUND(1000*COL1);SetFillstyle(1,COL1); FLOODFILL(X4+5,Y4+5,8); NOSOUND; { READLN; }END; procedure RISUNOK(C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13, C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27: INTEGER);CONST X00=150;Y00=150;AA=40;D=6; VAR A1,A2,X0,Y0,A,B,B1,B2,B3,C,YY,E:INTEGER; BEGIN A:=AA; A1:=A*2+D; A2:=A*3+D*2; X0:=X00 ; Y0:=Y00;Initgraph(graphdriver,graphmode,''); KUB(X0,X0+A,X0+A,X0,Y0+A,Y0+A,Y0,Y0,C1);KUB(X0+A+D,X0+A1,X0+A1,X0+ A+D,Y0+A,Y0+A,Y0,Y0,C2); KUB(X0+A1+D,X0+A2,X0+A2,X0+A1+D,Y0+A,Y0+A,Y0,Y0,C3); KUB(X0+A1+D,X0+A2,X0+A2,X0+A1+D,Y0+A1,Y0+A1,Y0+A+D,Y0+A+D,C6); KUB(X0+A+D,X0+A1,X0+A1,X0+A+D,Y0+A1,Y0+A1,Y0+A+D,Y0+A+D,C5); KUB(X0,X0+A,X0+A,X0,Y0+A1,Y0+A1,Y0+A+D,Y0+A+D,C4); KUB(X0+A1+D,X0+A2,X0+A2,X0+A1+D,Y0+A2,Y0+A2,Y0+A1+D,Y0+A1+D,C9); KUB(X0+A+D,X0+A1,X0+A1,X0+A+D,Y0+A2,Y0+A2,Y0+A1+D,Y0+A1+D,C8); KUB(X0,X0+A,X0+A,X0,Y0+A2,Y0+A2,Y0+A1+D,Y0+A1+D,C7); X0:=X00+A2+D ; Y0:=Y00; C:=10;YY:=25; A:=AA; A1:=A*2+D; A2:=A*3+D*2; B:=15; B1:=B*2+D; B2:=B*3+D*2;E:=D; KUB(X0,X0+B,X0+B,X0,Y0+A,Y0+A-YY,Y0-YY,Y0,C10); KUB(X0+B+D,X0+B1,X0+B1,X0+B+D,Y0+A-YY-E,Y0+A-2*YY-E,Y0-2*YY-E,Y0-Y Y-E,C11); KUB(X0+B1+D,X0+B2,X0+B2,X0+B1+D,Y0+A-2*YY-2*E,Y0+A-3*YY-2*E,Y0-3*Y Y-2*E,Y0-2*YY-2*E,C12); KUB(X0+B1+D,X0+B2,X0+B2,X0+B1+D,Y0+A1-2*YY-2*E,Y0+A1-3*YY-2*E,Y0+A +D-3*YY-2*E,Y0+A+D-2*YY-2*E,C15); KUB(X0+B+D,X0+B1,X0+B1,X0+B+D,Y0+A1-YY-E,Y0+A1-2*YY-E,Y0+A+D-2*YY- E,Y0+A+D-YY-E,C14); KUB(X0,X0+B,X0+B,X0,Y0+A1,Y0+A1-YY,Y0+A+D-YY,Y0+A+D,C13); KUB(X0+B1+D,X0+B2,X0+B2,X0+B1+D,Y0+A2-2*YY-2*E,Y0+A2-3*YY-2*E,Y0+A 1+D-3*YY-2*E,Y0+A1+D-2*YY- 2*E,C18); KUB(X0+B+D,X0+B1,X0+B1,X0+B+D,Y0+A2-YY-E,Y0+A2-2*YY-E,Y0+A1+D-2*YY -E,Y0+A1+D-YY-E,C17); KUB(X0,X0+B,X0+B,X0,Y0+A2,Y0+A2-YY,Y0+A1+D-YY,Y0+A1+D,C16); X0:=X00+2*D ; Y0:=Y00-3*YY-3*D; C:=9;YY:=0; A:=25; A1:=A*2+D; A2:=A*3+D*2; B:=40; B1:=B*2+D; B2:=B*3+D*2;E:=0;B3:=15; KUB(X0+2*B3+6,X0+B+2*B3+4,X0+B+3*B3+6,X0+3*B3+9,Y0+A,Y0+A-YY,Y0-YY ,Y0,C19); KUB(X0+B+D+2*B3+4,X0+B1+2*B3+2,X0+B1+3*B3+3,X0+B+D+3*B3+6,Y0+A-YY- E,Y0+A-2*YY-E,Y0-2*YY-E,Y0-YY- E,C20); KUB(X0+B1+D+2*B3+3,X0+B2+2*B3,X0+B2+3*B3,X0+B1+D+3*B3+3,Y0+A-2*YY- 2*E,Y0+A-3*YY-2*E,Y0-3*YY-2*E,Y0- 2*YY-2*E,C21); X0:=X00+D; KUB(X0+B1+D+B3+1,X0+B2+B3,X0+B2+2*B3,X0+B1+D+2*B3+2,Y0+A1-2*YY-2*E ,Y0+A1-3*YY-2*E,Y0+A+D-3*YY- 2*E,Y0+A+D-2*YY-2*E,C24); KUB(X0+B+D+B3+2,X0+B1+B3+1,X0+B1+2*B3+2,X0+B+D+2*B3+4,Y0+A1-YY-E,Y 0+A1-2*YY-E,Y0+A+D-2*YY-E,Y0+A+D- YY-E,C23); KUB(X0+B3+3,X0+B+B3+2,X0+B+2*B3+4,X0+2*B3+6,Y0+A1,Y0+A1-YY,Y0+A+D- YY,Y0+A+D,C22); X0:=X00; KUB(X0+B1+D,X0+B2,X0+B2+B3,X0+B1+D+B3+1,Y0+A2-2*YY-2*E,Y0+A2-3*YY- 2*E,Y0+A1+D-3*YY-2*E,Y0+A1+D-2*YY- 2*E,C27); KUB(X0+B+D,X0+B1,X0+B1+B3+1,X0+B+D+B3+2,Y0+A2-YY-E,Y0+A2-2*YY-E,Y0 +A1+D-2*YY-E,Y0+A1+D-YY-E,C26); KUB(X0,X0+B,X0+B+B3+2,X0+B3+3,Y0+A2,Y0+A2-YY,Y0+A1+D-YY,Y0+A1+D,C2 5); END;procedure RISUNOK1(C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C1 7,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27: INTEGER); CONST X00=150;Y00=150;AA=40;D=6; VAR A1,A2,X0,Y0,A,B,B1,B2,B3,C,YY,E:INTEGER; BEGIN A:=AA; A1:=A*2+D; A2:=A*3+D*2; X0:=X00 ; Y0:=Y00; KUB1(X0,Y0,C1); KUB1(X0+A+D,Y0,C2); KUB1(X0+A1+D,Y0,C3); KUB1(X0+A1+D,Y0+A+D,C6); KUB1(X0+A+D,Y0+A+D,C5); KUB1(X0,Y0+A+D,C4); KUB1(X0+A1+D,Y0+A1+D,C9); KUB1(X0+A+D,Y0+A1+D,C8); KUB1(X0,Y0+A1+D,C7); X0:=X00+A2+D ; Y0:=Y00; C:=10;YY:=25; A:=AA; A1:=A*2+D; A2:=A*3+D*2; B:=15; B1:=B*2+D; B2:=B*3+D*2;E:=D; KUB1(X0,Y0,C10); KUB1(X0+B+D,Y0-YY-E,C11); KUB1(X0+B1+D,Y0-2*YY-2*E,C12); KUB1(X0+B1+D,Y0+A+D-2*YY-2*E,C15); KUB1(X0+B+D,Y0+A+D-YY-E,C14); KUB1(X0,Y0+A+D,C13); KUB1(X0+B1+D,Y0+A1+D-2*YY-2*E,C18); KUB1(X0+B+D,Y0+A1+D-YY-E,C17); KUB1(X0,Y0+A1+D,C16); X0:=X00+2*D ; Y0:=Y00-3*YY-3*D; C:=9;YY:=0; A:=25; A1:=A*2+D; A2:=A*3+D*2; B:=40; B1:=B*2+D; B2:=B*3+D*2;E:=0;B3:=15; KUB1(X0+3*B3+9,Y0,C19); KUB1(X0+B+D+3*B3+6,Y0-YY-E,C20); KUB1(X0+B1+D+3*B3+3,Y0-2*YY-2*E,C21); X0:=X00+D; KUB1(X0+B1+D+2*B3+2,Y0+A+D-2*YY-2*E,C24); KUB1(X0+B+D+2*B3+4,Y0+A+D-YY-E,C23); KUB1(X0+2*B3+6,Y0+A+D,C22); X0:=X00; KUB1(X0+B1+D+B3+1,Y0+A1+D-2*YY-2*E,C27); KUB1(X0+B+D+B3+2,Y0+A1+D-YY-E,C26); KUB1(X0+B3+3,Y0+A1+D,C25); END; begin {********************************НАЧАЛО************************}1: FOR I:=1 TO 9 DO BEGIN UP[I]:=9; FACE[I]:=12;RIGHT[I]:=10;LEFT[I]:=15;DOWN[I]:=5;DARK[I]:=14; END; RISUNOK (FACE[1],FACE[2],FACE[3],FACE[4],FACE[5],FACE[6],FACE[7], FACE[8],FACE[9],RIGHT[1],RIGHT[2],RIGHT[3],RIGHT[4],RIGHT[5], RIGHT[6],RIGHT[7],RIGHT[8],RIGHT[9],UP[1],UP[2],UP[3], UP[4],UP[5],UP[6],UP[7],UP[8],UP[9]); 3: RISUNOK1 (FACE[1],FACE[2],FACE[3],FACE[4],FACE[5],FACE[6],FACE[7], FACE[8],FACE[9],RIGHT[1],RIGHT[2],RIGHT[3],RIGHT[4],RIGHT[5], RIGHT[6],RIGHT[7],RIGHT[8],RIGHT[9],UP[1],UP[2],UP[3], UP[4],UP[5],UP[6],UP[7],UP[8],UP[9]); 2: CH:=ReadKey; CASE CH OF #48 : GOTO 1; #54 : GOTO 12; '.' : GOTO 16; #52 : GOTO 14; #56 : GOTO 18; #49 : GOTO 20; #50 : GOTO 22; #27 : GOTO 4; #0 : GOTO 11; ELSE GOTO 2 END; 11: CH:=ReadKey; CASE CH OF #59 : GOTO 5; #60 : GOTO 6; #61 : GOTO 7; #62 : GOTO 8; #63 : GOTO 9; #77 : GOTO 13; #83 : GOTO 17; #75 : GOTO 15; #64 : GOTO 10; #72 : GOTO 19; #80 : GOTO 23; 'O' : GOTO 21; ELSE GOTO 2 END; 5:{****************************ВРАЩЕНИЕ ВОКРУГ ВЕРТИКАЛЬНОЙ ОСИ**В*ПРАВО*****}FOR I:=1 TO 9 DO BEGIN RR[I]:=LEFT[I];LEFT[I]:=DARK[I];DARK[I]:=RIGHT[I]; RIGHT[I]:=FACE[I];FACE[I]:=RR[I]; END; GOTO 3; 6:{****************************ВРАЩЕНИЕ ВОКРУГ ВЕРТИКАЛЬНОЙ ОСИ***В ЛЕВО******}FOR I:=1 TO 9 DO BEGIN RR[I]:=LEFT[I];LEFT[I]:=FACE[I];FACE[I]:=RIGHT[I]; RIGHT[I]:=DARK[I];DARK[I]:=RR[I]; END; GOTO 3; 7:{****************************ВРАЩЕНИЕ ВОКРУГ ПЕРЕДНЕЙ ГРАНИ ПО ЧАС СТР*****} FOR I:=1 TO 9 DO BEGIN RR[I]:=LEFT[I];LEFT[I]:=DOWN[I];DOWN[I]:=RIGHT[I]; RIGHT[I]:=UP[I];UP[I]:=RR[I]; END;GOTO 3; 8:{****************************ВРАЩЕНИЕ ВОКРУГ ПЕРЕДНЕЙ ГРАНИ ПPOT ЧАС СТР******} FOR I:=1 TO 9 DO BEGIN RR[I]:=LEFT[I];LEFT[I]:=UP[I];UP[I]:=RIGHT[I]; RIGHT[I]:=DOWN[I];DOWN[I]:=RR[I]; END; GOTO 3; 9:{****************************ВРАЩЕНИЕ ВОКРУГ ПРАВОЙ ГРАНИ ПО ЧАС СТР*****} FOR I:=1 TO 9 DO BEGIN RR[I]:=FACE[I];FACE[I]:=DOWN[I];DOWN[I]:=DARK[I]; DARK[I]:=UP[I];UP[I]:=RR[I]; END; GOTO 3; 10:{****************************ВРАЩЕНИЕ ВОКРУГ ПРАВОЙ ГРАНИ ПPOT ЧАС СТР******}FOR I:=1 TO 9 DO BEGIN RR[I]:=FACE[I];FACE[I]:=UP[I];UP[I]:=DARK[I]; DARK[I]:=DOWN[I];DOWN[I]:=RR[I]; END; GOTO 3; 12:{****************************ВРАЩЕНИЕ ПРАВОЙ ГРАНИ ПO ЧАС СТР******} I:=RIGHT[1];RIGHT[1]:=RIGHT[7];RIGHT[7]:=RIGHT[9];RIGHT[9]:=RIGHT[ 3]; RIGHT[3]:=I; I:=RIGHT[2];RIGHT[2]:=RIGHT[2];RIGHT[4]:=RIGHT[8];RIGHT[8]:=RIGHT[ 6]; RIGHT[6]:=I; RR[3]:=FACE[3];FACE[3]:=DOWN[3];DOWN[3]:=DARK[3]; DARK[3]:=UP[3];UP[3]:=RR[3]; RR[6]:=FACE[6];FACE[6]:=DOWN[6];DOWN[6]:=DARK[6]; DARK[6]:=UP[6];UP[6]:=RR[6]; RR[9]:=FACE[9];FACE[9]:=DOWN[9];DOWN[9]:=DARK[9]; DARK[9]:=UP[9];UP[9]:=RR[9]; GOTO 3; 13:{****************************ВРАЩЕНИЕ ПРАВОЙ ГРАНИ ПPOT ЧАС СТР******}FOR K:=1 TO 3 DO BEGIN I:=RIGHT[1];RIGHT[1]:=RIGHT[7];RIGHT[7]:=RIGHT[9];RIGHT[9]:=RIGHT[ 3]; RIGHT[3]:=I; I:=RIGHT[2];RIGHT[2]:=RIGHT[2];RIGHT[4]:=RIGHT[8];RIGHT[8]:=RIGHT[ 6]; RIGHT[6]:=I; RR[3]:=FACE[3];FACE[3]:=DOWN[3];DOWN[3]:=DARK[3]; DARK[3]:=UP[3];UP[3]:=RR[3]; RR[6]:=FACE[6];FACE[6]:=DOWN[6];DOWN[6]:=DARK[6]; DARK[6]:=UP[6];UP[6]:=RR[6]; RR[9]:=FACE[9];FACE[9]:=DOWN[9];DOWN[9]:=DARK[9]; DARK[9]:=UP[9];UP[9]:=RR[9]; END; GOTO 3; 14:{****************************ВРАЩЕНИЕ LEВОЙ ГРАНИ ПO ЧАС СТР******} I:=LEFT[1];LEFT[1]:=LEFT[7];LEFT[7]:=LEFT[9];LEFT[9]:=LEFT[3]; LEFT[3]:=I; I:=LEFT[2];LEFT[2]:=LEFT[2];LEFT[4]:=LEFT[8];LEFT[8]:=LEFT[6]; LEFT[6]:=I; RR[1]:=FACE[1];FACE[1]:=UP[1];UP[1]:=DARK[1]; DARK[1]:=DOWN[1];DOWN[1]:=RR[1]; RR[4]:=FACE[4];FACE[4]:=UP[4];UP[4]:=DARK[4]; DARK[4]:=DOWN[4];DOWN[4]:=RR[4]; RR[7]:=FACE[7];FACE[7]:=UP[7];UP[7]:=DARK[7]; DARK[7]:=DOWN[7];DOWN[7]:=RR[7]; GOTO 3; 15:{****************************ВРАЩЕНИЕ LEВОЙ ГРАНИ ПPOT ЧАС СТР******}FOR K:=1 TO 3 DO BEGIN I:=LEFT[1];LEFT[1]:=LEFT[7];LEFT[7]:=LEFT[9];LEFT[9]:=LEFT[3]; LEFT[3]:=I; I:=LEFT[2];LEFT[2]:=LEFT[2];LEFT[4]:=LEFT[8];LEFT[8]:=LEFT[6]; LEFT[6]:=I; RR[1]:=FACE[1];FACE[1]:=UP[1];UP[1]:=DARK[1]; DARK[1]:=DOWN[1];DOWN[1]:=RR[1]; RR[4]:=FACE[4];FACE[4]:=UP[4];UP[4]:=DARK[4]; DARK[4]:=DOWN[4];DOWN[4]:=RR[4]; RR[7]:=FACE[7];FACE[7]:=UP[7];UP[7]:=DARK[7]; DARK[7]:=DOWN[7];DOWN[7]:=RR[7]; END; GOTO 3; 16:{****************************ВРАЩЕНИЕ ПЕРЕДНЕЙ ГРАНИ ПO ЧАС СТР******} I:=FACE[1];FACE[1]:=FACE[7];FACE[7]:=FACE[9];FACE[9]:=FACE[3]; FACE[3]:=I; I:=FACE[2];FACE[2]:=FACE[4];FACE[4]:=FACE[8];FACE[8]:=FACE[6]; FACE[6]:=I; RR[1]:=RIGHT[1];RIGHT[1]:=UP[7];UP[7]:=LEFT[9]; LEFT[9]:=DOWN[3];DOWN[3]:=RR[1]; RR[1]:=RIGHT[4];RIGHT[4]:=UP[8];UP[8]:=LEFT[6]; LEFT[6]:=DOWN[2];DOWN[2]:=RR[1]; RR[1]:=RIGHT[7];RIGHT[7]:=UP[9];UP[9]:=LEFT[3]; LEFT[3]:=DOWN[1];DOWN[1]:=RR[1]; GOTO 3; 17:{****************************ВРАЩЕНИЕ ПЕРЕДНЕЙ ГРАНИ ПPOT ЧАС СТР******} FOR K:=1 TO 3 DO BEGIN I:=FACE[1];FACE[1]:=FACE[7];FACE[7]:=FACE[9];FACE[9]:=FACE[3]; FACE[3]:=I; I:=FACE[2];FACE[2]:=FACE[4];FACE[4]:=FACE[8];FACE[8]:=FACE[6]; FACE[6]:=I; RR[1]:=RIGHT[1];RIGHT[1]:=UP[7];UP[7]:=LEFT[9]; LEFT[9]:=DOWN[3];DOWN[3]:=RR[1]; RR[1]:=RIGHT[4];RIGHT[4]:=UP[8];UP[8]:=LEFT[6]; LEFT[6]:=DOWN[2];DOWN[2]:=RR[1]; RR[1]:=RIGHT[7];RIGHT[7]:=UP[9];UP[9]:=LEFT[3]; LEFT[3]:=DOWN[1];DOWN[1]:=RR[1]; END; GOTO 3; 18:{****************************ВРАЩЕНИЕ ВЕРХНЕЙ ГРАНИ ПO ЧАС СТР******} I:=UP[1];UP[1]:=UP[7];UP[7]:=UP[9];UP[9]:=UP[3]; UP[3]:=I; I:=UP[2];UP[2]:=UP[4];UP[4]:=UP[8];UP[8]:=UP[6]; UP[6]:=I; RR[1]:=RIGHT[1];RIGHT[1]:=DARK[3];DARK[3]:=LEFT[1]; LEFT[1]:=FACE[1];FACE[1]:=RR[1]; RR[1]:=RIGHT[2];RIGHT[2]:=DARK[2];DARK[2]:=LEFT[2]; LEFT[2]:=FACE[2];FACE[2]:=RR[1]; RR[1]:=RIGHT[3];RIGHT[3]:=DARK[1];DARK[1]:=LEFT[3]; LEFT[3]:=FACE[3];FACE[3]:=RR[1]; GOTO 3; 19:{****************************ВРАЩЕНИЕ ВЕРХНЕЙ ГРАНИ ПPOT ЧАС СТР******} FOR K:=1 TO 3 DO BEGIN I:=UP[1];UP[1]:=UP[7];UP[7]:=UP[9];UP[9]:=UP[3]; UP[3]:=I; I:=UP[2];UP[2]:=UP[4];UP[4]:=UP[8];UP[8]:=UP[6]; UP[6]:=I; RR[1]:=RIGHT[1];RIGHT[1]:=DARK[3];DARK[3]:=LEFT[1]; LEFT[1]:=FACE[1];FACE[1]:=RR[1]; RR[1]:=RIGHT[2];RIGHT[2]:=DARK[2];DARK[2]:=LEFT[2]; LEFT[2]:=FACE[2];FACE[2]:=RR[1]; RR[1]:=RIGHT[3];RIGHT[3]:=DARK[1];DARK[1]:=LEFT[3]; LEFT[3]:=FACE[3];FACE[3]:=RR[1]; END; GOTO 3; 21:{****************************ВРАЩЕНИЕ 3AДНЕЙ ГРАНИ ПPOT ЧАС СТР******} I:=DARK[1];DARK[1]:=DARK[7];DARK[7]:=DARK[9];DARK[9]:=DARK[3]; DARK[3]:=I; I:=DARK[2];DARK[2]:=DARK[4];DARK[4]:=DARK[8];DARK[8]:=DARK[6]; DARK[6]:=I; RR[1]:=RIGHT[3];RIGHT[3]:=UP[1];UP[1]:=LEFT[7]; LEFT[7]:=DOWN[9];DOWN[9]:=RR[1]; RR[1]:=RIGHT[6];RIGHT[6]:=UP[2];UP[2]:=LEFT[4]; LEFT[4]:=DOWN[8];DOWN[8]:=RR[1]; RR[1]:=RIGHT[9];RIGHT[9]:=UP[3];UP[3]:=LEFT[1]; LEFT[1]:=DOWN[7];DOWN[7]:=RR[1]; GOTO 3; 20:{****************************ВРАЩЕНИЕ 3AДНЕЙ ГРАНИ ПO ЧАС СТР******} FOR K:=1 TO 3 DO BEGIN I:=DARK[1];DARK[1]:=DARK[7];DARK[7]:=DARK[9];DARK[9]:=DARK[3]; DARK[3]:=I; I:=DARK[2];DARK[2]:=DARK[4];DARK[4]:=DARK[8];DARK[8]:=DARK[6]; DARK[6]:=I; RR[1]:=RIGHT[3];RIGHT[3]:=UP[1];UP[1]:=LEFT[7]; LEFT[7]:=DOWN[9];DOWN[9]:=RR[1]; RR[1]:=RIGHT[6];RIGHT[6]:=UP[2];UP[2]:=LEFT[4]; LEFT[4]:=DOWN[8];DOWN[8]:=RR[1]; RR[1]:=RIGHT[9];RIGHT[9]:=UP[3];UP[3]:=LEFT[1]; LEFT[1]:=DOWN[7];DOWN[7]:=RR[1]; END; GOTO 3; 22:{****************************ВРАЩЕНИЕ НИЖНЕЙ ГРАНИ ПO ЧАС СТР******} I:=DOWN[1];DOWN[1]:=DOWN[7];DOWN[7]:=DOWN[9];DOWN[9]:=DOWN[3]; DOWN[3]:=I; I:=DOWN[2];DOWN[2]:=DOWN[4];DOWN[4]:=DOWN[8];DOWN[8]:=DOWN[6]; DOWN[6]:=I; RR[1]:=RIGHT[7];RIGHT[7]:=FACE[7];FACE[7]:=LEFT[7]; LEFT[7]:=DARK[9];DARK[9]:=RR[1]; RR[1]:=RIGHT[8];RIGHT[8]:=FACE[8];FACE[8]:=LEFT[8]; LEFT[8]:=DARK[8];DARK[8]:=RR[1]; RR[1]:=RIGHT[9];RIGHT[9]:=FACE[9];FACE[9]:=LEFT[9]; LEFT[9]:=DARK[7];DARK[7]:=RR[1]; GOTO 3; 23:{****************************ВРАЩЕНИЕ НИЖНЕЙ ГРАНИ ПPOT ЧАС СТР******} FOR K:=1 TO 3 DO BEGIN I:=DOWN[1];DOWN[1]:=DOWN[7];DOWN[7]:=DOWN[9];DOWN[9]:=DOWN[3]; DOWN[3]:=I; I:=DOWN[2];DOWN[2]:=DOWN[4];DOWN[4]:=DOWN[8];DOWN[8]:=DOWN[6]; DOWN[6]:=I; RR[1]:=RIGHT[7];RIGHT[7]:=FACE[7];FACE[7]:=LEFT[7]; LEFT[7]:=DARK[9];DARK[9]:=RR[1]; RR[1]:=RIGHT[8];RIGHT[8]:=FACE[8];FACE[8]:=LEFT[8]; LEFT[8]:=DARK[8];DARK[8]:=RR[1]; RR[1]:=RIGHT[9];RIGHT[9]:=FACE[9];FACE[9]:=LEFT[9]; LEFT[9]:=DARK[7];DARK[7]:=RR[1]; END; GOTO 3; 4: CLOSEGRAPH END. -*-------------------------------------------------------------------------- Подписан адрес: Код этой рассылки: comp.soft.prog.vbforbeginprof Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.vbforbeginprof&email= http://subscribe.ru/ http://subscribe.ru/feedback