Ветеран
Сообщения: 2726
Благодарности: 1696
|
Профиль
|
Отправить PM
| Цитировать
ateka,
Попробуйте VBS.
Код:
'FileIn = "D:\CMD_Forum\Box_In\vocabularyUTF8.txt"
FileIn = "vocabularyUTF8.txt"
nword = 3
On Error Resume Next
With CreateObject("ADODB.Stream")
.Charset = "utf-8"
.Open
.LoadFromFile (FileIn)
If Err.Number <> 0 Then
MsgBox "File " + FileIn + vbCrLf + Err.Description + "(" + CStr(Err.Number) + ")"
WScript.Quit 2
End If
On Error GoTo 0
Alls = Split(.ReadText(), vbCrLf)
.Close
End With
On Error GoTo 0
With CreateObject("VBScript.RegExp")
.IgnoreCase = True
.Global = True
Mask = ""
Do
Mask = InputBox("Маска содержит русские буквы и точки, например" + vbCrLf + ".и...ц", "Поиск слов по маске", Mask)
If Mask = "" Then Exit Do
.Pattern = "^" + Trim(Mask) + "$"
out = ""
i = 0
For Each word In Alls
word = Trim(word)
If .Test(word) Then
If i = 0 Then out = out + word Else out = out + vbTab + word
i = i + 1
If i = 3 Then
i = 0
out = out + vbCrLf
End If
End If
Next
If out = "" Then
R = MsgBox("По маске " + """" + Mask + """" + vbCrLf + "Ничего не найдено", vbRetryCancel)
Else
R = MsgBox(out, vbRetryCancel, "Маска " + """^" + Trim(Mask) + "$"". Найдено:")
End If
If R = 2 Then Exit Do
Loop
End With
Интересно, сработает? Скрипт сохранить в 1251-кодировке. Словарь - в UTF-8. Прилагаю и то и другое в архиве
А вообще-то нестандартные настройки рано или поздно выходят боком
|
-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.
Последний раз редактировалось megaloman, 27-01-2020 в 20:17.
Отправлено: 19:03, 27-01-2020
| #30
|