Вопрос по кодам символов
От: Zheka Литва  
Дата: 09.05.03 08:48
Оценка:
Приветствую.
Впал в жуткое недоразумение вот по какому вопросу:
Сразу говорю: Вижуал бейсик:
На сервере лежит текстовый файл, который я извлекаю в переменную и пытаюсь записать на диск.
Система выдаёт: Invalid procedure call or argument на Write объекта FileSystemObject.
Хм.... Теперь пишу посимвольно. Реакция: слетает на символе "?", указывая его код 63 (программно повотчил)
Смотрю оригинал на сервере и что записалось локально: мы запоролись на символе с кодом 178. Прога его не видит, признавая за "?" Причём, попытка сравнить с самим "?" или его кодом,или даже с кодом 178 ни к чему не привела...
Всякие S = Replace(S, Chr(178), "&#178") и S = Replace(S, Chr(63), "&#63") не делают погоду вообще.


For i = 1 To Len(S)

  w = Mid(S, i, 1)
  q = Asc(w)
  If q = 63 Then
    ' Сюдым мы в условии попали
    w = Replace(w, Chr(63), "&#63") ' не заменилось!!!
    If w <> Chr(Asc(w)) Then MsgBox "НЕ РАВНО!!!"
  End If
      
  ToSave.Write w ' тут мы стопоримся на ошибке "Invalid procedure call or argument".
Next



Символ не равен самому себе, преобразованному в его код и обратно в символ!!!
причём: Asc(w) выдаёт 63...
Копипаст влоб символа из оригинала при сравнении даёт положительный результат...
Причём Asc утверждает, что это символ с кодом 95 (подчёркивание)...
Где грабли?

P.S. Мне пора в дурку.... Первый раз с таким глюкалом встретился....
Кстати, такого бзика нет, если извлечть данные из файла локально, а не сервера....
А данные с утра ушли на базу...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.