• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Lotusstream и Cp866

  • Автор темы phantom76
  • Дата начала
P

phantom76

Кто нибудь решал такую задачу, столкнулся что LotusStream не знает такую кодировку (CP866) ..
как можно еще решить задачу выгрузки данных в формате дос?
 
P

phantom76


этот вариант уже пробывал.. не выгружает..

в хелпе есть конекторы, но как ими пользоваться пока не знаю..

The list is given as text stream format constants. Any of these values may be used as a stream format for a text stream when creating scripts using the Lotus Connectors LotusScript Extensions. To indicate the character set on the local machine, use the constant LCSTREAMFMT_NATIVE. When providing a character set on the LEI Administrator, use the stream format constant with the prefix ”LCSTREAMFMT_” removed. For DECS see "Forcing LEI or DECS to Use a Character Set as Native" in this chapter.
Stream Format Constant Description
LCSTREAMFMT_LICS Lotus International Character Set
LCSTREAMFMT_IBMCP851 MS-DOS PC Greek (CP 851)
LCSTREAMFMT_IBMCP852 MS-DOS PC Eastern European (CP 852)
LCSTREAMFMT_IBMCP853 MS-DOS PC Turkish (CP 853)
LCSTREAMFMT_IBMCP857 MS-DOS PC Turkish (CP 857)
LCSTREAMFMT_IBMCP862 MS-DOS PC Hebrew (CP 862)
LCSTREAMFMT_IBMCP864 MS-DOS PC Arabic (CP 864)
LCSTREAMFMT_IBMCP866 MS-DOS PC Cyrillic Unicode (CP 866)
LCSTREAMFMT_IBMCP437 MS-DOS PC US (CP 437)
LCSTREAMFMT_IBMCP850 MS-DOS PC Western European (CP 850)
LCSTREAMFMT_IBMCP855 MS-DOS PC Cyrillic (CP 855)
LCSTREAMFMT_IBMCP860 MS-DOS PC Portuguese (CP 860)
LCSTREAMFMT_IBMCP861 MS-DOS PC Icelandic (CP 861)
LCSTREAMFMT_IBMCP863 MS-DOS PC Canadian French (CP 863)
LCSTREAMFMT_IBMCP865 MS-DOS PC Norwegian (CP 865)
LCSTREAMFMT_IBMCP869 MS-DOS PC Greek (CP 869)
LCSTREAMFMT_IBMCP899 IBM Code Page 899 (CP 899)
 
P

phantom76

это в все уже пробывал... нужно выгрузить в текстовый файлик под досовскую русскую кодировку cp866..
в описании notesStream :
Valid character sets include: ASCII, Big5, Binary, EUC-JP, EUC-KR, EUC-TW, GB2312, ISO-2022-JP, ISO-2022-KR, ISO-8859-1 through ISO-8859-9, ISO-8859-15, KOI8-R, Latin4, Shift_JIS, System, TCVN3, Unicode, Unicode-1-1, US-ASCII, UTF-7, UTF-8, UTF-16, UTF-16BE, UTF-16LE, Windows-1250 through Windows-1258, and Windows-874. Binary implies byte operations only on the stream. Unicode is the same as UTF-16 and Unicode-1-1 is a compatible subset of UTF-16.

т.е. русской досевой нет в описании.. :( джавой пока не владею, чтобы на ней написать..
 
K

Kee_Keekkenen

вот это попробуй, но корректность функции я не проверял (стиль кода ужасен)
Код:
Private Function toDOS(Byval s_str$) As String
On Error Resume Next
Dim k%, n_asc%, s_chr$, FR$
For k = Len(s_str) To 1 Step - 1
s_chr = Mid(s_str, k, 1)
n_asc = Asc(s_chr)
If n_asc = 168 Then
s_chr = Chr(240)
Elseif n_asc = 184 Then
s_chr = Chr(241)
Elseif n_asc >= 192 And n_asc <= 239 Then
s_chr = Chr(n_asc - 64)
Elseif n_asc >= 240 And n_asc <= 255 Then
s_chr = Chr(n_asc - 16)
End If
FR = s_chr + FR
Next k
toDOS = FR
End Function
 
P

phantom76

вот это попробуй, но корректность функции я не проверял (стиль кода ужасен)
Код:
Private Function toDOS(Byval s_str$) As String
On Error Resume Next
Dim k%, n_asc%, s_chr$, FR$
For k = Len(s_str) To 1 Step - 1
s_chr = Mid(s_str, k, 1)
n_asc = Asc(s_chr)
If n_asc = 168 Then
s_chr = Chr(240)
Elseif n_asc = 184 Then
s_chr = Chr(241)
Elseif n_asc >= 192 And n_asc <= 239 Then
s_chr = Chr(n_asc - 64)
Elseif n_asc >= 240 And n_asc <= 255 Then
s_chr = Chr(n_asc - 16)
End If
FR = s_chr + FR
Next k
toDOS = FR
End Function

Огромное спасибо!!! Работает!! :(
 
D

dsdred

Зарание извеняюсь, я работаю админом системы документооборота основоной на Лотус,
но тоже столкнулся с этой проблемой, а в програмировании на Лотус я чайник.
Подскажите пожалуйста куда эту функцию подставить нужно?
 
S

Sandr

Эту функцию вставте в какую-нит библиотеку.
Потом, там где Вам нужно её использовать подключайте эту библиотеку и вызывайте функцию...
 
D

dsdred

Эту функцию вставте в какую-нит библиотеку.
Потом, там где Вам нужно её использовать подключайте эту библиотеку и вызывайте функцию...

мне нужно чтобы эту функцию можно было в кнопку вогнать в тулбаре
 
S

Sandr

Выберите на кнопке язык Lotus Script, скопируйте эту функцию и вставте на кнопке под последней строчкой процедуры Click (за End Sub). Она сама переместится куда надо.
В сасой процедруе Click вызывайте эту функцию.

Код:
dim dosString as string
dosString = toDOS("срока для преобразования")
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!