Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
duk
-
- Начинающий

-
-
- Сообщения: 4
- Зарегистрирован: 31.07.2003 (Чт) 14:59
- Откуда: Russia
duk » 12.08.2003 (Вт) 12:27
Такая ситуация
Есть перменная qwer='Дмитрий'
Надо создать текстовый файл с содержимым 'Дмитрий' в ASCII кодировке
Пробовал делать OpentextFile и CreateTextFile, указывая, что открывать(создавать) его следует именно как ASCII. С помощью write добавляю туда qwer. Но текст туда заносится как ANSI. Я, конечно, начинающий в VB. Может чего и не догоняю. Может кто-нибудь код приведет?
-
Boris_BGB
-
- Флудер-Энтузиаст

-
-
- Сообщения: 661
- Зарегистрирован: 11.12.2002 (Ср) 11:41
-
Boris_BGB » 12.08.2003 (Вт) 12:37
Помоему ASCII это символьная таблица для привязки к клавишам? Или я глючу?
-
RayShade
-
- Scarmarked

-

-
- Сообщения: 5511
- Зарегистрирован: 02.12.2002 (Пн) 17:11
- Откуда: Russia, Saint-Petersburg
-
RayShade » 12.08.2003 (Вт) 12:43
Ты не то что глючишь а по моему это... плющит тебя

Всего причем.
Это кодировка. В Windows есть API для перевода ASCII в ANSI и обратно. Называются ANSIToOEM OEMToANSI по моему. MSDN почитайте в общем.
-
Георгий
-
- Продвинутый пользователь

-
-
- Сообщения: 126
- Зарегистрирован: 08.08.2003 (Пт) 15:08
- Откуда: Россия
-
Георгий » 12.08.2003 (Вт) 12:56
ИМХО, то, что тут названо ASCII и ANSI должно быть названно DOS и
WIN кодировки. Перерекодировать скорее всего придется в ручную... Составь таблицу соответствия символов и перед выводом пропускай текст через процедурку, которая дубет перекодировать:
примерно так:
- Код: Выделить всё
Const ANSI = "АБВГДЕЖ..."
Const ASCII =chr(<код символа "А" в досе>)+chr(<код символа "B" в досе>)
Function trans (s as String) as String
Dim ss as string
ss=""
For i = 1 to Len (s)
ss=ss+Mid(ASCII,InStr(1,ANSI,Mid(s,i,1)),1)
Next i
End function
ТЕкст кода приблизительный

(Не проверялся)
Origin - это что?
-
Георгий
-
- Продвинутый пользователь

-
-
- Сообщения: 126
- Зарегистрирован: 08.08.2003 (Пт) 15:08
- Откуда: Россия
-
Георгий » 12.08.2003 (Вт) 12:57
Мды прикольно получилось

Origin - это что?
-
duk
-
- Начинающий

-
-
- Сообщения: 4
- Зарегистрирован: 31.07.2003 (Чт) 14:59
- Откуда: Russia
duk » 12.08.2003 (Вт) 13:20
Мне интересно, а что никто до этого никто такой проблемой не озадачивался? Неужели нет ничего до ужаса простого и стандартного?
-
RayShade
-
- Scarmarked

-

-
- Сообщения: 5511
- Зарегистрирован: 02.12.2002 (Пн) 17:11
- Откуда: Russia, Saint-Petersburg
-
RayShade » 12.08.2003 (Вт) 13:24
Ты что читать не умеешь?

Написано же есть апи для конвертации.
-
GSerg
-
- Шаман

-
-
- Сообщения: 14286
- Зарегистрирован: 14.12.2002 (Сб) 5:25
- Откуда: Магадан
GSerg » 13.08.2003 (Ср) 7:26
Действительно, есть... Только называются чуть иначе...
- Код: Выделить всё
Option Explicit
Private Declare Function OemToCharBuff Lib "user32.dll" Alias "OemToCharBuffA" (ByVal lpszSrc As String, ByVal lpszDst As String, ByVal cchDstLength As Long) As Long
Private Declare Function CharToOemBuff Lib "user32.dll" Alias "CharToOemBuffA" (ByVal lpszSrc As String, ByVal lpszDst As String, ByVal cchDstLength As Long) As Long
Private Sub Form_Load()
Dim a As String
a = "абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
CharToOemBuff a, a, Len(a)
MsgBox a, vbInformation, "Конвертнули из Винды в Дос"
OemToCharBuff a, a, Len(a)
MsgBox a, vbInformation, "А теперь обратно"
End Sub
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: Google-бот, Majestic-12 [Bot], SemrushBot, Yandex-бот и гости: 1