Перекодировать в Utf-8

Тема в разделе "Lotus - Программирование", создана пользователем medin84, 8 авг 2007.

  1. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    Может это совсем простой вопрос для некоторых.
    Помогите!!!
    Это простые списки с некоторыми данными, но в них есть казахские шрифты, поэтому собственно UTF-8 нужен!
     
  2. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Посмотри класс NotesStream.
     
  3. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    У нас пока 5-я версия Lotus.
    В helpe нет.
    Это в 6-й версии работает?
     
  4. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: medin84
    Ага. Появился с 6-ой версии.
    Тогда используй Put для записи строки в файл.
     
  5. Yakov

    Yakov Гость

    может быть, java.io_OutputStreamWriter поможет?
     
  6. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    Для: Medevic
    Добрый день! :)
    C put-ом вроде разобрался, только вот как перевести на новую строку, а то txt смотришь как то они все в одну строку
     
  7. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: medin84
    Подозреваю, что Chr(13) + Chr(10). :)
     
  8. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-Medevic+9:08:2007, 10:09 -->
    <span class="vbquote">(Medevic @ 9:08:2007, 10:09 )</span><!--QuoteEBegin-->Chr(10)
    [snapback]74839" rel="nofollow" target="_blank[/snapback]​
    [/quote]Этого ужо хватить, а то тут начнуться хакерские переводы строки
     
  9. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    Так надо вместе с Chr(10) использовать, а я пробовал просто с Chr(13).

    Тут еще вопрос возник
    Код (Text):
    Type PersonRecord
    empName As String * 40
    End Type
    Из-за того что указываю длину строки, у меня то:
    Если указать много образуются много пробелов, если меньше не вся строка записывается.
    Все бы ничего если пробелы были в конце строки, так они почемуто с начало идут.(Не красиво)
     
  10. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    А зачем длину указывать ?
     
  11. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: medin84
    1. Зачем указывать динну?
    2. Trim
     
  12. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    Ну в Helpe написано что длину указывать нужно.
    Хотя я не очень то в Англ.
    Сейчас попробовал без указания, ругается Bad record length
    А trim тоже выдает ошибку.
    У меня не значения поля создает пробелы, а именно из-зи фиксированной длины, я так понимаю.
     
  13. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Ну, во-первых тебе надо использовать файл в режиме Binary, а не Random.
    Во-вторых создавать свой тип тебе тоже не нужно. Просто пиши строку.
    Типа:
    Код (Text):
    Dim value As String
    ...
    Open fileName For Binary As fileNum
    ...
    Put fileNum, , value
    ...
     
  14. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    Вот код который у меня получился.
    Может я чего-нибудь не правильно пишу.

    Код (Text):
    Type PersonRecord
    empName As String * 40
    End Type

    Type PrintFields
    itm As String
    End Type
    Dim field_N(0) As PrintFields

    Sub Initialize

    field_N(0).itm="Name"

    Dim fileNum As Integer
    Dim fileName As String
    Dim rec As PersonRecord
    '//
    Dim PDdb As New NotesDatabase("DominoServer/KazNPU","DB/PD/PD.nsf")
    '//
    Set s=New NotesSession
    Set CurDB = s.CurrentDatabase
    Set ws=New NotesUIWorkspace
    '//
    Dim Col As NotesDocumentCollection
    Dim pdoc As notesdocument
    Set Col=ws.PickListCollection(PICKLIST_CUSTOM, False, "DominoServer/KazNPU","DB/PD/PD.nsf", "$Faculty", "Выберите фак.", "Выберите фак.")
    Set pdoc = Col.GetFirstDocument
    faculty = pdoc.Faculty(0)
    '//
    If(faculty="") Then Exit Sub
    '//
    fileNum% = Freefile()
    fileName$ = "C:\Temp\db_txt\chairs\"+faculty+".txt"
    '//
    sf={form="Kafedra" & Faculty="}+faculty+{" & name<>""}
    '//
    Open fileName$ For Random As fileNum% Len = Len(rec)
    '//
    Set DCol=PDdb.Search(sf, Nothing, 0)
    Set TDoc=DCol.GetFirstDocument
    Dim i As Integer
    i=1
    While Not(TDoc Is Nothing)
    Set itm=TDoc.GetfirstItem(field_N(0).itm)
    t = itm.text
    rec.empName$ = t + Chr(13) + Chr(10)
    Put #fileNum%, i, rec.empName$
    i=i+1
    Set TDoc=DCol.GetNextDocument(TDoc)
    Wend
    '//
    Seek fileNum%, 1            ' Rewind file to beginning.

    Do While Not Eof(fileNum%)
    Get #fileNum%, , rec
    Loop

    Close fileNum%           ' Close the file.
    End Sub
     
  15. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: medin84
    См выше.
     
  16. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    Для: Medevic
    Все отлично поехало.
    Огромное спасибо! :)
     
Загрузка...
Похожие Темы - Перекодировать Utf
  1. mazimaz
    Ответов:
    29
    Просмотров:
    1.271
  2. Vadik(R)
    Ответов:
    4
    Просмотров:
    1.426
  3. garrick
    Ответов:
    2
    Просмотров:
    1.421
  4. shisik
    Ответов:
    1
    Просмотров:
    1.289
  5. NickProstoNick
    Ответов:
    8
    Просмотров:
    2.374

Поделиться этой страницей