|
|
|
DOS-кодировка
|
|||
|---|---|---|---|
|
#18+
Короче, у мнея проблема((( я открываб txt, а он в DOS-кодировке поэтому, vba видит там каракули. что делать не знаю. Его как-то преобразовать надо в win-кодировку. Причём, видимо, это надо делать каждый раз при открытии. Помогите плз. Файл прилагаю. Код: plaintext Код: plaintext Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2008, 12:25 |
|
||
|
DOS-кодировка
|
|||
|---|---|---|---|
|
#18+
> Автор: PlanB > Короче, у мнея проблема((( > я открываб txt, а он в DOS-кодировке > поэтому, vba видит там каракули. что делать не знаю. Его как-то преобразовать надо > в win-кодировку. Причём, видимо, это надо делать каждый раз при открытии. > Помогите плз. Public Declare Function OemToChar Lib "user32" Alias "OemToCharA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long ? -- С уважением Горбонос Игорь Леонидович Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2008, 14:35 |
|
||
|
DOS-кодировка
|
|||
|---|---|---|---|
|
#18+
да я ж глупый!!!!!! зацени какую фигню я на поиск забивал. Мне надо избавиться от этого.. про OemToChar я чит. Только как это в данном коде применить я не знаю... сори я оформление Код: 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. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2008, 14:46 |
|
||
|
DOS-кодировка
|
|||
|---|---|---|---|
|
#18+
> Автор: PlanB > да я ж глупый!!!!!! Самокритика это хорошо, НО! Мне на первой странице ответил Оставил только цикл чтения и преобразования Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. З.Ы. Объявляй переменные явно -- С уважением Горбонос Игорь Леонидович Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2008, 15:31 |
|
||
|
DOS-кодировка
|
|||
|---|---|---|---|
|
#18+
PlanBда я ж глупый!!!!!! это не самокритика, а правда. Короче, не работает Можно разжевать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2008, 16:02 |
|
||
|
DOS-кодировка
|
|||
|---|---|---|---|
|
#18+
> Автор: PlanB [ ... Лирика и самоистязания опущены ;) ... ] > Короче, не работает Как не работает? Пишет ошибку? или просто ничего не преобразовывает? > Можно разжевать? Функция OemToChar предназначена для конвертации текста из ДОС-кодировки в ASCII-кодировку. В параметрах передается строка которая содержит текст в ДОС-кодировке, и строка, куда будет положен результат конвертации. Переменную под результат нужно перед использованием "инициализировать". Что и делается кодом: s1 = String(Len(ss), " ") Переменная s1 заполняется пробелами по кольчеству символов, которые содержатся в исходной строке. Переиначив код: Код: plaintext 1. 2. 3. 4. 5. и на примере твоего файла получаем: бм®Ј® Ї® 990 ЈагЇi сього по 990 групi Это где-то из конца файла. -- С уважением Горбонос Игорь Леонидович Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2008, 16:13 |
|
||
|
DOS-кодировка
|
|||
|---|---|---|---|
|
#18+
Код: plaintext это и не работает. Ошибка на Declare или на Lib. Я в этой строчке из знакомых слов только Function встретил))) Проще говоря, без Option Explicit я не обойдусь? Не люблю я переменные объявлять. И так в дедлайны не укладываюсь, а тут ещё смотреть какие переменные и где - вообще умрёшь Можно мне вариант "для лоха"))) Чтобы код скопировать и он работал?))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2008, 16:33 |
|
||
|
DOS-кодировка
|
|||
|---|---|---|---|
|
#18+
> Автор: PlanB > Public Declare Function OemToChar Lib "user32" Alias "OemToCharA" (ByVal lpszSrc As > String, ByVal lpszDst As String) As Long > это и не работает. Ошибка на Declare или на Lib. Я в этой строчке из знакомых слов > только Function встретил))) Поменяй квалификатор доступа с Public на Private. Я не обратил внимание что у тебя это в форме выполняется, а я делал в модуле > Проще говоря, без Option Explicit я не обойдусь? Не люблю я переменные объявлять. И > так в дедлайны не укладываюсь, а тут ещё смотреть какие переменные и где - вообще умрёшь Почитай Сопольски о венгерской нотации и немного попривыкнуть нужно. Потом будет просто. А после можно будет развиваться в этом направлении -- С уважением Горбонос Игорь Леонидович Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2008, 16:40 |
|
||
|
DOS-кодировка
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос Переменную под результат нужно перед использованием "инициализировать". Что и делается кодом: s1 = String(Len(ss), " ") Переусложненный код. Гораздо проще: s1 = ss ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2008, 17:34 |
|
||
|
DOS-кодировка
|
|||
|---|---|---|---|
|
#18+
> Автор: AndrF > Игорь Горбонос > > Переменную под результат нужно перед использованием > "инициализировать". Что и делается кодом: > s1 = String(Len(ss), " ") > > > Переусложненный код. Гораздо проще: > > s1 = ss Это до тех пор пока в тексте не встретится \0 сравни результат: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Это раз, а два в том, что открывая код 5-7 летней давности, и встречая такую строку я прекрасно понимаю что это делается именно для передачи этой строки параметром в АПИ функцию. А на простое присвоение я бы смотрел как баран на новые ворота и пытался бы понять тайный смысл "лишнего" действия. И удалил-бы "ненужную" строку. А потом с нецензурными выражениями на устах, восстанавливал-бы справедливость. Наверное просто привычка сказывается писать одинаково, что-бы потом можно было понять, а что собственно ты пИсал. > > ;) -- С уважением Горбонос Игорь Леонидович Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2008, 18:41 |
|
||
|
DOS-кодировка
|
|||
|---|---|---|---|
|
#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. возвращает пустую строку s после обращения к OemToChar, не меняет её на перекодированную ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2008, 10:10 |
|
||
|
DOS-кодировка
|
|||
|---|---|---|---|
|
#18+
> Автор: PlanB > > возвращает пустую строку s после обращения к OemToChar, не меняет её на > перекодированную :D Ты не поверишь, НО! Dim s As String, s1 As String в начале процедуры, спасут отца русской демократии ;)) -- С уважением Горбонос Игорь Леонидович Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2008, 10:45 |
|
||
|
DOS-кодировка
|
|||
|---|---|---|---|
|
#18+
Мда... Вроде и не жарко)) Не на что списать)) Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2008, 10:50 |
|
||
|
DOS-кодировка
|
|||
|---|---|---|---|
|
#18+
> Автор: PlanB > Мда... > Вроде и не жарко)) У кого как :)) У меня сейчас 36 по цельсию, правда в офисе градусов на 8-10 поменьше будет > Спасибо! Да всегда пожалуйста -- С уважением Горбонос Игорь Леонидович Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2008, 10:56 |
|
||
|
|

start [/forum/topic.php?fid=60&fpage=182&tid=2161945]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 368ms |

| 0 / 0 |
