目前日期文章:201211 (11)

瀏覽方式: 標題列表 簡短摘要

雖然自己已經有固定愛用的品牌,但女人嘛...總是會手滑亂買東西...(汗)
你看看、你看看,這一大堆的洗面乳,是多大一張臉,需要用到這麼多瓶阿~~~


DR. WU沒什麼好講的,就是『好用』兩個字~~~(噗,這也算心得文嗎)
過敏的時後可以使用,很溫合,但是改善效果有限。沒過敏時,是很OK的洗面乳~可以保持皮膚質感。


左邊無印良品的溫合洗面乳,C/P值原本就高,只是洗完會非常乾澀,所以需要立即進行保養程序。
右邊的牛爾玫瑰洗面乳,完全是因為網路升火文太多,不小心就從屈臣氏買回家了,用起來跟網路的推薦文差很多,不好起泡,洗完的感覺跟無印兩品一樣,所以兩姐妹放一起拍照囉~~
上述兩瓶對過敏都沒有幫助,過敏中使用是沒有任何舒緩or改善的效果。但皮膚健康時使用,覺得便宜又能洗的很乾淨。
2013-06-12補充: 之後使用牛爾玫瑰洗面乳發現,會出現小紅點,原本以為是肌膚那陣子有過敏,但是隔天換用無印良品就不會,實驗幾天發現的。牛爾玫瑰洗面乳從此列黑名單囉!


這兩瓶不就是傳說中(?)很好用的洗面乳嗎?

左邊雅漾溫合潔膚凝膠,我在多年前就已經推薦過了,但是去年再買一次回來洗,發現跟當初我用的時候不一樣了。
當年,它是很清爽、好沖洗、不乾澀、很溫和的洗面乳,但是這次我用起來,覺得滑滑沖不乾淨、沖了很久還是滑、洗完臉皮底部有泛紅的狀況,以後不會再推薦了~~
雅漾很奇怪,好用的東西為什麼要改成份呢,我原本對它家很多產品都很喜愛,也是這幾年來它一直改版,所以幾乎都被我淘汰光了。
右邊是DMS洗面乳,是固定班底了,也是『好用』兩個字,之前心得文打了一大篇,所以不在講了~~(噗,明明是懶的打字)


好久沒過敏了,都是上個月底手賤買了兩款防曬,害我過敏了一個月都還沒好,所以就買了優麗雅跟理膚來急救一下。
發現裡膚也改包裝了,希望廠商不要再自作聰明,亂改配方...
順便補了兩瓶DMS洗面乳~~(大心)

伊 發表在 痞客邦 留言(1) 人氣()



這是11/10跟我妹誤闖屈臣氏的時候,被屈臣氏美容顧問勸敗下,不小心手滑帶回的東西~~~
買一瓶防曬霜,送了一堆體驗包,美容顧問超大方的^^
我妹則是買了它家的卸妝凝膠4瓶~當然也是有一堆體驗包,但不在我這邊,就沒拍到了。
除了送了一堆體驗包之外,還有滿額送的護手乳正貨,算是滿載而歸了吧...(花很大啊)

伊 發表在 痞客邦 留言(0) 人氣()

一、...個
一つ(ひとつ) 二つ(ふたつ) 三つ(みっつ) 四つ(とっつ) 五つ(いつつ)
六つ(むっつ) 七つ(ななつ) 八つ(やっつ) 九つ(ここのつ) 十(とお)


二、...人
一人(ひとり) 二人(ふたり) 三人(さんにん) 四人(よにん) 五人(ごにん)
六人(ろくにん) 七人(しちにん) 八人(はちにん) 九人(くにん) 十人(じゅうにん)


三、計算鳥類、兔子
一羽(いちわ) 二羽(にわ) 三羽(さんば) 四羽(よんわ) 五羽(ごわ) 
六羽(ろっぱ) 七羽(ななわ) 八羽(はっぱ) 九羽(きゅうわ) 十羽(じゅっぱ)


四、...台(計算機械、車輛)
一台(いちだい) 二台(にだい) 三台(さんだい) 四台(よんだい) 五台(ごだい)
六台(ろくだい) 七台(ななだい) 八台(はちだい) 九台(きゅうだい) 十台(じゅうだい)


五、計算書、報、雜誌
一部(いちぶ) 二部(にぶ) 三部(さんぶ) 四部(よんぶ) 五部(ごぶ)
六部(ろくぶ) 七部(ななぶ) 八部(はちぶ) 九部(きゅうぶ) 十部(じゅうぶ)


六、...雙(計算鞋、襪)
一足(いっそく) 二足(にそく) 三足(さんぞく) 四足(よんそく) 五足(ごそく)
六足(ろくそく) 七足(ななそく) 八足(はっそく) 九足(きゅうそく) 十足(じゅっそく)


七、...樓(計數建物樓層)
一階(いっかい) 二階(にかい) 三階(さんがい) 四階(よんかい) 五階(ごかい)
六階(ろっかい) 七階(ななかい) 八階(はっかい) 九階(きゅうかい) 十階(じゅっかい)


八、...回(計算次數、頻率)
一回(いっかい) 二回(にかい) 三回(さんかい) 四回(よんかい) 五回(ごかい)
六回(ろっかい) 七回(ななかい) 八回(はっかい) 九回(きゅうかい) 十回(じゅっかい)


九、...百
百(ひゃく) 二百(にひゃく) 三百(さんびゃく) 四百(よんひゃく) 五百(ごひゃく)
六百(ろっぴゃく) 七百(ななひゃく) 八百(はっぴゃく) 九百(きゅうひゃく) 千(せん)


十、計算平薄物品
一枚(いちまい) 二枚(にまい) 三枚(さんまい) 四枚(よんまい) 五枚(ごまい)
六枚(ろくまい) 七枚(しちまい) 八枚(はちまい) 九枚(きゅまい) 十枚(じゅまい)

伊 發表在 痞客邦 留言(1) 人氣()

這個範例程式,會顯示進度字串到textbox內,textbox會自動捲動到最下方,會顯示進度條(0~100),可讓使用者中斷程序。
VB部分的程式碼我是用網路上C#toVB轉換器轉的,所以不知道有無錯誤,請網友費心試試看囉~

程式元件畫面:
NET背景執行

//C#

//---------設計畫面時的設定---------
this.button1.Text = "開始";
this.button2.Text = "停止";
this.textBox1.Multiline = true; //多行
this.textBox1.ScrollBars = ScrollBars.Vertical; //顯示垂直捲軸
this.backgroundWorker1.WorkerReportsProgress = true; //回報進度
this.backgroundWorker1.WorkerSupportsCancellation = true; //允許中斷
this.timer1.Interval = 1000;
//--------------------------------

string msg; //存放回報訊息
DateTime TimerTick; //計時器時間

private void button1_Click(object sender, EventArgs e)
{
    this.TimerTick = DateTime.Parse("2000/1/1 00:00:00"); //初始時間點
    this.timer1.Start(); //啟動計時器
    this.progressBar1.Visible = true; //顯示進度條
    this.backgroundWorker1.RunWorkerAsync(); //呼叫背景程式
}

private void button2_Click(object sender, EventArgs e)
{
    this.backgroundWorker1.CancelAsync(); //中斷背景程式
}

private void todo(BackgroundWorker worker, DoWorkEventArgs e)
{
    for (int i = 1; i <= 100; i++ )
    {
        if (worker.CancellationPending) //如果被中斷...
        {
            e.Cancel = true;
            break;
        }
        System.Threading.Thread.Sleep(300); //延遲300毫秒
        this.msg = "第 " + i + " 圈 ... \r\n"; //設定訊息
        worker.ReportProgress(i); //回報進度
    }
}

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
    if (backgroundWorker1.CancellationPending) //如果被中斷...
        e.Cancel = true;

    BackgroundWorker worker = (BackgroundWorker)sender;
    this.todo(worker, e); //欲背景執行的function
}

private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
    this.textBox1.Text += msg;
    this.textBox1.SelectionStart = this.textBox1.Text.Length;
    this.textBox1.ScrollToCaret();
    this.textBox1.Refresh();
    this.progressBar1.Value = e.ProgressPercentage;
}

private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
    if ((e.Error != null))
        MessageBox.Show(e.Error.Message);
    else if (e.Cancelled)
        MessageBox.Show("使用者中斷程式");
    else
        MessageBox.Show("完成");

    this.progressBar1.Visible = false; //隱藏進度條
    this.timer1.Stop(); //停止計時器
}

private void timer1_Tick(object sender, EventArgs e)
{
    this.TimerTick = this.TimerTick.AddSeconds(1); //計時器 每秒+1
    this.label1.Text = this.TimerTick.ToString("HH:mm:ss"); //設定顯示格式
}
'VB

'---------設計畫面時的設定---------
Me.button1.Text = "開始"
Me.button2.Text = "停止"
Me.textBox1.Multiline = True '多行
Me.textBox1.ScrollBars = ScrollBars.Vertical '顯示垂直捲軸
Me.backgroundWorker1.WorkerReportsProgress = True '回報進度
Me.backgroundWorker1.WorkerSupportsCancellation = True '允許中斷
Me.timer1.Interval = 1000
'--------------------------------

Private msg As String '存放回報訊息
Private TimerTick As DateTime '計時器時間

Private Sub button1_Click(sender As Object, e As EventArgs)
    Me.TimerTick = DateTime.Parse("2000/1/1 00:00:00") '初始時間點
    Me.timer1.Start() '啟動計時器
    Me.progressBar1.Visible = True '顯示進度條
    Me.backgroundWorker1.RunWorkerAsync() '呼叫背景程式
End Sub

Private Sub button2_Click(sender As Object, e As EventArgs)
    Me.backgroundWorker1.CancelAsync() '中斷背景程式
End Sub

Private Sub todo(worker As BackgroundWorker, e As DoWorkEventArgs)
    For i As Integer = 1 To 100
        If worker.CancellationPending Then '如果被中斷...
            e.Cancel = True
            Exit For
        End If
        System.Threading.Thread.Sleep(300) '延遲300毫秒
        Me.msg = "第 " & i & " 圈 ... " & vbCr & vbLf '設定訊息
        worker.ReportProgress(i) '回報進度
    Next
End Sub

Private Sub backgroundWorker1_DoWork(sender As Object, e As DoWorkEventArgs)
    If backgroundWorker1.CancellationPending Then '如果被中斷...
        e.Cancel = True
    End If

    Dim worker As BackgroundWorker = DirectCast(sender, BackgroundWorker)
    Me.todo(worker, e) '欲背景執行的function
End Sub

Private Sub backgroundWorker1_ProgressChanged(sender As Object, e As ProgressChangedEventArgs)
    Me.textBox1.Text += msg
    Me.textBox1.SelectionStart = Me.textBox1.Text.Length
    Me.textBox1.ScrollToCaret()
    Me.textBox1.Refresh()
    Me.progressBar1.Value = e.ProgressPercentage
End Sub

Private Sub backgroundWorker1_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs)
    If (e.Error IsNot Nothing) Then
        MessageBox.Show(e.Error.Message)
    ElseIf e.Cancelled Then
        MessageBox.Show("使用者中斷程式")
    Else
        MessageBox.Show("完成")
    End If

    Me.progressBar1.Visible = False '隱藏進度條
    Me.timer1.Stop() '停止計時器
End Sub

Private Sub timer1_Tick(sender As Object, e As EventArgs)
    Me.TimerTick = Me.TimerTick.AddSeconds(1) '計時器 每秒+1
    Me.label1.Text = Me.TimerTick.ToString("HH:mm:ss") '設定顯示格式
End Sub

伊 發表在 痞客邦 留言(6) 人氣()

//C#

//開啟檔案
OpenFileDialog OpenFileDialog1 = new OpenFileDialog();
OpenFileDialog1.CheckFileExists = true;
OpenFileDialog1.Filter = "txt files (*.txt)|*.txt";
OpenFileDialog1.Multiselect = false;
OpenFileDialog1.ShowDialog();
TextBox.Text = OpenFileDialog1.FileName;

//開啟資料夾
FolderBrowserDialog FolderBrowserDialog1= new FolderBrowserDialog();
FolderBrowserDialog1.ShowDialog();
TextBox.Text = FolderBrowserDialog1.SelectedPath;
'VB

'開啟檔案
Dim OpenFileDialog1 As OpenFileDialog = New OpenFileDialog
OpenFileDialog1.CheckFileExists = True
OpenFileDialog1.Filter = "txt files (*.txt)|*.txt"
OpenFileDialog1.Multiselect = False
OpenFileDialog1.ShowDialog()
TextBox.Text = OpenFileDialog1.FileName

'開啟資料夾
Dim FolderBrowserDialog1 As FolderBrowserDialog = New FolderBrowserDialog
FolderBrowserDialog1.ShowDialog()
TextBox.Text = FolderBrowserDialog1.SelectedPath

伊 發表在 痞客邦 留言(0) 人氣()

C#
//檢查檔案是否存在
if (!File.Exists(FilePath))
{
    MessageBox.Show("找不到檔案");
    return;
}

StreamReader objReader = new StreamReader(FilePath);
string sLine = "";
ArrayList arrText = new ArrayList();

do
{
    sLine = objReader.ReadLine();
    if (sLine != null)
    {
        arrText.Add(sLine);
    }
} while (sLine != null);
objReader.Close();

//把讀取檔案的結果放到ListBox,您也可以另做運用。
ListBox.Items.AddRange(arrText);
VB
'檢查檔案是否存在
If Not FileIO.FileSystem.FileExists(FilePath) Then
    MsgBox("找不到檔案")
    Return
End If

Dim objReader As New StreamReader(FilePath)
Dim sLine As String = ""
Dim arrText As New ArrayList()

Do
    sLine = objReader.ReadLine()
    If Not sLine Is Nothing Then
        arrText.Add(sLine)
    End If
Loop Until sLine Is Nothing
objReader.Close()

'把讀取檔案的結果放到ListBox,您也可以另做運用。
ListBox.Items.AddRange(arrText)

伊 發表在 痞客邦 留言(0) 人氣()

C#
int 這個月的天數 = DateTime.DaysInMonth(年,月);

VB
Dim 這個月的天數 As Integer = DateTime.DaysInMonth(年,月)

伊 發表在 痞客邦 留言(0) 人氣()

C#
//檔案是否存在
bool result = System.IO.File.Exists(檔案路徑);

//資料夾是否存在
bool result = System.IO.Directory.Exists(資料夾路徑);

//建立資料夾
System.IO.Directory.CreateDirectory(資料夾路徑);

//檢查是否為合法路徑
public bool isValidPath(string path)
{
    bool result = true;
    string err = "";
    try
    {
        System.IO.FileInfo info = new System.IO.FileInfo(path);
    }
    catch (Exception ex)
    {
        result = false;
        err = "err:" + ex.Message;
    }
    Console.WriteLine("{0} {1} {2}", result, path, err);
    return result;
}

//取得資料夾資訊
DirectoryInfo dir = new DirectoryInfo(資料夾路徑);

//搜尋資料夾1
DirectoryInfo[] dirList = dir.GetDirectories(搜尋字串, SearchOption);
//搜尋資料夾2
string[] dirList = Directory.GetDirectories(資料夾路徑, 搜尋字串, SearchOption);

//搜尋檔案1
FileInfo[] fileList = dir.GetFiles(搜尋字串, SearchOption);
//搜尋檔案2
string[] fileList = Directory.GetFiles(資料夾路徑, 搜尋字串, SearchOption);

//巡覽DirectoryInfo
foreach (DirectoryInfo _event in dirList)
{
    //...
}

//巡覽FileInfo
foreach (FileInfo _event in fileList)
{
    //...
}

//取得目前使用者桌面路徑
string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
string filePath =desktopPath +@"\FolderTest\";
//檢查資料夾是否存在
if (!Directory.Exists(filePath))
{
    //不存在則建立
    Directory.CreateDirectory(filePath);
}
//檢查檔案是否存在
if (!File.Exists(filePath))
{
    //不存在則拷貝
    File.Copy(來源路徑含檔名, 目的路徑含檔名, true);
}
VB
'檔案是否存在
FileIO.FileSystem.FileExists(檔案路徑)

'資料夾是否存在
FileIO.FileSystem.DirectoryExists(資料夾路徑)

'建立資料夾
FileIO.FileSystem.CreateDirectory(資料夾路徑)

'檢查是否為合法路徑
Public Function isValidPath(ByVal path As String) As Boolean
    Dim result As Boolean = True
    Dim err As String = ""
    Try
        Dim info As New System.IO.FileInfo(path)
    Catch ex As Exception
        result = False
        err = "err:" & ex.Message
    End Try
    Console.WriteLine("{0} {1} {2}", result, path, err)
    Return result
End Function

'取得資料夾資訊
Dim dir As New DirectoryInfo(資料夾路徑)

'搜尋資料夾1
Dim dirList As DirectoryInfo() = dir.GetDirectories(搜尋字串, SearchOption)
'搜尋資料夾2
Dim dirList As String() = Directory.GetDirectories(資料夾路徑, 搜尋字串, SearchOption)

'搜尋檔案1
Dim fileList As FileInfo() = dir.GetFiles(搜尋字串, SearchOption)
'搜尋檔案2
Dim fileList As String() = Directory.GetFiles(資料夾路徑, 搜尋字串, SearchOption)

'巡覽DirectoryInfo
For Each _event As DirectoryInfo In dirList
	'...
Next

'巡覽FileInfo
For Each _event As FileInfo In fileList
	'...
Next

伊 發表在 痞客邦 留言(0) 人氣()

C#
textbox1.SelectionStart = textbox1.Text.Length; 
textbox1.ScrollToCaret(); 
textbox1.Refresh();
VB
textbox1.SelectionStart = textbox1.Text.Length
textbox1.ScrollToCaret()
textbox1.Refresh()

伊 發表在 痞客邦 留言(0) 人氣()

C#
[DllImport("mpr.dll", EntryPoint = "WNetAddConnectionA", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
public static extern long WNetAddConnection(string lpszNetPath, string lpszPassword, string lpszLocalName);

[DllImport("mpr.dll", EntryPoint = "WNetCancelConnectionA", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]
public static extern long WNetCancelConnection(string lpszName, long bForce);

//無密碼可傳空字串
public long AddConnection(string 路徑, string 登入密碼, string 磁碟機代號)
{
    try
    {
        return WNetAddConnection(路徑, 登入密碼, 磁碟機代號);
    }
    catch (Exception ex)
    {
        DebugMsg(ex.Message.ToString());
        return 0;
    }
}

//Force: 0 如有檔案開啟中則傳回ERROR_OPEN_FILES, 1 強制關閉
//ERROR_OPEN_FILES: There are open files, and the fForce parameter is FALSE.
public long CancelConnection(string 磁碟機代號, int Force)
{
    try
    {
        return WNetCancelConnection(磁碟機代號, Force);
    }
    catch (Exception ex)
    {
        DebugMsg(ex.Message.ToString());
        return 0;
    }
}
VB
Declare Function WNetAddConnection Lib "mpr.dll" Alias "WNetAddConnectionA" _
(ByVal lpszNetPath As String, ByVal lpszPassword As String, ByVal lpszLocalName _
As String) As Long

Declare Function WNetCancelConnection Lib "mpr.dll" Alias "WNetCancelConnectionA" _
(ByVal lpszName As String, ByVal bForce As Long) As Long

Function AddConnection(ByVal 路徑 As String, ByVal 登入密碼 As String, ByVal 磁碟機代號 As String) As Long
    Try
        Return WNetAddConnection(路徑, 登入密碼, 磁碟機代號)
    Catch ex As Exception
        DebugMsg(ex.Message.ToString())
    End Try
End Function

Function CancelConnection(ByVal 磁碟機代號 As String, ByVal Force As Integer) As Long
    Try
        Return WNetCancelConnection(磁碟機代號, Force)
    Catch ex As Exception
        DebugMsg(ex.Message.ToString())
    End Try
End Function

伊 發表在 痞客邦 留言(0) 人氣()

C#
//宣告: 型別[] 變數名稱 = { 陣列內容1, 陣列內容2, 陣列內容3, 陣列內容4 ... };
string[] LocalNameList = { "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V" };

//巡覽1 foreach
foreach (string _event in LocalNameList)
{
    textbox1.text = _event;
}

//巡覽2 for
for (i = 0; i < LocalNameList.Length; i++)
{
    textbox1.text = LocalNameList[i];
}

//排序   使用Array.Sort ( , )    
//範例: 
//依檔名排序 = _event.Name;
//or 
//依檔案最後修改的日期時間 = _event.LastWriteTime.ToString()
private FileInfo[] SortFiles(FileInfo[] files)
{
    int array_length = files.Length;
    string[] sort_key = new string[array_length];

    foreach (FileInfo _event in files)
    {
        sort_key[0] = _event.Name; //依檔名
        //sort_key[0] = _event.LastWriteTime.ToString(); //依檔案最後修改的日期時間
    }

    Array.Sort(sort_key, files); //由小到大排序
    Array.Reverse(files); //反轉 由大到小排序

    return files;
}

//陣列Function的宣告
//類型 型別[] 名稱(參數...) 
private FileInfo[] SortFiles(FileInfo[] files)
{
    return files;
}
VB
'宣告: Dim 變數名稱() As 型別 = { 陣列內容1, 陣列內容2, 陣列內容3, 陣列內容4 ... }
Dim LocalNameList() As String = {"G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V"}

'巡覽1 For Each
For Each _event As String In LocalNameList
    textbox1.text = _event 
Next

'巡覽2 For
For i = 0 To LocalNameList.Length - 1
    textbox1.text = LocalNameList(i)
Next

'排序   使用Array.Sort ( , )    
'範例: 
'依檔名排序 = _event.Name;
'or 
'依檔案最後修改的日期時間 = _event.LastWriteTime.ToString()
Private Function SortFiles(ByVal files As FileInfo()) As FileInfo()
    Dim array_length As Integer = files.GetUpperBound(0)
    Dim sort_key(array_length) As String

    For Each dir As FileInfo In files
        sort_key(0) = dir.Name '依檔名
        'sort_key(0) = dir.LastWriteTime.ToString '依檔案最後修改的日期時間
    Next

    Array.Sort(sort_key, files) '由小到大排序
    Array.Reverse(files) '反轉 由大到小排序

    Return files
End Function

'陣列Function的宣告
'類型 Function 名稱(參數...) As 型別() 
Private Function SortFiles(ByVal files As FileInfo()) As FileInfo()
    Return files
End Function

伊 發表在 痞客邦 留言(0) 人氣()