|
|
|
удаление, замена строк
|
|||
|---|---|---|---|
|
#18+
мне нужно удалить строку если длина строки < 2 и есть символ нашел в инете код (см ниже), работает, но очень долго ~6мин на 2Мб текстовом файле. вопрос - можно ли както ускорить выполнение, если я точно знаю что символ находится в предпоследней строке. в последней vbCrLf. как быстро перейти на предпоследнюю строку проверить и если удовл условию удалить строку. Dim fso, a, f, retstring, retstream Const ForReading = 1, ForWriting = 2 Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFile("d:\config.sys") Set a = f.OpenAsTextStream(ForReading, False) Do While a.AtEndOfStream <> True retstring = a.ReadLine If retstring Like "files*" Then retstring = "fileshigh=200" End If retstream = retstream & retstring & vbCrLf Loop a.Close Set a = f.OpenAsTextStream(ForWriting, False) a.Write retstream a.Close ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 13:31 |
|
||
|
удаление, замена строк
|
|||
|---|---|---|---|
|
#18+
garкак быстро перейти на предпоследнюю строкуэто надо написать перед циклом Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 15:22 |
|
||
|
удаление, замена строк
|
|||
|---|---|---|---|
|
#18+
спасибо, но оставляет 2 последних байта :) видать чтото не то делаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 15:32 |
|
||
|
удаление, замена строк
|
|||
|---|---|---|---|
|
#18+
пардон. не байта, а последнюю строку в файле. все выше удаляется, а жаль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 15:34 |
|
||
|
удаление, замена строк
|
|||
|---|---|---|---|
|
#18+
тогда нужны два цикла первый на проверку а второй с новым условием если нашёл, то перезаписываешь без этой строки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 16:08 |
|
||
|
удаление, замена строк
|
|||
|---|---|---|---|
|
#18+
garмне нужно удалить строку если длина строки < 2 и есть символ наверняка можно и проще, но работает Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 16:37 |
|
||
|
удаление, замена строк
|
|||
|---|---|---|---|
|
#18+
gar я тут ошибся во втором цикле, код надо заменить Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 16:46 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34878379&tid=2163234]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
134ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 430ms |

| 0 / 0 |
