AkulaBig
|
Posted: Tue Oct 06, 2026 22:07 Post subject: |
|
|
| Orion9 wrote: | | Ситуация с индексами |
Похоже больше 60 колонок не поддерживается В Ауторан при выборе полей в колонках показывает хоть сколько. Но при выводе подсказки 61 полем, которое я отдал под uCD, периодически глючит Хотя я обрабатываю только 60 полей в подсказке ET, MI. В общем сейчас я перешел на 59 полей в подсказке и плюс под uCD, то-есть всего 60 полей. Посмотрим, будет ли глючить.
| Orion9 wrote: | | зато посимвольно |
Посмотрю, конечно. У мене не совсем как у вас сделано. Кодировки немного другие при получении данных. Поэтому надо разбираться. Только не пойму, сейчас ведь тоже посимвольно:
| Code: | Func FixCPET(String)
Static a = List(), u = List()
Local ansi = String, utf8, wrong = Chr(0xFFFD)
Local nSize = StrLen(ansi)
Local buf = Buffer(nSize)
buf.Zero()
buf.SetStr(ansi, 0, nSize, "ANSI")
utf8 = buf.GetStr(0, nSize, "CP:65001")
Free(buf)
a.Count = 0
u.Count = 0
a.Text = ansi
u.Text = utf8
For i = 0 to u.Count - 1
If StrPos(u[i], wrong) Then u[i] = a[i]
Next
Return u.text
EndFunc |
Или я не прав?
| Orion9 wrote: | | Расчет на то, что конец строки (за символом ":") весь в Ansi |
Нет, нет. У ET надо и название и значение конвертить. Так как крякозябры и там и там могут быть. Вот так у меня для ET:
| Code: | Func TrimSpacesET(String)
Local NameField, ValField
If Not StrPos(String, ":") Then Return String
NameField = StrPart(String, ": ", 1)
ValField = StrPart(String, ": ", 2)
Return StrTrim(FixCPET(NameField)) & ": " & StrTrim(FixCPET(ValField))
EndFunc |
|
|