Старый 20.07.2013, 11:18   #1   
Форумец
 
Сообщений: 179
Регистрация: 26.09.2009
Возраст: 70

Engineegr вне форума Не в сети
Нужен совет по Visual Basic

Вопрос к опытным программистам, потому как не хочется дойти до конца, а потом возвращаться к началу:

1. Можно ли в Visual Basic сделать EXE-шник, работающий в чистой Windows (без установленной MS Visual Studio?

2. Можно ли в Visual Basic сделать неинсталлируемую программу, запускаемую например с флэшки?

3. Если вышеперечисленное выполнимо, то обязательно ли использовать для этого MS Visual Studio версии .NET?

Я профессионал в аппаратуре но не в софте. Однако, для технологического пульта управления, изготовление которого я сейчас заканчиваю, потребуется управление от ПК.

Сто лет назад я делал это в Basic под DOS. Потом купил хорошие книжки про Visual Basic 6 и начал, с удовольствием, разбираться. Потом меня пригнули к железу (с запретом программирования, так как у нас появились программисты). Потом программисты ушли далеко вперед и сейчас на мои мелкие задачки у них уже не стоИт...
  Ответить с цитированием
Старый 20.07.2013, 11:32   #2   
Форумец
 
Аватар для Spectator
 
Сообщений: 39,878
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
1. да, конечно))) создавать программы, которые работают только с установленной средой разработки - это черезчур даже для Microsoft)))
2. да, инсталляция - по сути просто раскидывание нужных файлов по нужным папкам, можно свалить их в кучу и использовать безо всякой инсталляции. это не будет правильно и красиво, но работать будет.
3. последняя не .NET версия Visual Basic - 6.0, 1998 года выпуска. вполне можно использовать её. непонятно, правда, зачем.

Вы, наверное, заплутали с Runtime средой Васика, напишите конкретнее какую цель преследуете.
  Ответить с цитированием
Старый 20.07.2013, 12:49   #3   
Форумец
 
Аватар для Лайм
 
Сообщений: 1,311
Регистрация: 18.11.2007
Возраст: 35

Лайм вне форума Не в сети
главное - чтобы был установлен .net framework, ибо без него не будет ничего работать
  Ответить с цитированием
Старый 20.07.2013, 14:12   #4   
Форумец
 
Сообщений: 179
Регистрация: 26.09.2009
Возраст: 70

Engineegr вне форума Не в сети
Spectator, спасибо за ответ!

1&3. Мне приходится ходить к смежникам со своими тестовыми программами - показывать (а то и доказывать), что разработанное мною железо работает безупречно. Поскольку за софт я не получаю ни копейки, то и раздавать свои тестовые программы мне не хочется. Для этого мне нужно сделать неинсталлируемую программу, не требующую установки на чужом компьютере никаких дополнительных библиотек, кроме имеющихся в Windows.

Когда QBasic был в составе установленной MS DOS мне, для моих задач, было все равно - интерпретирующая среда (всегда имеющаяся у смежника!) или скомпилированный EXE-шник. Позднее, для Win9x, мне пришлось делать EXE-шники под DOS. Сейчас в операционках нет полной поддержки DOS-программ, поэтому я и вынужден обратиться к Visual Studio. Ну и, хотелось бы сделать это на Basic - он мне немного знаком.

2. Я где-то читал, что и сама Microsoft не очень рада тому, что заставила всех программистов не использовать INI-файлы, записывая все в реестр, и "раскидывать нужные файлы по нужным папкам". Это приводит к приводит к зарастанию ОС при многочисленных инсталляциях/деинсталляциях - программисты тоже люди и они делают ошибки. Я тоже хочу, чтобы это не было, как Вы выразились "правильно и красиво", но по другой причине, - я не хочу оставлять на чужих компьютерах свои программы.
  Ответить с цитированием
Старый 20.07.2013, 14:43   #5   
Форумец
 
Сообщений: 179
Регистрация: 26.09.2009
Возраст: 70

Engineegr вне форума Не в сети
Лайм, спасибо, что подтвердили мои худшие опасения.

Я сейчас открыл последнюю книгу, которую купил по Visual Basic - Дан Эпплман (Переход на VB .NET. Стратегии, концепции, код. Питер, 2002) пишет:"Архитектура .NET не требует установки исполнительных модулей .NET на всех компьютерах, использующих компоненты или приложения, написанные с использованием Common Language Runtime (это относится и ко всем компонентам и приложениям VB .NET). Книга написана об .NET Framework версии Beta 2.

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

Лайм, если Вы разбирались с этим вопросом, то может быть подскажете, какого рода приложения не будут работать на чистой Windows XP SP3?
  Ответить с цитированием
Старый 20.07.2013, 15:00   #6   
Форумец
 
Аватар для Spectator
 
Сообщений: 39,878
Регистрация: 27.05.2003
Возраст: 46

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

в Вашем случае приходит сразу в голову дубовой но вполне выполняющий свои задачи вариант - создание установочного пакета, который у клиента будет устанавливаться НА ФЛЭШКУ.
т.е. все библиотеки попадут в папку Windows, и в самом крайнем случае там и останутся - ну да и хрен с ними. а собственно программа будет записываться при установке на ту же флешку. так что если Вы ее унесете физически после посещения клиента, то сможете быть уверенным что и программы у него не останется.

касательно языка - я бы все же рекомендовал оставить Basic в покое... купите книгу по Delphi и полистайте её. по сложности Pascal, который лежит в основе Delphi, отличается от Basic крайне незначительно. зато Вы получите в итоге современную (поддерживаемую на сегодняшний день) среду разработки, возможность полноценно компилировать программу, получая исполняемый файл, содержащий все библиотеки внутри и все остальные плюшки.
  Ответить с цитированием
Старый 20.07.2013, 15:11   #7   
Форумец
 
Аватар для Лайм
 
Сообщений: 1,311
Регистрация: 18.11.2007
Возраст: 35

Лайм вне форума Не в сети
Цитата:
Сообщение от Engineegr Посмотреть сообщение
если Вы разбирались с этим вопросом, то может быть подскажете, какого рода приложения не будут работать на чистой Windows XP SP3?
ну я может не правильно понял, но никакие приложения, написанные в Visual studio работать не будут, пока на системе не будет установлен фреймворк (а в вин7 фреймворк уже включён).
Если приложение использует какую то бд, то так же наверняка потребуется ещё устанавливать какие то драйвера и пр.
  Ответить с цитированием
Старый 20.07.2013, 15:55   #8   
Форумец
 
Сообщений: 179
Регистрация: 26.09.2009
Возраст: 70

Engineegr вне форума Не в сети
Spectator, спасибо за рекомендацию Delphi. Я уважаю Никлауса Вирта но, к сожалению, мне уже поздновато менять колею...

Распространенность Paskal/Delphi обусловлена тем, что его преподают во всех технических вузах мира - этот язык не допускает двояких толкований. Но это уже в ваши времена. А мы, поверьте, мы были хорошими студентами, просто даже наши преподаватели этого не знали!
  Ответить с цитированием
Старый 20.07.2013, 16:21   #9   
Форумец
 
Аватар для Spectator
 
Сообщений: 39,878
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
Цитата:
Сообщение от Engineegr Посмотреть сообщение
Распространенность Paskal/Delphi обусловлена тем, что его преподают во всех технических вузах мира
а то что его преподают во всех технических и не только технических вузах мира обусловлено, в свою очередь, тем что это язык, созданный для обучения программированию.
я, если что, его поклонником как раз не являюсь, скорее наоборот. но в случае когда необходимо быстро и без заморочек научиться создавать несложные программы для передачи их клиентам это будет наиболее оптимальный вариант.
если исходить из того что на Бейсике вы худо бедно программировать научились, освоить Паскаль на базовом уровне труда никакого составить не должно. Зато Вы получите нормальный рабочий современный инструментарий.

дело ведь не в том что Бейсик - не такой, а Паскаль / Дельфи - такой и хороший. дело в том что Microsoft бейсик не особо поддерживает и мутит там с этим .NET что-то. а Дельфи - вполне существующая рабочая среда разработки. вопрос в программах, а не в самом языке.
  Ответить с цитированием
Старый 20.07.2013, 16:36   #10   
highly mean
 
Сообщений: 1,128
Регистрация: 26.05.2011
Возраст: 35

silly вне форума Не в сети
Цитата:
Сообщение от Engineegr Посмотреть сообщение
Ну и, хотелось бы сделать это на Basic - он мне немного знаком.
У QBasic, Visual Basic и VB.NET реально похожи только ключевые слова для циклов и ветвлений. Про библиотеки я вообще молчу. То есть, никакого повторного использования полученных знаний быть не может.

Цитата:
Сообщение от Engineegr Посмотреть сообщение
Я где-то читал, что и сама Microsoft не очень рада тому, что заставила всех программистов не использовать INI-файлы, записывая все в реестр, и "раскидывать нужные файлы по нужным папкам". Это приводит к приводит к зарастанию ОС при многочисленных инсталляциях/деинсталляциях - программисты тоже люди и они делают ошибки.
Бардак точно так же можно и в текстовых файлах устроить. С реестром в винде проблемы на уровне реализации (недокументированный бинарный формат, странноватый контроль целостности).

Последний раз редактировалось silly; 20.07.2013 в 16:43. Причина: регистр, хе-хе
  Ответить с цитированием
Старый 22.07.2013, 12:25   #11   
Форумец
 
Сообщений: 4,139
Регистрация: 10.06.2008

eXtruder вне форума Не в сети
Для приложений VB6(который не .NET) нужны его runtime-модули, в минимальном виде, если память не изменяет, это 1 dll-ка, по мере добавления используемых модулей в приложение, количество требуемых библиотек может расти.
Если требования к приложению позволяют выполнять его в управляемой среде, вероятно, лучше обратить внимание на более-менее свежие версии .NET framework и Visual Studio, тогда проблем с портабельностью приложения быть не должно. Между старыми версиями .NET есть неполная обратная совместимость, и, например, приложения, собранные для .NET 1.1 не будут выполняться в среде 2.0. В тоже время, если я не ошибаюсь, в новых версиях Visual Studio и .NET framework отсутствует поддержка Windows XP, на это тоже следует обратить внимание, если приложение планируется на ней запускать.
  Ответить с цитированием
Старый 24.07.2013, 10:47   #12   
Форумец
 
Сообщений: 179
Регистрация: 26.09.2009
Возраст: 70

Engineegr вне форума Не в сети
eXtruder, большое спасибо! Насколько я припоминаю свое первое знакомство с VB6, все именно так - если программа использует только внутренние возможности VB6, то ей необходима только одна собственная, VB-шная, DLL. В чистой Windows 98 ее не было, однако я обнаружил ее после установки MS Office 2000...

Поддержка XP вроде бы есть в Visual Studio 6 SP5, но я до конца не уяснил этот момент, так как только что ее установил.
  Ответить с цитированием
Старый 30.07.2013, 10:28   #13   
Форумец
 
Сообщений: 157
Регистрация: 16.12.2007

Andrew_80 вне форума Не в сети
Engineegr, если уж настолько прикипели к бейсику и от приложения требуется автономность - попробуйте PureBasic.
Синтаксис прост, неплохой набор встроенных библиотек, программы получаются маленькие, быстрые, не требующие лишних dll; в последних версиях появилась визуальная IDE, не такая приятная как в дельфи, конечно, но все же..
  Ответить с цитированием
Старый 11.08.2013, 17:55   #14   
Форумец
 
Сообщений: 179
Регистрация: 26.09.2009
Возраст: 70

Engineegr вне форума Не в сети
Andrew_80, спасибо! Но переучиваться мне, честное слово, поздно...

Я уже начал программировать, выяснил что программа на Visual Basic 6 SP5 нормально работает в XP и, самое главное, нашел на работе консультанта. Он когда-то написал много программ такого же, технологического, назначения.

Если кому-нибудь будет интересно, то есть такой ресурс - http://vbzero.narod.ru/. Книги по VB6 уже давно нет смысла покупать, а учебник на этом сайте поможет стартовать в программировании "для себя".

Огромное спасибо всем, кто высказал свое мнение!!!
  Ответить с цитированием
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind