2011年5月21日 星期六

dw8的幾個問題

已經有好幾個學期沒有教網頁設計,連之前微軟的frontpage也改朝換代到Microsoft Expression(Microsoft Office SharePoint Designer 2007),無奈這個新軟體中文書都還沒有幾本,因此改成使用歷史悠久的MacroMedia DreamWeaver 8來上課。發現有一些問題:

1. 頁框組有些問題,明明已經設定好每個頁框對應的網頁,存檔後關閉竟然會說找不到另一個不知名的網頁。

2. 插入Flash按鈕不會出現,後來上網找到解法,原來網站的命名不能使用中文,可接受數字或英文,設定好網站名稱後即可插入Flash 按鈕。

3. 插入浮動式選單出現問題,文字呈直線排列,如下圖

選單中的文字怎麼變成垂直排列了。


經過上網搜尋答案,終於發現需手動修改DW8自動產生的mm_menu.js檔,在136列的地方, 將原本的

var itemProps = '';
改成
var itemProps = 'white-space:nowrap;';
就可以了,修改成功的成果如下。




 


4. 樹狀目錄



5. 加入wmv播放檔





ClassID clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95





2011年4月18日 星期一

被捲尺搞錯好幾次

最近在改學生專題,發現有個地方一直好像有錯,上網花了許多時間才搞清楚。

有些人可能會問怎麼會搞錯呢? 請看下圖

 


明明文公尺上面寫的單位是台尺,可是實際上應該是台寸,10台寸才是1台尺。

 

以下資料參考自: http://tw.myblog.yahoo.com/joe8885/article?mid=81&next=77&l=f&fid=6

1.台尺、台寸:
一般估價單上只寫「尺」,
通常就表示台尺,
1台尺=10台寸,
1台寸=3.03公分,也就是說,
1台尺=30.3公分
(更正確的說法,是30.3030303030…)

2.材:
一材的「材」字,
是「材積」的意思,
顧名思義就是「木材的面積」或「木材的體積」,原本是用來計算木材的單位,現在已經被廣泛地使用做為計算許多面積的單位。不過,坊間許多人並不知道這個字怎麼寫,於是就常在估價單上看到單位寫成了「才」,反正積非成是…現在其實寫「才」的人比寫「材」的人要多得多。
至於材積的算法,
很簡單,在面積就是「平方台尺」的意思,
在體積則是「每平方台尺*一寸厚」的意思,
也就是說,
1面積材=30.3*30.3=918.09cm2,
1體積材=30.3*30.3*3.03=2781.8127cm3。
 
順便也提一下…通常估價單上看到的「材」都指面積,而體積材大半是建材行在使用。

 

 

 

3.坪
坪也是日製單位,
根據尺貫法的說明,
1坪=1平方「間」,
1「間」=6日尺。
也就是說,
1坪=36日尺平方。
而由於台尺沿用日製,
所以1坪=36材=36*918.09cm2=33051.24cm2=3.305124M2。一般通常簡略地說1坪約等於3.3平方公尺。


































面積

()


平方公分
(cm2)

平方公尺
(m2)

()

1.00

1/36

918.09

0.09


36.00

1.00

33051.24

3.31

平方公分
(cm2)

0.00

0.00

1.00

0.00

平方公尺
(m2)

10.89

0.30

10000.00

1.00

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 














































































()



()



(=inch)



(=feet)



(yard)



(cm)



(m)



()


1.00


0.10


1.19


0.10


0.03


3.03


0.03



()


10.00


1.00


11.93


0.99


0.33


30.30


0.30



(=inch)


0.84


0.08


1.00


1/3


1/36


2.54


0.03



(=feet)


10.06


1.01


12.00


1.00


1/3


30.48


0.30



(yard)


30.18


3.02


36.00


3.00


1.00


91.44


0.91



(cm)


0.33


0.03


0.39


0.03


0.01


1.00


0.01



(m)


33.00


3.30


39.37


3.28


1.09


100.00


1.00


 

 

 

 

精密量測概念 (參考自http://www.whcmm.com.tw/index.php?option=com_content&view=article&id=58%3Ameasuring-introduction&catid=31%3Ageneral&Itemid=46&lang=zh)



一、 單位介紹:


常用的單位有公制 ( mm ) 和英制 ( inch ) 二種


1. 公制:1 mm ( Millimeter 公厘) = 100 ( 條 ) = 1000 µm ( Micrometer 微米 )  =1000000 nm ( Nanometer 奈米 ) 。


 1 mm ( Millimeter 公厘) = 102 ( 條 ) = 103 µm ( Micrometer 微米 )  =106 nm ( Nanometer 奈米 ) 。


  mm 又稱為毫米;條是日本用語,在台灣工業界幾乎天天用,大陸稱為絲;µm 又稱為 Micron 。


2. 英制:1 inch ( 英吋) = 1000 Mil ( 密耳)  。


3. 單位換算:1 inch = 25.4 mm ,1 Mil = 2.54條 = 25.4 µm 。


二、 量測觀念:


1. 精密量測是建立在空間坐標系的觀念上,基本元素為點、線、圓三種。


2. 在坐標系中,元素之間可有多種對應的組合:


點到點距離、點到線(垂直)距離、點到圓距離、圓到線(垂直)距離、圓到圓距離、圓到線(垂直)距離、


線和圓的交圓及切點、兩線交點、兩線交角、兩圓交點…等。


 


三、量測時常用的名詞:


1. 公差:指在一定的數據內可以容許的誤差值,例某一圓直徑標示為 10 ± 0.05 mm 代表只要這個圓的


 直徑在9.95 ~ 10.05 mm 之間都是合格的。


2. 精度:符號為E,是指某一距離與標準距離的誤差,誤差越少精度越好。


U1:指的是在沿著X、Y、Z 軸向的線性精度。


U2:指的是在平面XY、ZX、ZY 面任意位置的線性精度。


U3(E,MPEE):指的是在XYZ 三度空間裏任意位置的線性精度。請參見:三次元座標量測儀的量測誤差


3. 解析度:指某一量測設備的最小單位值,一般精密量測儀都是以µm ( 10-3 mm ) 為單位


4. 重復性:指重復往返某固定位置或重復量測一標準件的誤差值,誤差越少重復性越好。


 


推薦書籍:精密量具及機件檢驗 (新文京, 作者-姜俊賢)


2011年4月8日 星期五

Excel隔列換色

前一陣子在講考題時因為答案在很右邊的地方,很久沒用excel突然忘記如何使用可以達到所謂隔列換色,還很費力的使用格式/格式化條件設定

1. 先選擇要格式化的範圍

2. 格式/設定格式化條件

3. 選 公式為 =MOD(ROW(),2)=0 圖樣設 淡黃色


 

後來才發現原來用 自動格式設定 即可達到 隔列換色 的功能,雖然顏色不盡理想,但可自動判斷範圍。

 


 


 

 

後來回家後因家裡是用2010,果然2010比較聰明的將此功能放在常用 分類

 

 

2011年2月26日 星期六

產生條碼

感謝 Brad Barnhill 及他post的文章 (Thanks to Barnhill, Brad)

Barnhill 撰寫了產生條碼的DLL函式庫,讓我們可以快速地產生需要的條碼,這個已經困擾我十幾年的需求。

以下產生預設是128碼,可同時包含英文與數字,但為了簡化程式,只能輸入最多24個英文字或46個數字。

 

1. 首先加入參考 BarcodeLib.dll ,如下圖

 


 

2. 照例布置所需要的物件如下圖


最下方是一個picturebox1

 

3. 程式如下

一開始先imports函示庫

 

Imports BarcodeLib

 

 

  Dim b As BarcodeLib.Barcode = New BarcodeLib.Barcode()

//以下這幾行程式便可產生條碼圖形

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim type As BarcodeLib.TYPE = BarcodeLib.TYPE.CODE128
        b.IncludeLabel = True
        Try
            PictureBox1.Image = b.Encode(type, TextBox1.Text.Trim)
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try


    End Sub

 

 //條碼存檔

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim sfd As New SaveFileDialog
        sfd.Filter = "BMP (*.bmp)|*.bmp|GIF (*.gif)|*.gif|JPG (*.jpg)|*.jpg|PNG (*.png)|*.png|TIFF (*.tif)|*.tif"
        sfd.FilterIndex = 2
        sfd.AddExtension = True
        If (sfd.ShowDialog = DialogResult.OK) Then
            Dim savetype As BarcodeLib.SaveTypes = SaveTypes.UNSPECIFIED
            Select Case (sfd.FilterIndex)
                Case 1
                    savetype = BarcodeLib.SaveTypes.BMP

                Case 2
                    savetype = BarcodeLib.SaveTypes.GIF
                Case 3
                    savetype = BarcodeLib.SaveTypes.JPG
                Case 4
                    savetype = BarcodeLib.SaveTypes.PNG
                Case 5
                    savetype = BarcodeLib.SaveTypes.TIFF
            End Select
            b.SaveImage(sfd.FileName, savetype)
        End If

 

    End Sub

 

 

通常產生的條碼會需要列印出來,此時加入PrintDocument及PrintPreviewDialog控制項,windows form加入一個預覽列印的按鈕Button3,接著再加入以下程式碼

 

  'printdocument包含所有列印所需要的資訊,
    Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
        e.Graphics.DrawImage(Me.PictureBox1.Image, 0, 0)
        e.Graphics.PageUnit = GraphicsUnit.Inch

    End Sub


    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        PrintPreviewDialog1.Document = PrintDocument1 'PrintPreviewDialog associate with PrintDocument.
        PrintPreviewDialog1.ShowDialog() 'open the print preview

    End Sub

完成後執行預覽列印的畫面如下:

 


2011年2月25日 星期五

vb.net列印

最近因為計畫的關係,花了些時間整理平常上課比較不會特別教的內容,

例如條碼的產生, 列印的問題, 我將.VB.NET列印的範例整理如下:

首先先產生相關物件如下圖


 

 'printdocument包含所有列印所需要的資訊,
    Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

        e.Graphics.DrawString(Me.TextBox1.Text, TextBox1.Font, Brushes.Black, 100, 100)
        e.Graphics.PageUnit = GraphicsUnit.Inch


    End Sub


    '列印按鈕
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        PrintDialog1.Document = PrintDocument1 'PrintDialog associate with PrintDocument.

        If PrintDialog1.ShowDialog() = DialogResult.OK Then

            PrintDocument1.Print()

        End If

    End Sub

    '預覽列印按鈕
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        PrintPreviewDialog1.Document = PrintDocument1 'PrintPreviewDialog associate with PrintDocument.
        PrintPreviewDialog1.ShowDialog() 'open the print preview

    End Sub