powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
24 сообщений из 49, страница 2 из 2
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38217991
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот кричат красивости-красивости в .NET

Нужен например UpDown + TextBox.
NumericUpdown -классно!
Опа - а высота не регулируется - НИКАК.
DateTimePicker - о, есть, супер.
- а высота не регулируется - НИКАК
TextBox -та же песня.

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

Не, пока никуда не перехожу. Так, к слову.
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38219247
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из того списка, который вы не хотите знать, предлагаю сначала перейти на предмет рисование, потом photoshop. Программирование. скорее всего, не ваше занятие.
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38219308
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинИз того списка, который вы не хотите знать, .
Это что это за список такой, про который я во первых не знаю (о чем речь?), а во вторых не хочу знать (как вы утверждаете).
ОзверинПрограммирование. скорее всего, не ваше занятие.
Оч. даже мое. Мне 1) интересно 2) доход неплохой.
Ну, да, я не "профи" и умничать на вашем админско-програмерском жаргоне не умею.

Что дальше?
Вам просто что-то написать захотелось?
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38219386
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77ОзверинИз того списка, который вы не хотите знать, .
Это что это за список такой, про который я во первых не знаю (о чем речь?), а во вторых не хочу знать (как вы утверждаете).
ОзверинПрограммирование. скорее всего, не ваше занятие.
Оч. даже мое. Мне 1) интересно 2) доход неплохой.
Ну, да, я не "профи" и умничать на вашем админско-програмерском жаргоне не умею.

Что дальше?
Вам просто что-то написать захотелось?
Вы просили инструмент посоветовать - я и посоветовал, т.к. gui начинается не c vb6, а скакого нить adobe illustrator`а. Список того, что вы не хотели бы знать, вы озвучили в заглавном сабже.
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38219461
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,

Если везде рисовать Custom Draw, то наверно, вы правы, надо заняться рисованием.

Но у меня здесь другая точка зрения. Есть операционная система со своими стандартными окнами, внешними видами и стилями, о внешнем виде которых можно судить, установив систему и посмотрев на стандартные программы и на поведение контролов в них.
И мое мнение, чтобы программа выглядела действительно прилично, ее интерфейс должен следовать стилю системы. Т.е. использовать "системный GUI". Потому как все нарисованное в фотошопе (кнопки и т.д.) выглядит в большинстве случаев самопально и похабно. Ну, в большей или меньшей степени в зависимости от таланта художника и криво/прямо рукости программиста.

Все это говоря грубо делается через API.
Что касается VB6, то это делается путем использования стандартных контролов + куча тонкостей типа:
-допиливание в VB6 созданных контролов через API
-создание каких-то контролов полностью через API
Плюс всякие манифесты, 32-битные иконки вставленные хакер-тулами и т.п.
Здесь у меня опыт достаточно большой, не спорьте.

И в общем-то получаются вполне-таки WIN-стандартизированные приложения неплохо смотрящиеся.

Если бы на VB6 не забили с созданием .NET, то думаю все бы было доведено и кучи хитростей делать было бы не надо.

Возникает ощущение, что .NET эти вопросы типа решает.
Т.е. правильная обертка над всем что только можно, все иконки-стили-манифесты автоматом и т.п.
Но вот смотришь на эти .NET контролы, и понимаешь, что до стандарта там очень далеко. Т.е. если не задумываться, то выглядеть будет далеко не по "стандарту". М.б. по ".NET-стандарту", но не по "WIN"-стандарту. Ибо для Textbox обычно используется высота 23px, а для DTPicker кажетя 24 или 25, и в VB6 с такой элементарщиной проблем нет, а в .NET как выясняется есть, и это несколько дико.

Или надо опять же сабклассить, или рисовать через API, но спрашивается что мне этот .NET тогда дает, кроме того что его надо таскать за приложением + изучать новый синтаксис и новые приемы неважно C# или VB.NET.

А вот логику приложения в отличии от GUI (что с чем складывать и что делать потом) можно писать любым "говнокодом"(как Antonary выразился) и на VB -главное чтоб не глючило и сам понимал (сейчас и потом) чего делаешь.
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38219570
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все это не актуально. Winforms во всех их проявлениях буду задвигаться на задний план, а на передний выпячиваться wpf. Фишка wpf в том, что интерфейс размечается html-подобным языком xaml, который будет выводиться в directx-оверлей. Окна и их сабклассинг уйдут в прошлое.

Так что я бы рекомендовал поставить 2012ю студию и посмотреть штатные возможности wpf-элементов.
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38219608
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyВсе это не актуально....
wpf ...штатные возможности wpf-элементов
поставить 2012ю студию и посмотреть .
И...и...и
даже не знаю чего тебе ответить.
Пол-года назад советовали 2010-ю..WinForms
Полгода назад (в августе) начал писать свое новое приложение.
И посмотрев на эти студии начал писать его на VB6.
И пишу его до сих пор, все "сроки" прошли -это с учетом того что базовая функциональная начинка (С++) не моя и в VB6 большинство фишек я знаю.
Но по крайней мере уже виднеется финал первой версии.
И для меня актуально его дописать, и я на этот project делаю большие ставки (в том числе и денег заработать, что немаловажно, пока в эти .NET-ы врубишься глядишь и жизнь стороной пройдет).

А представляю, сколько сил и лет я бы угрохал, если б все таки позарился на .NET.

Потом этот WPF к примеру на XP небось и не работает.
А по опыту общения с буржуйскими клиентами, они там в основном на 2003-х серверах сидят, и редко когда на 2008-х.

Не, ну по идее тек. проект доделаю, надо будет попробовать перевести чего-нибудь существующее на .NET, хоть бы и на те же WinForms, с учетом соблюдения всех уже "осознанных" красивостей, а там уж смотреть как к этим WinForms всякие WPF прикручивать.
С другой стороны, насмотрелся я при тестах на этот Win8 и честно вообще даже в мозгах не представляю как интерфейс моего приложения можно воткнуть в метро-клетки - вот честно, даже образно.
Хотя смутно догадываюсь что WPF и метро это не одно и то же. WPF это я так понимаю все таки "окна", кот. может быть много на одном экране, а не по сути одно, как в "метро". Ибо как работать с одним окном в серьезном приложении? Это как во времена DOS -нортон коммандер для навигации и умные вычисления на черном экране. Ток. вместо них 2 больших картинки намалеванные в фотошопе на весь "современный супер-графический" экран?
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38219642
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77 Потом этот WPF к примеру на XP небось и не работает.Если FW4+ ставится, то работает. Этот момент я не знаю.
Дмитрий77 а там уж смотреть как к этим WinForms всякие WPF прикручивать.Это разные вещи, одно к другому не прикрутишь.
Дмитрий77 С другой стороны, насмотрелся я при тестах на этот Win8 и честно вообще даже в мозгах не представляю как интерфейс моего приложения можно воткнуть в метро-клетки - вот честно, даже образно.И не надо. Клетки это самостоятельное полноэкранное приложение, в клетки встраиваются виджеты (как это я понимаю). Твое приложение само по себе. MDI не будет, остальные типы окон пока остались по-старому.
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38274087
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, если
WinForms -это не Common Controls
WPF -это не Common Controls

и при этом
большинство штатных программ образующих OS (включая Win 7 и Win 8 -отбросим квадратики в сторону)
и большинство приличных программ от сторонних разработчиков
используют все таки именно Common Controls (отбросим плакаты - все в .Net, за WPF будущее)
-а это видно невооруженным взглядом,
то

Какая современная система програмирования дает легкий способ работать именно с Common Controls?
Т.е. набросал кнопки, Listview и прочие штатные штуки с максимумом возможностей сделать это из конструктора
и потом читаешь MSDN и подправляешь чуть через хитрые API если нужно.

Ну т.е. то что в VB6 все-таки реализовано достаточно хорошо. Потому как даже если брать VC++ 6.0 того же года выпуска, то там черт ногу сломит.

Т.е какая современная система (не 98г. выпуска) позволит просто и ясно набросать
именно Win32 (а не .Net, не WPF, не MFC или чего там еще изобрели) приложение?

MSDN (который с припиской Windows а не с набором .матерных суффиксов) то извините обновляется, во всех ф-циях пояснения: вот это для Win8, это устарело, эта версия только начиная с висты. Это все для кого извините делается?
Для пользователей VB6 которые любят API? Сомневаюсь. Или для C++ программистов "высокого уровня", которые с нуля делают
CreateWindowEx для каждой кнопки.

P.S. Ногами не пинать. Я нормально вопрос поставил.

PPS. Я на .Net (не считая самих Visual Studio) видел очень мало прог.
Единственное чем пользуюсь - IcoFX 1.6 -выдает ее нестандартное (с точки зрения Win32) нет-овское меню (с голубой подсветкой).
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38274483
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Легкого" способа работать с Commom Controls, используя весь спектр их возможностей, нет. Во всех современных средах работать с ними придется точно так же как в vb. Таков их программный интерфейс.
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38274933
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

Я наверно неправильно сформулировал.
Я делаю в VB6 меню, да оно без картинок, но оно "Windows", а не .NET.
Я делаю в VB6 Toolbar, но он "Windows" а не "голубой Strip", кот. одинаково выглядит про любых OS и "темах".
В .Net я могу сделать "(Windows) - MSDN - Microsoft" а не "класс (System.Windows.bla-bla-bla) - MSDN - Microsoft"?

И ты утверждаешь что это не Common Controls. Хотя в .Net панели они вроде именно так называются.

Т.е. какая современная система позволяет делать в конструкторе именно "Windows 32" application?
Хотя бы также как в в VB6? (ну пусть с минимальными штатными возможностями).
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38274966
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77В .Net я могу сделать "(Windows) - MSDN - Microsoft" а не "класс (System.Windows.bla-bla-bla) - MSDN - Microsoft"?Да. Через CreateWindow и т.д.

Дмитрий77И ты утверждаешь что это не Common Controls. Хотя в .Net панели они вроде именно так называются.
Название библиотеки "Windows Common Controls" и название панели "Common controls" это похожие названия разных вещей.

Дмитрий77Т.е. какая современная система позволяет делать в конструкторе именно "Windows 32" application?Дельфи. Только у них нет Windows Common Controls.
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38275067
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyДа. Через CreateWindow и т.д.
...
Только у них нет Windows Common Controls.
Ну, тогда получается что удобнее VB6 ничего нет.
Если конечно хочется чтоб приложение имело стиль "Windows" а не вычурный стиль крашеных менюшек "Strip.Порно.Net".

Несмотря на то что многое приходится допиливать через Манифесты, API, сабклассинги и т.п,
штатный ввод (то что можно сделать в конструкторе VB6 + штатные обработчики) это очень и очень не мало.

Неудобство с API относительно C++ видимо в том, что постоянно гуглишь константы для VB, + всякие Union и прочие "непереводимые" типы, с кот. приходится извращаться.
Ну и конечно в C++ все подключается через заголовочные .h-файлы автоматом, а в VB6 все выписывается "ручками в модуль".
Но это с лихвой компенсируется штатными удобствами конструктора VB6.
Замечу кстати, что когда что-то (как пишут невозможное) в VB6 уже сделано "методом трактора", то тиражировать это потом уже относительно несложно.

Не спорю, Net-овские менюшки и Strip-ы смотрятся неплохо, но это "вещи в себе".

WPF я глянул в 10-й студии правда, ну идею понял, типа любые "размеры" и "цвета" через "web-разметку" . Но думаю пока рано.
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38275094
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77Ну, тогда получается что удобнее VB6 ничего нет.C++ удобнее, если, конечно, его знаешь. Собственно, на разработку под С++ и были ориентированы WinAPI вообще и Common Controls в частности.
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38326205
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyДмитрий77В .Net я могу сделать "(Windows) - MSDN - Microsoft" а не "класс (System.Windows.bla-bla-bla) - MSDN - Microsoft"?Да. Через CreateWindow и т.д.

Дмитрий77И ты утверждаешь что это не Common Controls. Хотя в .Net панели они вроде именно так называются.
Название библиотеки "Windows Common Controls" и название панели "Common controls" это похожие названия разных вещей.

Дмитрий77Т.е. какая современная система позволяет делать в конструкторе именно "Windows 32" application?

А кто мне помешает в .Net
сделать
Панель элементов -> Выбрать элементы

Послать местный Listview
и
добавить
->COM-компоненты -> Microsoft Listview Control, version 5.0 (SP2) COMCTL32.OCX
шаблон + API наверно применятся
и работать также как в VB?

Вместо MenuStrip (выигрыш в "красоте" только на классике) добавить MainMenu -оно хоть и .NET но стили поддерживает, API видимо то же. А картинки правильно я знаю как добавлять.

То же например с Toolbar (.NET) вместо ToolStrip.

Я смотрю они первые "нормальные" .NET контролы -которые базируются на настоящих, а не на стрип-муляжах, хорошо спрятали(Toolbar,MainMenu)

Ну, грубо, кто мне мешает совмещать чисто .NET (для простых случаев)

с COM+COMCTL32.OCX (чтоб не CreateWindow c нуля) + API для более сложных (где стрипы меня не устраивают).

Т.е. по сути я могу тупо использовать весь полезный ф-ционал VB6 из .NET

Я прав? Тогда почему мне никто про это не сказал?
Или это очень дурной тон? Пристыковка VB6 привычных контролов к WinForm приложению?

Кстати WPF по ходу тоже можно мешать с WinForms.
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38326939
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77 Или это очень дурной тон?Дурнее некуда. Например, все контролы .net и сама форма наследуют класс Control, что позволяет гибко их обрабатывать. Вот этот код перебирает все контролы и делает с ними нечто:

Код: vbnet
1.
2.
3.
4.
5.
    Public Sub SetData(ByVal obj As Object, ByVal Form As System.Windows.Forms.Control)
        For Each c As Control In Form.Controls
            SetData(obj, c)
        Next
    End Sub

Если среди контролов будут активиксы, то я не знаю, как он себя поведет. Придется все усложнять.
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38327024
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

Против этого аргумента возражу.

А чем указанная ситуация отличается в худшую сторону (сложнее и т.д.) от ситуации когда

все контролы - контролы (.Net или ActiveX в VB6), а часть API+CreateWindow?
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38327072
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чистый .net — просто, все остальное — усложнение и багодром. Если охота создавать самому себе трудности, таща весь этот мусор в дотнет, и с блеском их преодолевать — ради бога, но выгоды от такого "перехода" не будет.
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38327128
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, сабклассинг в дотнете объектен и реализован как раз через класс Control. SendMessage есть, почти весь апи объявлять не надо.

Как бы отвечая на твой старый вопрос:
Дмитрий77А вот кричат красивости-красивости в .NET
...
Неудобства налицо...
А в чем тогда преимущество? Сколько уже времени ты потратил, борясь с аналогичными неудобствами коммон контролов в частности и апи в принципе? На дотнете ты бы потратил как минимум в два раза меньше, даже полностью перерисовывая какие-то элементы. Это и есть преимущество. Например, проблемы с юникодом в тултипах тулбара просто не было бы.

Попробуй для начала сделать свой софтофон в казённом дизайне, чтобы хоть работал. Для ускорения процесса можно 2008й студией конвертировать проект и копипастить из него куски, не связанные с графикой.

Кстати, а его скриншот увидеть можно? А то сколько разговоров уже вокруг него :)
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38327361
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyПопробуй для начала сделать свой софтофон в казённом дизайне, чтобы хоть работал. Для ускорения процесса можно 2008й студией конвертировать проект и копипастить из него куски, не связанные с графикой. :)
Чувствую там такой бардак после конвертации будет, даже без учета графики.
Счас ничего пробовать не буду. Просто help писать скушно и долго, вот я для разгрузки и залез в .Net.
AntonariyКстати, а его скриншот увидеть можно?Ну, как нибудь не сейчас.
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38382653
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче, засел пока как школьник за штудирование примеров из книги
Зибиров В.В Visual Basic 2010 на примерах (с воспроизведением оных с нуля в VB2010 EE)
Пока дошел до 20-го примера.
Насколько меня хватит и насколько правильный путь пока не знаю.
Но вроде осваиваюсь потихоньку.

Потом попробую что-нибудь свое переписать.

P.S. VS2012 -глюкота какая-то. На Win7 на ноут установил - вообще работать отказывается. В баню.
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38383022
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, TextBox и Combobox по крайне мере там настоящие, это радует.
Так решил, потому что этот код применился почти в лоб:
Код: vbnet
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.
28.
29.
30.
31.
32.
Public Class Form1
    Private Const GWL_STYLE As Int32 = (-16)
    Private Const ES_NUMBER As Int32 = &H2000

    Private Declare Function SetWindowLong Lib "user32" Alias _
     "SetWindowLongW" (ByVal hwnd As IntPtr, ByVal nIndex As  _
     IntPtr, ByVal dwNewint32 As Int32) As Int32
    Private Declare Function GetWindowLong Lib "user32" Alias _
     "GetWindowLongW" (ByVal hWnd As IntPtr, ByVal nIndex As  _
     Int32) As Int32
    Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExW" (ByVal _
     hWnd1 As IntPtr, ByVal hWnd2 As IntPtr, ByVal lpsz1 As String, _
     ByVal lpsz2 As String) As IntPtr

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Text = "Введите число"
        SetWindowLong(TextBox1.Handle, GWL_STYLE,
         GetWindowLong(TextBox1.Handle, GWL_STYLE) Or ES_NUMBER)
        Dim ComboBox1_Edit_Handle As IntPtr =
         FindWindowEx(ComboBox1.Handle, 0&, vbNullString, vbNullString)
        SetWindowLong(ComboBox1_Edit_Handle, GWL_STYLE,
         GetWindowLong(ComboBox1_Edit_Handle, GWL_STYLE) Or ES_NUMBER)
    End Sub

   
    'Private Sub TextBox1_KeyPress(ByVal sender As Object,
    '  ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
    '    If Char.IsDigit(e.KeyChar) = False Then e.Handled = True
    '    If Char.IsDigit(e.KeyChar) = True Then e.Handled = False
    '    If e.KeyChar = ChrW(Keys.Back) Then e.Handled = False
    'End Sub
End Class


Просто не мог спокойно читать бред на 3-х страницах, где автор с пеной у рта расписывал муть, что закомментирована.

1. Кстати, в чем разница между A и W(Юникод) на конце API-шек?
В .net лучше везде писать W? (коль он такой об-юникодиный).

2. Еще вопрос. API также декларируются? Разница с VB6 только в замене Long на IntPtr/Int32. Там вроде какие-то слова еще должны быть. Но у меня вроде по старинке все прокатило.

Порадовал также TabControl -нормально там все с XP/Vista стилем (цвет вкладок правильный).
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38385702
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Progressbar в Net настоящий судя по работоспособности кода:

Код: vbnet
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.
28.
    'SendMessageLong function
    Private Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" _
    (ByVal hwnd As IntPtr, _
    ByVal Msg As Integer, _
    ByVal wParam As Integer, _
    ByVal lParam As Integer) As Integer

    Private Const WM_USER = &H400
    Private Const PBM_SETRANGE = WM_USER + 1
    Private Const PBM_SETBARCOLOR = &H409&
    Private Const PBM_SETBKCOLOR = &H2001&
    Private Const PBM_SETPOS = WM_USER + 2

        SendMessageLong(ProgressBar1.Handle, PBM_SETBARCOLOR, 0, _
                       System.Drawing.ColorTranslator.ToWin32(Color.Red)) 'красный
        SetProrressRange(ProgressBar1.Handle, 1, 5) 'надо 0-5
        SendMessageLong(ProgressBar1.Handle, PBM_SETPOS, 0, 0&)

    Private Sub SetProrressRange(
     ByVal hwndProrress As IntPtr, ByVal lMin As Integer, ByVal lMax As Integer)
        On Error Resume Next
        Dim r As Integer
        ' Временная переменная для передачи функции SendMessage
        ' составляетсч из внутренних переменных lMin и lMax.
        ' lMin помещается в младшее слово, а lMax в старшее.
        r = CType((lMin And &HFFFF&) Or ((lMax And &HFFFF&) * 65536), Integer)
        If hwndProrress <> 0 Then SendMessageLong(hwndProrress, PBM_SETRANGE, 0, r)
    End Sub



Делаю такие проверки чтоб понять что контрол НАСТОЯЩИЙ.
Хотя в данном примере все это можно сделать без API (включая PBM_SETBARCOLOR).
...
Рейтинг: 0 / 0
На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
    #38402241
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, что поднял данную тему.
Долго не заходил... Много работаю. Скажу - Вопрос актуальный.
Так долго учил VB6. Когда во всем разобрался, начал делать проект. Понятное дело что переделывал три раза узнав, что можно делать классами, глобальными функциями и т.д. Очень мощный язык. И вот когда проектом всерьез заинтересовались, как выяснилось нужна лицензия и так далее. Почти в тот же момент другой проект привлек внимание молодого бизнесмена, а ему надо чтоб программа работала под Linux. И блин такой облом, что мои примочки в которых находятся козырные карты в линукс даже при большом желании не будут работать, как бы я там не колдовал. А простые проекты через Wine работают. Именно эта проблема заставила всерьез задуматься что дальше делать ? Виндовс совсем себе гонит. Мало того что XP уже не продается и наверное уже не поддерживается, так они еще и сделали так что только фирма имеет право устанавливать виндовс, иначе лицензия будет недействительной. 8-рка полная херня (извиняюсь). Там простой юзер не знает как выключить комп, не говоря что они там вообще намутили. Учить .NET ? Да я был сначала не против. Мне нравился редактор, особенно когда он даже не дает возможности ошибиться, всячески предупреждает, помогает даже если не помнишь команду. Но когда я сделал на нем обычную программу чтоб в цикле подсчитать до миллиона и сравнил с VB6, я сделал вывод "Да ну его н**** переходить на язык который в десять раз медленней работает". К чему мы стремимся ? Что монополисты делают, они покупают Nokia, видимо и там будет гиндовс. Короче реально заработать не дают.

Я бы выбрал однозначно С#,C+/C++. Не тестировал на скорость. Не было время учить. Много будет сложностей. В моей книги-библии на первом месте классы. А уже в середине только элементы формы. Классы очень полезная тема. На VB6 скорость немного падет когда я переделал чучуть кода с использованием классов, но пользоваться таким кодом куда удобней потом и все понятно работает. К примеру парсил на VB6 полностью страницу HTML с разложением каждого тега, с своей мотивацией - на это уходили секунды, но любой бравзер делает на много больше и быстрей. Думаю сишка быстрей будет работать. Потом сервак делал на порт 80 также на VB6. Файлы качать (Download) с такого сервера так же как и с PHP сервера - быстро работает, почти нет разницы. А вот если грузить обычную страницу где много мелких файлов (фотки, сss, js), то видно что VB6 по скорости конкретно отстает.

Надо решить. Для какой цели учить язык ? Для поддержки Видовс или чтоб можно было продать программу. А то будет как в моей ситуации. Дает мне процент, от каждого аппарата на котором будет моя программа, а я не могу воспользоваться, так как у него Линукс. А с Виндовсом ему не выгодно связываться. Вот например есть программа для ресторанов. Там и бухгалтерия и заказы и музыка - все под течпад. Двое у меня купили, а остальные уже бы купили, но узнав что нужно виндовс ставить, ой а сколько это стоит ? а почему только виндовс 7 или 8 ? Короче еще +200$ Само собою они будут искать халяву. Зачем платить если можно не платить. Им не вопрос, могут планшет приобрести если скажу что надо. И даже дело не в деньгах. Дело в принципе. У нас никто ничего не покупает из программного продукта. Ах да извените... 1С только покупают вместе с виндовс .... там и наладка и все что не хочешь. Нет больше умных чтоб сделать конкуренцию ? Так как 1С зарабатывает уже для конкуренции можно на PHP онлайн версию сделать. Кто хочет работать ? Желающих нет.

А что выбрать ? я не знаю. На сайт перешел. php+mysql+js(чистый!!! без Jб*яQuery)+css+html; vb+mdb(access) сработались чтоб конвертировать нужную фигню на mysql прямо на сервак, грабать информацию быстренько и много другого. Если C+ будет очень близок к js - это мегакруто, так как js сначало не очень догонал, а теперь восхищаюсь только им. VBScript толком не прижился, нет ни поддержки ни форумов, чтоб кто-то что-то делал. И самое главное языки не перемешались в голове. Главное работать и не бояться учить новое. Это прикольно.
...
Рейтинг: 0 / 0
24 сообщений из 49, страница 2 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / На какой другой язык переходить? Windows Forms Application? VB.NET? С (#.NET ???)?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]