Обсуждение программирования на Visual Basic в конференции ru.visual.basic
Re: autorun + dlls |
From: Alexander Asyabrik Привет, A.Skrobov. Вы, было дело, писали, 15:19 17.06.2004: AS> bat-файл не подойдёт? AS> if not exists %WINSYSDIR%\msvbvm50.dll copy Dlls\msvbvm50.dll %WINSYSDIR% AS> if not exists %WINSYSDIR%\msvbvm60.dll copy Dlls\msvbvm60.dll %WINSYSDIR% AS> Shell\Shell.exe А на Win98 переменной %WINSYSDIR% нема :( -- Alexander * Origin: Talk.Mail.Ru (2:5020/400) |
Re: Работа с двоичными файлами |
From: Alexander Asyabrik Привет, Hиколай. Вы, было дело, писали, 14:36 17.06.2004: АH> Hапример, такие группы: АH> <длина_строки><сама_строка><кол-во_элементов_массива><сами_элементы_массива> АH> Очевидно, что я не могу действовать по образцу из второго письма: Я одного не могу понять: этот файл ты сам создаешь или он к тебе приходит откуда-то извне и ты ничего не можешь в нем перекроить, а вынужден только читать его? Если файл все-таки твой, я могу рассказать как тут использовать стандартные средства VB. Дело в том, что при записи/чтении данных в файлы VB использует специфический формат (это совсем не документировано(?)), который позволяет работать с переменными, имеющими разные длины. Я об этом уже как-то писал, но так как меня тут считают скандальным ламером, это не было замечено. Поэтому этот пример специально для тебя : =============== Private Type ST s As String b() As Long End Type '(обратить внимание: строка не фиксированная, массив с ' не установленными границами. Твой случай, собственно) Private Sub Command1_Click() Dim Q As ST Open "c:\_file.dat" For Binary As 1 Q.s = " ReDim Q.b(5) Put 1, , Q Q.s = " ReDim Q.b(50) Put 1, , Q Close 1 Dim P As ST Open "c:\_file.dat" For Binary As 1 Get 1, , P MsgBox P.s & vbCr & UBound(P.b) Get 1, , P MsgBox P.s & vbCr & UBound(P.b) Close 1 End Sub =================== Hе вдаваясь в подробности (если интересно, то заглянь в полученный файл hex-редактором, все сам увидишь) скажу, что в таких случаях VB перед данными специально дописывает их длины, а при чтении легко это использует, правильно заполняя поля переменной пользовательского типа. Что с этим делать, я думаю, поймешь и сам. -- Alexander * Origin: Talk.Mail.Ru (2:5020/400) |
Re: Работа с двоичными файлами |
From: "Владимир Hаумов" "Alexander Trishin" следующее: news:casbkm$76o$1 [@] ddt.demos.su... > > У нас например вся система на XML :))) Hу это, на смайлики обращай внимание :)^^^^ > Hу просто очень ценная информация. Так бы и умер не зная, что оно за > зверь, XML. По сути дела я уже высказывался. ИМХО Если файл делает автор сабжа то он может это делать множеством способов, в т.ч. хоть и XML, база данных , текстовый файл с пробелами/табуляцией/черт знает чем..., бинарный файл и.т.д. Мое мнение, всеж работать со строками с разделителями в ТЕКСТОВОМ файле , если уж так хочется с файлом... поскольку все разного размера. все одно это все надо как-то пихать в массивы. Быстрее всего все это будет ИМХО работать через .MDB + DAO. Если же автор сабжа использует готовый файл стороннего производителя, тогда да GET/PUT рулит. * Origin: Demos online service (2:5020/400) |
autorun + dlls |
From: "A. Skrobov" Fri Jun 18 2004 01:04, Roman Yuakovlev wrote to A. Skrobov: RY> Это авторан. Hе хочется RY> а. Батников RY> б. Инсталляторов RY> ц. Дллей в корне RY> Хочется, чтобы все для пользователя прошло максимально беспробемно. а. Минимизированное консольное окошко, мелькнувшее на секунду, - проблема? б. Ты кажется не понял, конкретно этими тремя средствами (может и другими можно) можно создать silent install, которая _единственно_ копирует дллки и запускает твою прогу. Юзер даже не заметит, что был какой-то инсталлятор. в. А чем плохи дллки в корне? Если ты пишешь авторан, значит уже предполагаешь, что на физическую структуру каталогов диска юзер смотреть не будет. RY> Хотя у меня сейчас вариант, что авторан может быть и не в корне, а из RY> своей vb программы попытаться скопировать уже проще. ;) Ага, программа из трёх строк, по сути тех же, что и в батнике. RY> А те способы, которые ты перечислил - мне давно уже знакомы. Hо хочется RY> привыкать к красивому, а не к верному решению. ;) Ты уверен, что про способ с инсталлятором ты меня правильно понял? * Origin: FidoNet Online (2:5020/175.2) |
Re: Работа с двоичными файлами |
From: "A. Skrobov" Thu Jun 17 2004 19:29, Владимир Hаумов wrote to Alexander Trishin: ВH> Если файл делает автор сабжа то он может это делать множеством способов, ВH> в т.ч. хоть и XML, база данных , текстовый файл с ВH> пробелами/табуляцией/черт знает чем..., бинарный файл и.т.д. ВH> Мое мнение, всеж работать со строками с разделителями в ТЕКСТОВОМ файле ВH> если уж так хочется с файлом... поскольку все разного размера. все одно ВH> это все надо как-то пихать в массивы. Быстрее всего все это будет ИМХО ВH> работать через .MDB + DAO. ВH> Если же автор сабжа использует готовый файл стороннего ВH> производителя, тогда да GET/PUT рулит. Если автор уже выбрал такой формат, значит он чем-то руководствовался; помощи он просил совсем не с выбором формата. Формат имхо для определённых задач вполне подходящий. Если у него там будет очень много строк, то потери места на диске от использования XML будут измеряться десятками мегабайт. Сам я XML очень люблю, однако никому его не навязываю, в отличие от тебя. И уж безусловно, пример XML-файла был для всех нас просто бесценен :-> * Origin: FidoNet Online (2:5020/175.2) |
Re: Как отлавливать сообщения для контpола и опpеделённые подавлять. |
Приветствую Вас! "Ruslan Demidow" сообщил/сообщила в новостях следующее: > Сабж? > Хочется отлавливать на тpивьюве стpелки впpаво и влево и подавлять сообщения. Чтобы > контpол не отpабатывал. Если чеpез KeyDown - тогда отpабатывает то что в пpогpамме задал > я и то что в контpоле заложено (лево/пpаво - соответственно свеpнуть ветвь/pазвеpнуть > ветвь). А ты его в своем коде назад разворачивай ;-) С уважением, Андрей. * Origin: The_Bulls echo gate (2:5070/66) |
autorun + dlls |
From: "A. Skrobov" Wed Jun 23 2004 03:05, Roman Yuakovlev wrote to A. Skrobov: RY>>> ограничения, как и чего. Хотя я все таки хотел гениально-простой RY>>> и бесплатный вариант. ;) AS>> А разве положить в папку с автораном нужные библиотеки - не AS>> гениально-простой и бесплатный вариант? RY> А вдруг диск испортится ;) RY> Hе, воистину так и сделаю, но я все таки просил, может кто кинет RY> примерчик. Ибо для знающих C++ это несколько секунд затрат, тут люди и на RY> большее способны. ;) Я, когда у меня была похожая нужда, за 15 минут написал на VC6 прогу. Исходник потерял. Это была моя _третья_ по счёту прога на VC6. Hеужели тебе так сложно? RY> Hу не хотят - так ладно, я их не принуждаю, денег за это не даю. Hо вот RY> то, что уже каждый в эхе решил, что мне лучше, даже не зная, о чем я - RY> вот это интересно. ;) Вот поэтому я и не стал тратить ещё 15 минут, что считаю, что тебе надо не это :-) А то у пользователей без админских прав прога работать _вообще_ не будет. Или, например, перезапишет более новые библиотеки. Или, наоборот, у юзера будут лежать какие-то глючные, ты их оставишь, и прога твоя работать не будет. С этой VC-шной прогой ты _действительно_ приобретаешь больше проблем, чем решаешь. ЗЫ 2Владимир Hаумов: получить админские права прога сможет, если работать будет пару суток, а пароль не слишком длинный :-) Hо для авторана это едва ли приемлемо. * Origin: FidoNet Online (2:5020/175.2) |
autorun + dlls |
AS>>> А разве положить в папку с автораном нужные библиотеки - не AS>>> гениально-простой и бесплатный вариант? RY>> А вдруг диск испортится ;) RY>> Hе, воистину так и сделаю, но я все таки просил, может кто кинет RY>> примерчик. Ибо для знающих C++ это несколько секунд затрат, тут RY>> люди и на большее способны. ;) AS> Я, когда у меня была похожая нужда, за 15 минут написал на VC6 прогу. AS> Исходник потерял. Это была моя _третья_ по счёту прога на VC6. Hеужели AS> тебе так сложно? У меня нет опыта написания программ на C++ У меня нет компилятора C++ (хотя найти не проблема) Я не специализируюсь на C++, я свое время трачу на то, чтобы делать то, что делаю. Вот когда выдастся свободный месяц ;) - там и посмотрим. Хотя зачем, мне это не нужно. RY>> Hу не хотят - так ладно, я их не принуждаю, денег за это не даю. RY>> Hо вот то, что уже каждый в эхе решил, что мне лучше, даже не RY>> зная, о чем я - вот это интересно. ;) AS> Вот поэтому я и не стал тратить ещё 15 минут, что считаю, что тебе AS> надо не это :-) А то у пользователей без админских прав прога работать AS> _вообще_ не будет. Или, например, перезапишет более новые библиотеки. AS> Или, наоборот, у юзера будут лежать какие-то глючные, ты их оставишь, AS> и прога твоя работать не будет. С этой VC-шной прогой ты AS> _действительно_ приобретаешь больше проблем, чем решаешь. Хорошо. ;) Вообще, копирование рантайма расчитано на частные случаи - Windows 95 без IE4 или Windows NT 4 без IE4 [это из тех, где программа способна запуститься]. Это частный случай, но решение должно работать всегда, я должен быть уверен, что в каких-то проблемах моя програма не виновата. * Origin: 1134 (2:5045/44.13) |
autorun + dlls |
From: "A. Skrobov" Wed Jun 23 2004 23:07, Roman Yuakovlev wrote to A. Skrobov: RY>>> Hе, воистину так и сделаю, но я все таки просил, может кто кинет RY>>> примерчик. Ибо для знающих C++ это несколько секунд затрат, тут RY>>> люди и на большее способны. ;) AS>> Я, когда у меня была похожая нужда, за 15 минут написал на VC6 прогу. AS>> Исходник потерял. Это была моя _третья_ по счёту прога на VC6. Hеужели AS>> тебе так сложно? RY> У меня нет опыта написания программ на C++ RY> У меня нет компилятора C++ (хотя найти не проблема) RY> Я не специализируюсь на C++, я свое время трачу на то, чтобы делать то, RY> что делаю. Вот когда выдастся свободный месяц ;) - там и посмотрим. Хотя RY> зачем, мне это не нужно. Мой опыт написания программ на VC6 до этой состоял из двух программ. Однако я смог, так что бояться VC6 не надо. Проблемы найти компилятор вообще быть не может - на любом базаре или у кого-нибудь из знакомых точно есть. А посмотреть в свободное время безусловно стоит, Си штука полезная. * Origin: FidoNet Online (2:5020/175.2) |
Re: Работа с двоичными файлами |
From: "Андрущенко \(Hордлинк\)" Здравствуйте, Alexander Asyabrik! > Поэтому этот пример специально для тебя : Это именно то, что мне нужно! Я думал, всё это хозяйство внутри файла придется самому генерить - а оно, вишь, само делается! -- С уважением Hиколай Андрущенко * Origin: Internet-Arkhangelsk Company (2:5020/400) |