Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрет на автоматическое преобразование из Dos, в Windows-кодировку в DataGrid 
:(
    Опции темы
Voldemar2004
Дата 24.10.2005, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 1
Всего: 23



Я написал программу для преобразования выбранных столбцов таблицы из DOS-символов в Windows.

Код

Option Explicit
Dim i As Long

' From DOS to WIN:
Private Declare Function OemToChar Lib "user32" Alias "OemToCharA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
' From Win to DOS:
Private Declare Function CharToOem Lib "user32" Alias "CharToOemA" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long

Private Sub Command1_Click()
Dim OemStr As String, CharStr As String

'----------------------------------------------------------------------------------
Dim j As Long
For j = 0 To Data1.Recordset.RecordCount - 1
Data1.Recordset.MoveLast
    TDBGrid2.EditActive = True
Next j
MsgBox "Число полей (строк) = " & Data1.Recordset.RecordCount

Data1.Recordset.MoveFirst ' переход на следующую строчку
'----------------------------------------------------------------------------------

For i = 0 To Data1.Recordset.RecordCount - 1
    'MsgBox TDBGrid1.SelText 
  
'-------------------------------------------------------
OemStr = TDBGrid1.SelText
CharStr = Space(Len(OemStr))
CharToOem OemStr, CharStr
'-------------------------------------------------------

    Data2.Recordset.AddNew
        'Data2.Recordset.Fields(0) = TDBGrid1.SelText
        
        'MsgBox TDBGrid1.SelText
        'MsgBox CharStr
        Data2.Recordset.Fields(0) = CharStr

    Data2.Recordset.Update

ProgressBar1.Min = 0
ProgressBar1.Max = Data1.Recordset.RecordCount
ProgressBar1.Value = i


Data1.Recordset.MoveNext  

Next i

TDBGrid2.Refresh

End Sub


Private Sub Form_Load()
Data1.RecordSource = "SELECT FM FROM DELO"
Data1.Refresh
TDBGrid1.Refresh

End Sub
Суть проблемы такова: есть таблица в БД формата FoxPro 2 (dos) *.dbf. При открытии ее в Grid'е - grid автоматически преобразует DOS - кодировку в Windows. Каким образом сделать так, чтобы DBGrid не трогал кодировку?

Может, кто сталкивался с такой проблемой на форуме по C++ Builder?


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
Neitron
Дата 24.10.2005, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: нет
Всего: 5



Это форум по си++ а не по Basic.


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0378 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.