Friday, August 26, 2016

民宿冷氣短循環

第一天房間,第一眼覺得這個空間設計的不錯 - 日式泡茶小空間,也是加床放置的所在地

老五民宿

下圖是房間簡圖,紅框是日式泡茶小空間、綠圈是冷氣機、橘框是雙人床所在位置

冷氣短循環

之所畫這張簡圖是因為,冷氣安裝位置在小空間內根本就短循環啦,晚上睡覺時就很明顯,雙人床上三個人根本就完全不需要棉被,小空間內的人棉被蓋緊緊的,親身體驗,^^''

猜測冷氣會安裝在這個位置,大概是因為沒有裝潢可以把管線藏起來吧。

Wednesday, August 24, 2016

[LINQ] 目標字串在文字內容出現次數

練習這篇 MSDN 文章 - How to: Count Occurrences of a Word in a String (LINQ)
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // 字串內容
            string text = @"Historically, the world of data and the world of objects" +
                @" have not been well integrated. Programmers work in C# or Visual Basic" +
                @" and also in SQL or XQuery. On the one side are concepts such as classes," +
                @" objects, fields, inheritance, and .NET Framework APIs. On the other side" +
                @" are tables, columns, rows, nodes, and separate languages for dealing with" +
                @" them. Data types often require translation between the two worlds; there are" +
                @" different standard functions. Because the object world has no notion of query, a" +
                @" query can only be represented as a string without compile-time type checking or" +
                @" IntelliSense support in the IDE. Transferring data from SQL tables or XML trees to" +
                @" objects in memory is often tedious and error-prone.";

            // 目標字串
            string SearchTarget = "data";

            // 目標字串出現在字串內容多少次
            int counts = text
                .Split(
                    new char[] { '.', '?', '!', ' ', ';', ':', ',' } , 
                    StringSplitOptions.RemoveEmptyEntries)
                .Where(word => word.ToLowerInvariant() == SearchTarget.ToLowerInvariant())
                .Count();

            Console.WriteLine($"{SearchTarget} 字串,在文字內容中出現 {counts} 次");
        }
    }
}
[LINQ] 目標字串在文字內容出現次數

Sunday, August 21, 2016

[LINQ] 解析 csv 檔案

這篇 MSDN 文章 - 如何:重新排列有分隔符號的檔案中的欄位(LINQ) 是用 LINQ 來做,改成用 Lambda 方式來練習

原資料
Adams,Terry,120
Fakhouri,Fadi,116
Feng,Hanying,117
Garcia,Cesar,114
Garcia,Debra,115
Garcia,Hugo,118
Mortensen,Sven,113
O'Donnell,Claire,112
Omelchenko,Svetlana,111
Tucker,Lance,119
Tucker,Michael,122
Zabokritski,Eugene,121
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] lines = System.IO.File.ReadAllLines(@"D:\spreadsheet1.csv");

            var result = lines
                .Select(line => line.Split(','))
                .Select(s => new
                {
                    Col1 = s[2].ToString(),
                    Col2 = $"{s[1]} {s[0]}"
                })
                .OrderBy(c => c.Col1);

            foreach (var item in result)
            {
                Console.WriteLine($"{item.Col1} - {item.Col2}" );
            }
        }
    }
}

[LINQ] 解析 csv 檔案

Friday, August 19, 2016

[C#] DataGridView 和 ReadOnly 屬性

使用 DataGridView 都只針對 Columns 設定 ReadOnly,後來發現原來 Rows 和 Cells 也可以設定 ReadOnly,寫個小範例練習

Project:就都寫在一個 Form 內

[C#] DataGridView 和 ReadOnly 屬性-1

Form Layout:橘框內是對 DataGridView ReadOnly 選項設定的功能,FlowlayoutPanel 內的 CheckBox 則是利用 Code 動態產生

[C#] DataGridView 和 ReadOnly 屬性-2

Wednesday, August 17, 2016

[Win10] WinXP 連接 Win10 共享印表機

要從 WinXP 32bit 連接從 Win10 64bit 分享出來的 ZebraTLP 3842 標籤機簡易紀錄

以往連接分享印表機、標籤機設定的步驟,會遇上下面這個訊息
提供認證不足,無法存取這個印表機,你要指定新的認證嗎?
設定步驟如下
  • 選擇 [網路印表機或連接到其他電腦的印表機]
[Win10] WinXP 連接 Win10 共享印表機-1
  • 在連線到這部印表機選項內輸入 Win10 分享出來的標籤機
[Win10] WinXP 連接 Win10 共享印表機-2
  • 輸入 Win10 上事先建立好,列印專用帳號和密碼
[Win10] WinXP 連接 Win10 共享印表機-3
  • 出現認證不足訊息,就被擋在這邊
[Win10] WinXP 連接 Win10 共享印表機-4