home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2001 November / VPR0111A.ISO / HSTRAIAL / MSHagaki / MM3.Cab / F96809_mshslabl.vs.4722E93C_9B97_42FF_8575_C46D868BB8C1 < prev    next >
Text File  |  2001-07-04  |  13KB  |  400 lines

  1.  
  2. ////////////////////////////////////////////////////////////////////////////////////
  3. // ”宛名ラベル”、”名刺”、”プリントシール”、”AVラベル”共通
  4. ////////////////////////////////////////////////////////////////////////////////////
  5.  
  6. // *****************************************************************************************************
  7. // *  重要  xxxxxxx_onChange Sub プロシージャは、ComboBox の Select 監視を行っています。
  8. // *****************************************************************************************************
  9.  
  10. // ラベルの会社名の選択を監視
  11. Sub label_company_onChange()
  12.     Dim nSelectedModel, nSelectedCompany
  13.  
  14.     nSelectedModel = 0
  15.     nSelectedCompany = get_selected_company()
  16.  
  17.     Call parent.window.external.push_selectindex( nSelectedModel, nSelectedCompany )
  18.     Call window.navigate( window.location )
  19. End Sub
  20.  
  21. // ラベルの型番名の選択を監視
  22. Sub label_model_onChange()
  23.     Dim nSelectedModel, nSelectedCompany
  24.  
  25.     nSelectedModel = get_selected_model()
  26.     nSelectedCompany = get_selected_company()
  27.  
  28.     Call parent.window.external.push_selectindex( nSelectedModel, nSelectedCompany )
  29.     Call window.navigate( window.location )
  30. End Sub
  31.  
  32. // *****************************************************************************************************
  33. // 指定された識別名で Cookie に値を保存する
  34. Sub SetCookieVariable( strVariableName, varVariableValue )
  35.     Document.Cookie = strVariableName & "=" & varVariableValue
  36. End Sub
  37.  
  38. // 保存されている Cookie の抽出
  39. Function ReadCookieVariable( strVariableName )
  40.     Dim intLocation
  41.     Dim intNameLength
  42.     Dim intValueLength
  43.     Dim intNextSemicolon
  44.     Dim strTemp
  45.     Dim tempValue
  46.  
  47.     intNameLength = Len( strVariableName )
  48.     intLocation = Instr( Document.Cookie, strVariableName) 
  49.  
  50.     If intLocation = 0 Then
  51.         ReadCookieVariable = NOT_FOUND
  52.         tempValue = NOT_FOUND
  53.     Else
  54.         strTemp = Right(Document.Cookie, Len(Document.Cookie) - intLocation + 1)
  55.  
  56.         If Mid(strTemp, intNameLength + 1, 1) <> "=" Then
  57.             ReadCookieVariable = NOT_FOUND
  58.             tempValue = NOT_FOUND
  59.         Else
  60.             intNextSemicolon = Instr( strTemp, ";" )
  61.             If intNextSemicolon = 0 Then intNextSemicolon = Len(strTemp) + 1
  62.  
  63.             If intNextSemicolon = (intNameLength + 2) Then
  64.                 ReadCookieVariable = ""
  65.                 tempValue = ""
  66.             Else
  67.                 intValueLength = intNextSemicolon - intNameLength - 2
  68.                 ReadCookieVariable = Mid( strTemp, intNameLength + 2, intValueLength )
  69.                 tempValue = Mid( strTemp, intNameLength + 2, intValueLength )
  70.             End If
  71.         End If
  72.     End if
  73. End Function
  74.  
  75. // 垂直スクロールバーの非表示
  76. Function hidden_vertical_scrollbar()
  77. End Function
  78.  
  79. // 選択されているラベルの会社名の抽出
  80. Function get_selected_company()
  81.     get_selected_company = document.formcompany.label_company.selectedindex
  82. End Function
  83.  
  84. // 選択されているラベルの型番名の抽出
  85. Function get_selected_model()
  86.     get_selected_model = document.formmodel.label_model.selectedindex
  87. End Function
  88.  
  89.  
  90. // ラベルに対する会社名、および、ラベル型番名を初期化し、LABEL-DB の recordset からの検索を可能にする
  91. // ※必ず、update_descriptions() 関数を呼び出す前に、この関数を先に呼び出すこと
  92. Function refresh_label_company_model_index()
  93.     Dim nCategoryIindex, szCategoryNow
  94.  
  95.     // 保存されている選択カテゴリーの抽出
  96.     szCategoryNow = ReadCookieVariable( "HSCATEGORYNAME" )
  97.  
  98.     // 保存されていた選択カテゴリーを設定
  99.     Call parent.window.external.set_curcategory( szCategoryNow )
  100. End Function
  101.  
  102.  
  103. // 選択されているカテゴリー値の抽出
  104. Function get_current_category_index()
  105.     Dim nCategoryIindex, szCategoryNow
  106.  
  107.     Call hidden_vertical_scrollbar()
  108.  
  109.     // 保存されている選択カテゴリーの抽出
  110.     szCategoryNow = ReadCookieVariable( "HSCATEGORYNAME" )
  111.  
  112.     Select Case (szCategoryNow)
  113.         Case "Hagaki"
  114.             nCategoryIindex = 1
  115.         Case "Envelope"
  116.             nCategoryIindex = 2
  117.         Case "Address"
  118.             nCategoryIindex = 3
  119.         Case "Card"
  120.             nCategoryIindex = 4
  121.         Case "Print"
  122.             nCategoryIindex = 5
  123.         Case "AV"
  124.             nCategoryIindex = 6
  125.         Case "DesignOpen"
  126.             nCategoryIindex = 7
  127.         Case "AddressBook"
  128.             nCategoryIindex = 8
  129.         Case Else
  130.             nCategoryIindex = 0
  131.     End Select
  132.     get_current_category_index = nCategoryIindex
  133. End Function
  134.  
  135. // ラベルに対する会社名を選択できるようにする
  136. Function set_label_company()
  137.     Dim nCategoryIindex, nCount, fIsSelect, szCompanyName
  138.  
  139.     nCategoryIindex = get_current_category_index()
  140.     nCount = parent.window.external.get_companycount( nCategoryIindex )
  141.  
  142.     If nCount > 0 Then
  143.         For i = 0 To (nCount-1) Step 1
  144.             Call parent.window.external.enum_companyname( fIsSelect, szCompanyName, i, nCategoryIindex )
  145.             If fIsSelect <> 0 Then
  146.                 Call document.write( "<option value='" & szCompanyName & "' selected>" & szCompanyName & "</option>" )
  147.             Else 
  148.                 Call document.write( "<option value='" & szCompanyName & "'>" & szCompanyName & "</option>" )
  149.             End If
  150.         Next 
  151.     End if
  152. End Function
  153.  
  154. // ラベルに対する型番名を選択できるようにする
  155. Function set_label_model( nCompanyIindex )
  156.     Dim nCategoryIindex, nCount, fIsSelect, szModelName, nSelectedModel
  157.  
  158.     nCategoryIindex = get_current_category_index()
  159.     nCount = parent.window.external.get_modelcount( nCompanyIindex, nCategoryIindex )
  160.     nSelectedModel = 0
  161.  
  162.     If nCount > 0 Then
  163.         For i = 0 To (nCount-1) Step 1
  164.             Call parent.window.external.enum_modelname( fIsSelect, szModelName, i, nCompanyIindex, nCategoryIindex )
  165.             If fIsSelect <> 0 Then
  166.                 nSelectedModel = i
  167.                 Call document.write( "<option value='" & szModelName & "' selected>" & szModelName & "</option>" )
  168.             Else
  169.                 Call document.write( "<option value='" & szModelName & "'>" & szModelName & "</option>" )
  170.             End If
  171.         Next 
  172.     End If
  173.  
  174.     Call parent.window.external.update_descriptions( nSelectedModel, nCompanyIindex, nCategoryIindex )
  175. End Function
  176.  
  177. // 指定されたタイプのラベルの横と縦の比を判定する
  178. // return > 0  : 横 > 縦
  179. // return = 0  : 横 = 縦
  180. // return < 0  : 横 < 縦
  181. Function check_label_aspect_ratio()
  182.     Dim szWidth, szHeight, szGetType1, szGetType2
  183.     Dim nCategoryIindex, nSelectedModel, nSelectedCompany
  184.  
  185.     nCategoryIindex = get_current_category_index()
  186.     nSelectedModel = get_selected_model()
  187.     nSelectedCompany = get_selected_company()
  188.  
  189.     szGetType1 = "paperwidth"
  190.     szGetType2 = "paperheight"
  191.  
  192.     Call parent.window.external.get_description(szWidth, szGetType1, nSelectedModel, nCompanyInedex, nCategoryIindex)
  193.     Call parent.window.external.get_description(szHeight, szGetType2, nSelectedModel, nCompanyInedex, nCategoryIindex)
  194.  
  195.     If szWidth > szHeight Then
  196.         check_label_aspect_ratio = 1
  197.     End If
  198.     If szWidth = szHeight Then
  199.         check_label_aspect_ratio = 0
  200.     End If
  201.     If szWidth < szHeight Then
  202.         check_label_aspect_ratio = -1
  203.     End If
  204. End Function
  205.  
  206. // 選択されたラベル型番のイメージを表示する
  207. Function set_label_image()
  208.     Dim nCategoryIindex, nSelectedModel, nSelectedCompany, szImageFileName, nWidth, nHeight, nAspectRatio
  209.  
  210.     nCategoryIindex = get_current_category_index()
  211.     nSelectedModel = get_selected_model()
  212.     nSelectedCompany = get_selected_company()
  213.  
  214.     nAspectRatio = check_label_aspect_ratio()
  215.     If nAspectRatio > 0 Then
  216.         nWidth = 125
  217.         nHeight = 86
  218.     End If
  219.     If nAspectRatio = 0 Then
  220.         nWidth = 125
  221.         nHeight = 125
  222.     End If
  223.     If nAspectRatio < 0 Then
  224.         nWidth = 86
  225.         nHeight = 125
  226.     End If
  227.  
  228.     Call parent.window.external.get_bmpfilename( szImageFileName, nHeight, nWidth, nSelectedModel, nSelectedCompany, nCategoryIindex )
  229.     Call document.write( "<img src=" & szImageFileName & "width='" & nWidth & "' height='" & nHeight & "'>" )
  230. End Function
  231.  
  232. Function set_label_image_small()
  233.     Dim nCategoryIindex, nSelectedModel, nSelectedCompany, szImageFileName, nWidth, nHeight
  234.  
  235.     nCategoryIindex = get_current_category_index()
  236.     nSelectedModel = get_selected_model()
  237.     nSelectedCompany = get_selected_company()
  238.  
  239.     nAspectRatio = check_label_aspect_ratio()
  240.     If nAspectRatio > 0 Then
  241.         nWidth = 110
  242.         nHeight = 76
  243.     End If
  244.     If nAspectRatio = 0 Then
  245.         nWidth = 110
  246.         nHeight = 110
  247.     End If
  248.     If nAspectRatio < 0 Then
  249.         nWidth = 76
  250.         nHeight = 110
  251.     End If
  252.  
  253.     Call parent.window.external.get_bmpfilename( szImageFileName, nHeight, nWidth, nSelectedModel, nSelectedCompany, nCategoryIindex )
  254.     Call document.write( "<img src=" & szImageFileName & "width='" & nWidth & "' height='" & nHeight & "'>" )
  255. End Function
  256.  
  257. // 指定されたタイプのラベル説明文を抽出する
  258. Function get_string_label_description( nGetTypeIndex, nCategoryIindex, nCompanyInedex, nModelIndex )
  259.     Dim szDescription, szInfo1, szInfo2, szGetType1, szGetType2, szCaption, szMark
  260.  
  261.     szDescription = ""
  262.     szInfo1 = ""
  263.     szInfo2 = ""
  264.     szGetType1 = ""
  265.     szGetType2 = ""
  266.     szCaption = ""
  267.     szMark = ""
  268.  
  269.     Select Case (nGetTypeIndex)
  270.         Case 1        '''' 説明1
  271.             szGetType1 = "discription1"
  272.         Case 2        '''' 説明2
  273.             szGetType1 = "discription2"
  274.         Case 3        '''' 用途
  275.             szCaption = "用途 : "
  276.             szGetType1 = "paperpurpose"
  277.         Case 4        '''' 紙質
  278.             szCaption = "紙質 : "
  279.             szGetType1 = "papertype"
  280.         Case 5        '''' 用紙サイズ(幅 x 高さ)
  281.             szCaption = "用紙 : "
  282.             szMark = " * "
  283.             szGetType1 = "paperwidth"
  284.             szGetType2 = "paperheight"
  285.         Case 6        '''' ラベルサイズ(幅 x 高さ)
  286.             szCaption = "ラベル : "
  287.             szMark = " * "
  288.             szGetType1 = "stickerwidth"
  289.             szGetType2 = "stickerheight"
  290.         Case 7        '''' 左マージン
  291.             szCaption = "左マージン : "
  292.             szGetType1 = "leftmargin"
  293.         Case 8        '''' 上マージン
  294.             szCaption = "上マージン : "
  295.             szGetType1 = "topmargin"
  296.         Case Else
  297.     End Select
  298.  
  299.     If szGetType1 <> "" Then
  300.         Call parent.window.external.get_description(szInfo1, szGetType1, nModelIndex, nCompanyInedex, nCategoryIindex)
  301.     End if
  302.     If szGetType2 <> "" Then
  303.         Call parent.window.external.get_description(szInfo2, szGetType2, nModelIndex, nCompanyInedex, nCategoryIindex)
  304.     End if
  305.  
  306.     get_string_label_description = szCaption & szInfo1 & szMark & szInfo2
  307. End Function
  308.  
  309. // 選択されたラベル型番の説明文を表示する
  310. Function set_label_description()
  311.     Dim nCategoryIindex, nSelectedModel, nSelectedCompany, szDescription
  312.  
  313.     nCategoryIindex = get_current_category_index()
  314.     nSelectedModel = get_selected_model()
  315.     nSelectedCompany = get_selected_company()
  316.  
  317.     For i = 1 To 8 Step 1
  318.         szDescription = get_string_label_description( i, nCategoryIindex, nSelectedCompany, nSelectedModel )
  319.         If i = 5 Then
  320.             Call document.write( "サイズ(単位 : mm)<br>" )
  321.         End If
  322.         If i >= 5 And i <= 8 Then
  323.             Call document.write( " " )
  324.         End If
  325.         Call document.write( szDescription & "<br>" )
  326.     Next 
  327. End Function
  328.  
  329. Function set_label_description_only()
  330.     Dim nCategoryIindex, nSelectedModel, nSelectedCompany, szDescription
  331.  
  332.     nCategoryIindex = get_current_category_index()
  333.     nSelectedModel = get_selected_model()
  334.     nSelectedCompany = get_selected_company()
  335.  
  336.     For i = 1 To 2 Step 1
  337.         szDescription = get_string_label_description( i, nCategoryIindex, nSelectedCompany, nSelectedModel )
  338.         Call document.write( szDescription & "<br>" )
  339.     Next 
  340. End Function
  341.  
  342. Function set_label_description_info()
  343.     Dim nCategoryIindex, nSelectedModel, nSelectedCompany, szDescription
  344.  
  345.     nCategoryIindex = get_current_category_index()
  346.     nSelectedModel = get_selected_model()
  347.     nSelectedCompany = get_selected_company()
  348.  
  349.     For i = 3 To 8 Step 1
  350.         szDescription = get_string_label_description( i, nCategoryIindex, nSelectedCompany, nSelectedModel )
  351.         If i = 5 Then
  352.             Call document.write( "サイズ(単位 : mm)<br>" )
  353.         End If
  354.         If i >= 5 And i <= 8 Then
  355.             Call document.write( " " )
  356.         End If
  357.         Call document.write( szDescription & "<br>" )
  358.     Next 
  359. End Function
  360.  
  361.  
  362.  
  363. // 選択されたラベル型番名を DLL 側に記憶させる
  364. Function set_label_model_index()
  365.     Dim nSelectedModel, nSelectedCompany
  366.  
  367.     nSelectedModel = get_selected_model()
  368.     nSelectedCompany = get_selected_company()
  369.  
  370.     Call parent.window.external.push_selectindex( nSelectedModel, nSelectedCompany )
  371. End Function
  372.  
  373. // 選択されたラベル型番名を入力BOXに表示し、DLL 側にラベル型番名を記憶させる
  374. Function set_label_modelname()
  375.     Dim szLabelModelName
  376.  
  377.     Call parent.window.external.get_labelmodelname( szLabelModelName )
  378.     Call document.write( "<input type= 'text' name= 'textfield' value=" & szLabelModelName & "size='32' maxlength='32'>" )
  379.     Call set_label_model_index()
  380. End Function
  381.  
  382. // 選択されたラベル型番名を入力BOXに表示する
  383. Function disp_label_modelname()
  384.     Dim szLabelModelName
  385.  
  386.     Call parent.window.external.get_labelmodelname( szLabelModelName )
  387.     Call document.write( "<input type= 'text' name= 'textfield' value=" & szLabelModelName & "size='32' maxlength='32'>" )
  388. End Function
  389.  
  390. // 選択されたラベル型番名のインフォメーションデーターを DLL のバッファーに作成/更新する
  391. Function create_label_info_data()
  392.     Dim nCategoryIindex, nSelectedModel, nSelectedCompany
  393.  
  394.     nCategoryIindex = get_current_category_index()
  395.     nSelectedModel = get_selected_model()
  396.     nSelectedCompany = get_selected_company()
  397.  
  398.     Call parent.window.external.update_descriptions( nSelectedModel, nSelectedCompany, nCategoryIindex )
  399. End Function
  400.