RbBFBlokProjPSIVStrn2005.04 ACnmStrnAChpStrnACsvStrnVer1Strn1 Ver2Strn0 Ver3Strn0 RelsStrn0 NnRlStrn0 RegnStrnSVerStrnLVerStrnIVerStrnaiviInt DVewInt YiprTpInt DLanInt CLanInt DEncInt BflgInt IconGruprEndGInt rMacCStrnBMacStrnMy App (Classic)BCarStrnMy Application BCMOStrnMy Application BSizInt @BMSzInt BSzSStrn4096BMSSStrn2048MDIcStrnBWinStrnMy Application.exe BMDIInt BL86Strn MyApplication PadnPadn****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************BlokpObj'NameStrnApp ContInt paswStrnbClsInt SuprStrn Application bNtrInt bApOInt CompStrnPDefGrup$snameStrnMenuBar PValInt ??EndGInt sVwBhGruptEndGInt tCnstGrupuEncoInt nameStrnkFileQuitShortcut typeInt defnStrnflagInt CInsGrup0vpltfInt langInt defnStrnCmd+Q EndGInt vEndGInt uCnstGrupwEncoInt nameStrn kFileQuit typeInt defnStrnQuitflagInt CInsGrup0xpltfInt langInt defnStrnE&xit EndGInt xCInsGrup0ypltfInt langInt defnStrnE&xit EndGInt yEndGInt wCnstGrupzEncoInt nameStrn kEditClear typeInt defnStrnClear flagInt CInsGrup0{pltfInt langInt defnStrn&Delete EndGInt {CInsGrup0|pltfInt langInt defnStrn&Delete EndGInt |EndGInt zPadnPadnd****************************************************************************************************BlokpVewYiDNameStrnWindow1 ContInt paswStrnbClsInt SuprStrnWindow bNtrInt CompStrnPDefGrup0}nameStrnMenuBar PValStrn 1070022655 EndGInt }PDefGrup(~nameStrn MacProcID PValInt EndGInt ~PDefGrup4nameStrn BalloonHelp EncoInt PValStrnEndGInt PDefGrup0nameStrnMinimizeButton PValStrnTrueEndGInt PDefGrup4nameStrnMaximizeButton PValStrnFalse EndGInt PDefGrup0nameStrn LiveResize PValStrnFalse EndGInt PDefGrup0nameStrn Resizeable PValStrnFalse EndGInt PDefGrup,nameStrn CloseButton PValStrnTrueEndGInt PDefGrup0nameStrnMenuBarVisible PValStrnTrueEndGInt PDefGrup0nameStrn FullScreen PValStrnFalse EndGInt PDefGrup(nameStrnVisible PValStrnTrueEndGInt PDefGrup8nameStrnTitle EncoInt PValStrnUntitledEndGInt PDefGrup$nameStrnBackdropPValStrnEndGInt PDefGrup(nameStrn BackColor PValInt EndGInt PDefGrup0nameStrn HasBackColorPValStrnFalse EndGInt PDefGrup0nameStrn Composite PValStrnFalse EndGInt PDefGrup$nameStrnFrame PValInt EndGInt PDefGrup(nameStrn MaxHeight PValInt }EndGInt PDefGrup$nameStrnMaxWidthPValInt }EndGInt PDefGrup(nameStrn MinHeight PValInt @EndGInt PDefGrup$nameStrnMinWidthPValInt @EndGInt PDefGrup$nameStrnHeight PValInt [EndGInt PDefGrup$nameStrnWidth PValInt ,EndGInt PDefGrup(nameStrn Placement PValInt EndGInt VwBhGrup lVwPrGrup0NameStrnNameVsblInt PrGpStrnID EndGInt VwPrGrup8NameStrn Interfaces VsblInt PrGpStrnID EndGInt VwPrGrup4NameStrnSuper VsblInt PrGpStrnID EndGInt VwPrGrupLNameStrn Placement VsblInt PrGpStrnPositionPValStrn0 EndGInt VwPrGrupHNameStrnWidth VsblInt PrGpStrnPositionPValStrn300 EndGInt VwPrGrupHNameStrnHeight VsblInt PrGpStrnPositionPValStrn300 EndGInt VwPrGrupHNameStrnMinWidthVsblInt PrGpStrnPositionPValStrn64 EndGInt VwPrGrupLNameStrn MinHeight VsblInt PrGpStrnPositionPValStrn64 EndGInt VwPrGrupLNameStrnMaxWidthVsblInt PrGpStrnPositionPValStrn32000 EndGInt VwPrGrupPNameStrn MaxHeight VsblInt PrGpStrnPositionPValStrn32000 EndGInt VwPrGrupLNameStrnFrame VsblInt PrGpStrn Appearance PValStrn0 EndGInt VwPrGrupTNameStrn Composite VsblInt PrGpStrn Appearance PValStrnFalse EndGInt VwPrGrupTNameStrn HasBackColorVsblInt PrGpStrn Appearance PValStrnFalse EndGInt VwPrGrupTNameStrn BackColor VsblInt PrGpStrn Appearance PValStrn&hFFFFFFEndGInt VwPrGrup<NameStrnBackdropVsblInt PrGpStrn Appearance EndGInt VwPrGrupPNameStrnTitle VsblInt PrGpStrn Appearance PValStrnUntitledEndGInt VwPrGrupLNameStrnVisible VsblInt PrGpStrn Appearance PValStrnTrueEndGInt VwPrGrupTNameStrn FullScreen VsblInt PrGpStrn Appearance PValStrnFalse EndGInt VwPrGrupTNameStrnMenuBarVisible VsblInt PrGpStrn Appearance PValStrnTrueEndGInt VwPrGrupPNameStrn CloseButton VsblInt PrGpStrn Appearance PValStrnTrueEndGInt VwPrGrupTNameStrn Resizeable VsblInt PrGpStrn Appearance PValStrnFalse EndGInt VwPrGrupTNameStrn LiveResize VsblInt PrGpStrn Appearance PValStrnFalse EndGInt VwPrGrupXNameStrnMaximizeButton VsblInt PrGpStrn Appearance PValStrnFalse EndGInt VwPrGrupTNameStrnMinimizeButton VsblInt PrGpStrn Appearance PValStrnTrueEndGInt VwPrGrup@NameStrn BalloonHelp VsblInt PrGpStrn Appearance EndGInt VwPrGrupPNameStrn MacProcID VsblInt PrGpStrn Appearance PValStrn0 EndGInt VwPrGrup<NameStrnMenuBar VsblInt PrGpStrn Appearance EndGInt EndGInt CBhvGruppSuprStrnListBox HInsGrup@nameStrnOpenCompStrnsorcGrupEncoInt srclStrn Sub Open() srclStrn1' Load the listbox with a bunch of random numbers srclStrnfor i as Integer = 0 to 1000srclStrn Dim num as Integer = Rnd * 10000srclStrnme.AddRow( Str( num ) ) srclStrnnext i srclStrnEnd Sub EndGInt EndGInt EndGInt CBhvGrupSuprStrn PushButton HInsGrupdnameStrnAction CompStrnsorcGrup(EncoInt srclStrn Sub Action()srclStrn,' Grab all the numbers from the listbox and srclStrn*' stick them into an Integer array so that srclStrn' they can be sorted. srclStrnDim list( -1 ) as Integer srclStrn*for i as Integer = 0 to ListBox1.ListCount srclStrn(list.Append( Val( ListBox1.List( i ) ) )srclStrnnext i srclStrnsrclStrn.' Now we want to call our sorting algorithm on srclStrn#' the list of integers that we have srclStrnAlgorithms.QuickSort( list )srclStrnsrclStrn' Now clear the listbox out srclStrnListBox1.DeleteAllRows srclStrnsrclStrn(' And add the sorted data to the listboxsrclStrn&for i as Integer = 0 to UBound( list ) srclStrn#ListBox1.AddRow( Str( list( i ) ) ) srclStrnnext i srclStrnEnd Sub EndGInt EndGInt EndGInt CBhvGrupSuprStrn PushButton HInsGrup\nameStrnAction CompStrnsorcGrup EncoInt srclStrn Sub Action()srclStrnDdim s as String = Algorithms.ArabicToRoman( Val( EditField1.Text ) )srclStrn"MsgBox "Converting to Roman: " + s srclStrnsrclStrnKMsgBox "Converting back to Arabic: " + Str( Algorithms.RomanToArabic( s ) ) srclStrnEnd Sub EndGInt EndGInt EndGInt CBhvGrupSuprStrn Separator EndGInt CBhvGrupSuprStrn EditField EndGInt CtrlGrup HcclsStrnListBox nameStrnListBox PDefGrup8nameStrn InitialParent EncoInt PValStrnEndGInt PDefGrup4nameStrn DataField EncoInt PValStrnEndGInt PDefGrup4nameStrn DataSource EncoInt PValStrnEndGInt PDefGrup,nameStrnColumnsResizablePValStrnEndGInt PDefGrup,nameStrn SelectionType PValInt EndGInt PDefGrup0nameStrnRequiresSelection PValStrnEndGInt PDefGrup0nameStrnEnableDragReorder PValStrnEndGInt PDefGrup(nameStrn EnableDrag PValStrnEndGInt PDefGrup(nameStrn HierarchicalPValStrnEndGInt PDefGrup(nameStrn Underline PValStrnEndGInt PDefGrup$nameStrnItalic PValStrnEndGInt PDefGrup nameStrnBoldPValStrnEndGInt PDefGrup$nameStrnTextSizePValInt EndGInt PDefGrup8nameStrnTextFontEncoInt PValStrnTahoma EndGInt PDefGrup,nameStrnDefaultRowHeightPValInt EndGInt PDefGrup0nameStrnGridLinesVertical PValInt EndGInt PDefGrup0nameStrnGridLinesHorizontal PValInt EndGInt PDefGrup4nameStrnScrollBarVertical PValStrnTrueEndGInt PDefGrup0nameStrnScrollbarHorizontal PValStrnEndGInt PDefGrup(nameStrn HeadingIndexPValInt EndGInt PDefGrup4nameStrn InitialValueEncoInt PValStrnEndGInt PDefGrup,nameStrn UseFocusRingPValStrnTrueEndGInt PDefGrup(nameStrn HasHeading PValStrnEndGInt PDefGrup4nameStrn ColumnWidthsEncoInt PValStrnEndGInt PDefGrup(nameStrn ColumnCount PValInt EndGInt PDefGrup(nameStrnEnabled PValStrnTrueEndGInt PDefGrup0nameStrnAutoDeactivate PValStrnTrueEndGInt PDefGrup0nameStrnHelpTag EncoInt PValStrnEndGInt PDefGrup(nameStrnVisible PValStrnTrueEndGInt PDefGrup,nameStrn TabPanelIndex PValInt EndGInt PDefGrup(nameStrn LockBottom PValStrnEndGInt PDefGrup(nameStrn LockRight PValStrnEndGInt PDefGrup$nameStrnLockTop PValStrnEndGInt PDefGrup$nameStrnLockLeftPValStrnEndGInt PDefGrup$nameStrnHeight PValInt EndGInt PDefGrup$nameStrnWidth PValInt EndGInt PDefGrup nameStrnTop PValInt EndGInt PDefGrup nameStrnLeftPValInt EndGInt PDefGrup(nameStrn ControlOrderPValInt EndGInt PDefGrup8nameStrnSuper EncoInt PValStrnListBox EndGInt PDefGrup$nameStrnIndex PValInt EndGInt PDefGrup4nameStrnNameEncoInt PValStrnListBox1EndGInt CBixInt EndGInt CtrlGrupcclsStrn PushButton nameStrn PushButton PDefGrup8nameStrn InitialParent EncoInt PValStrnEndGInt PDefGrup(nameStrn Underline PValStrnEndGInt PDefGrup$nameStrnItalic PValStrnEndGInt PDefGrup nameStrnBoldPValStrnEndGInt PDefGrup$nameStrnTextSizePValInt EndGInt PDefGrup8nameStrnTextFontEncoInt PValStrnTahoma EndGInt PDefGrup0nameStrnAutoDeactivate PValStrnTrueEndGInt PDefGrup0nameStrnHelpTag EncoInt PValStrnEndGInt PDefGrup(nameStrnVisible PValStrnTrueEndGInt PDefGrup(nameStrnEnabled PValStrnTrueEndGInt PDefGrup$nameStrnCancel PValStrnEndGInt PDefGrup(nameStrnDefault PValStrnTrueEndGInt PDefGrup8nameStrnCaption EncoInt PValStrn&Sort EndGInt PDefGrup,nameStrn TabPanelIndex PValInt EndGInt PDefGrup(nameStrn LockBottom PValStrnEndGInt PDefGrup(nameStrn LockRight PValStrnEndGInt PDefGrup$nameStrnLockTop PValStrnEndGInt PDefGrup$nameStrnLockLeftPValStrnEndGInt PDefGrup$nameStrnHeight PValInt EndGInt PDefGrup$nameStrnWidth PValInt PEndGInt PDefGrup nameStrnTop PValInt EndGInt PDefGrup nameStrnLeftPValInt EndGInt PDefGrup(nameStrn ControlOrderPValInt EndGInt PDefGrup<nameStrnSuper EncoInt PValStrn PushButton EndGInt PDefGrup$nameStrnIndex PValInt EndGInt PDefGrup8nameStrnNameEncoInt PValStrn PushButton1 EndGInt CBixInt EndGInt CtrlGrupcclsStrn PushButton nameStrn PushButton PDefGrup8nameStrn InitialParent EncoInt PValStrnEndGInt PDefGrup(nameStrn Underline PValStrnEndGInt PDefGrup$nameStrnItalic PValStrnEndGInt PDefGrup nameStrnBoldPValStrnEndGInt PDefGrup$nameStrnTextSizePValInt EndGInt PDefGrup8nameStrnTextFontEncoInt PValStrnTahoma EndGInt PDefGrup0 nameStrnAutoDeactivate PValStrnTrueEndGInt  PDefGrup0 nameStrnHelpTag EncoInt PValStrnEndGInt  PDefGrup( nameStrnVisible PValStrnTrueEndGInt  PDefGrup( nameStrnEnabled PValStrnTrueEndGInt  PDefGrup$ nameStrnCancel PValStrnEndGInt  PDefGrup$nameStrnDefault PValStrnEndGInt PDefGrup8nameStrnCaption EncoInt PValStrn&ConvertEndGInt PDefGrup,nameStrn TabPanelIndex PValInt EndGInt PDefGrup(nameStrn LockBottom PValStrnEndGInt PDefGrup(nameStrn LockRight PValStrnEndGInt PDefGrup$nameStrnLockTop PValStrnEndGInt PDefGrup$nameStrnLockLeftPValStrnEndGInt PDefGrup$nameStrnHeight PValInt EndGInt PDefGrup$nameStrnWidth PValInt PEndGInt PDefGrup nameStrnTop PValInt 3EndGInt PDefGrup nameStrnLeftPValInt pEndGInt PDefGrup(nameStrn ControlOrderPValInt EndGInt PDefGrup<nameStrnSuper EncoInt PValStrn PushButton EndGInt PDefGrup$nameStrnIndex PValInt EndGInt PDefGrup8nameStrnNameEncoInt PValStrn PushButton2 EndGInt CBixInt EndGInt CtrlGrupcclsStrn Separator nameStrn Separator PDefGrup(nameStrnEnabled PValStrnTrueEndGInt PDefGrup0nameStrnAutoDeactivate PValStrnTrueEndGInt PDefGrup0 nameStrnHelpTag EncoInt PValStrnEndGInt  PDefGrup(!nameStrnVisible PValStrnTrueEndGInt !PDefGrup8"nameStrn InitialParent EncoInt PValStrnEndGInt "PDefGrup,#nameStrn TabPanelIndex PValInt EndGInt #PDefGrup($nameStrn LockBottom PValStrnEndGInt $PDefGrup(%nameStrn LockRight PValStrnEndGInt %PDefGrup$&nameStrnLockTop PValStrnEndGInt &PDefGrup$'nameStrnLockLeftPValStrnEndGInt 'PDefGrup$(nameStrnHeight PValInt EndGInt (PDefGrup$)nameStrnWidth PValInt )EndGInt )PDefGrup *nameStrnTop PValInt #EndGInt *PDefGrup +nameStrnLeftPValInt EndGInt +PDefGrup(,nameStrn ControlOrderPValInt EndGInt ,PDefGrup<-nameStrnSuper EncoInt PValStrn Separator EndGInt -PDefGrup$.nameStrnIndex PValInt EndGInt .PDefGrup8/nameStrnNameEncoInt PValStrn Separator1 EndGInt /CBixInt EndGInt CtrlGrup 0cclsStrn EditField nameStrn EditField PDefGrup81nameStrn InitialParent EncoInt PValStrnEndGInt 1PDefGrup42nameStrn DataField EncoInt PValStrnEndGInt 2PDefGrup43nameStrn DataSource EncoInt PValStrnEndGInt 3PDefGrup(4nameStrn Alignment PValInt EndGInt 4PDefGrup(5nameStrn AcceptTabs PValStrnEndGInt 5PDefGrup(6nameStrn LimitText PValInt EndGInt 6PDefGrup$7nameStrnReadOnlyPValStrnEndGInt 7PDefGrup,8nameStrnMaskEncoInt PValStrnEndGInt 8PDefGrup09nameStrnTextEncoInt PValStrn923 EndGInt 9PDefGrup(:nameStrn Underline PValStrnEndGInt :PDefGrup$;nameStrnItalic PValStrnEndGInt ;PDefGrup nameStrnTextFontEncoInt PValStrnTahoma EndGInt >PDefGrup0?nameStrnAutoDeactivate PValStrnTrueEndGInt ?PDefGrup0@nameStrnHelpTag EncoInt PValStrnEndGInt @PDefGrup(AnameStrnVisible PValStrnTrueEndGInt APDefGrup0BnameStrnFormat EncoInt PValStrnEndGInt BPDefGrup(CnameStrnEnabled PValStrnTrueEndGInt CPDefGrup(DnameStrn BackColor PValInt EndGInt DPDefGrup(EnameStrn TextColor PValInt EndGInt EPDefGrup,FnameStrn UseFocusRingPValStrnTrueEndGInt FPDefGrup$GnameStrnPasswordPValStrnEndGInt GPDefGrup$HnameStrnStyled PValStrnEndGInt HPDefGrup4InameStrnScrollbarVertical PValStrnTrueEndGInt IPDefGrup0JnameStrnScrollbarHorizontal PValStrnEndGInt JPDefGrup(KnameStrn Multiline PValStrnEndGInt KPDefGrup(LnameStrnBorder PValStrnTrueEndGInt LPDefGrup,MnameStrn TabPanelIndex PValInt EndGInt MPDefGrup(NnameStrn LockBottom PValStrnEndGInt NPDefGrup(OnameStrn LockRight PValStrnEndGInt OPDefGrup$PnameStrnLockTop PValStrnEndGInt PPDefGrup$QnameStrnLockLeftPValStrnEndGInt QPDefGrup$RnameStrnHeight PValInt EndGInt RPDefGrup$SnameStrnWidth PValInt PEndGInt SPDefGrup TnameStrnTop PValInt 3EndGInt TPDefGrup UnameStrnLeftPValInt EndGInt UPDefGrup(VnameStrn ControlOrderPValInt EndGInt VPDefGrup<WnameStrnSuper EncoInt PValStrn EditField EndGInt WPDefGrup$XnameStrnIndex PValInt EndGInt XPDefGrup8YnameStrnNameEncoInt PValStrn EditField1 EndGInt YCBixInt EndGInt 0PadnPadn********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************BlokpMnu?? NameStrnMenuBar1ContInt paswStrnMItmGruppZspmuInt nameStrnFileMenutextStrn&File indxInt scutStrnmaEnInt EncoInt flagInt SuprStrnMenuItemMItmGrup[spmuInt nameStrnFileQuittextStrn#App.kFileQuit indxInt scutStrn#App.kFileQuitShortcut MiSKStrn#App.kFileQuitShortcut maEnInt EncoInt flagInt SuprStrn QuitMenuItemEndGInt [EndGInt ZMItmGrup\\spmuInt nameStrnEditMenutextStrn&Edit indxInt scutStrnmaEnInt EncoInt flagInt SuprStrnMenuItemMItmGrup]spmuInt nameStrnEditUndotextStrn&Undo indxInt scutStrnCmd+Z MiSKStrnZ MiMkInt maEnInt EncoInt flagInt SuprStrnMenuItemEndGInt ]MItmGrup^spmuInt nameStrn UntitledMenu1 textStrn- indxInt scutStrnmaEnInt EncoInt flagInt SuprStrnMenuItemEndGInt ^MItmGrup_spmuInt nameStrnEditCut textStrnCu&tindxInt scutStrnCmd+X MiSKStrnX MiMkInt maEnInt EncoInt flagInt SuprStrnMenuItemEndGInt _MItmGrup`spmuInt nameStrnEditCopytextStrn&Copy indxInt scutStrnCmd+C MiSKStrnC MiMkInt maEnInt EncoInt flagInt SuprStrnMenuItemEndGInt `MItmGrupaspmuInt nameStrn EditPaste textStrn&Paste indxInt scutStrnCmd+V MiSKStrnV MiMkInt maEnInt EncoInt flagInt SuprStrnMenuItemEndGInt aMItmGrupbspmuInt nameStrn EditClear textStrn#App.kEditClear indxInt scutStrnmaEnInt EncoInt flagInt SuprStrnMenuItemEndGInt bMItmGrupcspmuInt nameStrn UntitledMenu0 textStrn- indxInt scutStrnmaEnInt EncoInt flagInt SuprStrnMenuItemEndGInt cMItmGrupdspmuInt nameStrn EditSelectAll textStrn Select &All indxInt scutStrnCmd+A MiSKStrnA MiMkInt maEnInt EncoInt flagInt SuprStrnMenuItemEndGInt dEndGInt \PadnPadn****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************BlokpObjiNameStrn Algorithms ContInt paswStrnbClsInt bNtrInt CompStrnMethGrupenameStrn QuickSort CompStrnsorcGrupLfEncoInt srclStrnHSub QuickSort(list() As Integer, min As Integer = 0, max As Integer = 0)srclStrnDim med_value As IntegersrclStrnDim hi As Integer srclStrnDim lo As Integer srclStrnDim i As IntegersrclStrnsrclStrn2' If this is the first time calling the method, we srclStrn' want to calculate min and max srclStrnif min = 0 and max = 0 then srclStrnmin = 0 srclStrnmax = UBound( list )srclStrnend if srclStrnsrclStrn5' If min >= max, the list contains 0 or 1 items so it srclStrn ' is sorted.srclStrnIf min >= max Then return srclStrnsrclStrn' Pick the dividing value. srclStrn!i = ((max - min + 1) * Rnd + min) srclStrnmed_value = list( i ) srclStrnsrclStrn' Swap it to the front. srclStrnlist( i ) = list( min ) srclStrnsrclStrnlo = minsrclStrnhi = maxsrclStrnDo srclStrn,' Look down from hi for a value < med_value.srclStrnWhile list( hi ) >= med_value srclStrn hi = hi - 2 srclStrnIf hi <= lo Then Exit srclStrnWendsrclStrnsrclStrnIf hi <= lo ThensrclStrnlist( lo ) = med_value srclStrnExitsrclStrnEnd If srclStrnsrclStrn' Swap the lo and hi values.srclStrnlist( lo ) = list( hi ) srclStrnsrclStrn+' Look up from lo for a value >= med_value. srclStrn lo = lo + 1 srclStrnWhile list( lo ) < med_valuesrclStrn lo = lo + 1 srclStrnIf lo >= hi Then Exit srclStrnWendsrclStrnsrclStrnIf lo >= hi ThensrclStrnlo = hi srclStrnlist( hi ) = med_value srclStrnExitsrclStrnEnd If srclStrnsrclStrn' Swap the lo and hi values.srclStrnlist( hi ) = list( lo ) srclStrnLoopsrclStrnsrclStrn' Sort the two sublists.srclStrnQuicksort( list, min, lo - 1 ) srclStrnQuicksort( list, lo + 1, max ) srclStrnEnd Sub EndGInt fEncoInt AlasStrnflagInt parmStrn9list() As Integer, min As Integer = 0, max As Integer = 0 rsltStrnEndGInt eMethGrup@gnameStrn RomanToArabic CompStrnsorcGruphEncoInt srclStrn2Function RomanToArabic(roman As String) As Integer srclStrnDim i As IntegersrclStrnDim ch As StringsrclStrnDim result As Integer srclStrnDim new_value As IntegersrclStrnDim old_value As IntegersrclStrnsrclStrnold_value = 1000srclStrnsrclStrnFor i = 0 To Len( roman ) - 1 srclStrn'' See what the next character is worth. srclStrnch = Mid( roman, i, 1 ) srclStrnSelect Case ch srclStrnCase "I"srclStrn new_value = 1 srclStrnCase "V"srclStrn new_value = 5 srclStrnCase "X"srclStrnnew_value = 10 srclStrnCase "L"srclStrnnew_value = 50 srclStrnCase "C"srclStrnnew_value = 100 srclStrnCase "D"srclStrnnew_value = 500 srclStrnCase "M"srclStrnnew_value = 1000srclStrn End Select srclStrnsrclStrn!' See if this character is bigger srclStrn' than the previous one.srclStrnIf new_value > old_value Then srclStrn#' The new value > the previous one. srclStrn' Add this value to the result srclStrn&' and subtract the previous one twice. srclStrn+result = result + new_value - 2 * old_value srclStrnElsesrclStrn$' The new value <= the previous one.srclStrn' Add it to the result. srclStrnresult = result + new_value srclStrnEnd If srclStrnsrclStrnold_value = new_value srclStrnNext i srclStrnsrclStrn return result srclStrn End FunctionEndGInt hEncoInt AlasStrnflagInt parmStrnroman As String rsltStrnInteger EndGInt gMethGrupinameStrnAddRomanDigits CompStrnsorcGrupjEncoInt srclStrnFunction AddRomanDigits(result As String, arabic_digit As Integer, ten_letter As String, five_letter As String, one_letter As String) As String srclStrnSelect Case arabic_digitsrclStrn Case 1 To 3 srclStrn9result = result + StringRepeat( arabic_digit, one_letter) srclStrnCase 4 srclStrn*result = result + one_letter + five_letter srclStrnCase 5 srclStrnresult = result + five_letter srclStrn Case 6 To 8 srclStrnLresult = result + five_letter + StringRepeat( arabic_digit - 5, one_letter )srclStrnCase 9 srclStrn)result = result + one_letter + ten_letter srclStrn End Select srclStrnsrclStrn return result srclStrn End FunctionEndGInt jEncoInt AlasStrnflagInt !parmStrnlresult As String, arabic_digit As Integer, ten_letter As String, five_letter As String, one_letter As StringrsltStrnString EndGInt iMethGruplknameStrn ArabicToRoman CompStrnsorcGruplEncoInt srclStrn:Function ArabicToRoman(arabic_number as Integer) As String srclStrnDim digit As IntegersrclStrnDim result As StringsrclStrnsrclStrn' Pull out thousands. srclStrndigit = arabic_number \ 1000srclStrn,arabic_number = arabic_number - digit * 1000srclStrn,result = result + StringRepeat( digit, "M" )srclStrnsrclStrn' Pull out hundreds.srclStrndigit = arabic_number \ 100 srclStrn+arabic_number = arabic_number - digit * 100 srclStrn7result = AddRomanDigits( result, digit, "M", "D", "C" ) srclStrnsrclStrn' Pull out tens.srclStrndigit = arabic_number \ 10 srclStrn*arabic_number = arabic_number - digit * 10 srclStrn7result = AddRomanDigits( result, digit, "C", "L", "X" ) srclStrnsrclStrn' Pull out ones.srclStrndigit = arabic_number srclStrn7result = AddRomanDigits( result, digit, "X", "V", "I" ) srclStrnsrclStrn return result srclStrn End FunctionEndGInt lEncoInt AlasStrnflagInt parmStrnarabic_number as IntegerrsltStrnString EndGInt kMethGrupmnameStrn StringRepeatCompStrnsorcGrup(nEncoInt srclStrnHFunction StringRepeat(repeat as Integer, withLetter as String) As StringsrclStrndim ret as String srclStrn"for i as Integer = 0 to repeat - 1 srclStrnret = ret + withLetter srclStrnnext i srclStrnsrclStrn return ret srclStrn End FunctionEndGInt nEncoInt AlasStrnflagInt !parmStrn'repeat as Integer, withLetter as String rsltStrnString EndGInt mVwBhGrupoVwPrGrup0pNameStrnNameVsblInt PrGpStrnID EndGInt pVwPrGrupLqNameStrnIndex VsblInt PrGpStrnID PValStrn -2147483648 EndGInt qVwPrGrup4rNameStrnSuper VsblInt PrGpStrnID EndGInt rVwPrGrupDsNameStrnLeftVsblInt PrGpStrnPositionPValStrn0 EndGInt sVwPrGrupDtNameStrnTop VsblInt PrGpStrnPositionPValStrn0 EndGInt tEndGInt oPadnPadn****************************************************************************************************************************************************************************************************************************************************BlokpUIsWnStGrupuOTabGrupvContInt eSptInt EndGInt vOTabGrupwContInt iEndGInt wOTabGrupxContInt YiEndGInt xOTabGrupyContInt YiEndGInt yLsLcStrnWindow1.PushButton1.Action rEdtRectEndGInt uPadnPadn********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************EOF!