Помоги по VB-6

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Жарэ
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 29.02.2008 (Пт) 17:32

Помоги по VB-6

Сообщение Жарэ » 29.02.2008 (Пт) 17:56

Делаю небольшую программку (рограмматора микросхем ПЗУ) и сталкнулся с проблемой. Есть функция (Hex) которая приобразует цифры в строковый шеснацатеричный код на текстовом поле. После редактирования шеснацатеричного текста в текстовом поле его снова надо перевести в десятичную форму. Для этого нинашол ни каких функций в Visual Basic -6, подскажите как это сделать.
Спосибо Жарэ. [/b]

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Сообщение djalex777 » 29.02.2008 (Пт) 18:12

Код: Выделить всё
Dim s As String
Dim l As Long
s = Hex$(12999)
l = "&H" & s

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

Сообщение Viper » 01.03.2008 (Сб) 7:10

djalex777, ему обратное преобразование нужно.
Жарэ, делай так
Код: Выделить всё
Dim s As String
Dim l As Long ' ну или As Integer
s = &H10
l = CLng(s) ' или CInt(s) для Integer

Собственно шестнадцетиричное представление целого числа имеет место быть только при представлении его в виде строки. Самому то числу глубоко фиолетово в какой оно форме - биты все равно одинаковые.
З.Ы. А за название топика двойка с минусом, читай правила.
Весь мир матрица, а мы в нем потоки байтов!

Жарэ
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 29.02.2008 (Пт) 17:32

Сообщение Жарэ » 02.03.2008 (Вс) 13:31

В VB-6 имеется много элементов управление ActiveX (по умолчанию и в раздели компоненты). Имеется ли там компонент индекатор (это когда во время длительного процеса белая полоса заполняется зелёными квадратами). Как он называется и как его прицепить например к циклу.
Спасибо Жарэ.

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

Сообщение Хакер » 02.03.2008 (Вс) 13:43

Жарэ
В VB6 их не имеется. Они имеются у тебя в системе. Полоса, заполняющаяся зелёными квадратиками (прогресс-бар) - это не компонент, это класс окна. Однако, есть ряд дибилистических обёрток, вроде Microsoft Common Controls 5.0 и Microsoft Common Controls 6.0
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Atoman
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 109
Зарегистрирован: 01.02.2008 (Пт) 6:36

Сообщение Atoman » 02.03.2008 (Вс) 14:22

А вот реализация Прогресбара без всяких контролов.
Вложения
ProgressBar.zip
(2.27 Кб) Скачиваний: 78

Жарэ
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 29.02.2008 (Пт) 17:32

Сообщение Жарэ » 03.03.2008 (Пн) 7:03

Спасибо за информацию.
И снова об ActiveX . Читаю в книге про ActiveX . Там написано , что ActiveX это маленькая программка OCX зи которых можно дела большие программы. Но есть OCX работающие как обычные программы (например: Visual Basic содержит APPWIZ.OCX из которого ничего не строят , он сам работает как программа мастер создание меню. Тоесть ОСХ работает как ЕХЕ).Библиотеки DLL тоже работают как драйвера и как ЕХЕ , тоесть имеют меню , кнопки , текстовые поля и т.д. Вобщем запутался, разясните эту тему и чем всё это друготдруга отличается.
Спасибо Жарэ.

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

Сообщение Хакер » 03.03.2008 (Пн) 13:06

Либо читаешь, и неправильно понимаешь написанное, либо в книге бред пишут и в печке ей место (книге).

Кратко и ясно:

У каждого процесса есть своё АП, со соими данными и своим кодом. Всё это туда сваливается из образа исполняемого EXE-файла загрузчиком. Умные люди решили, что т.к. почти во всех программах будет встречаться одинаковый код, не совсем правильно помещать одно и то же в каждый образ. Т.к. в АП процесса можно в любое время писать всё что вздумается, придумали концепцию, согласно которой в АП процесса можно будет подгружать данные из файлов. Таким образом, одинаковые данные и сотни различных программ можно хранить в одном файле. Кроме того, всё это настолько хорошо соотносится с механизмом работы виртуальной памяти (своппинга, в частности), что такая фишка может не только экономить место на диске, но и место в оперативке. Файлы обозвали библиотеками, но т.к. понятие "библиотека" уже закрепилось за lib-ками, чтобы не было путаницы и для подчёркивания всех преимуществ нового подхода, файлы обозвали динамически связываемыми библиотеками (Dynamically linked libraries, DLLs). То, что образуется в памяти в результате подгрузки DLL в процесс обозвали модулями.

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

В DLL файлах может быть код и данные. Вообщем, данные, потому что код - тоже данные.

Раз там может быть код, там могут быть функции, которые программы (подгружающие к себе DLL) могут вызывать. Процесс этот автоматизировали (в какой-то степени), в PE-файлах появилась таблица импорта (теперь DLL подгружаются в процесс системой, сразу же, при запуске процесса, избавляя программиста от необходимости грузить; теперь программисту не надо заботиться о поиске нужной сущности (обычно - функции) в DLL), таблица экспорта (в которой записаны соответствия "Имя сущности" - "Номер сущности" - "Адрес сущности в DLL"), таблица релоков (в которой записаны (если в DLL есть код) адреса всех мест в коде, где используется абсолютная адресация, которые надо фикс-ап'ить, если DLL вдруг загрузится не в то место памяти, куда предполагается (а предполагается всегда-куда то в конкретное место, в ImageBase-так называемый. Но если это место в памяти уже чем-то/кем-то занято, DLL может загрузится в совершенно другое место, благодаря reloс-ам); если этой таблицы нет, процесс загрузки DLL обламывается, если загрузка по ImageBase невозможна).

DLL сами могут использовать сущности из других DLL. В этом случае все DLL подгрузятся в АП процесса.


OCX - это просто расширение другое, а на деле - та же DLL. Некоторые люди, с своё время, подумали, что таблица импорта/экспорта -- не есть гуд, да и к тому же, неООП-complatible. И решили сделать надстройку над обычными механизмами, и придумали COM. (Они, в действительности, конечно, по другому думали, но в рамках данного руководства "О DLL в картинках" сойдёт и такое).

ActiveX DLL (ActiveX Control и прочее) - такие же DLL, только имеющие специальный набор функций (DllGetClassObject, и другие, менее важные), которые стали позволять работать с объектами и классами. DLL теперь могут экспортировать не только функции, но и классы (и не только классы).

ActiveX EXE - немного из другой оперы. Люди (те самые, умные) решили, сделать общую часть в одном АП. Механизмы DLL тут уже не используются, используются сообщения и маршаллинг (для коммуникации между ActveX EXE и клиентами).

Так вот, подводим итог.

ActiveX EXE, это частный случай EXE.
ActiveX DLL, ActiveX Control - частные случаи DLL.

Просто DLL экспортируют функции, ActiveX DLL экспортируют функции, из которых обязательно две - отвечают за механизм "экспорта классов".

VB6 позволял делать только (чисто) ActiveX DLL (т.е. по сути, он не позволял программисту экспортировать свои собственные функции).

Я тут, относительно недавно, подумал, что это как-то нехорошо, и решил в какой-то степени эту проблему (см. FireNativeDLL).
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Жарэ
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 29.02.2008 (Пт) 17:32

Сообщение Жарэ » 04.03.2008 (Вт) 8:53

Сдраствуй Хакер. Я был на твоём форуме. Ты сделал огромную работу . Спасибо и за твой ответ. Дествительно ни какая книга не заменит человека (УЧИТЕЛЯ) у которого можно спросить.
Пока вопросов больше не , размышляю над полученой информацией.

Спасибо Жарэ.

Жарэ
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 29.02.2008 (Пт) 17:32

Сообщение Жарэ » 05.03.2008 (Ср) 6:21

Сдравствуте все.
Я проанализировал выше написаное, коекакие прсветления в голове начались. Только парочку зашифровак не понятны.
АП, я понял как аппаратное программирование, а ООП как объектное орентированое програмирование.

Спасибо Жарэ.

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

Сообщение Viper » 05.03.2008 (Ср) 8:35

АП в данном контексте есть адресное пространство. Просветляйся дальше. И не забудь просветлится в плане грамотности!
Весь мир матрица, а мы в нем потоки байтов!

Жарэ
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 29.02.2008 (Пт) 17:32

Сообщение Жарэ » 06.03.2008 (Чт) 7:11

Просматривал программы в проводнике (коечто искал) и увидел файлы с расширением LIB,MDB,TMP,OLB,SRG,TLB и другие (не имею ввиду файлы созданые пользователем MP3,doc, jpg и т.д).
Описание их я нашол в интернете (хоть и скудное). Вопрос в дугом как их создают , для них есть специальные языки программирование или в VB-6 есть для этого средства. А также в некоторых программах есть файлы которые открываются как операционная система DOS. А онито для чего нужны, разве Windows не отошол от DOS.

Спасибо Жаре.

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

Сообщение Viper » 06.03.2008 (Чт) 8:31

Жарэ писал(а):Вопрос в дугом как их создают , для них есть специальные языки программирование или в VB-6 есть для этого средства.

LIB - библиотека, содержащая некий програмный код;
MDB - база данных ACCESS;
TMP - временный файл, создается приложениями в процессе работы для своих нужд;
OLB - библиотека объектов
SRG - ? а что это?
TLB - библиотека типов
Вообще, сходи хотя бы в Википедию, там есть.
Жарэ писал(а):А также в некоторых программах есть файлы которые открываются как операционная система DOS. А онито для чего нужны, разве Windows не отошол от DOS.

А это про что?
Весь мир матрица, а мы в нем потоки байтов!

Жарэ
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 29.02.2008 (Пт) 17:32

Сообщение Жарэ » 07.03.2008 (Пт) 6:33

А насчёт DOS я имел ввиду файлы при открывании которых появляется окно как в DOS(чёрное окно, текстовый режим, командная строка), а при закрытие появляется сообщение "завершение сеанса DOS" . Вообще то я тут прчитал что это файлы ЕХЕ , просто непонятно для чего они нужны.

Спасибо Жаре.

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

Сообщение Viper » 07.03.2008 (Пт) 8:48

Зачем нужны файлы EXE? Эта в юмор однозначно! :)
Весь мир матрица, а мы в нем потоки байтов!

Жарэ
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 29.02.2008 (Пт) 17:32

Сообщение Жарэ » 08.03.2008 (Сб) 5:43

То что это юмор это понятно. И всётаки какими языками создают файлы типа LIB,MDB,TMP,OLB,TLB, или в Visual Basic -6 есть для этого средства .Это меня интересует больше.

Спасибо Жарэ.

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

Сообщение Хакер » 08.03.2008 (Сб) 11:20

Это глупый вопрос. Очень. Файлы не создают языками.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

|( () ( T |/| |(
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 211
Зарегистрирован: 01.10.2005 (Сб) 15:49

Сообщение |( () ( T |/| |( » 08.03.2008 (Сб) 11:52

На языке ассемдлера можно создать любой файл, впрочем как и в HEX-редакторе.
P.S. Кстати можно даже в блокноте exe-шник создать, если написать BUG и сохранить как *.exe. Курсор будет хоотически прыгать. (работает на XP, но не навсех)
Последний раз редактировалось |( () ( T |/| |( 08.03.2008 (Сб) 11:58, всего редактировалось 2 раз(а).
С=[::::::::::> ™ e398wallpapers.narod.ru

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

Сообщение Хакер » 08.03.2008 (Сб) 11:55

|( () ( T |/| |(
А может не будем писать бред, а? Или лучше, в защиту своего мнения, напиши нам тут код на ассемблере, который создаёт файл (в Windows разумеется).
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 08.03.2008 (Сб) 11:59

Хакер писал(а):Это глупый вопрос. Очень. Файлы не создают языками.
Что за привычка, сказать "а" и на этом останавливаться?

Языками создают программы. Точнее программы пишут на языках. Программы создают файлы. Содержимое файлов зависит от нужд программы.
Лучший способ понять что-то самому — объяснить это другому.

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 08.03.2008 (Сб) 19:34

Жарэ у тебя Windows какой?
А про программы 'DOS' - ты не консольные проги случаем имеешь ввиду? Мой тебе совет - не соваться в программирование пока хоть чуть чуть не полазеешь по Windows, узнаешь что да как, и.т.д. :)

Жарэ
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 29.02.2008 (Пт) 17:32

Сообщение Жарэ » 13.03.2008 (Чт) 4:42

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

Спасибо Жаре.

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

Сообщение Хакер » 13.03.2008 (Чт) 4:44

Есть причина делать их без графики.
Для чего нужны программы? См. ответ с файлами.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Жарэ
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 29.02.2008 (Пт) 17:32

Сообщение Жарэ » 13.03.2008 (Чт) 11:53

Но дак раскажи про причину, или подскажи интернет адресок где прочитать можно, а то попадается всё нете адреса.

Спасибо Жарэ.

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 13.03.2008 (Чт) 12:45

http://en.wikipedia.org/wiki/Text_user_interface
[url]http://ru.wikipedia.org/wiki/Текстовый_интерфейс[/url]

ИМХО, тему пора переносить в треп.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

Жарэ
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 29.02.2008 (Пт) 17:32

Сообщение Жарэ » 13.03.2008 (Чт) 16:37

Однако интересные сайты. Дествительно есть информация.

Спасибо Жарэ.


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: Google-бот и гости: 33

    TopList