|
Поиск в TStream
|
|||
---|---|---|---|
#18+
Доброго дня господа ! Как Stream найти в Streamе (код бросьте пожалуйста) Framework 3.5 Типа InStr('hhh','ggghhhkkk')>0 Спасибо .... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2012, 17:56 |
|
Поиск в TStream
|
|||
---|---|---|---|
#18+
HOME_X, ты хотел сказать "как найти string в stream"? Оберни Stream в StreamReader, читай построчно из него с помощью метода ReadLine() и проверяй есть ли в ней нужная тебе подстрока. Только не с помощью InStr, а с помощью метода String.Contains(). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2012, 18:43 |
|
Поиск в TStream
|
|||
---|---|---|---|
#18+
bazileHOME_X, ты хотел сказать "как найти string в stream"? Оберни Stream в StreamReader, читай построчно из него с помощью метода ReadLine() и проверяй есть ли в ней нужная тебе подстрока. Только не с помощью InStr, а с помощью метода String.Contains(). В целом можно так .... а стандартный VB функций нету ? Хотелось бы конечно по STREAMу организовать поиск ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2012, 19:39 |
|
Поиск в TStream
|
|||
---|---|---|---|
#18+
HOME_XВ целом можно так .... а стандартный VB функций нету ? Хотелось бы конечно по STREAMу организовать поиск Базовая библиотека не обязана на каждый чих предоставлять специальную функцию. Нужна функция поиска в потоке - возьми и напиши. Кроме того, если ты хочешь стать хорошим специалистом по .NET, то забудь про VB функции, пользуйся функциями из BCL. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 00:01 |
|
Поиск в TStream
|
|||
---|---|---|---|
#18+
bazile, Да понимаешь не хотелось заниматься отсебятиной Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 17:31 |
|
Поиск в TStream
|
|||
---|---|---|---|
#18+
HOME_X, нежелание заниматься отсебятиной понимаю, но, повторюсь - базовая библиотека не должна и не будет содержать функции на все случаи жизни. Твоя функция очень простая и нет ничего страшного если ты напишешь её самостоятельно. В целом код подозрительный. Зачем ты в строку вставляешь нулевые символы? Такое подозрение что ты работаешь с файлом в кодировке utf-16 и делаешь это неправильно. Попробуй такой вариант: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Обрати внимание что я переименовал функцию так функция не "выполняет аттачмент", а только проверяет наличие определенного признака внутри потока. Кроме этого возможно имеет смысл переписать функцию так чтобы позиция в потоке не менялась после ее исполнения: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 19:08 |
|
Поиск в TStream
|
|||
---|---|---|---|
#18+
bazileЗачем ты в строку вставляешь нулевые символы? Такое подозрение что ты работаешь с файлом в кодировке utf-16 и делаешь это неправильно. Задача - найти в DOC файле вложения (WORD-->Вставка-->Объект-->Создание из файла ....) не активизируя приложение WORD !!!!! Ключом для поиска - есть слово O b j I n f o bazileпозиция в потоке не менялась после ее исполнения Принято ! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2012, 13:05 |
|
Поиск в TStream
|
|||
---|---|---|---|
#18+
bazile Const Si As String = "ObjInfo" Using sr As New StreamReader(sourceStream, Encoding.GetEncoding("UTF-16")) Работает ....! Спасибо за подсказку ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2012, 13:16 |
|
Поиск в TStream
|
|||
---|---|---|---|
#18+
HOME_X, А нельзя ли организовать поиск Byte по Byte У меня организован цикл перегрузки потока, хотелось бы без StreamReader Код: vbnet 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.
Cпасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2012, 17:12 |
|
Поиск в TStream
|
|||
---|---|---|---|
#18+
HOME_X, можно. Для этого тебе нужно получить последовательность байтов для строки в нужной кодировке (см. класс Encoding и его метод GetBytes()), затем написать поиск этих байтов в потоке не забывая, что искомая последовательность может попасть на границу буфера. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2012, 17:32 |
|
Поиск в TStream
|
|||
---|---|---|---|
#18+
bazileзатем написать поиск этих байтов в потоке не забывая, что искомая последовательность может попасть на границу буфера. Здесь не понял (чем именно организовать) - можно пример Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2012, 18:00 |
|
Поиск в TStream
|
|||
---|---|---|---|
#18+
bazileHOME_X, искомая последовательность может попасть на границу буфера. Согласен - малость гемор может получиться .....!!!! нужно держать старый и новый буфер ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2012, 18:07 |
|
Поиск в TStream
|
|||
---|---|---|---|
#18+
HOME_XЗдесь не понял (чем именно организовать) - можно пример Цикл воротить не хочеться- может есть системная функция ? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2012, 13:39 |
|
Поиск в TStream
|
|||
---|---|---|---|
#18+
HOME_XЦикл воротить не хочеться- может есть системная функция ? Системная функцию делающая что? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2012, 14:01 |
|
Поиск в TStream
|
|||
---|---|---|---|
#18+
bazileHOME_X, поиск этих байтов в потоке Или писать самостоятельно ? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2012, 14:24 |
|
Поиск в TStream
|
|||
---|---|---|---|
#18+
HOME_Xпоиск этих байтов в потоке ... Или писать самостоятельно ? Такой функции нет. Напиши сам. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2012, 14:40 |
|
Поиск в TStream
|
|||
---|---|---|---|
#18+
bazileТакой функции нет. Напиши сам. Принято ! Спасибо - изобразил ... Еще момент - можно ли избежать дублирования процесса Алгоритм работы такой 1. Выполнение запроса 2. Копирование в временной стреам 3. Во время копирования идет проверка на наличие символов (IsFind=True) 4. Если IsFind=True - создаем указатель на файл по одному пути IsFind=False - создаем указатель на файл по другому пути 5. Копирование временного стреама в файловый стреам (это пункт хотелось бы избежать) Код: vbnet 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.
CopyStream(Main, fsList) - лишнее копирование хотелось бы избежать Спасибо .... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2012, 13:00 |
|
Поиск в TStream
|
|||
---|---|---|---|
#18+
HOME_X[ CopyStream(Main, fsList) - лишнее копирование хотелось бы избежать Спасибо .... Т.е. - хотелось бы сразу копировать во файловый стреам (а путь иметь возможность переопрделить) Или переносить файл по факту закрытия стреам (не красивое решение) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2012, 13:02 |
|
|
start [/forum/topic.php?fid=20&fpage=184&tid=1405512]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 168ms |
0 / 0 |