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

medin84

Well-known member
27.06.2007
106
0
#1
Может это совсем простой вопрос для некоторых.
Помогите!!!
Это простые списки с некоторыми данными, но в них есть казахские шрифты, поэтому собственно UTF-8 нужен!
 

medin84

Well-known member
27.06.2007
106
0
#3
У нас пока 5-я версия Lotus.
В helpe нет.
Это в 6-й версии работает?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#4
Для: medin84
Ага. Появился с 6-ой версии.
Тогда используй Put для записи строки в файл.
 

medin84

Well-known member
27.06.2007
106
0
#6
Для: Medevic
Добрый день! :)
C put-ом вроде разобрался, только вот как перевести на новую строку, а то txt смотришь как то они все в одну строку
 

morpheus

скриптописец
07.08.2006
3 915
1
#8
<!--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]Этого ужо хватить, а то тут начнуться хакерские переводы строки
 

medin84

Well-known member
27.06.2007
106
0
#9
Так надо вместе с Chr(10) использовать, а я пробовал просто с Chr(13).

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

medin84

Well-known member
27.06.2007
106
0
#12
Ну в Helpe написано что длину указывать нужно.
Хотя я не очень то в Англ.
Сейчас попробовал без указания, ругается Bad record length
А trim тоже выдает ошибку.
У меня не значения поля создает пробелы, а именно из-зи фиксированной длины, я так понимаю.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#13
Ну, во-первых тебе надо использовать файл в режиме Binary, а не Random.
Во-вторых создавать свой тип тебе тоже не нужно. Просто пиши строку.
Типа:
Код:
Dim value As String
...
Open fileName For Binary As fileNum
...
Put fileNum, , value
...
 

medin84

Well-known member
27.06.2007
106
0
#14
Вот код который у меня получился.
Может я чего-нибудь не правильно пишу.

Код:
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