Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Очень наивный и смешной вопрос -Продолжение Добавлено: 24.09.02 21:02  

Автор вопроса:  Viktor
В том, что касается текста, сейчас проблем нет!
А насчет даты, здесь я выразился очень коряво, в связи с чем
приношу свои извинения.
Суть в чем.
Надо преобразовать две десятичные величины в файловое время DOS
Есть дата 12.02.2002 ее нужно извратить таким образом:
16-разрядное число - биты 0-4 это день, биты 5-8 это месяц,
биты 9-15 это год, причем 0 соответствует 1980 г.
И сделать это - ПРОБЛЕМА!

Ответить

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

Номер ответа: 1
Автор ответа:
 Evgeny D



Вопросов: 10
Ответов: 33
 Профиль | | #1 Добавлено: 25.09.02 08:03

Никаких проблем:

Private function date2dos(dDate as date)

dim bitDate as string

bitDate = d2b(year(dDate)-1980,7) & d2b(month(dDate),4) & d2b(day(dDate),5)

' А теперь преобразуй bitDate в число. Хоть десятичное, хоть шестнадцатеричное.

end function

private function d2b(number as integer, nItem as integer)

Dim i As Byte 'счетцик циклов (а фактически разряд двоичного числа)

Dim ost As Integer 'остаток от деления на 2

Dim bin As String 'в этой переменной формируется двоичное представление десятичного

'числа

bin = ""

i = 1

Do

ost = s Mod 2 'получаем остаток от деления на 2

bin = ost & bin 'остаток является значением очередного разряда двоичного числа

s = Int(s / 2) 'получаем целую цасть от деления на 2

'она будет служить делимым на следующем шаге

i = i + 1

Loop Until s = 0 'выход, если очередное делимое будет равно 0

bin = String(nItem - Len(bin), "0") & bin ' формируем нужное число бит.

d2b = bin

end function

Ответить

Страница: 1 |

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



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