2015年12月31日 星期四

迷你文心蘭葉子變黃

迷你文心蘭在2015.12.26更換介質後,過了5天發現葉子變黃了!!,於是去植栽詢問專業人員,了解到可能是更換介質時,傷到了根部,且有可能細菌感染,所以建議我使用B-1活力素幫助開根,希望迷你文心蘭能好起來.

2015年12月26日 星期六

UML (Unified Modeling Language, 統一建模語言)

UML 的作用是可以讓程式設計師在實作系統前,先規劃出整個系統的架構,像是物件與物件之間的關係,物件本身的設計等如此可以清楚了解系統內的類別之間的關係降低程式修改的次數
以下是UML使用的表示圖形
類別圖

類別圖分為3層:
第一層為類別名稱,如果類別為抽象,則名稱以斜體表示。
第二層為類別的屬性,int為屬性的型別,attribute前面的符號,"-"表示該attribute的存取屬性為private,另外還有"+"表示public"#"表示protected
第三層為類別的方法或功能,void表示該方法或功能不回傳值
範例如下:
類別圖範例

介面圖分為三層,三層的表示跟類別圖相同。
Interface Iblossoms
{
    bool IsAlive;
    void Blossoms();
}
介面圖


花抽象類別繼承植物抽象類別,繼承關係以空心三角形+實線表示。
abstract class Flower:Plant
{
}
繼承表示圖

文心蘭類別,實現花開介面,實現介面以空心三角形+虛線來表示。
class Oncidium:Iblossoms 
{
    IsAlive = true;
    void blossoms()
    {
    }
}
實現介面表示圖

當一個類別知道另一個類別的時候,用關聯關係。
class Oncidium
{
    private Climate climate;
}
關聯關係表示圖

聚合關係是一種弱的擁有關係,說明A物件可以包含B物件,但B物件不是A物件的一部分。
class ClusterofFlowers
{
    private Oncidiums[] oncidiums;
}
聚合關係表示圖

合成關係是一種強的擁有關係,說明了部分和整體的關係,部分和整體的生命週期一樣。
class Flower
{
    private Sepal sepal;
    public Flower()
    {
        Sepal = new Sepal();
    }
}
合成(組合)關係表示圖

依賴關係以此例表示植物需要水和陽光,也就是植物需要依賴水和陽光。
abstract class Plant
{
    public NatureElement(SunLight sunlight, Water water)
    {
    }
}
依賴關係表示圖
參考書籍: 大話設計

迷你文心蘭更換介質

今天把文心蘭的介質換成椰子塊+碎石,之前全部都是水苔,網路上有研究以不同介質的栽種效果,其中椰子塊+碎石的切花品質為A級產量最高,換完後施了一點肥(好康多二號),網路上的資訊是文心蘭要以少量多施的方式給肥.

加映 -> 聖阿爾班玫瑰開花


加映 -> 聖阿爾班玫瑰開花

紀錄 : 李氏櫻桃 12初施肥
           兔腳蕨12/26施好康多2號 
           雷絲蕨12/26施好康多2號
           腎蕨12/27施好康多2號
           迷你文心蘭12/26施好康多2號
           非洲紫藤苗12/26施好康多2號
           鐵甲櫻桃12/26施好康多2號
           常春藤施好康多2號

2015年12月24日 星期四

Arduino 入門

Arduino是一個開放原始碼的單晶片微控制板 (Micro-controller UnitMCU)微控制器是使用ATMEL公司的ATMEGA系列的晶片,主要的差異為下表 :  
ATMEGA系列晶片記憶體大小比較
記憶體容量
ATMEGA8
ATMEGA168
ATMEGA328
ATMEGA1280
Flash
8KB
16KB
32KB
128KB
SRAM
1KB
1KB
2KB
8KB
EEPROM
512bytes
512bytes
1KB
4KB



腳位0,1序列通訊RX為接收TX為傳送
腳位3,5,6,9,10,11PWM類比輸出 (PWM, Plus Width Modulation)
腳位0-13數位輸入或輸出
GND為接地接腳,也代表電池的負極
AREF為類比參考

腳位A0-A5類比輸入(也可以做為數位I/O之用)
Vin連接至9-15V直流電壓輸入
GND為接地接腳
3.3V5V為電壓輸出
RESET重置

Arduino程式的結構包含setup()loop()兩個函數
void setup()
{
}
setup()用來初始化變數、設定接腳模式為輸入或輸出等。在每次通電或重置Arduino電路板時,setup()只會被執行一次

void loop()
{
}
loop()用來控制Arduino電路板執行所需的功能,loop函式執行完,會一直被重複呼叫執行,直到關閉電源。

*電阻 : 一般LED只需要1.7到4伏特,但使用的電池的電壓有5伏特,所以要確保LED不會接收過多的電流,就會使用電阻,來阻止過多的電流到LED

2015年12月21日 星期一

認知的門

我們如何認知這個世界,完全取決於業的景象。
上師們使用一個傳統的例子來說明:有六種生命來到河岸邊。
對人來說,他把河流看成水,是可以洗滌和止渴的;
對魚來說,河流是牠的家;
天神把河流看成是帶來喜悅的瓊漿玉液;
阿修羅把它看成是淚水;
惡鬼把它看成是膿血;
地獄道的眾生把它看成是熔化的岩漿。
同樣是水,認知的方式卻不同,甚至相反。


這種認知的多樣性告訴我們,一切業的景象都是幻影;因為如果有一種東西可以有這麼多的認知方式,那麼又有什麼東西有真實的、本具的實相呢?
出自:西藏生死書

迷你文心蘭葉斑病

種植的迷你文心蘭葉子竟然出現一點一點的褐色斑點,很怕整片葉子都因此枯黃掉,所以一再的上網詢問不同的植物店人員,確認這是葉斑病,這種病容易發生在高溫潮濕的環境中,且可藉由噴霧澆水的方式傳染給其他文心蘭,由於還不是很嚴重,所以買了竹醋液(天然殺菌液,效果較弱)噴灑在葉子上,葉斑病容易在高溫潮濕的環境下發生

葉斑病


葉斑病
2015.12.31 後記,一直以為竹醋液可以治療葉斑病,今天問了另一間植栽店人員,才知道竹醋液無法治療葉斑病,只能預防,所以那個斑點會永遠在那邊

[WPF] 從Access檔案直接轉成類似Excel的圖表呈現 (有提供原始碼)

加入參考System.Windows.Controls.DataVisualization.Toolkit

在開頭引用參考
<window xmlns:DVC="clr-namespace: System.Windows.Controls.DataVisualization.Charting; assembly=System.Windows.Controls.DataVisualization.Toolkit"> 

加入圖表控制項"<DVC:Chart>",P.S., "DVC"是自己定義的名稱
參考下圖程式
using System.Collections.Generic;
using System.Windows.Controls.DataVisualization;
using System.Windows.Controls.DataVisualization.Charting;
//宣告變數
var listmed = new List>();
var listatten = new List>();
var listdelta = new List>();
var listtheta = new List>();
var listalpha1 = new List>();
var listalpha2 = new List>();
var listbeta1 = new List>();
var listbeta2 = new List>();
var listgamma1 = new List>();
var listgamma2 = new List>();

//圖表的數值
for (int i = 0; i < 180; i++)
{
    listmed.Add(new KeyValuePair(int.Parse(cn.txt_meditation[i]), i + 1));
    listatten.Add(new KeyValuePair(int.Parse(cn.txt_attention[i]), i + 1));
    listdelta.Add(new KeyValuePair(int.Parse(cn.txt_delta[i]), i + 1));
    listtheta.Add(new KeyValuePair(int.Parse(cn.txt_theta[i]), i + 1));
    listalpha1.Add(new KeyValuePair(int.Parse(cn.txt_alpha1[i]), i + 1));
    listalpha2.Add(new KeyValuePair(int.Parse(cn.txt_aloha2[i]), i + 1));
    listbeta1.Add(new KeyValuePair(int.Parse(cn.txt_beta1[i]), i + 1));
    listbeta2.Add(new KeyValuePair(int.Parse(cn.txt_beta2[i]), i + 1));
    listgamma1.Add(new KeyValuePair(int.Parse(cn.txt_gamma1[i]), i + 1));
    listgamma2.Add(new KeyValuePair(int.Parse(cn.txt_gamma2[i]), i + 1));
}

    //將數值顯示在圖表上
    ((LineSeries)mcChart.Series[0]).ItemsSource = listmed;
    ((LineSeries)mcChartatten.Series[0]).ItemsSource = listatten;
    ((LineSeries)mcChartDelta.Series[0]).ItemsSource = listdelta;
    ((LineSeries)mcChartTheta.Series[0]).ItemsSource = listtheta;
    ((LineSeries)mcChartalpha1.Series[0]).ItemsSource = listalpha1;
    ((LineSeries)mcChartalpha2.Series[0]).ItemsSource = listalpha2;
    ((LineSeries)mcChartbeta1.Series[0]).ItemsSource = listbeta1;
    ((LineSeries)mcChartbeta2.Series[0]).ItemsSource = listbeta2;
    ((LineSeries)mcChartgamma1.Series[0]).ItemsSource = listgamma1;
    ((LineSeries)mcChartgamma2.Series[0]).ItemsSource = listgamma2;

程式範例操作步驟
選擇檔案
路徑G:\ExcelFigure\ExcelFigure\bin\Debug\brainwave\m1
點選加入的檔案
點選下拉式選單選擇想看的數值資料
結果呈現

2015年12月19日 星期六

[WPF] 提示畫面功能Splash Screen

SplashScreen splash = new SplashScreen("img.png")
//splash.Show(true)表示提示圖片顯示後會自動消失,若把true改為false,提示圖片會一直顯示,直到執行splash.Close(new TimeSpan())
splash.Show(true);
//從開始消失到完全不見的時間為5秒
splash.Close(new TimeSpan(0,0,5));  
P.S., SplashScreen只能用於顯示圖片的提示,不能做文字提示

[WPF] 更改Button外觀樣式

在Xaml檔案,輸入如下圖片中的程式


顯示樣式為upper-right的樣子

2015年12月18日 星期五

[WPF] Model-View-ViewModel (MVVM)

MVVM 是 Model-View-ViewModel 的縮寫, 是一種撰寫程式設計的方式,以MVVM的方式撰寫程式,可以降低程式之間的相依性,使每個程式負責的內容分工的很清楚;使用者介面程式歸使用者介面程式,商業邏輯程式歸商業邏輯程式,資料歸資料,在日後的修改、維護上比較容易。下圖為MVVM的示意圖,上層是較接近跟使用者的互動,下層是較接近程式設計者。


*注意:上圖中的箭頭是有意義的,上層的物件可以向下存取,但是下層的物件並不會知道上層的東西長什麼樣子,透過此原則,才得以做到乾淨的分層與鬆散藕合。

各層分工如下:
·                  Model : 用來描述資料實體(Entity)的簡單類別(Class),也可以在這邊實作商業邏輯以及與資料庫溝通等資料存取相關的功能。

·                  View : 其實就是XAML檔,也就是使用者介面,使用者介面設計人員只需要在Blend中進行對它的編輯,並透過Binding來和ViewModel溝通(DataContext指定為某個ViewModel,以更進一步的與其中的屬性進行Binding)

·                  ViewModel : 就是供View使用的Model,透過公開的屬性(public property)       View進行Binding,供其使用。

內容部分引用來自 :
https://www.dotblogs.com.tw/ouch1978/archive/2011/04/23/introducing-mvvm.aspx

http://blog.sanc.idv.tw/2011/12/wpf-mvvm.html

範例原始碼 Source Code

四聖諦,八正道

四聖諦:苦、集、滅、道
集:苦的生起或根源
滅:苦的解脫
道:苦的解脫之道

八正道:
   正見:正確的見解
   正思:正確的思維
   正語:正確的言語
   正業:正確的行為
   正命:正確的職業
   正勤:正確的努力
   正念:正確的憶念
   正定:正確的禪定

緣起性空,行所當行,受所當受

敦珠仁波切:「雖然你可以看到各式各樣的現象實際上它們的本質卻是空的但在空中你卻可以看到各式各樣的現象雖然可以聽到各種聲音這些聲音卻是空的但在空中你卻可以聽到聲音

各種念頭會升起這些念頭都是空的但在空中你卻可以知道你有念頭

不管你看到什麼聽到什麼都不要去理會不要去執著讓聽留在聽中讓看留在看中而不要讓你的執著進入覺受之中



出自:西藏生死書

2015年11月26日 星期四

[WPF] C# 停止工作管理員中在執行的應用程式

注意下圖的字串Questionnaire是比照工作管理員顯示的名子,不加副檔名




[WPF] C# 讓控制項根據不同電腦的畫面(解析度)調整大小和位置

Step 1. 要把"Grid"設定高度跟寬度,這樣之後再加入其他控制項會比較好調整大小.
Step 2. XAML加入如下圖,需要注意的是Viewbox不要設定寬高的值,否 
                      則就不會動態調整大小了.