|
|
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
Няшик, Так добавь проверку на конец слова сам в коде ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 19:51 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
alekcvpВ данном коде нет объявлений переменных, поэтому там может быть всё что угодно. Прилагаю Тестовый проект в котором возникает ошибка в метке "Err" на втором проходе внешнего цикла (i). В реальном проекте помогало разремливание строчки Код: pascal 1. Тут эта строка тоже выдает ошибку. ... открывать файл "file.tst" в каталоге проекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 22:31 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
Bellic, Во первых при диалоги открытии ты должен весь код засунуть в begin а не только извлечения имени файла. Во вторых, у тебя два символа первых будут указывать на $00 = 0 что ровно #0 и твоя строка RawString дальше не выведется. Пользуйся отладчиком. Ёмаё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 23:27 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
НяшикВо первых при диалоги открытии ты должен весь код засунуть в begin а не только извлечения имени файла. Няшик, Диалог - не суть вопроса, а просто подготовка!.. Это всеж Тестовый код, без проверок и прочего! Если для тебя это сейчас важно - подправь у себя: Код: pascal 1. 2. 3. 4. Тогда уже и " Try--Finally--End " добавь себе для полноты счастья!..))) ... я таки и смотрел все в отладчике! - Первый проход все нормально идет, как и запланировано! Не придирайся к упрощению - запусти отладчик и посмотри сам лучше! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 23:41 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
Няшик, там так и задумано - первый $00 = 0 и т.д. И все попадает и в массив и в RawString... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2018, 23:42 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. Нельзя таким образом приводить массив байт к строке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 00:30 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
BellicПоиск последовательности в бинарном массиве "Бинарный массив" - это что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 00:58 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU Код: pascal 1. Нельзя таким образом приводить массив байт к строкеТогда как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 01:04 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
чччД"Бинарный массив" - это что? Вообще то подразумевалось - BFile: TBytes; Но по совету Бывалых - уже давно на RawByteString перешли!..)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 01:07 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUНельзя таким образом приводить массив байт к строкеВообще - преобразование через Массив можно и исключить - он остался от реализации на TByte... И даже BFile: TBytes; - файл сразу прочитать в RawByteString... но смысл преобразования должен остаться! Видно мне еще мозгов не хватает, чтоб это преобразование (даже и не знаю как его назвать) сделать оптимально правильным..)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 01:20 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
Bellic, А теперь, открой диалог, и закрой его - словишь ошибку, отсутствия файла. Когда ты ничего не выбрал, но ты пытаешься открыть файл, читая переменную которая забита мусором. .... Ты в отладчике глянь что там за первый символ, не 0. А #0 конец строки! В начале строки. Вот так ошибок не будет Код: pascal 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 01:34 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
НяшикВот так ошибок не будет Достаточно так: Няшик Код: pascal 1. 2. И лесенка не нужна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 01:48 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
YuRock, Можно конечно же и так. Хотя в коде, разницы не будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 01:51 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
BellicВообще - преобразование через Массив можно и исключить - он остался от реализации на TByte... И даже BFile: TBytes; - файл сразу прочитать в RawByteString... но смысл преобразования должен остаться!Не нужны никакие "преобразования", ни разу. Сразу прочитать надо весь файл в один кусок памяти (TBytes, PByte, PAnsiChar, RawByteString - не важно) и дальше бегать по нему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 01:51 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
Точнее в ассемблер, коде ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 01:52 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
BellicSOFT FOR YOU Код: pascal 1. Нельзя таким образом приводить массив байт к строкеТогда как? Мне лень объяснять Сразу читай в строку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 09:43 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUМне лень объяснять Сразу читай в строку Дык напиши тогда хоть строку кода - о чем думаешь, без объяснений! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 12:10 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
Его код бред, он собирает по два символа Код: pascal 1. 2. Далее, он пытается перевести в Hex Код: pascal 1. Когда $00 = 0 и будет #0 (Конец строки) А что должно быть ? Притом, хоть он и берёт по два символа. Но он использует стандартный for Код: pascal 1. Что значит, что m будет + 1 и если мы вернёмся к заполнению SPSimvol то мы опять же пишем пред последний символ записанный, + 1 новый. Вместо выделения каких - то байт, мог бы выделить RawString и в неё писать по индексу. .......... Этот код никогда не в какой мере, не должен был работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 12:12 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
НяшикЭтот код никогда не в какой мере, не должен был работать. Ну не знаю.. Предложи конкретный вариант кода... А изначально, когда я еще пытался воспроизвести это на FileStream , там было сразу чтение 2-х байт: Код: pascal 1. 2. Ну и после верхний код как то сам навеял это: Код: pascal 1. 2. А твой вариант: Код: pascal 1. 2. и правда помог, но логичнее было бы вторую строку поставить до начала цикла m , потому что ниже с RawString -гом мне еще предстоит поработать! Но перенеся " PInteger(PByte(RawString) - 8)^ := 0; " выше цикла - получаем Ошибку! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 12:31 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
Bellic, Читай сразу в строку Что не понятного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 12:36 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
Bellic, Ты опять несёшь опять бред. 1) Если ты используешь чтение 2 байт, то и получишь что было 2) Твой Hex перевод, в связке с FileStream даст тоже самое, что у тебя уже есть 3) Читай внимательнее НяшикВместо выделения каких - то байт, мог бы выделить RawString и в неё писать по индексу. 4) Присвоения ссылок обязательна после, потому что ты присвоил массив байт. В котором ничего нету о количесте ссылок, и переменная RawString не на что не указывает, и у неё нет никакого счётчика = муссор = ERROR ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 12:38 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
НяшикКогда $00 = 0 и будет #0 (Конец строки) А что должно быть ? Няшик , а ты вижу - сам то брезгуешь глянуть что происходит с переменными в отладчике!? А еще загляни что внутри файла "file.txt"! А там записано "003132333435" и далее куча нулевых байт.. В Hexсе файл выглядит вот так: Код: pascal 1. И задача - прочитать по 2 байта и получить: 00 (тут чисто Ноль), 31h-символ "1", 32h-"2", 33h-"3", ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 12:42 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
Возможно и бред.. но все работает! Через 15 минут я останусь без света и компа, а вы все общими фразами кидаетесь, да оскорблениями! Просили тестовый код - вот он есть! По моему суть перекодировки прозрачна!? Ну может по вашему - не правильная! Возможно! Ни на чего не притендую, но мне было бы проще понят - увидев конкретный вариант замены "моих ошибочных" строк, на "ваши правильные"! А выражения типа "присваивай сразу в строку" - понятие растяжимое! Теперь я попрошу - приведите конкретный свой код, а не пустые слова! Справедливо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 12:50 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
Тебя никто не оскорблял, и тебе уже всем помогли. Не строй из себя бедного, лишь потому что до сих пор понять ничего не можешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 12:56 |
|
||
|
Поиск последовательности в бинарном массиве
|
|||
|---|---|---|---|
|
#18+
Няшик, там ноль и должен быть!!!! Разве нельзя его в RawByteString записать? Это вообще то подготовка к Поиску и Замене, которую мы уже реализовали по вашему предложению на РавБайтСтрингах и Пос! Кстати - нули в реале будут и в конце фраз Поиска и Замены! Это как то противоречит идеалогии RAW? ... Сижу без света...((( На мобиле..(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2018, 13:14 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39588247&tid=2041298]: |
0ms |
get settings: |
10ms |
get forum list: |
25ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
218ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
79ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 590ms |

| 0 / 0 |
