|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
|
Как можно программно сунуть файлы в архив22.10.2011, 14:53. Показов 7617. Ответов 44
Метки нет (Все метки)
0
|
|
| 22.10.2011, 14:53 | |
|
Ответы с готовыми решениями:
44
Кто-нибудь знает как можно программно заполнять (создавать) файлы справки Windows Сколько макс. оперативы сюда можно сунуть Как программно распаковать архив? |
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
|
| 26.10.2011, 09:12 [ТС] | |
|
0
|
|
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
||||
| 26.10.2011, 12:25 | ||||
Нужно ведь данные спрайта поместить в память или нет? Вот, файл с именем NUL это запись в память. А из памяти можно записать на диск (или прямо в архив, пример выше) под любым именем.
1
|
||||
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
|
| 26.10.2011, 14:55 [ТС] | |
|
Понятно, спасибо.
И еще вопрос. Что быстрее работает, запись в память или в файл функцией saveimage. Мне кажется что быстрее в память. Но может разницы и нет, и нет смысла записывать в память. Добавлено через 13 минут Ассемблерный код, как я понимаю, выделяет ячейку памяти, размером максимально допустимым(т.е. свободным). Дальше записывается код изображения, и только этот размер используется в памяти? Правильно?
0
|
|
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|||
| 26.10.2011, 15:16 | |||
|
Я в асме не очень хорошо разбираюсь, но судя по коду, производится подмена адреса функции в стеке и в место стандартной, вызывается процедура fwritef(), в которой выделяется память и записываются данные картинки в память, указатель на которую хранится в переменной mem.
1
|
|||
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
||||||||
| 26.10.2011, 15:31 [ТС] | ||||||||
Проверил я это тем, что узнал размер выделенной памяти до ассемблера, и после.
0
|
||||||||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|||
| 26.10.2011, 15:49 | |||
![]() Как определил? Столько не выделяется. ![]() Там ноль после выполнения асм кода и вообще, асм не изменяет эту переменную. Только что проверил - работает нормально для PNG рисунка, размером 140 КБ, было выделено 110 КБ памяти в которую был записан код рисунка.
1
|
|||
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
|||||||
| 26.10.2011, 17:12 [ТС] | |||||||
|
Вот так проверял
0
|
|||||||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
| 26.10.2011, 17:38 | |
|
У меня этот код выделяет примерно столько же памяти, сколько весит сам рисунок.
Но это естественно не 2 ГБ памяти.
1
|
|
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
|||||||||||
| 26.10.2011, 19:20 [ТС] | |||||||||||
|
А можно загрузить картинку из памяти.
Т.е.
Попробовал так
0
|
|||||||||||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|||||||
| 26.10.2011, 19:48 | |||||||
|
Ее нужно восстановить перед тем, как начать писать в файл.
1
|
|||||||
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
||||||
| 28.10.2011, 19:21 [ТС] | ||||||
|
Как очистить память адреса "nul".
Надо 2 раза подряд записать код одной картинки в память, потом из памяти в файл, и 2ой круг... Очищаю память так
0
|
||||||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
| 28.10.2011, 20:10 | |
|
1
|
|
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
||||||
| 29.10.2011, 17:30 [ТС] | ||||||
|
Пытаюсь сунуть картинку из банка в архив. Делаю так
Если функцию компрессии поставить перед асм кодом, то все работает. Что делать?
0
|
||||||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
||||||
| 29.10.2011, 18:01 | ||||||
|
Выше уже отвечал на этот вопрос Как можно программно сунуть файлы в архив
Нужно восстановить перехваченную функцию.
1
|
||||||
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
||||||
| 29.10.2011, 21:34 [ТС] | ||||||
|
Не получается из архива сунуть файл в память.
0
|
||||||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|||||||
| 29.10.2011, 21:52 | |||||||
1
|
|||||||
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
||
| 29.10.2011, 22:08 [ТС] | ||
|
Все равно возвращает -3. И пишет
А если программно засунут файл, то не получается. В архиве, файлы заархив. программно, в имени файла в конце стоит символ "*". Если заархив. файлы вручную, то звездочки нет. Видимо дело в этом.
0
|
||
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
| 29.10.2011, 22:18 | |
|
1
|
|
|
37 / 37 / 1
Регистрация: 07.09.2010
Сообщений: 752
|
|
| 29.10.2011, 22:33 [ТС] | |
|
Понял в чем проблема. Создавал архив в формате *zip. Вручную менял на *stl.
Всему виной это. Хотя странно, как это может повлиять. Добавлено через 6 минут А нет. Не в этом дело. Запускаю программу. Создаю в ней архив. Пихаю файл. Открываю архив(сколько угодно раз), все норм. Закрываю прогу. Открываю заного, открываю архив, все плохо, ответ -3.
0
|
|
|
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
|
|
| 29.10.2011, 22:37 | |
|
Возможно ошибка в коде проги, создающей архив.
1
|
|
| 29.10.2011, 22:37 | |
|
Помогаю со студенческими работами здесь
40
Как можно обойти проверку CRC или как можно распаковать поврежденный архив? Как программно создать архив, и засунуть туда файл Как программно незаметно создать zip/rar архив и отправить на хост?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Гайд, как ворваться в вайб-кодинг в мае 2026
Noname2331 17.05.2026
Простите за получившееся полотно текста, я даже не знаю, как его разбить на главы. Тут, что называется, ни добавить ни убавить, одна сцена одним дублем.
На моих глазах недавно случилось чудо. Как. . .
|
[golang] Алгоритм «Хак Госпера»
alhaos 17.05.2026
Алгоритм «Хак Госпера»
Хак Госпера (Gosper's Hack) — алгоритм нахождения следующего по величине числа с тем же количеством установленных бит.
Придуман Биллом Госпером в 1970-х, опубликован в. . .
|
Рисование бинарного древа до 6-го колена на js, svg.
russiannick 17.05.2026
<svg width="335" height="240" viewBox="0 0 335 240" fill="#e5e1bb">
<style>
<!]>
</ style>
<g id="bush">
</ g>
</ svg>
function fn(){
let rost;/ / высота древа
let xx=165,yy=210,w=256;
|
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов,
содержащихся в реализации модуля. По-умолчанию все члены модуля доступны:
module Foo
let x = 10
let boo () = printfn "boo"
. . .
|
|
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible". . .
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|