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

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

20.03.2024, 10:00. Показов 4949. Ответов 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
933 / 366 / 43
Регистрация: 10.05.2021
Сообщений: 1,564
Записей в блоге: 10
28.03.2024, 16:22
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от SergioJek Посмотреть сообщение
А кто то так заступался за кого то?
вот именно. Если было желание, то ещё по моей ссылке из #2 можно было взять апишку для перегона из чего угодно во что угодно. С примером использования, прошу заметить.
Но нет — разжуй бесплатно всё до атомов. Тут даже базы нет (или лень просто)

Вот пусть нянчится теперь
0
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
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
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
29.03.2024, 19:04
Цитата Сообщение от Jack Famous Посмотреть сообщение
Если было желание, то ещё по моей ссылке из #2 можно было взять апишку для перегона из чего угодно во что угодно.
Я изучил твою тему и там нет ответа как преобразовывать из кодировки OEM. Поэтому зря ты хвастаешься тем, что мол сразу ответил на всё.
Цитата Сообщение от Jack Famous Посмотреть сообщение
из чего угодно во что угодно
кроме OEM

Добавлено через 1 минуту
Правильный ответ дал только я, со всеми необходимыми примерами. Кроме меня никто не захотел помогать человеку.
0
Любитель
 Аватар для Тим70
1047 / 757 / 161
Регистрация: 27.01.2019
Сообщений: 1,531
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
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
02.04.2024, 19:26
Тим70, у тебя там в архиве есть файл 1.txt так вот он в досовской кодировке, ну может так и надо)))
как ты всё это делаешь без вызова PowerShell?
0
Любитель
 Аватар для Тим70
1047 / 757 / 161
Регистрация: 27.01.2019
Сообщений: 1,531
03.04.2024, 03:20
HackerVlad, С этими кодировками сам черт ногу сломит.Этот код я использовал в разных своих программах и все время с кодировками приходилось эксперементировать. Началось все от сюда Вот
1
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
03.04.2024, 14:53
Тим70, большое спасибо за полезную ссылку, там действительно есть все ответы, единственное что непонятно это как сделать тоже самое на VB6

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

Добавлено через 1 минуту
Например в WindowsXP нет PowerShell. Поэтому я и удивлён.
0
Любитель
 Аватар для Тим70
1047 / 757 / 161
Регистрация: 27.01.2019
Сообщений: 1,531
03.04.2024, 15:29
Цитата Сообщение от HackerVlad Посмотреть сообщение
По этой теме на VB6 мне непонятно зачем использовать именно PowerShell а не простой cmd.exe
тут ничего сказать не могу.
Вот еще по кодировкам,взял с этого же форума.
Миниатюры
Изменить кодировку текста в поле Text1 на VB6  
0
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
03.04.2024, 15:33
Да на кодировки мне наплевать, если честно
0
933 / 366 / 43
Регистрация: 10.05.2021
Сообщений: 1,564
Записей в блоге: 10
03.04.2024, 15:58
Тим70, смотреть больно
1
1402 / 860 / 93
Регистрация: 08.02.2017
Сообщений: 3,672
Записей в блоге: 2
03.04.2024, 16:48
Интересная страничка про консольный вывод. Просто попалось, вообще искал про "Implements"..
2
Любитель
 Аватар для Тим70
1047 / 757 / 161
Регистрация: 27.01.2019
Сообщений: 1,531
03.04.2024, 16:49
Цитата Сообщение от Jack Famous Посмотреть сообщение
KAK - определить язык по виду иероглифов-закорючек и р
И какое тут расширение? В чем смотреть?
1
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
03.04.2024, 16:53
Цитата Сообщение от Тим70 Посмотреть сообщение
И какое тут расширение? В чем смотреть?
Сам офигел, когда скачал, скорее всего это файл без расширения который нужно переименовывать в PDF но я не открывал ещё побоялся вдруг вирус подумал

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

Добавлено через 1 минуту
Тим70, это такой же документ который ты наверное отправлял ксерокопию, на которую смотреть больно, без обид конечно Тим, но у тебя файл просто отвратительный конечно
0
933 / 366 / 43
Регистрация: 10.05.2021
Сообщений: 1,564
Записей в блоге: 10
03.04.2024, 17:10
Тим70, обычный PDF же. Браузер должен открыть, если программы нет
0
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
03.04.2024, 17:11
Jack Famous, ты выложил файл без расширения. Надо получается самому переименовывать в PDF...
0
933 / 366 / 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
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
08.04.2024, 18:22
Надо найти описание для WScript.Shell.Exec

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

Добавлено через 20 минут
Alexnet84, кажется я нашёл нужный код, чтобы окошко консоли закрывалось само по себе после завершения работы консоли
0
Вернулся
 Аватар для HackerVlad
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
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
Ответ Создать тему
Новые блоги и статьи
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru