62 / 5 / 0
Регистрация: 27.02.2023
Сообщений: 128

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

20.03.2024, 10:00. Показов 5031. Ответов 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
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,801
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
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,801
29.03.2024, 19:04
Цитата Сообщение от Jack Famous Посмотреть сообщение
Если было желание, то ещё по моей ссылке из #2 можно было взять апишку для перегона из чего угодно во что угодно.
Я изучил твою тему и там нет ответа как преобразовывать из кодировки OEM. Поэтому зря ты хвастаешься тем, что мол сразу ответил на всё.
Цитата Сообщение от Jack Famous Посмотреть сообщение
из чего угодно во что угодно
кроме OEM

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

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

Добавлено через 1 минуту
Например в WindowsXP нет PowerShell. Поэтому я и удивлён.
0
Любитель
 Аватар для Тим70
1054 / 764 / 161
Регистрация: 27.01.2019
Сообщений: 1,543
03.04.2024, 15:29
Цитата Сообщение от HackerVlad Посмотреть сообщение
По этой теме на VB6 мне непонятно зачем использовать именно PowerShell а не простой cmd.exe
тут ничего сказать не могу.
Вот еще по кодировкам,взял с этого же форума.
Миниатюры
Изменить кодировку текста в поле Text1 на VB6  
0
Вернулся
 Аватар для HackerVlad
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,801
03.04.2024, 15:33
Да на кодировки мне наплевать, если честно
0
933 / 366 / 43
Регистрация: 10.05.2021
Сообщений: 1,564
Записей в блоге: 10
03.04.2024, 15:58
Тим70, смотреть больно
1
1407 / 866 / 93
Регистрация: 08.02.2017
Сообщений: 3,699
Записей в блоге: 2
03.04.2024, 16:48
Интересная страничка про консольный вывод. Просто попалось, вообще искал про "Implements"..
2
Любитель
 Аватар для Тим70
1054 / 764 / 161
Регистрация: 27.01.2019
Сообщений: 1,543
03.04.2024, 16:49
Цитата Сообщение от Jack Famous Посмотреть сообщение
KAK - определить язык по виду иероглифов-закорючек и р
И какое тут расширение? В чем смотреть?
1
Вернулся
 Аватар для HackerVlad
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,801
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
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,801
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
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,801
08.04.2024, 18:22
Надо найти описание для WScript.Shell.Exec

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

Добавлено через 20 минут
Alexnet84, кажется я нашёл нужный код, чтобы окошко консоли закрывалось само по себе после завершения работы консоли
0
Вернулся
 Аватар для HackerVlad
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,801
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 05.08.2026
3 мая мной была сделана публикация на Хабре авторского алгоритма итеративного обхода дерева "эстафета хвоста". Удаление публикации видимо произошло из-за отзывов об алгоритме такого рода Ну, я тебе. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru