Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
03.08.2013, 21:28

Файл ресурсов

03.08.2013, 21:28. Показов 3271. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго вечера уважаемые форумчане.
Прошу помощи.
Хотелось бы что-бы при клике по "открыть PDF" открывался pdf файл из ресурсов в программе по умолчанию, а при нажатии "скачать PDF" было предложено куда его сохранить на компьютере.
("открыть PDF" - Image)
Как бы это реализовать?!
Буду очень признателен!!!

 Комментарий модератора 
Хорошим тоном является указывать ссылку на тему, где уже происходило обсуждение этой проблемы: Как вставить внешнюю программу в свой ехе'шник
+ выдаю желтую карту, как и обещал.
Миниатюры
Файл ресурсов  
0
03.08.2013, 21:28
Ответы с готовыми решениями:

Не проигрывается файл из ресурсов
У меня возникла еще одна проблема, по теме, но частично! Как проигрывать аудифайл я понял и тд. Теперь возник еще один вопрос...

Как запустить файл exe из ресурсов
я запихнул файл exe в ресурс в basic теперь мне надо что бы при нажатии на button этот ресурс воспроизвелся!!!!

Можно ли программно записывать в файл ресурсов?
Можно ли программно записывать в файл ресурсов? И если можно,как его оттуда вынемать.

21
 Аватар для Catstail
Супер-модератор
38228
03.08.2013, 21:36
т.е. ты хочешь pdf-ку хранить в файле ресурсов?
0
saintjeka  [ТС]
-7
03.08.2013, 21:39
ну..да, или так нельзя делать?
0
 Аватар для Catstail
Супер-модератор
38228
03.08.2013, 22:15
Можно. Но при большом размере PDF и файл ресурсов будет большим.
0
saintjeka  [ТС]
-7
03.08.2013, 22:21
Ну для меня это особо не страшно Подскажите?
0
 Аватар для Pro_grammer
6807
03.08.2013, 23:47
Цитата Сообщение от saintjeka Посмотреть сообщение
Подскажите?
Для вызова редактора ресурсов выбрать в меню Tools (Сервис) команду Resource Editor (Редактор ресурсов)
Добавить "CUSTOM" ресурс, это последняя иконка, к примеру файл Mypdf.pdf, сохранить файл ресурсов. Он автоматически подключиться к проекту.
Далее простой код который по нажатию на кнопку создаст в папке с программой файл Mypdf.pdf
Visual Basic
1
2
3
4
5
6
7
Private Sub Command1_Click()
sPath = App.Path & "\Mypdf.pdf"
BinaryData = LoadResData(101, "CUSTOM")
Open sPath For Binary Access Write As #1
Put #1, 1, BinaryData
Close #1
End Sub
Открыть этот файл или сохранить в любое место можно обычным способом, думаю знаете как.
0
saintjeka  [ТС]
-7
04.08.2013, 00:53
Открыть этот файл или сохранить в любое место можно обычным способом, думаю знаете как.
к сожалению нет

Добавлено через 39 минут
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Для вызова редактора ресурсов выбрать в меню Tools (Сервис) команду Resource Editor (Редактор ресурсов)
Добавить "CUSTOM" ресурс, это последняя иконка, к примеру файл Mypdf.pdf, сохранить файл ресурсов. Он автоматически подключиться к проекту.
Далее простой код который по нажатию на кнопку создаст в папке с программой файл Mypdf.pdf
Visual Basic
1
2
3
4
5
6
7
Private Sub Command1_Click()
sPath = App.Path & "\Mypdf.pdf"
BinaryData = LoadResData(101, "CUSTOM")
Open sPath For Binary Access Write As #1
Put #1, 1, BinaryData
Close #1
End Sub
Открыть этот файл или сохранить в любое место можно обычным способом, думаю знаете как.
Можно ли сделать что-бы при нажатии открыть, pdf скачивался туда где лежит ехе и сразу открывался, а при закрытии удалялся?!
Нужно что-бы пользователь при нажатии "открыть" не подозревал что файл скачался на диск.
Будьте добры,помогите - я в этом не асс.
0
 Аватар для Pro_grammer
6807
04.08.2013, 07:27
Цитата Сообщение от saintjeka Посмотреть сообщение
pdf скачивался туда где лежит ехе и сразу открывался, а при закрытии удалялся?!
Вот так
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Const SW_SHOWNORMAL = 1
 
 
Private Sub Command1_Click()
sPath = App.Path & "\Mypdf.pdf"
BinaryData = LoadResData(101, "CUSTOM")
Open sPath For Binary Access Write As #1
Put #1, 1, BinaryData
Close #1
 ShellExecute Me.hwnd, vbNullString, App.Path & "\Mypdf.pdf", vbNullString, "C:\", SW_SHOWNORMAL
 
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
Kill App.Path & "\Mypdf.pdf"
End Sub
Цитата Сообщение от saintjeka Посмотреть сообщение
что-бы пользователь при нажатии "открыть" не подозревал что файл скачался на диск.
Только это всё напрасно. В любой читалке PDF которая откроет файл есть меню, а там пункт "Сохранить как..."
Пользователь просто сохранит копию файла в любое место и будет им пользоваться как обычно.
1
 Аватар для Pro_grammer
6807
04.08.2013, 07:32
Вот готовый проект
Вложения
Тип файла: zip ресурс.zip (594.0 Кб, 37 просмотров)
0
 Аватар для Alex77755
11525
04.08.2013, 13:31
Только это всё напрасно
Тогда, может, стоит усложнить задачу:
Просмотреть файл из ресурса в самой программе без выгрузки на диск?
Как реализовать такое?
0
2062
04.08.2013, 14:17
Alex77755, что-то мне подсказывает, что без выгрузки из ресурса на диск мы не сможем открыть файл в программе, назначенной по умолчанию для открытия файлов данного формата.
По сути сам файл из ресурсов уже получен(BinaryData = LoadResData(101, "CUSTOM")), но вот чтобы просмотреть его прямо в программе придется писать свой просмотрщик PDF.
0
 Аватар для Pro_grammer
6807
04.08.2013, 14:54
Цитата Сообщение от The_Prist Посмотреть сообщение
придется писать свой просмотрщик PDF
Можно обычным компонентом Акробата, кода на 3 строчки. Просто отключить меню где сохранение файла. Тут другая проблема - если файл есть в ресурсах, то он по любому извлекается из них, различных RES - хакеров, редакторов существует навалом. По этому считаю в принципе способ хранения файла в ресурсах с целю сокрытия неперспективным - будет ваша программа извлекать PDF на диск или нет, значения не имеет.
0
Модератор
10068
04.08.2013, 15:01
Цитата Сообщение от Pro_grammer Посмотреть сообщение
По этому считаю в принципе способ хранения файла в ресурсах с целю сокрытия неперспективным - будет ваша программа извлекать PDF на диск или нет, значения не имеет.
Можно шифровать, тогда извелечь не так-то просто будет исходный документ
0
 Аватар для Pro_grammer
6807
04.08.2013, 15:21
Цитата Сообщение от The trick Посмотреть сообщение
извелечь не так-то просто будет
ну да, для неискушенного человека будет некоторое препятствие. Но опять же в виду того, что расшифровщик будет находиться в этой же программе и расшифровка перед показом, то препятствие не велико.
0
Модератор
10068
04.08.2013, 15:28
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Но опять же в виду того, что расшифровщик будет находиться в этой же программе и расшифровка перед показом, то препятствие не велико.
Если постараться любую программу можно взломать таким образом, так что универсального способа нет. Но не думаю что у ТС что-то там серьезное хранится, поэтому этот способ самый оптимальный.
0
 Аватар для Alex77755
11525
04.08.2013, 20:15
По сути сам файл из ресурсов уже получен
И как его впихнуть в контрол без выгрузки на диск?
0
 Аватар для Pro_grammer
6807
04.08.2013, 20:24
Цитата Сообщение от Alex77755 Посмотреть сообщение
впихнуть в контрол без выгрузки на диск
А смысл этого изврата, если это ни от чего не защищает?
0
 Аватар для Alex77755
11525
04.08.2013, 23:29
Просто интересует сам факт такой возможности: из памяти или из ресурса напрямую в контрол.
Как картинки, текст или звук.
На счёт защиты - я тоже такого же мнения: кому очень надо - взломают.
Но основная масса пользователей нет.

Добавлено через 1 минуту
Например диск защищён от записи.
0
Модератор
10068
05.08.2013, 00:00
Если компонент поддерживает загрузку из памяти, то можно. Например загрузка изображения из IStream в GDI+
Еще можно через CreateFile с параметрами FILE_ATTRIBUTE_TEMPORARY or FILE_FLAG_DELETE_ON_CLOSE
0
 Аватар для Pro_grammer
6807
05.08.2013, 06:54
Цитата Сообщение от Alex77755 Посмотреть сообщение
Например диск защищён от записи.
Компонент AcroPDF поддерживает загрузку только из файла. Не обязательно записывать в папку с программой - для временных файлов существует папка TEMP или любая другая в компьютере ( известная только вам). Исходный файл можно удалить сразу после его отображения в программе, так что воспользоваться этим файлом пользователь не сможет.
Слабым местом остается по прежнему сам файл ресурсов, если без шифрования.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 Аватар для raxper
raxper
30234
05.08.2013, 06:54

Можно ли в VB использовать внешний файл ресурсов&
Можно ли в VB использовать внешний файл ресурсов, т.е. не закомпилированный в EXE? Если можно то как? Помогите плз. Заранее благодарю...

Как в VB-6 добавить в файл ресурсов звук (.wav)?
Как в VB-6 добавить в файл ресурсов звук (.wav)?

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

Почему "ломается" файл wav после вытаскивания из ресурсов
Отправляю в Ресурсы рабочий wav, пытаюсь вытащить таким образом: Open "C:\0001.wav" For Binary As #1 Put #1, , LoadResData(101,...

как компилить файл *.cpp и файл ресурсов одной командой?
Друзья! Ну то есть щас я делаю такой батник: windres -o MENU.o MENU.rc g++ main.cpp MENU.o -o main.exe -mwindows -static rem А это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru