21. 面向对象的LotusScript(四)之MonthConverter
来源:互联网 发布:农村广电网络宽带 编辑:程序博客网 时间:2024/04/28 00:36
在Notes开发中,有时会需要在月份的数字和名称之间相互转换。因为仅仅涉及到月份,用Format和DateValue函数并不方便。我们可以编写一个实用的类来解决这个问题。
%REMClass MonthConverterDescription: Comments for Class%END REMPublic Class MonthConverterPrivate num2Name As NArrayPrivate num2FName As NArrayPrivate name2Num As DictionaryPrivate fname2Num As Dictionary%REMSub NewDescription: Comments for Sub%END REMSub New()'initialize num2FnameSet me.num2FName=New NArray(11)With me.num2FNameCall .Add("January")Call .Add("February")Call .Add("March")Call .Add("April")Call .Add("May")Call .Add("June")Call .Add("July")Call .Add("August")Call .Add("September")Call .Add("October")Call .Add("November")Call .Add("December")End With'initialize num2NameSet me.num2Name=New NArray(11)Dim i As Integer For i=0 To 11Call me.num2Name.Add(Left(me.num2FName.Container(i), 3))Next'initialize fname2NumSet me.fname2Num=New Dictionary()For i=0 To 11Call me.fname2Num.Add(CStr(me.num2FName.Container(i)), i)Next'initialize name2NumSet me.name2Num=New Dictionary()For i=0 To 11Call me.name2Num.Add(CStr(me.num2Name.Container(i)), i)NextEnd Sub%REMFunction GetNameDescription: Comments for Function%END REMPublic Function GetName(num As Integer) As StringIf num<1 Or num>12 ThenExit Function End Ifme.GetName=me.num2Name.Container(num-1)End Function%REMFunction GetFullNameDescription: Comments for Function%END REMPublic Function GetFullName(num As Integer) As StringIf num<1 Or num>12 ThenExit Function End Ifme.GetFullName=me.num2FName.Container(num-1)End Function%REMFunction GetNumDescription: Comments for Function%END REMPublic Function GetNum(monthName As String) As IntegerDim numnum=me.name2Num.Item(monthName)If IsEmpty(num) Thennum=me.fname2Num.Item(monthName)End IfIf Not IsEmpty(num) Thenme.GetNum=numEnd IfEnd FunctionEnd Class
GetName方法将月份数字转换成三字母缩写的月份名称。GetFullName方法将月份数字转换成英文月份名称。GetNum方法将月份名城转换成月份数字。其中用到的Dictionary和NArray在之前的面向对象的LotusScript的系列文章中都已经给出了。
- 21. 面向对象的LotusScript(四)之MonthConverter
- 5. 面向对象的LotusScript(一)之Dictionary
- 20. 面向对象的LotusScript(三)之NArray
- 29. 面向对象的LotusScript(五)之ExtDoc
- 35. 面向对象的LotusScript(七)之导入Excel
- 36. 面向对象的LotusScript(八)之继承
- 40. 面向对象的LotusScript(十二)之SheetWriter
- 48. 面向对象的LotusScript(十四)之Log4Dom上
- 49. 面向对象的LotusScript(十五)之Log4Dom下
- 74. 面向对象的LotusScript(十六)之Html报表
- 98. 面向对象的LotusScript(十七)之LinkedCollection
- 13. 面向对象的LotusScript(二)
- 33. 面向对象的LotusScript(六)之为自定义对象模拟事件
- 37. 面向对象的LotusScript(九)之导出Excel(一)
- 38. 面向对象的LotusScript(十)之导出Excel(二)
- 39. 面向对象的LotusScript(十一)之导出Excel(三)
- 41. 面向对象的LotusScript(十三)之继承与事件
- (八)面向对象的设计原则之四
- Linux到底在何时panic
- HDU 1024 Max Sum Plus Plus
- Android Intent和Intent Filter介绍
- Oracle 对象统计信息
- JDK自带的实用工具native2ascii.exe
- 21. 面向对象的LotusScript(四)之MonthConverter
- 【网摘】BCGControlBar入门使用手册
- ALSA SOC Android
- 可重入与线程安全
- Yii Framework 开发教程(42) Zii组件-Draggable示例
- Linux到底何时panic
- 音频视频
- 谁有HTMLDocumentEvents接口的资料啊?
- ruby 获取文件目录