|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
Ципихович Эндрю,Ципихович Эндрюстранно что ключи в столбик два штуки подряд одинаковые, Ваден-Баден???Если так напрягает, то закомментируйте строку Код: plaintext
Ципихович ЭндрюГлавное, никакой автоматизации как этим пользоваться без этой интермедии, то есть есть файл - макрос испортить файл, макрос испорченный файл исправить??Хчешь быть счастливым, - будь им.(с)Козьма Прутков Надо макрос "испортить файл/испорченный файл исправить", - напишите. Кто ж не даёт? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2011, 16:24 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
скукотищаХ о чешь быть счастливым, - будь им.(с)Козьма Прутков Надо макрос "испортить файл/испорченный файл исправить", - напишите. Кто ж не даёт? Тряхнул стариной : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48.
Вопрос назрел, перед испорчением можно его, код сохранить там внутри, наподобии ActiveDocument.Variables.Add "Код", сам код А затем его перед восстановлением взять оттуда и восстановить 2 Какова вероятность, что код кто то подберёт??? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2011, 17:15 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
Ципихович Эндрю, сохранить можно запросто, а вот "взять оттуда перед восстановлением" уже будет несколько проблематично. Т.к. чтобы добраться до ActiveDocument.Variables надо этот "ActiveDocument" открыть в Word. По поводу того, что "кто то код подберет" вразумительного ответа дать не могу, т.к. не знаю, что хранится в первых пяти байтах вордовского документа. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2011, 17:27 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
скукотища, понял, спасибо, так и не понял, можно файлы портить устанавливая свой код для дальнейшего восстановления??? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2011, 18:58 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
Ципихович Эндрю, можно, конечно. Но это будет уже другая история(с). Найдте в себе силы, разберитесь, ЧТО ИМЕННО делают функция cutfile и процедура restorefile. Бездумное копирование ничего Вам не даст... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2011, 19:03 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
скукотища, ОК, начинаю разбираться, если что спрошу ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2011, 19:21 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
я конечно подддаюсь обучению, но не до такой же степени, первый тычёк подскажите пожалуйста строка f = FreeFile что делает, что такое "FreeFile", её проходишь f = 1 ??????? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2011, 19:34 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
Ципихович Эндрю, встроенная справка - великая силаFreeFile Function Returns an Integer representing the next file number available for use by the Open statement. Syntax FreeFile[(rangenumber)] The optional rangenumber argument is a Variant that specifies the range from which the next free file number is to be returned. Specify a 0 (default) to return a file number in the range 1 – 255, inclusive. Specify a 1 to return a file number in the range 256 – 511. Remarks Use FreeFile to supply a file number that is not already in use. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2011, 21:33 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
скукотища, гугл выручает: Функция FreeFile Возвращает целое число, представляющее следующий номер файла доступны для использования в заявлении "Открыть". Синтаксис FreeFile [(rangenumber)] Дополнительный аргумент rangenumber является вариант, который определяет диапазон, из которого следующий свободный номер файла должен быть возвращен. Укажите 0 (по умолчанию), чтобы вернуть файл число в диапазоне 1 - 255, включительно. Укажите 1, чтобы вернуться номер файла в диапазоне 256 - 511. Замечания Используйте FreeFile на поставку номер файла, который уже не используется. Сейчас буду разбираться Что придумал, после закрытия файла - автоматом портим его, а по открытию автоматом вызываем форму, ту которая появляется если файл был бы запаролен. Юзер увидел форму, побежал к знакомому, мол узнай код файла. Тот в недоумении нет кода. Класс?? Вопрос как Вам эта мысль??? Понятно, что в зависимости от квалификации друга у юзера он может понять, как поймёт???, как отличит??? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2011, 06:00 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
нмного прояснилось, подскажите пожалуйста, не пойму откуда в сроке: Get f, i, b берётся b?? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2011, 19:23 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
Ципихович Эндрю, скукотищаЦипихович Эндрю, встроенная справка - великая сила GetGet Statement Reads data from an open disk file into a variable. Syntax Get [#]filenumber, [recnumber], varname The Get statement syntax has these parts: Part Description filenumber Required. Any valid file number. recnumber Optional. Variant (Long). Record number (Random mode files) or byte number (Binary mode files) at which reading begins. varname Required. Valid variable name into which data is read. Remarks Data read with Get is usually written to a file with Put. The first record or byte in a file is at position 1, the second record or byte is at position 2, and so on. If you omit recnumber, the next record or byte following the last Get or Put statement (or pointed to by the last Seek function) is read. You must include delimiting commas, for example: Get #4,,FileBuffer Если что и непонятно - то только ваш вопрос. Поскольку "переменной b" там "браться откуда-то" незачем. GET - это процедура, которая (в вашем случае) помещает увквзанный байт из файла в эту переменную ... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2011, 19:50 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
AndreTM, да уж справка великая сила, итак GET, гугл тут как тут: Получить Заявление Читает данные из открытого файла на диске в переменную. Синтаксис Получить [#] НомерФайла, [recnumber], VarName Получить заявление синтаксис этих частей: Часть Описание Номер_файла обязательно. Любой допустимый номер файла. recnumber Факультативного. Variant (Long). Рекордное число (Случайные файлы режиме) или номер байта (двоичные файлы режиме), при которой начинается чтение. VarName обязательно. Допустимое имя переменной, в которой данные считываются. Замечания Данные, считываемые с Получите, обычно записываются в файл с нанесенными. Первая запись или байт в файле находится в позиции 1, вторая запись или байт в положение 2, и так далее. Если вы опустите recnumber, следующая запись или байт, следующий за последним Получить или положить заявление (или, на который указывает последняя функция Seek) читается. Вы должны включить разграничения запятыми, например: Получить # 4,, FileBuffe Где Вы это всё ищете? Далее чтобы не утомлять ищу в справке ВБА Put - Поиск не дал результатов, так же как и Get горе Одним словом всё равно пока не доходит В то же время после строки Open sFN For Binary As #f вставил Код: plaintext 1. 2. 3.
Странно, в этот момент на панели задач было два файла Ворд не считая того что я так и не понял строкой Open sFN For Binary As #f я его открыл ли? Нужны подсказки, пожалуйста ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2011, 20:50 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
Эндрю, вам же советовали: ЗЫ: знание, хотя бы зачаточное, английского - обязательно.Добавлю: собственое знание , а не умение "переводить электронными переводчиками". Кроме того, начните уже разбираться в коде, а не постоянно использовать готовый. Мыслите алгоритмами, а не кусками кода VBA. Я вот специально "не стал замечать" кое-какие фичи в приведённом вам Скуткотищей примере. Ибо сам грешен тем же... Ну и по вашему последнему вопросу - а с какого перепугу вы решили, что процедура OPEN [#] имеет отношение к Application.Open()? Низкоуровневый доступ к любому файлу в ФС, и открытие приложением собственного хранилища данных - это как бэ две разные вещи... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2011, 22:30 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
AndreTMЯ вот специально "не стал замечать" кое-какие фичи в приведённом вам Скуткотищей примере Уажаемый Скуткотища, есть код без фичи, может там что пойму, спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2011, 04:42 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
Ципихович Эндрю, слона то я и не заметил фич в вышеприведенном коде не наблюдаю. Там всё просто, как двери. Открыть файл, считать байт, обнулить байт, преобразовать число в его шестадцатеричное представление, соединить строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2011, 07:58 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
скукотища, и как в эту ясность: Открыть файл, считать байт, обнулить байт, преобразовать число в его шестадцатеричное представление, соединить строки. Втиснуть: чтобы не мне выдавало код, а я заказывал его Увы для меня, это не почти тоже самое, что 2+2+2=2*3 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2011, 19:19 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
а почему именно в шестадцатеричное представление??? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2011, 19:20 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
Ципихович Эндрюскукотища, и как в эту ясность: Открыть файл, ... Втиснуть: чтобы не мне выдавало код, ...Не код! Первые пять байт файла... Ципихович Эндрю..., а я заказывал егоДля начала, - определиться с методом "шифрования". Ципихович Эндрюа почему именно в шестадцатеричное представление??? Решил результат сохранять в строковой переменной. Для данной задачи (сохранить пять первых байт вордовского документа) Hex(x) понравилось больше, чем Format(x,"000") или конкатенация с разделителем. Всё изложенное - сугубо имхо. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2011, 21:36 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
скукотища, И будем ещё говорить, что не было особенностей? Ладно, распишу "фичи" для ЦЭ (сугубое ИМХО, и если меня поправите - не обижусь) Итак Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
С точки зрения программиста - код почти идеален (ну, можно было еще добавить параметрами количество байт, вид операции замены...) С точки зрения нуба - "код делает что-то, но в тонкости мы не вдаёмся". Так что я остаюсь на своей позиции - надо учить пониманию алгоритмов, а не давать готовые примеры. Иначе... - будем иметь новую Висту ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2011, 01:12 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
AndreTM, Код: plaintext 1. 2. 3.
ОФФ:AndreTM Код: plaintext 1.
AndreTMТак что я остаюсь на своей позиции - надо учить пониманию алгоритмов, а не давать готовые примерыДля меня "готовые примеры" всегда были лучшим пособием для "понимания алгоритмов". Не знаешь, что делает та или иная встроенная функция, - RTFM, не понимаешь, КАК работает тот или иной участок кода, - дебаггер в зубы и вперед за орденами... А когда уж совсем туго, - к людям за сочувствием. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2011, 01:52 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
скукотища, Ага, по поводу OPEN - исправляюсь. Но написано-то было не для нас, а для них... А вот другой камент надо прямо ЦЭ и демонстрировать: RTFM->Debugger->Forum. Вместо "What is shit?"->Forum->Flame ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2011, 02:43 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
AndreTM, ПОНЯЛ, надо в строке: Код: plaintext 1. 2. 3.
Код: plaintext 1. 2.
тогда когда исправляю файл, на строке Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2011, 07:32 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
1 - это число, надо (хотя и непринципиально) Код: plaintext
Ну и кроме того, пять байт в шестнадцатиричном символьном формате - это строка из десяти сиволов, а вы пытаетесь подпихнуть для обратного преобразования строку всего из пяти символов. Вот при i=4 и получаем CByte("&H") , что интерпретатору непонятно... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2011, 14:48 |
|
[vb6.0 ]отрезаем фрагмент файла
|
|||
---|---|---|---|
#18+
AndreTM, КАК КАЧЕЛИ ТО ПОНЯТНО ТО НЕ ОЧЕНЬ ПОДСКАЖИТЕ ПОЖАЛУЙСТА, КАК УКАЗАТЬ КОД, А ПОТОМ СОГЛАСНО ЕГО "ПОВРЕДИТЬ" ФАЙЛ ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2011, 19:49 |
|
|
start [/forum/topic.php?fid=60&msg=37174326&tid=2158854]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 139ms |
0 / 0 |