Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.79/19: Рейтинг темы: голосов - 19, средняя оценка - 4.79
62 / 5 / 0
Регистрация: 27.02.2023
Сообщений: 128

Изменить кодировку текста в поле Text1 на VB6

20.03.2024, 10:00. Показов 4501. Ответов 63
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужен код, при нажатии на кнопку Command1 (UTF-8) или Command2 (Win-1251)
меняется кодировка текста в поле Text1.



[Пример формы]
Миниатюры
Изменить кодировку текста в поле Text1 на VB6  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.03.2024, 10:00
Ответы с готовыми решениями:

Как снять выделение текста в текстовом поле (Text1) при нажатии на кнопку в VB
Есть текстовое поле Text1 и кнопка Command1 я выделил текст мышкой и мне нужно снять выделенный текст при нажатии на кнопку. пытался...

Изменить кодировку в поле вывода ХТМЛ
При открытии большинства страниц, информация отображается нормально. Но у нужной мне страницы нет заголовков, в результате кодировка...

Изменить кодировку текста
по умолчанию Visual Studio 2010 в C#-проекте кодирует строки в Unicode, то есть каждый символ весит 2 байта. Как изменить на ANSI, чтобы...

63
932 / 365 / 43
Регистрация: 10.05.2021
Сообщений: 1,564
Записей в блоге: 10
28.03.2024, 16:22
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от SergioJek Посмотреть сообщение
А кто то так заступался за кого то?
вот именно. Если было желание, то ещё по моей ссылке из #2 можно было взять апишку для перегона из чего угодно во что угодно. С примером использования, прошу заметить.
Но нет — разжуй бесплатно всё до атомов. Тут даже базы нет (или лень просто)

Вот пусть нянчится теперь
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
29.03.2024, 14:17
Лучший ответ Сообщение было отмечено Alexnet84 как решение

Решение

Visual Basic
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
Option Explicit
 
Private Declare Function WideCharToMultiByte Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByVal lpMultiByteStr As Long, ByVal cbMultiByte As Long, ByVal lpDefaultChar As Long, ByVal lpUsedDefaultChar As Long) As Long
Private Declare Function MultiByteToWideChar Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpMultiByteStr As Long, ByVal cbMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long
Private Declare Function MessageBox Lib "user32" Alias "MessageBoxW" (ByVal hwnd As Long, ByVal lpText As Long, ByVal lpCaption As Long, ByVal wType As Long) As Long
Private Declare Function SysAllocStringByteLen Lib "oleaut32" (ByVal olestr As Long, ByVal BLen As Long) As Long
Private Declare Function SysAllocStringLen Lib "oleaut32" (ByVal olestr As Long, ByVal BLen As Long) As Long
Private Declare Sub PutMem4 Lib "msvbvm60" (ByVal Ptr As Long, ByVal Value As Long)
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileW" (ByVal lpFileName As Long, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Private Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, ByVal lpBuffer As Long, ByVal nNumberOfBytesToWrite As Long, ByRef lpNumberOfBytesWritten As Long, ByVal lpOverlapped As Any) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function OemToChar Lib "user32.dll" Alias "OemToCharA" (ByVal lpszScr As String, ByVal lpszDst As String) As Long
 
Private Const CP_UTF8 As Long = 65001
Private Const GENERIC_WRITE As Long = &H40000000
Private Const FILE_SHARE_READ = &H1
Private Const CREATE_ALWAYS = 2
Private Const FILE_ATTRIBUTE_ARCHIVE = &H20
Private Const INVALID_HANDLE_VALUE As Long = -1
 
Dim strTXT As String
 
Private Sub Command1_Click()
    Dim hFile As Long
    Dim str As String
    
    strTXT = CreateObject("WScript.Shell").Exec("powershell.exe " & Text1.Text).StdOut.ReadAll()
    
    str = Space$(Len(strTXT))
    OemToChar strTXT, str
    Text2.Text = str
End Sub
Миниатюры
Изменить кодировку текста в поле Text1 на VB6  
Вложения
Тип файла: zip PowerShell в текстовое поле на VB6.zip (6.0 Кб, 21 просмотров)
2
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
29.03.2024, 19:04
Цитата Сообщение от Jack Famous Посмотреть сообщение
Если было желание, то ещё по моей ссылке из #2 можно было взять апишку для перегона из чего угодно во что угодно.
Я изучил твою тему и там нет ответа как преобразовывать из кодировки OEM. Поэтому зря ты хвастаешься тем, что мол сразу ответил на всё.
Цитата Сообщение от Jack Famous Посмотреть сообщение
из чего угодно во что угодно
кроме OEM

Добавлено через 1 минуту
Правильный ответ дал только я, со всеми необходимыми примерами. Кроме меня никто не захотел помогать человеку.
0
Любитель
 Аватар для Тим70
1041 / 747 / 161
Регистрация: 27.01.2019
Сообщений: 1,516
02.04.2024, 10:57
HackerVlad, Тоже в VB.NET
VB.NET
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
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Co()
    End Sub
 
    Sub Co()
        Dim SSI, AA1, Lis1 As String
        Dim SW As New Stopwatch
        SW.Start()
        Lis1 = TextBox1.Text
        SSI = Lis1.Split(" ")(0)
        AA1 = Lis1.Split(" ")(1)
        Dim p As Process = New Process()
        p.StartInfo.UseShellExecute = False
        p.StartInfo.RedirectStandardOutput = True
        p.StartInfo.FileName = SSI
        p.StartInfo.Arguments = AA1
        p.StartInfo.CreateNoWindow = True
        p.StartInfo.StandardOutputEncoding = System.Text.Encoding.GetEncoding(866)
        p.Start()
        Dim output As String = p.StandardOutput.ReadToEnd()
        p.WaitForExit()
        TextBox2.Text = output
        SW.Stop()
        Dim AA2 As String = SW.Elapsed.ToString
        TextBox2.AppendText(vbCrLf & "Затраченное время: " & AA2)
    End Sub
End Class
Миниатюры
Изменить кодировку текста в поле Text1 на VB6  
Вложения
Тип файла: zip ping_HackerVlad1.zip (14.4 Кб, 11 просмотров)
1
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
02.04.2024, 19:26
Тим70, у тебя там в архиве есть файл 1.txt так вот он в досовской кодировке, ну может так и надо)))
как ты всё это делаешь без вызова PowerShell?
0
Любитель
 Аватар для Тим70
1041 / 747 / 161
Регистрация: 27.01.2019
Сообщений: 1,516
03.04.2024, 03:20
HackerVlad, С этими кодировками сам черт ногу сломит.Этот код я использовал в разных своих программах и все время с кодировками приходилось эксперементировать. Началось все от сюда Вот
1
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
03.04.2024, 14:53
Тим70, большое спасибо за полезную ссылку, там действительно есть все ответы, единственное что непонятно это как сделать тоже самое на VB6

Добавлено через 2 часа 4 минуты
По этой теме на VB6 мне непонятно зачем использовать именно PowerShell а не простой cmd.exe

Добавлено через 1 минуту
Например в WindowsXP нет PowerShell. Поэтому я и удивлён.
0
Любитель
 Аватар для Тим70
1041 / 747 / 161
Регистрация: 27.01.2019
Сообщений: 1,516
03.04.2024, 15:29
Цитата Сообщение от HackerVlad Посмотреть сообщение
По этой теме на VB6 мне непонятно зачем использовать именно PowerShell а не простой cmd.exe
тут ничего сказать не могу.
Вот еще по кодировкам,взял с этого же форума.
Миниатюры
Изменить кодировку текста в поле Text1 на VB6  
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
03.04.2024, 15:33
Да на кодировки мне наплевать, если честно
0
932 / 365 / 43
Регистрация: 10.05.2021
Сообщений: 1,564
Записей в блоге: 10
03.04.2024, 15:58
Тим70, смотреть больно
1
1387 / 843 / 92
Регистрация: 08.02.2017
Сообщений: 3,592
Записей в блоге: 1
03.04.2024, 16:48
Интересная страничка про консольный вывод. Просто попалось, вообще искал про "Implements"..
2
Любитель
 Аватар для Тим70
1041 / 747 / 161
Регистрация: 27.01.2019
Сообщений: 1,516
03.04.2024, 16:49
Цитата Сообщение от Jack Famous Посмотреть сообщение
KAK - определить язык по виду иероглифов-закорючек и р
И какое тут расширение? В чем смотреть?
1
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
03.04.2024, 16:53
Цитата Сообщение от Тим70 Посмотреть сообщение
И какое тут расширение? В чем смотреть?
Сам офигел, когда скачал, скорее всего это файл без расширения который нужно переименовывать в PDF но я не открывал ещё побоялся вдруг вирус подумал

Добавлено через 1 минуту
Тим70, переименовал, да, это PDF нормальный хороший документ. Очень красивая таблица очень всё красиво оформлено очень приятно выглядет. Хорошо всё описано.

Добавлено через 1 минуту
Тим70, это такой же документ который ты наверное отправлял ксерокопию, на которую смотреть больно, без обид конечно Тим, но у тебя файл просто отвратительный конечно
0
932 / 365 / 43
Регистрация: 10.05.2021
Сообщений: 1,564
Записей в блоге: 10
03.04.2024, 17:10
Тим70, обычный PDF же. Браузер должен открыть, если программы нет
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
03.04.2024, 17:11
Jack Famous, ты выложил файл без расширения. Надо получается самому переименовывать в PDF...
0
932 / 365 / 43
Регистрация: 10.05.2021
Сообщений: 1,564
Записей в блоге: 10
03.04.2024, 17:11
Перезалил. Кибер обрезал часть имени вместе с расширением
HackerVlad, да — уже проверил. Спасибо.
1
62 / 5 / 0
Регистрация: 27.02.2023
Сообщений: 128
08.04.2024, 17:08  [ТС]
HackerVlad, что можно добавить в твой код на VB6, чтобы данные выгружались но без окна PowerShell как у Тим70
я находил пример скрыть окно (дописать , 0, False), это не работает на VB6
strTXT = CreateObject("WScript.Shell").Exec("powe rshell.exe, 0, False " & Text1.Text).StdOut.ReadAll()
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
08.04.2024, 18:22
Надо найти описание для WScript.Shell.Exec

Добавлено через 16 минут
Alexnet84, я ещё заметил, что пока я не закрою окно, то управление в VB6 назад не передаётся. Это значит, что если бы я даже и скрыл окно то оно бы всё зависло...

Добавлено через 20 минут
Alexnet84, кажется я нашёл нужный код, чтобы окошко консоли закрывалось само по себе после завершения работы консоли
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
08.04.2024, 18:50
Alexnet84, я много чего опробовал, много разных комбинаций и пришёл к выводу, что PowerShell вообще не нужен для пинга, и даже запуск cmd.exe тоже не нужно... Вот этот код работает, пинг когда проходит, то окошко автоматически закрывается само по себе (скрыть его так и не получилось) но зато теперь не надо самому нажимать на крестик и закрывать консоль, всё работает вот так вот:

Visual Basic
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
Option Explicit
 
Private Declare Function WideCharToMultiByte Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByVal lpMultiByteStr As Long, ByVal cbMultiByte As Long, ByVal lpDefaultChar As Long, ByVal lpUsedDefaultChar As Long) As Long
Private Declare Function MultiByteToWideChar Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpMultiByteStr As Long, ByVal cbMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long
Private Declare Function MessageBox Lib "user32" Alias "MessageBoxW" (ByVal hwnd As Long, ByVal lpText As Long, ByVal lpCaption As Long, ByVal wType As Long) As Long
Private Declare Function SysAllocStringByteLen Lib "oleaut32" (ByVal olestr As Long, ByVal BLen As Long) As Long
Private Declare Function SysAllocStringLen Lib "oleaut32" (ByVal olestr As Long, ByVal BLen As Long) As Long
Private Declare Sub PutMem4 Lib "msvbvm60" (ByVal Ptr As Long, ByVal Value As Long)
Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileW" (ByVal lpFileName As Long, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Private Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, ByVal lpBuffer As Long, ByVal nNumberOfBytesToWrite As Long, ByRef lpNumberOfBytesWritten As Long, ByVal lpOverlapped As Any) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function OemToChar Lib "user32.dll" Alias "OemToCharA" (ByVal lpszScr As String, ByVal lpszDst As String) As Long
 
Private Const CP_UTF8 As Long = 65001
Private Const GENERIC_WRITE As Long = &H40000000
Private Const FILE_SHARE_READ = &H1
Private Const CREATE_ALWAYS = 2
Private Const FILE_ATTRIBUTE_ARCHIVE = &H20
Private Const INVALID_HANDLE_VALUE As Long = -1
 
Private Sub Command1_Click()
    Dim strTXT As String
    Dim hFile As Long
    Dim str As String
    Dim WshShell As Object
    Dim WshExec
    Dim InStream
    
    Set WshShell = CreateObject("WScript.Shell")
    Set WshExec = WshShell.Exec(Text1.Text) ' Даже без POWERSHELL и без CMD.EXE
    'Set WshExec = WshShell.Exec("nslookup")
    Set InStream = WshExec.StdIn
    
    ' ... даже и не надо..
    ' Это тот самый нужный код, чтобы окошко консоли само закрывалось
    'InStream.WriteLine "exit"
    
    strTXT = WshExec.StdOut.ReadAll()
    
    str = Space$(Len(strTXT))
    OemToChar strTXT, str
    Text2.Text = str
End Sub
Вложения
Тип файла: zip PowerShell в текстовое поле на VB6.zip (6.2 Кб, 10 просмотров)
0
62 / 5 / 0
Регистрация: 27.02.2023
Сообщений: 128
09.04.2024, 11:14  [ТС]
HackerVlad, спасибо! хорошая идея, а если мне нужно проверить другие команды PowerShell:
например: get-process, get-psdrive, get-printer.
P.s. вводишь любую команду PowerShell в Text1 результат отображается в Text2 в форме vb6,
окно Powershell не отображается или сразу свёрнутым.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.04.2024, 11:14
Помогаю со студенческими работами здесь

Изменить кодировку текста
Здравствуйте! На сайте http://mebelnavoi.com/horoscope/ есть парсинг гороскопа с horo.mail.ru, как изменить кодировку (c UTF-8)...

Изменить кодировку текста
Пытаюсь изменить кодировку текста через : $text1=array_map("ToWindows1251", $text); В Версии php 5.2 Все нормально работало, в...

Как изменить кодировку текста?
Мне нужно прочить файл использую My.Computer.FileSystem.ReadAllText() но оно мне возвращает текст из файла не знаю в какой кодировке, мне...

Как изменить кодировку текста
Здравствуйте. std::auto_ptr<TStringList> RSS(new TStringList()); RSS->Add("<?xml version=\"1.0\" encoding=\"UTF-8\"...

Изменить кодировку текста в TextBox
Я нашел инфу как поменять кодировку текста , но не могу понять, как ее поменять непосредственно в тексте. Поясняю: есть TextBox, как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru