Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Замена символа в поле... Добавлено: 11.07.02 13:00  

Автор вопроса:  Alexis

Всем привет. Есть прога FoxPro-шная. Работаю ее с файлами .dbf, напрямую  через ADO (создаю соединение в коде). Есть объект Recordset, содержащий поля файла .dbf, так вот сам dbf формат не поддерживает тип данных "ВРЕМЯ" (00:00:00), и данные в этой проге хранятся в простом числовом виде, например 10,4 (это означает - время 10:40:00). Мне нужно перевести значение этого поля в тип "ВРЕМЯ", для этого я хочу заменить символ "," на ":". Как это сделать. Или может есть еще какие-нибудь альтернативные методы?

Заранее благодарен.

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 Snake



ICQ: 302130238 

Вопросов: 16
Ответов: 39
 Профиль | | #1 Добавлено: 11.07.02 13:30

Я бы сделал 10,4 строкой и поменял бы "," на ":"

или

взялбы целую часть от 10,4 отконвертировал CStr сконьюктировал с ":" и с десятичной частью 10,4, умножив на 10 и отконвертировав её в строку

больше не придумал альтернативы пока

Ответить

Номер ответа: 2
Автор ответа:
 Andreika



Вопросов: 5
Ответов: 64
 Профиль | | #2 Добавлено: 11.07.02 13:34

Функция Replace

Replace(Expression,Find,Replace[,Start[,Count[,Compare]]])

Возвращаемое значение

В результате действия функции Replace возвращается исходная строка с замененным строковым фрагментом

Параметры

Expression
Обязательный аргумент - строка, в которой требуется замена
Find
Обязательный аргумент - подстрока, которую нужно заменить
Replace
Обязательный аргумент - подстрока замены
Start
Необязательный аргумент - указывает позицию
Count
Необязательный аргумент - указывает число
Compare
Необязательный аргумент - вид сравнения

Ответить

Номер ответа: 3
Автор ответа:
 Andreika



Вопросов: 5
Ответов: 64
 Профиль | | #3 Добавлено: 11.07.02 13:35

И еще:

Функция CDate

CDate(Expression)

Функция CDate(Conversion to Date) преобразует выражение в тип Date

Ответить

Номер ответа: 4
Автор ответа:
 Alexis



Вопросов: 12
Ответов: 12
 Профиль | | #4 Добавлено: 11.07.02 14:54

Вообщем я пробовал использовать функцию Replace, делаю так:

Private Sub cmdBuildChart_Click()
    rsEquip.MoveFirst
While Not rsEquip.EOF
    Replace CStr(rsEquip.Fields("VR_NACH_R")), ".", ":"
    rsEquip.MoveNext
Wend

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

Ответить

Номер ответа: 5
Автор ответа:
 Andreika



Вопросов: 5
Ответов: 64
 Профиль | | #5 Добавлено: 11.07.02 15:21
Ну похоже пропустил скобки.

Ответить

Номер ответа: 6
Автор ответа:
 Alexis



Вопросов: 12
Ответов: 12
 Профиль | | #6 Добавлено: 11.07.02 15:32

какие скобки? У меня же функция ничего не возвращает...если бы я присваивал значение моей функции какой-нибудь переменно, то согласен - скобки нужны...

Когда мы выводим просто сообщение, то пишем:

MsgBox "Сообщение об ошибке", vbCritical, "Ошибка"

а когда функция возвращает что-то:

If MsgBox ("Сообщение об ошибке", vbYesNo, "Ошибка") = vbYes Then

...

так что я не понял где нужны скобки??

Ответить

Номер ответа: 7
Автор ответа:
 Stan



Вопросов: 0
Ответов: 12
 Профиль | | #7 Добавлено: 11.07.02 15:33

Replace вoзврaщaет изменённый string,
a в твoём кoде знaчение никудa не вoзврaщaется,т.е. нaпиши:

strMy = Replace(CStr(rsEquip.Fields("VR_NACH_R")), ".", ":")

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам