ОБСУЖДЕНИЕ

Lotusstream и Cp866

11 ответов 8,6 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

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

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

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

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)
 
это в все уже пробывал... нужно выгрузить в текстовый файлик под досовскую русскую кодировку 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.

т.е. русской досевой нет в описании.. :( джавой пока не владею, чтобы на ней написать..
 
вот это попробуй, но корректность функции я не проверял (стиль кода ужасен)
Код:
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
 
вот это попробуй, но корректность функции я не проверял (стиль кода ужасен)
Код:
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

Огромное спасибо!!! Работает!! :(
 
Зарание извеняюсь, я работаю админом системы документооборота основоной на Лотус,
но тоже столкнулся с этой проблемой, а в програмировании на Лотус я чайник.
Подскажите пожалуйста куда эту функцию подставить нужно?
 
Эту функцию вставте в какую-нит библиотеку.
Потом, там где Вам нужно её использовать подключайте эту библиотеку и вызывайте функцию...
 
Эту функцию вставте в какую-нит библиотеку.
Потом, там где Вам нужно её использовать подключайте эту библиотеку и вызывайте функцию...

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

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

Статистика тем

Создано
phantom76,
Последний ответ от
dsdred,
Ответы
11
Просмотры
8 620