2011年12月19日 星期一

使用 Delegate 解決 [跨執行緒作業無效] 的問題!

今天在寫程式時遇到錯誤訊息
System.InvalidOperationException: 跨執行緒作業無效: 存取控制項 'txtLog' 時所使用的執行緒與建立控制項的執行緒不同。

這個問題很明顯是在多執行緒的物件中,要在另一個執行緒物件裡做動作是會有問題的
我寫了一個小程式重現一下這個問題,
程式很簡單,畫面如下


會出現錯誤的程式碼如下:
Public Class Form3
    Dim _testTimer As Timers.Timer
    Dim _timerInterval As Integer = 3
    Dim _timerCount As Integer

    Private Sub btnStopTimer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStopTimer.Click
        ''停止時間
        Me._testTimer.Stop()
    End Sub
    Private Sub btnStartTimer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStartTimer.Click
        ''重新開始時間計數
        Me._testTimer.Start()
    End Sub
    Private Sub txtCmd_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtInterval.TextChanged
        ''重設時間常數
        Me._timerInterval = CInt(txtInterval.Text)
    End Sub

    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        txtInterval.Text = Me._timerInterval.ToString

        Me._testTimer = New Timers.Timer
        Me._testTimer.Interval = Me._timerInterval * 1000
        AddHandler _testTimer.Elapsed, AddressOf Me.TimerOnElapsed
        Me._testTimer.Start()
        txtLog.Text = "Time is Start"
    End Sub

#Region "Handle Timer Event"
    Private Sub TimerOnElapsed(ByVal sender As Object, ByVal e As Timers.ElapsedEventArgs)
        Try
            Me._testTimer.Stop()
            _timerCount = _timerCount + 1
            ''錯誤發生在下面那行
            txtLog.AppendText(Me._timerCount.ToString & vbCrLf) 
        Catch ex As Exception
            MsgBox(ex.ToString)
        Finally
            Me._testTimer.Interval = Me._timerInterval * 1000
            Me._testTimer.Start()
        End Try
    End Sub
#End Region
End Class

因為我要 Handle Timer 的 Elapsed 事件,
所以將事件另外 Handle
    AddHandler _testTimer.Elapsed, AddressOf Me.TimerOnElapsed

但是要把計數值寫入 TextBox 中會出現"跨執行緒作業無效"的錯誤訊息,
所以多加入委派的 Sub 將寫入 Textbox 的事件重新導向
Public Class Form3
    Dim _testTimer As Timers.Timer
    Dim _timerInterval As Integer = 3
    Dim _timerCount As Integer

    ''委派加入 TextBox 字串的動作
    Private Delegate Sub AppendTextBoxCallback(ByVal txtBox As TextBox, ByVal strValue As String)

    Private Sub AppendTextBox(ByVal txtBox As TextBox, ByVal strValue As String)
        If Me.InvokeRequired Then
            Me.Invoke(New AppendTextBoxCallback(AddressOf Me.AppendTextBox), New Object() {txtBox, strValue})
        Else
            txtBox.AppendText(vbCrLf & strValue)
        End If
    End Sub

    Private Sub btnStopTimer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStopTimer.Click
        ''停止時間
        Me._testTimer.Stop()
    End Sub
    Private Sub btnStartTimer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStartTimer.Click
        ''重新開始時間計數
        Me._testTimer.Start()
    End Sub
    Private Sub txtCmd_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtInterval.TextChanged
        ''重設時間常數
        Me._timerInterval = CInt(txtInterval.Text)
    End Sub

    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        txtInterval.Text = Me._timerInterval.ToString

        Me._testTimer = New Timers.Timer
        Me._testTimer.Interval = Me._timerInterval * 1000
        AddHandler _testTimer.Elapsed, AddressOf Me.TimerOnElapsed
        Me._testTimer.Start()
        txtLog.Text = "Time is Start"
    End Sub

#Region "Handle Timer Event"
    Private Sub TimerOnElapsed(ByVal sender As Object, ByVal e As Timers.ElapsedEventArgs)
        Try
            Me._testTimer.Stop()
            _timerCount = _timerCount + 1
            'txtLog.AppendText(Me._timerCount.ToString & vbCrLf)
            '交由委派的 Sub 去工作
            AppendTextBox(txtLog, Me._timerCount.ToString)
        Catch ex As Exception
            MsgBox(ex.ToString)
        Finally
            Me._testTimer.Interval = Me._timerInterval * 1000
            Me._testTimer.Start()
        End Try
    End Sub
#End Region
End Class

講了那麼多,主要就是要加入 Delegate 這行,
    Delegate Sub AppendTextBoxCallback(ByVal txtBox As TextBox, ByVal strValue As String)

並在要做的動作寫在委派的 Sub 中就可以了。
    Private Sub AppendTextBox(ByVal txtBox As TextBox, ByVal strValue As String)
        If Me.InvokeRequired Then
            Me.Invoke(New AppendTextBoxCallback(AddressOf Me.AppendTextBox), New Object() {txtBox, strValue})
        Else
            ''想要做的事情寫在這裡
        End If
    End Sub

2011年12月13日 星期二

給永遠的思懷姐

去年底,聽到思懷姐得了癌症,
突然覺得腦筋一片空白,
心裡有好多的問號?
為什麼這麼突然,怎麼會這樣...
似乎這個情形都會發生在,初聽聞家人,得到不治之症時的震驚表現吧!

認識思懷姐是在我高中時期,當時她跑來約我和弟弟一起去參加喜樂營,
當時的我正值叛逆期,凡事總以自我為中心,
感覺自己很行,什麼事都能做,
翹課打架是家常便飯,
甚至積滿三大過被退學。
換了間學校後,還是沒有多大長進,崇拜著進出少年看守所的同學或朋友,
好像他們才是大哥一樣!

這時的我對什麼喜樂營跟本完全不感興趣,還有點排斥,
父母也認為我是個沒救的小孩,我總覺得他們想要把我丟給思懷姐,看他能不能帶我?
最後在母親的勸說和弟弟的拜託下,心不干情不願的答應去什麼鳥喜樂營。

當期的喜樂營是到南投縣雙龍村的一個小部落,主要是學習如何帶領小朋友,如何認識基督教信仰。
到當地,看到原汁原味的部落,迎面而來的是天真無邪的布農族小朋友,
看到我們第一句話就問"你們是歪國人嗎?"
當時確實有被這一幕嚇到,想不到在台灣的這個土地上,
竟然有這樣的朋友,沒有見過"一般人"
所以在那裡的兩個星期,我開始學習如何帶領小孩子,如何上台講故事,如何讓基督教信仰更加堅定。
也學會了反省自己的渺小,和人與人的相處之道。
思懷姐在這其中也幫了我不少忙,讓我成長了很多。

在後來的日子裡,大家各奔東西,
思懷姐朝著傳福音的方向走,
我則努力的彌補荒唐的年輕歲月,
這其間,我會打聽思懷姐的情況,
也曾去到嘉義找過她,我總是對她有著幾分的敬意,
她就像我的大姐姐一樣,把我從歪斜的人生拉了回來,改變了我的一生。

恩懷姐在化療的其間,我一直不敢去看她,
我怕外面的病菌會傳染給她,更怕我的眼淚不爭氣的流下來,
在家裡只能一直問著老媽,思懷姐的情形如何....
除了禱告,還是只能不停的禱告。

最後,我提起勇氣去看了她,
還沒開口,我的眼淚就快流出來了,果然被我家大人說中了,
原來我是愛哭鬼?
第一次去看思懷姐,她氣色還不錯,可以講話,聊天,
要我和弟弟講笑話給他聽,
那時都要哭出來了,也想不出什麼笑話可以講....
思懷姐那天說了一句話,
我很努力的活著,為什麼有人這麼輕易就去跳樓呢?
是呀,有勇氣跳樓,卻沒有勇氣活著?
偏偏就是有這種人.....

第二次去看思懷姐時,
因為鼻子過敏,不停的流鼻涕,我想又要被誤會是愛哭鬼了吧!
其實第二次去看思懷姐時,因為化療的關係,她把頭髮剪掉了,
看著思懷姐消瘦的臉頰,和腫脹的雙腿,真的十分不捨。
這時的她無法講太多話,我也不敢留太久,只想要思懷姐好好休息。

2011/11/19
思懷姐突然說想要去見耶穌了,
聽到這個消息心裡真是難過又覺得高興,
不捨思懷姐離開我們,但又欣慰思懷姐不用再受苦了

2011/11/20
思懷姐的家人準備好一些事情,等著思懷姐到主的懷抱裡,
晚上我和弟弟也趕到醫院要陪思懷姐在人間的最後一程,
醫護人員說,人在臨終時,心跳會到160左右,
聽說這時人算是靈魂與肉體接近分離的時候
然後心跳會到 110 左右,起起伏伏...直到停止
當天思懷姐就這樣靈魂離開又回來,然後離開了又回來......
看到了耶穌,見到了天堂
感覺思懷姐這樣跑來跑去應該很累吧~~~
我們在醫院裡,一一的和思懷姐道別,
我握著思懷姐的手,發現他的手變得好細小,想不到一個人可以瘦成這個樣子,
腦筋裡有好多的話想對思懷姐說,可是我又說不出來,
總是卡在喉嚨裡,強忍著眼淚,勉強擠出幾個字,要思懷姐安心的走...
後來思懷姐的爸爸(盧牧師)來到醫院,看著思懷姐,摸著她的頭,
輕聲說著:[哇A寶貝查某子,你看起來金水,你就安心的去吧!]

我的腦海裡突然閃過一個畫面,
王永在先生,看到王永慶的遺體時,喊了一聲[阿兄!]
這是一個手足之間,深厚的感情,全都濃縮在這兩個字裡。
那是痛徹心扉,發自內心的哭喊。

盧牧師的這幾句話,道出了一個父親對女兒的不捨,
他完全的順服,放手讓自己的女兒到天父身邊。
此時完全無法用任何的言語去安慰和表達,
因為我們都能感受到那份愛是多麼的強烈。

大家在那裡也一起唱詩歌,希望能讓思懷姐平靜的走...
就在我們道別完後不久,思懷姐突然醒了,精神很好,
可以和我們聊天講話,還會笑,
我們還和思懷姐合照,講笑話,
盧牧師和牧師娘在旁邊刮痧,
慈敏幫思懷姐抹油,
整個場面完全感受不到這是一個臨終的人該出現的情景。
後來因為時間不早了,和思懷姐道別,實在搞不懂神的旨意。

2011/11/22
思懷姐明白神的心意了(以下內容摘自 Espenanza Lu 的 FB )
-----------------------------------------------------------
早上醒來不再問為什麼還在醫院,懷說:我明白父神的心意了。
她走過天堂,看見聖城、耶路撒冷,漂亮景物,說耶穌很高很帥。

原來,神在破碎她,也藉著與眾人的合好,釋放靈裡的自由,神也藉此修復我們家人的關係,道歉、道謝是多麼的重要。
----------------------------------------------------------
哦~真是太奇妙了,思懷姐竟然這樣活過來了!
還可以用台語傳福音,
大家聽到這個消息真的覺得很不可思異,也很高興,
原來父神是要思懷姐再次傳福音給其他人。

自從思懷姐出院後因為一個多月沒有進食,都只靠著打針,
胃多有受影響,出院後只吃一點點食物,
不過腳的腫脹開始消腫了,
腹部的積水也消了,
連止痛貼片(嗎啡)都沒使用了...
感覺好像思懷姐可以再次我們一同飲食,一同歡笑。

2011/12/12
今天突然收到亞男傳來的簡訊,
思懷姐於10:15分安息了,走的很平靜。
前一天晚上才和爸媽聊到思懷姐的情況,
老媽還想說等思懷姐好一點再一起去看她,
怎麼會這麼突然?
或許天父要思懷姐做的工已經完成了,
所以在睡夢中將思懷姐接回天家,
那美好的仗,他已經打過了。

這是思懷姐去年聖誕節(2010)住院~晚上跟醫院請假出來主持聖誕晚會


以此文獻給我最敬愛的思懷姐!
願思懷姐在天堂得著快樂與平安,總有一天我們會在天家相見的。

2011年11月29日 星期二

使用巨集(Macro)加入圖片,並調整大小(長寬)及建立表格

為了要快速建立圖片在 Word 的表格中,並調整大小,
寫了一個巨集(Macro) 大陸用語叫"宏",
目前這個巨集只是寫暫時能執行,算是堪用,
有需要的朋友可以自行修改成更適合自己的程式。

首先,只要將新建的 Word 檔和要加入的圖檔放在同一個目錄下,


開啟 Word,選到巨集的 VB 編輯器

然後把以下的程式碼貼上編輯器
<<本範例使用 Microsoft Office Word 2003>>
Public Sub LoadPicture()
    Dim myRow As Integer
    Dim myCol As Integer
    
    myRow = InputBox("請輸入列數 (Rows)", "Row Size", 2)
    myCol = InputBox("請輸入欄位數 (Cols)", "Col Size", 3)

    With Application.FileSearch
        .FileName = "*.jpg"
        .LookIn = ActiveDocument.Path
        .Execute
        For I = 1 To .FoundFiles.Count
            ''插入圖片
            Selection.InlineShapes.AddPicture FileName:= _
            .FoundFiles(I), LinkToFile:=False, SaveWithDocument:=True
            ''在圖片右邊輸入逗號
            Selection.MoveRight Unit:=wdCharacter, Count:=1
            Selection.TypeText Text:=","
        Next I
    End With

    Selection.WholeStory    '全選
    ''轉換文字形態成表格
    Selection.ConvertToTable Separator:=wdSeparateByCommas, NumColumns:=myCol, _
        NumRows:=myRow, AutoFitBehavior:=wdAutoFitFixed
    ''最到第一頁,最前頭
    Selection.HomeKey Unit:=wdLine
    Selection.HomeKey Unit:=wdStory
    ''呼叫副程式調整所有圖片大小
    AllPictSize
    
End Sub

''調整圖形大小
Sub AllPictSize()
    Dim picWidth As Integer
    Dim picHeight As Integer
    Dim oIshp As InlineShape
    
    picHeight = InputBox("請輸入照片高度", "Resize Picture", 128)
    picWidth = InputBox("請輸入照片寬度", "Resize Picture", 120)

    For Each oIshp In ActiveDocument.InlineShapes
        With oIshp
            .Height = picHeight
            .Width = picWidth
        End With
    Next oIshp
End Sub



==== 2014/10/09 新增 2007 範例 START ====
Office 2007 的使用要多引用 Microsoft Scripting Runtime
首先,在巨集編輯畫面的上方,找到[工具] - [設定引用項目]

再來找到 [Microsoft Scripting Runtime] 並將它勾選起來。

最後把以下程式碼貼上
<<本範例使用 Microsoft Office Word 2007>>
Public Sub LoadPicture()
    Dim myRow As Integer
    Dim myCol As Integer
    
    Dim fso As New FileSystemObject
    Dim oFldr As Folder
    Dim oFl As File
    Dim strFileLocation As String
    
    myRow = InputBox("請輸入列數 (Rows)", "Row Size", 2)
    myCol = InputBox("請輸入欄位數 (Cols)", "Col Size", 3)
 
    strFileLocation = ActiveDocument.Path

    ' Use this snippet for office 2007
    Set oFldr = fso.GetFolder(strFileLocation)
    'intI = 1
    For Each oFl In oFldr.Files
        If Right(oFl.Name, 4) = ".jpg" Then
            ''插入圖片
            Selection.InlineShapes.AddPicture FileName:= _
            strFileLocation & "\" & oFl.Name, LinkToFile:=False, SaveWithDocument:=True
            ''在圖片右邊輸入逗號
            Selection.MoveRight Unit:=wdCharacter, Count:=1
            Selection.TypeText Text:=" "

        End If
    Next

    ''呼叫副程式調整所有圖片大小
    AllPictSize
     
End Sub
 
''調整圖形大小
Sub AllPictSize()
    Dim picWidth As Integer
    Dim picHeight As Integer
    Dim oIshp As InlineShape
     
    picHeight = InputBox("請輸入照片高度", "Resize Picture", 250)
    picWidth = InputBox("請輸入照片寬度", "Resize Picture", 250)
 
    For Each oIshp In ActiveDocument.InlineShapes
        With oIshp
            .Height = picHeight
            .Width = picWidth
        End With
    Next oIshp
End Sub


==== 2014/10/09 新增 2007 範例 END ====


執行巨集(Macro)

執行時會要求輸入一些設定值

載入的圖片會以圖檔的檔名順序依序插入,並建立表格。

當然,若是只要調整圖片大小,
執行巨集時就選擇 [AllPictSize]
這樣就不會重覆載入圖檔,只會調整大小囉~~


參考資料
調整圖片大小
批次插入圖片

2011年11月2日 星期三

今天是 20111102

20111102 這個數字不管是左邊看來還是右邊看都一樣,
2011/11/02 今天果然是個特別的日子。

2011年9月29日 星期四

環島公里數

昨天去把車牽回來了,趕緊補照一下里程數,

由台南出發時的公里數(27760.0)


高雄出發里程數(27814.4)


回程結束里程數(28601.8)


總共騎乘里程數 = 27760.0 - 28601.8 = 841.8 公里

少了桃園到台南的路段,不然就破千了!

2011年9月27日 星期二

兩天一夜四極點環島夢 (後記)

這次的旅行會安排兩天一夜,主要是在網路上看到有人花24小時就跑了四個極點,
想想,把時間拆成一半,應該會輕鬆一點!
誰知實際跑過後發現,
人家不會告訴你一路上是要飆多快,
每個點根本不能停留超過半小時,
到那個地點要注意什麼...

事前的規劃固然重要,
但臨場的反應也是重點。

幾個在趕路的路段,也不知道有沒有被測速照相照到...
若被照到,就為這次的環島更增添難忘的回憶了。

先統計一下本次費用

首先是車子的整理費用 5500

加油(小計):826

台南永康:90
高雄三多:65
屏東墾丁:105
台東太麻里:125
花蓮豐濱:130
花蓮新城:76
宜蘭頭城:90
基隆北寧:60
台北新莊:85

寄車(桃園到台南):730
高鐵(桃園到台南):1190

食(小計):418
第一天早上,7-11:55
第一天中午,7-11:90
第一天晚上,家樂福鐵板燒:150
第二天早上,7-11:18
第二天中午,麥當勞:105

住宿,花蓮:450
鵝鑾鼻停車費:10
鵝鑾鼻門票:40

總計:5500+826+730+1190+418+450+40+10 = 9164元

果然,夢想是昂貴的。
好幾個月的零用錢要被分期扣款了...

兩天一夜四極點環島夢 Part 2

第二天一大早,凌晨三點,準備出發,
經過昨天的經驗,發現根本不能每個景點都停,所以講好今天要趕行程。
於是趕緊出發跑蘇花公路。
第一次跑蘇花公路


雖然一樣天黑,不過是早上,所以越騎天色越亮,至少心情會好一點。

騎到蘇澳終於天漸亮...

再努力趕路吧~~~到宜蘭囉~~

就快到三貂角時突然下了大雨,趕快找個地方躲雨,
等頭上的雲散去再出發,也可以順便休息一下。

哈~~第二站到達,
極東點,三貂角燈塔,完成!

此時雨勢一陣一陣的...

拍了幾張照趕往下一個地點,

三貂角燈塔地勢較高,由上往下看風景不錯,只可惜不能久留,

從極東點到極北點,距離84公里,
一路上都不敢停下來拍照,只能一直趕路...
穿過基隆...

經過核二廠...

好不容易到了極北點了,

從告示牌要走到燈塔還有很長的一段路要走,
背著全身的家當走那一段路真的是"內牛滿面"呀,
看小光的表情就可以知道路有多長了。

終於走到燈塔門口了,
第三個極點,極北點,富貴角燈塔,完成!

快點來個合照吧!

在這裡走到鞋子都壞了...

當然,走在台灣最北端,當天做了全台最"靠北"的男人!!

準備開始往南趕回家了,
這時是早上 11 點半左右,時間嚴重 Delay,
預計騎回去時間會是晚上十二點過後了,
先衝再說。

到了台北市區,一整個大迷路

問了表姐夫大方向該怎麼走,
又看了導航路線,結果還是迷路,
不是單行道,就是機車不能上的路橋....
還問了警察杯杯,結果就是在台北城迷路兩個多小時繞不出去...
好不容易看到指標,真是高興,終於走出台北城了!

到附近的麥當勞吃個午餐吧,下午三點多都還沒吃咧,餓屎了....
在麥當勞打個卡,一看不得了,怎麼不是桃園的麥當勞,是台北市新莊的麥當勞,
靠~這是怎樣呀,還沒繞出台北的魔爪嗎?

在麥當勞和小光討論這下子回到高雄時間太晚,都半夜了,
決定在最後時刻放大絕,以時速300公里飆回去,
所以騎到桃園先把車拖運回台南,再請小光的表哥載我們去高鐵站....

揮別了桃園....
再見了第四個極點....
我的"落漆"環島行....
要就此結束了嗎?
累到兩腿發軟,上了年紀真的和年輕人沒得比,
先回家吧!平安是回家唯一的路,不要硬撐了。

坐上了高鐵,以時速300公里飆回台南,
心想,第四個極點一定要跑完,下次再和小光約好一起到台南的國聖燈塔吧!

兩天一夜四極點環島夢 Part 1

有些事做了,後悔一輩子,
有些事不做,一輩子後悔。

既然決定要環島,為何還要再等呢?
就在生日前去完成它吧!

以前在做事前,我總會規劃一堆,然後才敢去做,
這次故意只看大概,不想去規劃,
只知道相機,手機帶著,其它隨機應變!

決定當天就先去車行整理車子,
換下來的零件


修車明細表,最後老闆良心發現,算整數,共花了我 5500 元

出發里程數

2011/09/23(五)
一下班就騎著機車先回到高雄家裡整理行李,準備第二天一早出發。

2011/09/24(六) 早上 五點出發,
先來張里程數

一車的機私頭

早上簡單的吃了早餐,就和小光出發了。
一路延著台一線走到林邊,小光的地盤,在當地再吃個小光推薦的早餐,
只是那時胃痛,沒法吃完全部,只好麻煩小光全數解決了。
吃完早餐就開始一路往南衝,騎到接近恆春時,落山風大到連車都騎不穩,
先停一下喘口氣,這時肚子又開始痛了,差點就地解放。

趕緊衝到附近的加油站狂洩,呼~總算"蘇湖"多了。
繼續往第一站出發,到了船帆石停下來拍張照休息一下。

終於到了第一站,台灣最南端,鵝鑾鼻燈塔,
進去機車要收停車費 10元,
停好車要進去再收一次門票,40元。

背了所有家當一路走去....

到達第一站,台灣極南點,鵝鑾鼻燈塔

兩個傻瓜還高興得到處拍照,都不知道寶貴的時間正一點一滴的流失....

還拍....

在鵝鑾鼻浪費了不少時間,
終於肯繼續旅程了,
到了核三廠留念一下

到南灣打個卡
騎到楓港準備進入南迴了

順便照一下里程數,因為後來的里程都忘了照!! >_<




騎到南迴一半的路程又玩起自拍了,再次無知的浪費時間...

好不容易騎到台東,看到漂亮的海岸線,再次停下腳步....

到台東吃個 7-11 中餐,

再出發...
經過一間特別的廁所,竟然要脫鞋才能上...
看了一下裡面,還真的很乾淨呢!

經過了小野柳,這可是今年第二次來耶!

再騎了好長一段路才看到三仙台,
以前都沒機會來看過,這次總算....失望了!
進去要門票,只為了看三塊大石頭加上一座橋,算了,
這不是本次目的,不花錢了!

沒進去也要在門口拍個照,表示到此一遊!

一路往花蓮騎,中途看到北迴歸線地標,
想要停下來拍個照,然後順便問一下當地加油站,
誰知道當地加油站只營業到五點,他x的,我的油又剩不多了....
看一看手表,pm 4:40...真的很趕...
來不及拍照先衝去加油再說,否則要再騎很長一段路才有加油站了。
一路狂飆直衝加油站,只看站長開始關門,我趕緊滑行進去,有驚無險的加完油!
呼~真的嚇屎我了。
繼續往前吧~~終於騎到花蓮海洋樂園了

再來就是花蓮的迷路之行,
花蓮的路幾乎沒有路標,問當地人也很難說明清楚,
感覺好像他們報路是這樣的....

[先生你要去蘇花呀,天黑了不要騎比較好,
你只要往前走到前面的路口,先左轉,看到藍色的房子就是阿財他家,再右轉,
你會看到一戶人家有圍牆,旁邊種很多紅色的花,
順那條路直走,會看到xxxx............]

反正就是不會出現路名,因為你看不到路牌,
不得以用導航試試,結果導到一條沒路燈,沒住戶,路又小的山路...
最後安全起見,只好回花蓮市區先住一晚,第二天早點出發把時間補回來了。

晚上和小光找了一間汽車旅館住,順便討論第二天的行程,
最後決定第二天一早,三點就要起床出發,七點半到三貂燈塔,否則時間會拖太晚,
所以早早就上床就寢,這時我真的累到不想動了,兩眼一直是充滿血絲的狀態....