Кто помнит свою первую программу?

Windows лучше чем Linux! Чем? Ясно же написано — чем Linux!
Раздуй свой холивар сегодня, потому что завтра это может сделать уже кто-то другой!

Интересна ли эта тема?

Нет, не стоило и создавать!
7
17%
Да, идея хорошая!
34
83%
 
Всего голосов : 41

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 16.02.2007 (Пт) 16:03

Хакер
+1

1Steps
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 505
Зарегистрирован: 20.12.2006 (Ср) 0:50
Откуда: New York

Сообщение 1Steps » 05.03.2007 (Пн) 22:03

Здравствуйте Все!!!
Совсем недавно изучаю ВБ-6.
Я тоже сделал свою первую прогу.
Делал я её не претендуя на уникальность или первооткрывательство.
Просто хотел понять как работает ВБ-6. Правда до конца так и не понял, почему она работает у меня на компе и не работает на другом (без ВБ-6).
Может что-то неправильно, а может всё неправильно. Учусь по книге
С.В. Глушаков * Програмирование в среде Виндовс*, а так же на Вашем форуме.
Очень хотелось бы увидеть Ваши Заключения или подсказки.
У меня программа лежит:
C:\Program Files\Microsoft Visual Studio\VB98\Reminder

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 06.03.2007 (Вт) 12:01

1. Не все здорово с путем к базе данных. Убрал жестко заданный путь - заработало, но при попытке добавить запись, вылетело на несовпадении типов... Далше разбираться не хочется в принципе (см пункт 2 и 3).
2. Что за бред с отступами в коде? Он нечитаем в принципе
3. Стоило бы добавить побольше комментов по поводу назначения тех или иных переменных
4. Самое главное: сначало протесть проект сам, а потом выкладывай. Ибо разбираться в этом (см пункт 2 и 3) особо большого желания нет.
Весь мир матрица, а мы в нем потоки байтов!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 06.03.2007 (Вт) 13:36

Код: Выделить всё
                         Msg = "Did You Forget To Select A Date ?         "
                          SendMessage
              If Response = vbNo Then


Автор явно до изучения VB, лет 10 занимался asm-омо :) . Потому что вызов прерывания производится примерно таким же способом.

Хотя возможно, автор просто не знает, что такое функция.

Кстати

Код: Выделить всё
Public Sub SendMessage()

Style = vbYesNo + vbQuestion + vbDefaultButton2
Title = " Reminder"
Response = MsgBox(Msg, Style, Title)

End Sub


какое отношение эта функция имеет к трею?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

1Steps
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 505
Зарегистрирован: 20.12.2006 (Ср) 0:50
Откуда: New York

Сообщение 1Steps » 07.03.2007 (Ср) 2:16

!Viper!: писал(а)
2. Что за бред с отступами в коде? Он нечитаем в принципе

Из книги С.В. Глушаков * Програмирование в среде Виндовс*,
пишет, что код так лучше читается.
С этим понятно, исправлюсь.

!Viper!: писал(а)
...но при попытке добавить запись, вылетело на несовпадении типов... Далше разбираться не хочется в принципе (см пункт 2 и 3).

Я его тестировал. У меня все работало, поэтому я и выставил его, что
бы кто-то посмотрел, может что не так.

!Viper!: писал(а)
1. Не все здорово с путем к базе данных. Убрал жестко заданный путь - заработало

Покажите пример, как это?


Хакер писал(а)
Автор явно до изучения VB, лет 10 занимался asm-омо


Никогда и ничем связанным с програмированием не занимался.
Правда, пробовал что-то делать на ПК-01 Львов, лет 19-20 назад.
А ВБ-6 учу около 6 месяцев.


Огромное Вам спасибо за указание на ошибки, буду исправляться.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 07.03.2007 (Ср) 2:44

1Steps писал(а):!Viper!: писал(а)
2. Что за бред с отступами в коде? Он нечитаем в принципе

Из книги С.В. Глушаков * Програмирование в среде Виндовс*,
пишет, что код так лучше читается.
С этим понятно, исправлюсь.



Не верю. С древовидными отступами действительно легче читается, но надо ведь понимать где делать отсупы а не всюду их лепить?

Кстати заценни теги [quоte="Вася пупкин писал"]Всем привет.[/quоte]
Это будет выглядеть так:
Вася пупкин писал писал(а):Всем привет
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

1Steps
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 505
Зарегистрирован: 20.12.2006 (Ср) 0:50
Откуда: New York

Сообщение 1Steps » 07.03.2007 (Ср) 4:14

Хакер писал(а):Это будет выглядеть так:

Заценил!

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 07.03.2007 (Ср) 8:32

Пытаюсь разобрацца... походу вначале нужно найти бубен. Однако, уже щас видно, что автору незнакома разница между классом (формой) и экземпляром класса (формы). Это раз. Два - форма календаря, надо полагать, работает только с определенными настройками даты и времени, а ндо бы иметь универсальность. У меня например сие не работает. Кстати, в VB есть контрол - календарь.

Буду смореть дальше... Пока впечатление очень тяжкое... Подробности воспоследуют
Весь мир матрица, а мы в нем потоки байтов!

1Steps
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 505
Зарегистрирован: 20.12.2006 (Ср) 0:50
Откуда: New York

Сообщение 1Steps » 08.03.2007 (Чт) 2:22

!Viper! писал(а):Однако, уже щас видно, что автору незнакома разница между классом (формой) и экземпляром класса (формы).

Это правда, а так же то, что мне неукого учится. Может Ваши заключения мне очень помогут.
!Viper! писал(а):Кстати, в VB есть контрол - календарь.

Я знаю, но познание этого контрола для меня ещё сложновато.
!Viper! писал(а):Пока впечатление очень тяжкое... Подробности воспоследуют

Очень ЖДУ. Если можно с объяснением.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 09.03.2007 (Пт) 10:19

Вы хотели подробностей... их есть у меня.

Итак, по порядку. Что такое класс? Если простыми словами, то класс является неким шаблоном. Этот шаблон содержит набор необходимых свойств и методов для работы с некоей сущностью. Однако работаем мы не с классом, а с экземпляром класса. Экземпляр класса также называется объектом класса. Экземпляров класса может быть много, тогда как класс остается единственным. Для того чтобы начать работать с объектом, его нужно создать. Делается это такой методой:
Код: Выделить всё
Set pClass = New CMyClass

Здесь pClass - переменная, содержащая ссылку на экземпляр класса, а CMyClass - имя класса.

По звершению работы с классом ставим ссылку на него в Nothing:
Код: Выделить всё
Set pClass = Nothing

Вообще стоит почитать какую-нить литературу по объектно-ориентированному программированию. Ссылок не приведу, ибо чтение такой литратуры у меня в далеком прошлом. На форуме все вполне можно найти.
Все вышесказанное относится и к формам, ибо форма есть разновидность класса. Но в VB6 есть одна фича, которая с моей точки зрения есть и не фича вовсе, а полнейшая гадость. Так вот, VB6 позволяет работать с экземпляром формы, не создавая самого экземпляра в явном виде. Т.е. вместо норамльного способа
Код: Выделить всё
Set frmMain = New FMain
frmMain.Show
...
Unload frmMain
Set frmMain = Nothing

можно написать

Код: Выделить всё
FMain.Show
...
Unload FMain

При этом неявным образом будет создан экземпляр класса FMain с именем FMain и вот с ним то и будет идти работа.

Легко понять, что кроме путаницы ничего хорошего из этого не получается. У автора, используется именно такой метод работы с формами, поэтому всюду куча кода, переустанавливающего начальные значения переменных, постоянное скрытие/отображение форм и (О, ужас!!!!) две абсолютно одинаковых формы с разными именами. Следствием всего этого является тот факт, что логику программы практически невозможно понять без бубна.

Идем далее. В коде полно переменных и контролов с совершенно непонятными именами, ну что вот например такое Private q As Byte или Private T As Integer? Автор сам забудет про назначение переменных через неделю. Применяй понятные имена. Далее, стоит избегать переменных типа Variant, они, конечно, имеют право на существование, но в данной проге, они явно не к месту. Их вполне можно заменить на переменные нужного типа. Всюду используется некие "магические числа". Например, все формы при загрузке перемещаются в правый нижний угол экрана и всюду фигурирует число 450, это вот что? высота панели задач? Но это ведь не есть постоянная величина, а даже если бы и была, то стоило бы сделать константу с понятным именем и везде пользоваться ею.

Далее, везде и всюду мы видим постоянную установку значений переменных и свойств контролов в значения по умолчанию, 90% этих установок можно сделать на этапе разработки и забыть про это, а то получается, что при каждом отображении или нажатии како-либо кнопки начинается установка свойств заново.

Почти в каждой процедуре можно видеть On Error Resume Next, то есть ошибки по сути игнорируются. Автор уверен в том, что ВСЕ ошибки надо игнорировать, что никаких побочных эффектов от этого не будет? Сильно сомневаюсь.

Часто встречается такой вот код:
Код: Выделить всё
If tmrDef.Enabled = True Then
    tmrDef.Enabled = False
End If

Вопрос, на кой надо булевое свойство сравнивать с True? Булевое свойство, оно уже либо True, либо False, зачем дополнительное сравнение? Вполне хватит кода вида:
Код: Выделить всё
If tmrDef.Enabled Then
    tmrDef.Enabled = False
End If

По всему коду куча установок доступности, недоступности, видимости разных элементов интерфейса. Собрать это в одну процедуру не получилось или не догадамшись?

в нескольких местах имеется код:
Код: Выделить всё
If Data1.Recordset.AbsolutePosition + 1 <> 0 Then

Зачем надо прибавитьть 1, чтобы сравнить с 0, если можно сразу сравнить с -1?
Код: Выделить всё
If Data1.Recordset.AbsolutePosition <> -1 Then

и выглядит лучше, и работает быстрее.

А вот чем навеян сей перл (и аналогичные)?
Код: Выделить всё
Msg = "Would You Like Save Current Record ?     "
SendMessage
If Response = vbYes Then


По каким таким соображениям нельзя было вызвать MsgBox напрямую? Почему надо было упрятать вызов MsgBox в метод SendMessage (тем более, что название метода соответствует API функции совершенно другого назначения) и наплодить кучу глобальных переменных, да еще и типа Variant? Не лучше ли было написать:
If MsgBox("Would You Like Save Current Record ? ",vbYesNo + vbQuestion + vbDefaultButton2," Reminder") = vbYes

Then

А зачем тут лидирующие и замыкающие пробелы?

В процедурах обработки событий таймера встречается DoEvents, зачем он тут? Его место в циклах, в данном месте он только тормозить будет.

Вообще процедуры обработки таймеров в программе самые загадочные. Цифры тут скачут совершенно непредсказуемым образом. Отсчеты идут почему то с отрицательных величин, загадочным образом меняют свои значения... мистика одним словом.

Но самый перл - это обработка прокрутки. Я так понимаю, что здесь устанавливается время напоминания? Честно говоря ничего не понял. Каие-то мудрствования с 15-минутными интервалами и сбор с миру по нитке в строковую переменную (АХТУНГ!) даты и времени. Автор, в VB есть специальный тип данных и куча функций для работы со временем и они (самое главное) учитывают текущие национальные настройки, а у тебя все повязано на конкретные настройки даты и времени (кстати, нерусские).

Далее, работа идет с базой данных (кстати, почему у тебя БД с нулевым количеством записей весит 21 МБ?). Но почему то используется двумерный массив для промежуточного хранения записей. Зачем? Во-первых, почему массив? Во-вторых, почему он типа Variant? Ибо массив вполне мог быть бы строковым, а еще лучше, если бы он был массивом UDT. Ну и, в-третьих, почему бы не работать напрямую с БД?


уффф... устал писать.

На мой взгляд прога перегружена ненужной графикой. И до кучи, зачем понадобилось в архив цеплять все картинки, если они и так лежат в frx-файлах? Кроме-того, выкладывать exe также не стоило. Размер архива из-за этого весьма здорово вырос.

Общее мнение. Задумка хорошая, реализация крайне плохая. Стоит пришибить проект, и начать его с нуля с учетом вышесказанного. И начинать с проектирования.

в прицепленном архиве, код с моими замечаниями.


[Viper нехороший, он так и не поправил строки фиксированной ширины в посте. Пришлось мне, эх... --GSerg]
Вложения
Reminder.rar
(122.6 Кб) Скачиваний: 119
Весь мир матрица, а мы в нем потоки байтов!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 09.03.2007 (Пт) 13:42

!Viper! писал(а):Почти в каждой процедуре можно видеть On Error Resume Next, то есть ошибки по сути игнорируются. Автор уверен в том, что ВСЕ ошибки надо игнорировать, что никаких побочных эффектов от этого не будет? Сильно сомневаюсь.

Собственно, это правильно.
В релизных версиях хорошо использовать On Error GoTo ErrorHandler, который будет показывать внятное сообщение, а не непонятный эксепшн.
Lasciate ogni speranza, voi ch'entrate.

1Steps
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 505
Зарегистрирован: 20.12.2006 (Ср) 0:50
Откуда: New York

Сообщение 1Steps » 09.03.2007 (Пт) 17:41

Мнн... Да. Спаибо !Viper!.
Я, если честно, думал что у меня, что-то получается.
Ан-нет. Тяжело жить в тёмном царстве без единного лучика света.
Спасибо Вам за комент к моему коду. Я скачал его, буду изучать.
И немогли бы Вы ответить ёще на пару вопросов.
Я постараюсь не быть сильно дотошным.
!Viper! писал(а):Часто встречается такой вот код:

Код:
If tmrDef.Enabled = True Then
tmrDef.Enabled = False
End If

Вопрос, на кой надо булевое свойство сравнивать с True? Булевое свойство, оно уже либо True, либо False, зачем
дополнительное сравнение? Вполне хватит кода вида:

Код:
If tmrDef.Enabled Then
tmrDef.Enabled = False
End If

Не знал, а в книге показан в качестве примера мой вариант.
!Viper! писал(а):Так вот, VB6 позволяет работать с экземпляром формы, не

создавая самого экземпляра в явном виде. Т.е. вместо норамльного способа

Код:
Set frmMain = New FMain
frmMain.Show
...
Unload frmMain
Set frmMain = Nothing

можно написать

Код:
FMain.Show
...
Unload FMain


При этом неявным образом будет создан экземпляр класса FMain с именем FMain и вот с ним то и будет идти работа.

Хоть убейте непонимаю, зачем создавать экземпляр класса если есть готовая форма созданая специально для отображения чего-то?
!Viper! писал(а):1. Не все здорово с путем к базе данных. Убрал жестко заданный путь - заработало

Я так и не понял, как создавать путь к базе, что бы приложение работало на другом компе без ВБ.
!Viper! писал(а):На мой взгляд прога перегружена ненужной графикой. И до кучи, зачем понадобилось в архив цеплять все картинки, если
они и так лежат в frx-файлах? Кроме-того, выкладывать exe также не стоило. Размер архива из-за этого весьма здорово
вырос.

Спасибо, тоже не знал.
Ущё раз напомню, что ВБ изучаю около 6 месяцев по 2-3 часа в день после работы. Это у меня как хобби, очень нравится.
Да, у меня МСДН как-то неправильно работает. При написании кода, если выскакивает ошибка, я нажимаю ХЕЛР, но он в 90% случаев не находит путь к МСДН. (ВБ закачал с интернета).
Так-же у меня есть ВБ Експресс, но тоже без МСДН.
От этого наверно все мои проблемы.
Может кто знает ссылку на хороший ВБ или ВБ.нет
Без МСДН начинающему тяжело понять, что значит
Const NIM_MODIFY As Long = &H1
Const NIM_DELETE As Long = &H2


Private Type NOTIFYICONDATA
Я думаю Вы согласитесь со мной.


CПасибо Всем кто откликнулся!

GSerg-Может создадите топик по всем общим и не очень вопросам для Dummies таких как я?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 10.03.2007 (Сб) 7:52

1Steps писал(а):Не знал, а в книге показан в качестве примера мой вариант.


Фтопку такие книги! :twisted:

1Steps писал(а):Хоть убейте непонимаю, зачем создавать экземпляр класса если есть готовая форма созданая специально для отображения чего-то?


Собственно, в моем посте об этом писано. Еще раз повторяю, форма есть шаблон из которого можно сделать нужное количество экземпляров. Наглядный пример, твои формы frmTip и frmTip1. Если б ты прочувствовал разницу, то оставил бы одну frmTip, и поиспользовал бы два разных ее экземпляра для разных целей.

1Steps писал(а):Я так и не понял, как создавать путь к базе, что бы приложение работало на другом компе без ВБ.


Если предполагается, что БД будет всегда лежать в одной папке с приложением, то достаточно вместо полного пути вписать только имя файла. А для полного сервиса, если вдруг БД нет по этому адресу, предоставь пользователю самому указать путь к базе.

1Steps писал(а):Да, у меня МСДН как-то неправильно работает. При написании кода, если выскакивает ошибка, я нажимаю ХЕЛР, но он в 90% случаев не находит путь к МСДН. (ВБ закачал с интернета).
Так-же у меня есть ВБ Експресс, но тоже без МСДН.
От этого наверно все мои проблемы.
Может кто знает ссылку на хороший ВБ или ВБ.нет


Ссылки на справочники по VB и API есть здесь на форуме в FAQ.
Весь мир матрица, а мы в нем потоки байтов!

1Steps
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 505
Зарегистрирован: 20.12.2006 (Ср) 0:50
Откуда: New York

Сообщение 1Steps » 11.03.2007 (Вс) 2:30

Ok.
Thanks

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 14.03.2007 (Ср) 19:24

В 1985 году купил МК-54.
Первая прога - поиск факториала (на две инструкции короче, чем в учебнике к калькулятору, и при этом понимает факториал нуля!).
Потом крестики-нолики в диалоговом режиме.
Потом Atari.
Потом IBM (GWBasic, QBasic, TASM, VB5, VB6)

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 15.03.2007 (Чт) 10:13

Моей первой программы нет уже в этом мире. Программа была написана на компьютере "Сура" и представляла из себя простой цикл с сортировкой массива :lol:
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Сообщение Dmitriy2003 » 16.03.2007 (Пт) 6:22

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

Я давно изучаю Visual Basic 6, но вчера я много выпил, и написал свою первую программу!

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

1. Как мне получить 100% текст кнопки пуск для любой локали.
2. Как бросить пить ? (особо важно).

Заранее всем спасибо.

p.s. А да может есть предложения по оптимизации, тоже-интересно.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.03.2007 (Пт) 7:39

Dmitriy2003, в твоих последних постах регулярно упоминается либо курение травы, либо что-то ещё. Очень хочется длительной прогулки на свежем воздухе?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

zan
Бывалый
Бывалый
 
Сообщения: 224
Зарегистрирован: 24.08.2006 (Чт) 4:55

Сообщение zan » 16.03.2007 (Пт) 8:14

Dmitriy2003 писал(а):но вчера я много выпил, и написал свою первую программу!

Выпил для храбрости?

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Сообщение Dmitriy2003 » 16.03.2007 (Пт) 14:58

GSerg писал(а):Dmitriy2003, в твоих последних постах регулярно упоминается либо курение травы, либо что-то ещё. Очень хочется длительной прогулки на свежем воздухе?


:roll:

Яан писал(а):Выпил для храбрости?


:shock:

Всем спасибо за конструктивный диалог. :?

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 659
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Сообщение gjghjc » 23.04.2007 (Пн) 10:10

Вот решил вставить и свои 5 копеек..
Первая осмысленная программа это построитель диаграмм направленности антенн писал на Парусе...
Потом обработчик ТВ программ...
База данных клиентов фирмы на которой работал (она же и первая и последняя программа за которую получил деньги АЖ 100 баксов)
Потом довольно большой (для одного) программный комплекс который тянул данные из экселя в дбф... сверял все это с эталонной базой.. вел логи, криптовал полученные файлы..... с кучей опций...
Сейчас живу тем что автоматизирую работу своего отдела... различные утилитки и прибамбасины в Экселе и Акцессе....

З.Ы. Кстати и ежедневник подобный Remider от 1Steps у меня тоже был... только я данные хранил в текстовом формате... Недавно глянул кот этой проги... УЖАСНУЛСЯ... ну не знал я тогда про оператор SPLIT :)
Утро добрым не бывает!

onell
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 131
Зарегистрирован: 21.06.2006 (Ср) 16:04
Откуда: 2taev City

Сообщение onell » 23.04.2007 (Пн) 17:28

!Viper! писал(а):Часто встречается такой вот код:
Код: Выделить всё
If tmrDef.Enabled = True Then
    tmrDef.Enabled = False
End If

Вопрос, на кой надо булевое свойство сравнивать с True? Булевое свойство, оно уже либо True, либо False, зачем дополнительное сравнение? Вполне хватит кода вида:
Код: Выделить всё
If tmrDef.Enabled Then
    tmrDef.Enabled = False
End If



Вполне хватит кода
Код: Выделить всё
tmrDef.Enabled=False

:wink:

t116
Бывалый
Бывалый
 
Сообщения: 209
Зарегистрирован: 12.01.2007 (Пт) 12:11

Сообщение t116 » 27.04.2007 (Пт) 0:15

Первая моя прога на ВБ - это был редактор уровней для игры Supaplex. Написал я его на VB3 под Win95. Использовать текстуры для меня в то время было очень сложно, по этому вместо них я пользовался разноцветными квадратиками, где каждый цвет - определенный объект в игре. Исходного кода неосталось, да и сам ЕХЕшник найти трудно... Но главное что оно осталось в моей памяти :)

Первая моя программа на ВБ 6 - это медиа-проигрыватель. :)
Писать я его начал еще когда был в 9-м классе, а закончил... ну уже и не помню. Наверное, когда понял что затея безсмысленна. :lol:

Вот он плеер:
http://files.myopera.com/tedirens/files ... 204.04.rar
Вложения
VMBXT401.rar
А это его исходный код
(217.43 Кб) Скачиваний: 122

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 27.04.2007 (Пт) 1:13

t116 писал(а):Вот он плеер:
http://files.myopera.com/tedirens/files ... 204.04.rar



Круто! Ты написал ошибку 403.

(Или в за этим скрытый смысл?)

ЗЫ. Фунция GetGerneString порадовала. Ты про Choose когда нибудь слышал? А про STRINGTABLE ?

ЗЫЫ. Функция WINTODOS тоже порадовала. Про CharToOem слышал?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

t116
Бывалый
Бывалый
 
Сообщения: 209
Зарегистрирован: 12.01.2007 (Пт) 12:11

Сообщение t116 » 27.04.2007 (Пт) 16:00

Естественно нет. :lol: Я тогда еще про мало что слышал. 8)
Сам ржу с проги, но все с чего-то начинают. ;)

asharky
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 162
Зарегистрирован: 22.06.2004 (Вт) 0:39
Откуда: Батоны-ларьки-поребрики...

Сообщение asharky » 27.04.2007 (Пт) 16:22

1979год. Программа печати на АЦПУ визитных карточек. Машина: БЭСМ-6. Программировал лезвием для бритья непосредственно на перфокартах. Потому как доступа к машине в качестве программиста у меня не было на тот момент - в школе практику на ВЦ проходил летом.

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 659
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Сообщение gjghjc » 28.04.2007 (Сб) 8:50

asharky КЛАССС!!!
Утро добрым не бывает!

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 28.05.2008 (Ср) 8:17

Если говорить о первой программе именно на VB, то у меня был макрос на vba для excel, при включении которого очищался от значений заданный диапазон ячеек, содержащий некую таблицу, создавались 12 (ну если точнее 11+4 кв + 1 полугодие + 1 год = 17) копий этого диапазона и копиям присваивались нужные заголовки, типа имен месяцев и периодов.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Сообщение Debugger » 28.05.2008 (Ср) 13:45

У меня первая программа (самая первая) - четко помню, это было в VBA. По нажатию на кнопочку форма закрывается.
Из VB - Hello World (хотел наверстать упушенное).
Первая игра - карточная игрушка, названия которой я не впомню. Она где-то тут валялась.

HKEY_SUPER_MASHINE
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 78
Зарегистрирован: 02.07.2008 (Ср) 12:17
Откуда: Тольятти, школа, случайно

Сообщение HKEY_SUPER_MASHINE » 07.07.2008 (Пн) 9:30

Таймер. Много раз его переименовывал, но сейчас он - Time Control. Наверное звучит смешно, но я делал его весь 2007 год и в результате вышел не аймер, а неискореняемый деинсталлятором пакет глюков. Сейчас у меня версия 2.1.1 :) .
Чипсы оставляют неприятный осадок в желудке
Их состав оставляет неприятный осадок в душе

Пред.

Вернуться в Holy Wars@VBStreets

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23

    TopList