Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Visual Basic 2008 Express - есть ли проблемы? Добавлено: 03.04.09 20:03  

Автор вопроса:  MYSTERIOR | Web-сайт: XXX | ICQ: 227369659 
Ребят, делаю сейчас программу на VB6.0. Вообще, следует сказать что всю жизнь работал на VB6, как он только появился, с ним и познакомился. Сейчас возникла достаточно острая необходимость переходить на .NET по своим причинам.

И вот такая ситуация. Половина программы - а точнее только интерфейс - сделаны в VB6, нормально ли оно откроется в VB2008?

И второй, пожалуй самый важный вопрос, дело в том что если все получится, то эта программа, возможно, будет использоваться многими пользователями в следствие её специфики. Соответственно, нужно чтобы она работала везде стабильно.
У меня дома стоит Windows Vista. VB2008 требует .NET Framerwork 3.5. Скажите, обязательно ли, что чтобы запустить мою программу на компьютере другого пользователя например с Windows XP, ему нужно будет скачать громоздкий пакет .NET Framerwork 3.5 или можно будет зашить в инсталл какие-то необходимые системые файлы и все?

Крайне обеспокоен этим делом потому что распространять программу на в интернете весом в 40 мб, решающую крайней узкопрофильную задачу в 15 строчек кода, это по меньшей мере странно. Заранее благодарен за ответ!

Ответить

  Ответы Всего ответов: 15  

Номер ответа: 1
Автор ответа:
 Aston



ICQ: 214-179-991 

Вопросов: 42
Ответов: 272
 Профиль | | #1 Добавлено: 03.04.09 20:17
По поводу 1 вопроса. Если будут использоваться что то что в Нет по другому работает или его в Нет вообще нет, тос ВБ6 на ВБ.Нет ты нормально не сможешь перевести - придётся менять код. Примером такого - индэксы объектов в ВБ,Нет нету, тое динамическое создание объектов реализовано другим способом и если это есть то код надо будет переписать. Ещё в ВБ.Нет нет такого объекта как Data(доступ к данным) если он используется, то перевести тоже не сможешь, ну и ещё куча всякого - это то что я вспомнил на скорую.
По поводу второго вопроса. Я точно не знаю, но на сколько я понимаю если ты будешь использовать методы или классы NET Framerwork 3.5, то на конечно потребуется чтоб на клиентах был NET Framerwork 3.5. Я точно не знаю, мож ВБ 2008 использует только NET Framerwork 3.5, тогда точно понадобится.

Ответить

Номер ответа: 2
Автор ответа:
 MYSTERIOR



ICQ: 227369659 

Вопросов: 31
Ответов: 96
 Web-сайт: XXX
 Профиль | | #2
Добавлено: 03.04.09 20:39
ну по поводу первого - там особо ничего нет пока, только все окошки нарисованы, прозрачные появления форм, и т д.

А вот со вторым надо что то думать. Нельзя чтобы программа предлагала качать .NET Framework... может быть есть возможность узнать какие конкретно функции она использует из каких библиотек этого фреймворка и просто устанавливать их вместе с exe-шником?

Ответить

Номер ответа: 3
Автор ответа:
 MYSTERIOR



ICQ: 227369659 

Вопросов: 31
Ответов: 96
 Web-сайт: XXX
 Профиль | | #3
Добавлено: 03.04.09 20:41
вприцнипе, еще такой вопрос.
Просто программа, которая банально показывает окно, сделанная на VB2008, будет требовать при запуске NET Framework?

Ответить

Номер ответа: 4
Автор ответа:
 maza_____



ICQ: 9968842 

Вопросов: 40
Ответов: 337
 Web-сайт: vkontakte.ru/id25563295 добавляйтесь в друзья))
 Профиль | | #4
Добавлено: 03.04.09 21:13
Да

Ответить

Номер ответа: 5
Автор ответа:
 Skywalker



ICQ: 300-70-6пятьЪ 

Вопросов: 62
Ответов: 545
 Web-сайт: iSkywalker.ru
 Профиль | | #5
Добавлено: 03.04.09 22:25
я где-то кажется читал, что если установить сервис пак 1 на студию, то появляеца фича, что в проект суюца все задействованные библиотеки фреймворка и полностью фреймворк качать не придется, если не установлен. насколько это достоверно не знаю.

Ответить

Номер ответа: 6
Автор ответа:
 MYSTERIOR



ICQ: 227369659 

Вопросов: 31
Ответов: 96
 Web-сайт: XXX
 Профиль | | #6
Добавлено: 03.04.09 23:54
блин, у меня сервис пак1 студио 2008, ничего такого не нашел

2 часа провозившись с ЭТИМ я сделал важдый вывод:

Ну нафиг этот VS2008! Толку от него если ты не MS-разработчик никакого не увидел, думал что с XML-появился возиожность легко работать - фиг вам, тут недостатки перевешивают достоинства.
При запуске программы на XP системе (просто окна ничего больше), начал сам качать с сайта майкросовофт ФВ, скачал за 7 минут, устанавливал 45.
Нафиг все эти радости жизни, наверняка и в VB6 можно нормально работать с XML-файлами и вытаскивать из них нифу.
может кто подскажет как это делается?

Ответить

Номер ответа: 7
Автор ответа:
 Aston



ICQ: 214-179-991 

Вопросов: 42
Ответов: 272
 Профиль | | #7 Добавлено: 04.04.09 01:15
MYSTERIOR у меня стоит Вижуал студиос 2005, сам перехожу с ВБ6 на ВБ8, тяжко, так как многое поменяли, некоторое изменили до неузнаваемости и очень много нового. Но если ты потыкаешься поучишь и разберёшься, то поймёшь, что прогресс очень большой. Я это очень явно увидел в АДО. Адо по другому вообще работает и можно сохранять базы в хмл формате. И с хтмл файлами действительно в Вижуал студиос 2000+ легче работать и с каждым поколением всё легче и легче. Просто надо разобраться и понять как что работает. А если столкнулся с какой то проблемой то посмотри тут http://msdn.microsoft.com/ru-ru/default.aspx Я сам мало там искал, так как книги пока читаю, тое учу, но полезной имфы много - главное разобраться как искать :)

Ответить

Номер ответа: 8
Автор ответа:
 maza_____



ICQ: 9968842 

Вопросов: 40
Ответов: 337
 Web-сайт: vkontakte.ru/id25563295 добавляйтесь в друзья))
 Профиль | | #8
Добавлено: 04.04.09 14:43
Да ладна вам сейчас framework.NET на каждом компе уже наверно есть потомучто большинство драйверов, игр и т.д его требуют.
Мне нравится VB.NET

Ответить

Номер ответа: 9
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #9 Добавлено: 04.04.09 22:43
И вот такая ситуация. Половина программы - а точнее только интерфейс - сделаны в VB6, нормально ли оно откроется в VB2008?

Если тебе крупно повезет и мастер конвертации VB6->VB2008 сделает проект который будет компилироваться хотя бы без ошибок (но с кучей варнингов), это не даст гарантии что программа будет работать так как работала раньше.
Я бы советовал перписывать код с нуля.

И второй, пожалуй самый важный вопрос, дело в том что если все получится, то эта программа, возможно, будет использоваться многими пользователями в следствие её специфики. Соответственно, нужно чтобы она работала везде стабильно.
У меня дома стоит Windows Vista. VB2008 требует .NET Framerwork 3.5. Скажите, обязательно ли, что чтобы запустить мою программу на компьютере другого пользователя например с Windows XP, ему нужно будет скачать громоздкий пакет .NET Framerwork 3.5 или можно будет зашить в инсталл какие-то необходимые системые файлы и все?

Для того, чтоб программа заработала, необходимо установить .NET Framework той версии, под которую ты программу собирал. Visual Studio 2008 может собирать программы под .NET Framework 2.0, 3.0 и 3.5.

Никакие системные файлы никуда "зашивать" не надо. Вряд ли ты, не имея специальных инструментов и знаний, сможешь это сделать.
.NET Framework является недилимым. То есть, если ты воспользуешься хотя бы одной функцией из .NET Framework, тебе прийдется ставить на комп весь .NET Framework. Более того, если ты вообще скомпилируешь пустой проект без ничего - тебе все равно прийдется ставить на комп весь .NET Framework.

В Microsoft предпринимаются попытки разделить .NET Framework на части, и уже есть некоторые результаты (например, на Windows Server 2008 R2 Core ставится урезаный .NET Framework 3.5, который позволяет создавать серверные приложения), но тебе это никак не поможет.

Крайне обеспокоен этим делом потому что распространять программу на в интернете весом в 40 мб, решающую крайней узкопрофильную задачу в 15 строчек кода, это по меньшей мере странно. Заранее благодарен за ответ!

40 МБ - излишне оптимистичная оценка. Последняя версия .NET Framework весит больше 200 мегабайт.
Странного здесь ничего нет. Потмоу что этот компонент разработан неделимым. То есть, или ты используешь .NET Framework и тянешь за собой этот компонент полностью, или не испольузешь и не тянешь его. Но тогда тебе прийдется отказаться от .NET как такового (разве что использовать VS .NET для разработки под Native C++, или редактирования HTML).

Ответить

Номер ответа: 10
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #10 Добавлено: 04.04.09 22:45
Aston пишет:
По поводу второго вопроса. Я точно не знаю, но на сколько я понимаю если ты будешь использовать методы или классы NET Framerwork 3.5, то на конечно потребуется чтоб на клиентах был NET Framerwork 3.5. Я точно не знаю, мож ВБ 2008 использует только NET Framerwork 3.5, тогда точно понадобится.

VS 2008 позволяет собирать проекты под 2.0, 3.0 и 3.5.

Но не могу сказать это про Express версию - нужно самому проверить (при создании проекта есть комбо-бокс, в котором выбираешь целевую версию .NET Framework)

Ответить

Номер ответа: 11
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #11 Добавлено: 04.04.09 22:47
MYSTERIOR пишет:
ну по поводу первого - там особо ничего нет пока, только все окошки нарисованы, прозрачные появления форм, и т д.

После конвертации все это может работать не так как работало раньше

MYSTERIOR пишет:
А вот со вторым надо что то думать. Нельзя чтобы программа предлагала качать .NET Framework... может быть есть возможность узнать какие конкретно функции она использует из каких библиотек этого фреймворка и просто устанавливать их вместе с exe-шником?

Узнать какие функции в каких библитоеках прогармма испольузет можно. Но тебе эта информация никак не поможет - никакой возможности разделить .NET Framework на части у тебя нет :)

Ответить

Номер ответа: 12
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #12 Добавлено: 04.04.09 22:54
MYSTERIOR пишет:
Ну нафиг этот VS2008! Толку от него если ты не MS-разработчик никакого не увидел, думал что с XML-появился возиожность легко работать - фиг вам, тут недостатки перевешивают достоинства.

Ты не прав :)
Сейчас Visual Studio это на сегодняшний день самая мощная среда разработки. Это стандарт дефакто. Никаких альтернатив, которые бы хотя бы немного дотягивали до возможностей VS ты не найдешь. Потому что их нет.

В Visual Studio ты можешь создавать все - начиная от драйвера или программы которая будет выполняться на микроконтроллере заканчивая серверной системой которая будет работать на кластерах. И не только программисты MS этим занимаются :)

Про XML ты не прав. В VS 2008 просто шикарные возможности работы с XML.

Вот XML генерируется на основе файловой системы
  1.         Dim Root As New DirectoryInfo("D:\Work\output\sites\")
  2.         Dim X = <Sites>
  3.                     <Groups>
  4.                         <%= From Gr _
  5.                             In Root.GetDirectories _
  6.                             Select <Group name=<%= Gr.Name %>>
  7.                                        <%= From St _
  8.                                            In Gr.GetDirectories _
  9.                                            Select <Site name=<%= St.Name %>/> %>
  10.                                    </Group> %>
  11.                     </Groups>
  12.                 </Sites>
  13.         X.Save("sites.txt")


А вот XML из данных которые лежат в БД
  1.  
  2.             Dim RssContent = <?xml version="1.0" encoding="utf-8"?>
  3.                              <rss version="2.0">
  4.                                  <channel>
  5.                                      <title>Feed Title</title>
  6.                                      <description>Feed Description</description>
  7.                                      <link>http://mysite.ru/</link>
  8.                                      <pubDate><%= DateTime.Now.ToString("r") %></pubDate>
  9.                                      <lastBuildDate><%= DateTime.Now.ToString("r") %></lastBuildDate>
  10.                                      <generator>BetaCode RSS Generator</generator>
  11.                                      <%= From a In Answers _
  12.                                          Select <item>
  13.                                                     <title><%= a.ShortQuestion %></title>
  14.                                                     <link><%= "http://mysite.ru/Question.aspx?id=" + a.id.ToString %></link>
  15.                                                     <description><%= context.Server.HtmlDecode(a.Question) + " <a href='http://mysite.ru/Question.aspx?id=" + a.id.ToString + "'>читать далее</a>" %></description>
  16.                                                     <category><%= a.Category1.name %></category>
  17.                                                     <guid><%= "http://mysite.ru/Question.aspx?id=" + a.id.ToString %></guid>
  18.                                                     <pubDate><%= If(a.DateCreated, DateTime.Now).ToString("r") %></pubDate>
  19.                                                 </item> %>
  20.                                  </channel>
  21.                              </rss>
  22.             RssContent.Save(context.Response.Output)



Это настолько круто, что после первого знакомства с такими фишками, рука сама тянется к диску с VB6 чтоб разломать его на 2 части

Ответить

Номер ответа: 13
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #13 Добавлено: 04.04.09 22:58
Нафиг все эти радости жизни, наверняка и в VB6 можно нормально работать с XML-файлами и вытаскивать из них нифу.

Удиви нас, как же ты в VB6 работаешь с файлами XML? :) Наверно делаешь кучу циклов с InStr? Или подключаешь какой-то левый компонент для работы с XML? :)

Aston пишет:
MYSTERIOR у меня стоит Вижуал студиос 2005, сам перехожу с ВБ6 на ВБ8, тяжко, так как многое поменяли, некоторое изменили до неузнаваемости и очень много нового. Но если ты потыкаешься поучишь и разберёшься, то поймёшь, что прогресс очень большой. Я это очень явно увидел в АДО. Адо по другому вообще работает и можно сохранять базы в хмл формате

Возможность сохранять базы в XML есть, но я бы не рекомендовал ею пользоваться :) Для небольших локальных баз лучше использовать SQL Server CE (который уже даже поддерживается в LinQ, правда с небольшим скрипом)

А вообще возможности ADO .NET сейчас просто срывают башню :) Рекомендую почитать про LinQ to SQL, Entity Data Model, ADO .NET Data Services, узнаете много нового :)

Ответить

Номер ответа: 14
Автор ответа:
 MYSTERIOR



ICQ: 227369659 

Вопросов: 31
Ответов: 96
 Web-сайт: XXX
 Профиль | | #14
Добавлено: 05.04.09 01:27
ребят, если б знал как такое делать с XML - совета бы не спрашивал, сами понимаете) не работал я никогда с XML, вот сижу сейчас, разбираюсь с том как там все это организовано - сложновато конечно.

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

может кто знает, есть вообще какие библиотеки для VB6 для того чтобы работать с XML файлами? просто не приходилось раньше, а википедия да статьи по VS2005 не особо в этом помогают... хз, может плохо искал)

Ответить

Номер ответа: 15
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #15 Добавлено: 05.04.09 04:17
MYSTERIOR пишет:
ребят, если б знал как такое делать с XML - совета бы не спрашивал, сами понимаете) не работал я никогда с XML, вот сижу сейчас, разбираюсь с том как там все это организовано - сложновато конечно.

Ну установка Visual Studio 2008 не означает что при этом в мозг разработчика будет транслировано содержимое MSDN. Его, видимо по какой-то причине прийдется изучать самостоятельно.

Про то что работать с XML "сложно" можешь не говорить :)
Работать с XML в VB .NET настолько просто, что разные VB6 и ассемблеры и рядом не лежали :)
Я же тебе показал насколько просто генерируется XML. Читать же его еще проще!

  1.         Dim MyData = <Users>
  2.                          <User id="9">Коля</User>
  3.                          <User id="2">Вася</User>
  4.                          <User id="10">Петя</User>
  5.                          <User id="4">Игорь</User>
  6.                          <User id="6" locked="true">Димон</User>
  7.                      </Users>
  8.  
  9.         For Each User In From U In MyData.<User> _
  10.                          Where U.@locked <> "true" _
  11.                          Order By CInt(U.@id)
  12.             Console.WriteLine("{0}: {1}", User.@id, User.Value)
  13.         Next


А вот еще покруче (кстати, даже не пытайся вместить это в 4 строчки на VB6!)
  1.         Dim Feed = XDocument.Load("http://dev.net.ua/blogs/MainFeed.aspx")
  2.         For Each Item In Feed.<rss>.<channel>.<item>
  3.             Console.WriteLine("{0}: {1}", CDate(Item.<pubDate>.Value), Item.<title>.Value)
  4.         Next


Блин, ну я не представляю себе, неужели можно сделать что-то еще проще?

MYSTERIOR пишет:
основная проблема в том, что для VB6 не могу найти никаких библиотек для того чтобы вытащить нужную информацию из XML файла. разбираться "как сделать рабочую кнопочку в VS2008" на данном этапе нет ну никакого желания, хотя я здравомыслящий человек, и понимаю, что против прогресса не попрешь, и когда нибудь это надо будет, а чем раньше - тем лучше.

Как сделать рабочую кнопку в VS 2008? Да легко, перетянул с тулбокса на форму, даблклик по форме и пиши обрабочтик события. Что еще проще можно придумать?

MYSTERIOR пишет:
может кто знает, есть вообще какие библиотеки для VB6 для того чтобы работать с XML файлами? просто не приходилось раньше, а википедия да статьи по VS2005 не особо в этом помогают... хз, может плохо искал)

Википедия тебе здесь не поможет, это все-таки не специализированый технический справочник.
А вот если зайдешь на live.com, напишешь "vb6 xml" и ткнешь "Search" то сможешь найти кое-что интересное.

У Microsoft была какая-то комовская MSXML, тебе видимо именно ее и прийдется использовать, если хочешь под VB6 сделать.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам