Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
CENTNER Гость
|
Добавлено: Сб Сен 17, 2005 7:06 pm Заголовок сообщения: hex-редактор |
|
|
Извените что немного не в тему, посоветуйте хороший hex-редактор, с возможностью автоматического удаления нулей, или по крайне мере в котором иожно это сделать явно указав их. А то попробовал несколько а там надо все ручками  |
|
Вернуться к началу |
|
 |
SergeyK
Зарегистрирован: 02.12.2003 Сообщения: 1278
|
Добавлено: Сб Сен 17, 2005 9:03 pm Заголовок сообщения: |
|
|
Зачем это нужно? _________________ Всю ночь не ешь, весь день не спишь. Конечно, устаешь... |
|
Вернуться к началу |
|
 |
Гость
|
Добавлено: Сб Сен 17, 2005 9:39 pm Заголовок сообщения: |
|
|
Для уменьшения размеров файла соответственно |
|
Вернуться к началу |
|
 |
SergeyK
Зарегистрирован: 02.12.2003 Сообщения: 1278
|
Добавлено: Вс Сен 18, 2005 12:01 am Заголовок сообщения: |
|
|
Для этих целей существуют стандартные обрезалки файлов. _________________ Всю ночь не ешь, весь день не спишь. Конечно, устаешь... |
|
Вернуться к началу |
|
 |
CENTNER Гость
|
Добавлено: Вс Сен 18, 2005 10:52 am Заголовок сообщения: |
|
|
Посоветуйте парочку  |
|
Вернуться к началу |
|
 |
SergeyK
Зарегистрирован: 02.12.2003 Сообщения: 1278
|
Добавлено: Вс Сен 18, 2005 12:19 pm Заголовок сообщения: |
|
|
Я по старинке пользуюсь splitru. _________________ Всю ночь не ешь, весь день не спишь. Конечно, устаешь... |
|
Вернуться к началу |
|
 |
CENTNER Гость
|
Добавлено: Вс Сен 18, 2005 3:02 pm Заголовок сообщения: |
|
|
Cпасибо, но это мне, к сожалению, ни о чем не говорит
Есть что-нибудь, с дружественным интерфейсом?  |
|
Вернуться к началу |
|
 |
SergeyK
Зарегистрирован: 02.12.2003 Сообщения: 1278
|
Добавлено: Вс Сен 18, 2005 5:58 pm Заголовок сообщения: |
|
|
А там он враждебный? _________________ Всю ночь не ешь, весь день не спишь. Конечно, устаешь... |
|
Вернуться к началу |
|
 |
Гость
|
Добавлено: Вс Сен 18, 2005 6:19 pm Заголовок сообщения: |
|
|
Может и нет, но незадача в том что ни ундекс ни гугл, не говорят об этом ничего хорошего (в осле тоже нет)  |
|
Вернуться к началу |
|
 |
Axel Советник

Зарегистрирован: 14.11.2003 Сообщения: 680
|
Добавлено: Вс Сен 18, 2005 7:20 pm Заголовок сообщения: |
|
|
делай раз
excel --> Service --> Macros -->VB Editor -->Add Module
делай два
вставляй
Код: |
Sub FileTrimmer()
Dim s As String
Dim i As Long
Dim x As Long
Dim FreeSpaceStartAddr As Long
Dim InputFileName As String
Dim OutputFileName As String
Dim InputROMBody() As Byte
InputFileName = InputBox("Какой файл читать ?", "InFile name?")
If Dir(InputFileName) = "" Then
Exit Sub
End If
OutputFileName = InputBox("Куда файл писать ?", "OutFile name?")
If Dir(OutputFileName) <> "" Then
Kill OutputFileName
End If
Open InputFileName For Binary As 1
ReDim InputROMBody(1 To LOF(1))
Get #1, , InputROMBody
Close
'пойдем искать пустое место начиная сзада :)
'попробуем, если "пустота" это нолик
FreeSpaceStartAddr = UBound(InputROMBody)
For i = UBound(InputROMBody) To LBound(InputROMBody) Step -1
If InputROMBody(i) <> 0 Then
FreeSpaceStartAddr = i + 1
Exit For
End If
Next
x = FreeSpaceStartAddr
'попробуем, если "пустота" это &HFF
FreeSpaceStartAddr = UBound(InputROMBody)
For i = UBound(InputROMBody) To LBound(InputROMBody) Step -1
If InputROMBody(i) <> &HFF Then
FreeSpaceStartAddr = i + 1
Exit For
End If
Next
'какая пустота более пустая ?
If x < FreeSpaceStartAddr Then
FreeSpaceStartAddr = x
End If
s = StrConv(InputROMBody, vbUnicode)
s = Mid(s, 1, FreeSpaceStartAddr - 1)
Open OutputFileName For Binary As 1
Put #1, , s
Close
MsgBox "Done!"
End Sub
|
делай три
закрой окно редактора макросов
делай четыре
excel --> Service --> Macros --> Run Macros -->FileTrimmer -->run
правильно ответишь на два вопроса, получишь пирожок  _________________ Всех их вместе переведём! |
|
Вернуться к началу |
|
 |
SergeyK
Зарегистрирован: 02.12.2003 Сообщения: 1278
|
Добавлено: Пн Сен 19, 2005 2:50 am Заголовок сообщения: |
|
|
Вот это грамотно! Молодца  _________________ Всю ночь не ешь, весь день не спишь. Конечно, устаешь... |
|
Вернуться к началу |
|
 |
АнС RRC2008


Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Пн Сен 19, 2005 9:51 pm Заголовок сообщения: |
|
|
Axel писал(а): | делай раз
excel --> Service --> Macros -->VB Editor -->Add Module
|
Ага, но перед этим:
Делай ноль: заработай штуку баксов и купи MS Office. :)
Не, программирование - это хорошо, но такую фичу я точно где-то видел - то ли в Axe, то ли в HexWorkshop. |
|
Вернуться к началу |
|
 |
Гость
|
Добавлено: Пн Сен 19, 2005 11:21 pm Заголовок сообщения: |
|
|
Сунул ему xas файлик забитый нулями (к примеру), он сказал done! и я получил файл такой же как и в начале  |
|
Вернуться к началу |
|
 |
Axel Советник

Зарегистрирован: 14.11.2003 Сообщения: 680
|
Добавлено: Вт Сен 20, 2005 8:06 am Заголовок сообщения: |
|
|
АнС писал(а): | Axel писал(а): | делай раз
excel --> Service --> Macros -->VB Editor -->Add Module
|
Ага, но перед этим:
Делай ноль: заработай штуку баксов и купи MS Office. :)
Не, программирование - это хорошо, но такую фичу я точно где-то видел - то ли в Axe, то ли в HexWorkshop. |
АнС, в OpenOffice тоже есть макросы... и тоже на васике, не совсем VB
но алгоритм-то "тупой, ещё тупее"...
...вспоминается анекдот - "... и эти люди запрещают мне ковыряться в носу"  _________________ Всех их вместе переведём! |
|
Вернуться к началу |
|
 |
GD RRC2008


Зарегистрирован: 30.11.2005 Сообщения: 93
|
Добавлено: Ср Ноя 30, 2005 2:24 am Заголовок сообщения: |
|
|
Цитата: | делай раз
excel --> Service --> Macros -->VB Editor -->Add Module
делай два
вставляй
Код:
Sub FileTrimmer()
Dim s As String
Dim i As Long
Dim x As Long
Dim FreeSpaceStartAddr As Long
Dim InputFileName As String
Dim OutputFileName As String
Dim InputROMBody() As Byte
InputFileName = InputBox("Какой файл читать ?", "InFile name?")
If Dir(InputFileName) = "" Then
Exit Sub
End If
OutputFileName = InputBox("Куда файл писать ?", "OutFile name?")
If Dir(OutputFileName) <> "" Then
Kill OutputFileName
End If
Open InputFileName For Binary As 1
ReDim InputROMBody(1 To LOF(1))
Get #1, , InputROMBody
Close
'пойдем искать пустое место начиная сзада
'попробуем, если "пустота" это нолик
FreeSpaceStartAddr = UBound(InputROMBody)
For i = UBound(InputROMBody) To LBound(InputROMBody) Step -1
If InputROMBody(i) <> 0 Then
FreeSpaceStartAddr = i + 1
Exit For
End If
Next
x = FreeSpaceStartAddr
'попробуем, если "пустота" это &HFF
FreeSpaceStartAddr = UBound(InputROMBody)
For i = UBound(InputROMBody) To LBound(InputROMBody) Step -1
If InputROMBody(i) <> &HFF Then
FreeSpaceStartAddr = i + 1
Exit For
End If
Next
'какая пустота более пустая ?
If x < FreeSpaceStartAddr Then
FreeSpaceStartAddr = x
End If
s = StrConv(InputROMBody, vbUnicode)
s = Mid(s, 1, FreeSpaceStartAddr - 1)
Open OutputFileName For Binary As 1
Put #1, , s
Close
MsgBox "Done!"
End Sub
делай три
закрой окно редактора макросов
делай четыре
excel --> Service --> Macros --> Run Macros -->FileTrimmer -->run
правильно ответишь на два вопроса, получишь пирожок Wink |
!!!!!РУЛЬНО!!!!!
Надо попробовать.
Отвечу на счёт редактора по моему Hexecute-3.0-RC7 вполне хороший
попробуй его. |
|
Вернуться к началу |
|
 |
|