久違的C#書籍閱讀篇,這是之前的存檔~~趕快發來用XD
筆記篇與github實作紀錄(提醒自己用)
本次3-1~3-12
第一部份(第1~3章)以主控台模式介紹程式設計基本素養。使初學者具有程式邏輯思考能力,熟悉程式設計流程。(共有1-1~1-8、2-1~2-9、3-1~3-12)
第三章(續)
第三部份(第6~11章)以視窗模式介紹表單程式設計。使初學者具有透過工具設計視窗應用程式的能力。
第四部份(第12~13章)如何在以視窗模式活用多表單操控鍵盤和滑鼠,以及介紹檔案和多媒體程式設計,使初學者具有檔案程式設計和多媒體程式設計的能力。
第五部份(第14~17章)以視窗模式介紹資料庫程式設計,使初學者具有資料庫程式設計的能力。
第六部份(第18~19章)介紹如何透過ASP.NET建立網頁資料庫、透過jQuery Mobile設計跨行動裝置網站。
筆記篇與github實作紀錄(提醒自己用)
本次3-1~3-12
第一部份(第1~3章)以主控台模式介紹程式設計基本素養。使初學者具有程式邏輯思考能力,熟悉程式設計流程。(共有1-1~1-8、2-1~2-9、3-1~3-12)
第三章(續)
3-4 多維陣列
第二部份(第4~5章)以主控台模式介紹物件導向程式設計。使初學者具有設計物件導向程式的能力。- 宣告方式
- 初始化
- 方法使用
3-5 動態陣列
- 如何使用
3-6 方法(副函式Method)
- 定義
3-7 系統內建的方法
- Random
3-8 使用者自訂的方法
- 宣告方式
- 種類 靜態 非靜態
- 使用方式
- Call by Value v.s. Call by ref
- 使用方式
3-10 方法多載
- 使用相同的方法名稱,但傳入的參數不同
3-11 方法的遞迴
- 在方法中呼叫自己
- 需要注意結束的條件!!
3-12 變數的生命週期!!(待續.....)
第三部份(第6~11章)以視窗模式介紹表單程式設計。使初學者具有透過工具設計視窗應用程式的能力。
第四部份(第12~13章)如何在以視窗模式活用多表單操控鍵盤和滑鼠,以及介紹檔案和多媒體程式設計,使初學者具有檔案程式設計和多媒體程式設計的能力。
第五部份(第14~17章)以視窗模式介紹資料庫程式設計,使初學者具有資料庫程式設計的能力。
第六部份(第18~19章)介紹如何透過ASP.NET建立網頁資料庫、透過jQuery Mobile設計跨行動裝置網站。
這次的系統有使用到MDI
多重文件介面 (MDI)
簡單說就是在一個form裡面開很多form
可以應用的地方很廣~
如使用menu 控制要開起的from
然後form 與form 的交互作用~~
這裡簡單介紹如何使用
1.建立一個新的WinForm (Form1)
2.在這個Form1 的[屬性視窗] 中將 IsMDIContainer 屬性設為 true
讓Form1可以當root容納不同的form
建立新的Form2(我設計在button1_Click中~當點擊Button時,就會產生一個Form在Form1中)
在Form1中,若要呼叫Form2
Form2 newMDI = new Form2();
// Set the parent form of the child window. 讓Form2可以在Form1中顯示
newMDI.MdiParent = this
// Display the new form.
newMDI.Show();
這時就可以看到Form中Form
.............待續(有時間研究一下UI的排序)
多重文件介面 (MDI)
簡單說就是在一個form裡面開很多form
可以應用的地方很廣~
如使用menu 控制要開起的from
然後form 與form 的交互作用~~
這裡簡單介紹如何使用
1.建立一個新的WinForm (Form1)
2.在這個Form1 的[屬性視窗] 中將 IsMDIContainer 屬性設為 true
讓Form1可以當root容納不同的form
建立新的Form2(我設計在button1_Click中~當點擊Button時,就會產生一個Form在Form1中)
在Form1中,若要呼叫Form2
Form2 newMDI = new Form2();
// Set the parent form of the child window. 讓Form2可以在Form1中顯示
newMDI.MdiParent = this
// Display the new form.
newMDI.Show();
這時就可以看到Form中Form
.............待續(有時間研究一下UI的排序)
一個小小的紀錄
UI中DataGridView的操作~
不給使用者點擊欄位的排序
操作方式如下
dataGridView1.Columns[欄位名稱].SortMode = DataGridViewColumnSortMode.NotSortable;
UI中DataGridView的操作~
不給使用者點擊欄位的排序
操作方式如下
dataGridView1.Columns[欄位名稱].SortMode = DataGridViewColumnSortMode.NotSortable;
(沒有找到屬性的位置在哪@@~~~直接用打的)
Automatic :文字方塊資料行的預設值。 除非資料行標頭用於選項,按一下資料行標頭會自動排序DataGridView依據此資料行,並顯示圖像 (glyph),表示排序順序。
NotSortable :非文字方塊的資料行的預設值。 您可以排序此資料行,以程式設計的方式;不過,它並不適用於排序,因此會不保留任何空間,用於排序圖像。
Programmatic :您可以透過程式設計的方式,排序這個資料行和排序圖像 (glyph) 保留的空間。
參考資料:
因為資料表重新開立,所以要將後端全部重寫....
帶動了前端的行為也改了
造成畫面都要重新修正
WinForm真的是很方便,但沒有藝術氣息的我盡量以功能能用為主
畫面與方便的功能再慢慢地設計
目前常用的元件
Button
Label
TextBox
TablelayoutPanel
MenuStrip
ToolStrip
以上目前常用的元件
之後再分享如何使用~~~~
帶動了前端的行為也改了
造成畫面都要重新修正
WinForm真的是很方便,但沒有藝術氣息的我盡量以功能能用為主
畫面與方便的功能再慢慢地設計
目前常用的元件
Button
Label
TextBox
TablelayoutPanel
MenuStrip
ToolStrip
以上目前常用的元件
之後再分享如何使用~~~~
本人使用dictionary 進行資料Model的名稱定義與清洗
因為不能讓人知道資料表的名稱(安全問題)
所以需要在取到資料後,將相關的資訊去除,只留下前端需要的資訊
所以會將資料在後端就進行處理!!!
本人很天兵的使用dictionary 來對應(恩~直接對應model的Display name)
所以常常會需要進行對應
private object getPropDataChange(Dictionary<string, string> dict)
{
var re_Dict = new Dictionary<string, string>();
foreach (var item in dict.Keys.ToList<string>())
{
re_Dict.Add(dict[item], item);
}
return re_Dict;
}
沒啥~本方法就是將Dictionary進行交換~~就這樣XD
1.使用文字字串,新增物件
使用物件的名稱new出它
var obj = Assembly.Load("組件dll名稱").CreateInstance("class名稱");
簡單說就是使用string 字串,new出物件
EX:
dll名稱(專案名稱):Service_name
namespace Model
{
/// <summary>
/// 環境監控主檔
/// </summary>
internal class ModelData
{
/// <summary>代號</summary>
[DisplayName("代號")]
public string ID { get; set; }
/// <summary>代號1</summary>
[DisplayName("代號")]
public string ID1 { get; set; }
}
}
var obj = Assembly.Load("Service_name").CreateInstance("Model.ModelData");
寫法等於
var obj = new ModelData(); //注意要using Service_name
為啥要這樣做,簡單說就是可以動態的生成相關的物件
進行選擇!!!
2. model 中 得到matadata的資料
(直接對應資料,不用再重新打了!!)
使用
這程式只是單純的將model中有血matadata的資訊存出來,並放入dictionary中
GetDisplayName,取出type中的DisplayName資訊
private object getPropData(string item)
{
var reDict = new Dictionary<string, string>();
var tableObj = Assembly.Load("Service_name").CreateInstance(item);
Type type = tableObj.GetType();
PropertyInfo[] properties = type.GetProperties();
foreach (PropertyInfo info in properties)
{
string temp = GetDisplayName(type, info, true);
if (temp != null)
{
reDict.Add(temp, info.Name);
}
else
{
reDict.Add(info.Name, info.Name);
}
}
return reDict;
}
private static String GetDisplayName(Type type, PropertyInfo info, bool hasMetaDataAttribute)
{
if (!hasMetaDataAttribute)
{
object[] attributes = info.GetCustomAttributes(typeof(DisplayNameAttribute), false);
if (attributes != null && attributes.Length > 0)
{
var displayName = (DisplayNameAttribute)attributes[0];
return displayName.DisplayName;
}
return info.Name;
}
PropertyDescriptor propDesc = TypeDescriptor.GetProperties(type).Find(info.Name, true);
DisplayNameAttribute displayAttribute =
propDesc.Attributes.OfType<DisplayNameAttribute>().FirstOrDefault();
return displayAttribute != null ? displayAttribute.DisplayName : null;
}
使用方式:
參考上放的資料model
var dictData = getPropData("Model.ModelData");
//dictData 為 {{"代號","ID"},{"代號1","ID1"}}
以上為使用的的東東~~~~歡迎大家提供更好的解法阿!!
技術筆記一下
讀檔使用的重點
function 如下~~~
存檔使用的重點
FileInfo
FileStream
StreamWriter
讀檔使用的重點
FileStream
StreamReader
DataTable
本人尚不能自行寫出~~先參考參考XD
參考如下:
http://ilikeprograming.pixnet.net/blog/post/215991791-csv%E6%AA%94%E6%A1%88%E7%9A%84%E8%AE%80%E5%AF%AB
本人尚不能自行寫出~~先參考參考XD
參考如下:
http://ilikeprograming.pixnet.net/blog/post/215991791-csv%E6%AA%94%E6%A1%88%E7%9A%84%E8%AE%80%E5%AF%AB
筆記篇與github實作紀錄(提醒自己用)
本次3-1~3-3 一維陣列
第一部份(第1~3章)以主控台模式介紹程式設計基本素養。使初學者具有程式邏輯思考能力,熟悉程式設計流程。(共有1-1~1-8、2-1~2-9、3-1~3-12)
第三章
3-1 什麼是陣列(Array)
就是按照順序的資料盒子
3-2 一維陣列的宣告
使用 intarray0[0] 表示第一筆資料
3-3 一維陣列物件的方法
第二部份(第4~5章)以主控台模式介紹物件導向程式設計。使初學者具有設計物件導向程式的能力。
第三部份(第6~11章)以視窗模式介紹表單程式設計。使初學者具有透過工具設計視窗應用程式的能力。
第四部份(第12~13章)如何在以視窗模式活用多表單操控鍵盤和滑鼠,以及介紹檔案和多媒體程式設計,使初學者具有檔案程式設計和多媒體程式設計的能力。
第五部份(第14~17章)以視窗模式介紹資料庫程式設計,使初學者具有資料庫程式設計的能力。
第六部份(第18~19章)介紹如何透過ASP.NET建立網頁資料庫、透過jQuery Mobile設計跨行動裝置網站。
本次3-1~3-3 一維陣列
第一部份(第1~3章)以主控台模式介紹程式設計基本素養。使初學者具有程式邏輯思考能力,熟悉程式設計流程。(共有1-1~1-8、2-1~2-9、3-1~3-12)
第三章
3-1 什麼是陣列(Array)
就是按照順序的資料盒子
3-2 一維陣列的宣告
使用 intarray0[0] 表示第一筆資料
3-3 一維陣列物件的方法
- Array.Sort() 對陣列進行排序
- Array.Reverse() 反序排列
- Array.IndexOf(array,object) 尋找位置
- Array.Resize(ref array,數字) 改變陣列大小(一維限定)
- string.Split(字串) 回傳分割後的陣列
3-4 多維陣列 待續.....
第二部份(第4~5章)以主控台模式介紹物件導向程式設計。使初學者具有設計物件導向程式的能力。
第三部份(第6~11章)以視窗模式介紹表單程式設計。使初學者具有透過工具設計視窗應用程式的能力。
第四部份(第12~13章)如何在以視窗模式活用多表單操控鍵盤和滑鼠,以及介紹檔案和多媒體程式設計,使初學者具有檔案程式設計和多媒體程式設計的能力。
第五部份(第14~17章)以視窗模式介紹資料庫程式設計,使初學者具有資料庫程式設計的能力。
第六部份(第18~19章)介紹如何透過ASP.NET建立網頁資料庫、透過jQuery Mobile設計跨行動裝置網站。
筆記篇與github實作紀錄(放在上面做提醒阿)
本日1-4~1-8、2-1~2-9
第一部份(第1~3章)以主控台模式介紹程式設計基本素養。使初學者具有程式邏輯思考能力,熟悉程式設計流程。(共有1-1~1-8、2-1~2-9、3-1~3-12)
第一章(續 )
1-4 介紹型態(基礎 int float double string...)
1-5 介紹變數(命名規則 請參考小駝峰命名的模式)
const (常數)
1-6 運算子( + - * / ....)
1-7 輸出入
2-4 巢狀結構(if 裡面有 if @@)
2-5 switch case default~~~多重選擇
2-6 for ~break continue!!
foreach
2-7 while
do.....while
2-8 巢狀迴圈(while 裡面有while)
2-9 try...catch...finally 例外處理
自訂例外處理(這個我沒用過) throw new 例外類別()
第二部份(第4~5章)以主控台模式介紹物件導向程式設計。使初學者具有設計物件導向程式的能力。
第三部份(第6~11章)以視窗模式介紹表單程式設計。使初學者具有透過工具設計視窗應用程式的能力。
第四部份(第12~13章)如何在以視窗模式活用多表單操控鍵盤和滑鼠,以及介紹檔案和多媒體程式設計,使初學者具有檔案程式設計和多媒體程式設計的能力。
第五部份(第14~17章)以視窗模式介紹資料庫程式設計,使初學者具有資料庫程式設計的能力。
第六部份(第18~19章)介紹如何透過ASP.NET建立網頁資料庫、透過jQuery Mobile設計跨行動裝置網站。
本日1-4~1-8、2-1~2-9
第一部份(第1~3章)以主控台模式介紹程式設計基本素養。使初學者具有程式邏輯思考能力,熟悉程式設計流程。(共有1-1~1-8、2-1~2-9、3-1~3-12)
第一章(續 )
1-4 介紹型態(基礎 int float double string...)
1-5 介紹變數(命名規則 請參考小駝峰命名的模式)
const (常數)
1-6 運算子( + - * / ....)
1-7 輸出入
- Console.WriteLine(字串); // 有換行
- Console.Write(字串); // 無換行
- Console.Read(); // 讀取輸入的資料(int)
- Console.ReadLine(); // 讀取輸入的資料(string)
1-8 型態轉換
- 強制轉換 e.g. :
double y = 10.0;
int x=(int)y; - 型別.phase() 轉換
2-1 虛擬碼與流程圖 很重要阿,有時間好好打一篇
2-2 Top-down Design 的結構設計
2-3 if ...else...
簡化 變數 = 運算式 ? 變數1:變數2
2-3 if ...else...
簡化 變數 = 運算式 ? 變數1:變數2
2-4 巢狀結構(if 裡面有 if @@)
2-5 switch case default~~~多重選擇
2-6 for ~break continue!!
foreach
2-7 while
do.....while
2-8 巢狀迴圈(while 裡面有while)
2-9 try...catch...finally 例外處理
自訂例外處理(這個我沒用過) throw new 例外類別()
第二部份(第4~5章)以主控台模式介紹物件導向程式設計。使初學者具有設計物件導向程式的能力。
第三部份(第6~11章)以視窗模式介紹表單程式設計。使初學者具有透過工具設計視窗應用程式的能力。
第四部份(第12~13章)如何在以視窗模式活用多表單操控鍵盤和滑鼠,以及介紹檔案和多媒體程式設計,使初學者具有檔案程式設計和多媒體程式設計的能力。
第五部份(第14~17章)以視窗模式介紹資料庫程式設計,使初學者具有資料庫程式設計的能力。
第六部份(第18~19章)介紹如何透過ASP.NET建立網頁資料庫、透過jQuery Mobile設計跨行動裝置網站。
筆記篇與github實作紀錄(等較大的程式碼在放上)
本日1-1~1-3
第一部份(第1~3章)以主控台模式介紹程式設計基本素養。使初學者具有程式邏輯思考能力,熟悉程式設計流程。(共有1-1~1-8、2-1~2-9、3-1~3-12)
第一章 介紹如何安裝VS2017 下載處 (若是沒有請搜尋微軟官網即可找到)
基本上就是選擇需要的套件安裝就對了(這邊以C#為主)
使用社群版即可
請選擇這六項,基本上就寫不完了!!
第一部分以黑黑的命令列開發為主
step1.建立專案
step2.Hello world!!!
按下執行(F5)
完成第一支程式
(注意C#為編譯式語言,簡單說就是需要編譯完成才可以執行,並會有執行檔案,
如圖為專案路徑\bin\Debug\ConsoleApp_first.exe)
這是一切的基礎!!!!
當然書中有介紹很多的歷史與原理就請大家google辣!!
第二部份(第4~5章)以主控台模式介紹物件導向程式設計。使初學者具有設計物件導向程式的能力。
第三部份(第6~11章)以視窗模式介紹表單程式設計。使初學者具有透過工具設計視窗應用程式的能力。
第四部份(第12~13章)如何在以視窗模式活用多表單操控鍵盤和滑鼠,以及介紹檔案和多媒體程式設計,使初學者具有檔案程式設計和多媒體程式設計的能力。
第五部份(第14~17章)以視窗模式介紹資料庫程式設計,使初學者具有資料庫程式設計的能力。
第六部份(第18~19章)介紹如何透過ASP.NET建立網頁資料庫、透過jQuery Mobile設計跨行動裝置網站。
本日1-1~1-3
第一部份(第1~3章)以主控台模式介紹程式設計基本素養。使初學者具有程式邏輯思考能力,熟悉程式設計流程。(共有1-1~1-8、2-1~2-9、3-1~3-12)
第一章 介紹如何安裝VS2017 下載處 (若是沒有請搜尋微軟官網即可找到)
基本上就是選擇需要的套件安裝就對了(這邊以C#為主)
使用社群版即可
請選擇這六項,基本上就寫不完了!!
第一部分以黑黑的命令列開發為主
step1.建立專案
step2.Hello world!!!
按下執行(F5)
(注意C#為編譯式語言,簡單說就是需要編譯完成才可以執行,並會有執行檔案,
如圖為專案路徑\bin\Debug\ConsoleApp_first.exe)
這是一切的基礎!!!!
當然書中有介紹很多的歷史與原理就請大家google辣!!
第二部份(第4~5章)以主控台模式介紹物件導向程式設計。使初學者具有設計物件導向程式的能力。
第三部份(第6~11章)以視窗模式介紹表單程式設計。使初學者具有透過工具設計視窗應用程式的能力。
第四部份(第12~13章)如何在以視窗模式活用多表單操控鍵盤和滑鼠,以及介紹檔案和多媒體程式設計,使初學者具有檔案程式設計和多媒體程式設計的能力。
第五部份(第14~17章)以視窗模式介紹資料庫程式設計,使初學者具有資料庫程式設計的能力。
第六部份(第18~19章)介紹如何透過ASP.NET建立網頁資料庫、透過jQuery Mobile設計跨行動裝置網站。
書名 Visual C# 2017 學習經典
第一部份(第1~3章)以主控台模式介紹程式設計基本素養。使初學者具有程式邏輯思考能力,熟悉程式設計流程。
第二部份(第4~5章)以主控台模式介紹物件導向程式設計。使初學者具有設計物件導向程式的能力。
第三部份(第6~11章)以視窗模式介紹表單程式設計。使初學者具有透過工具設計視窗應用程式的能力。
第四部份(第12~13章)如何在以視窗模式活用多表單操控鍵盤和滑鼠,以及介紹檔案和多媒體程式設計,使初學者具有檔案程式設計和多媒體程式設計的能力。
第五部份(第14~17章)以視窗模式介紹資料庫程式設計,使初學者具有資料庫程式設計的能力。
第六部份(第18~19章)介紹如何透過ASP.NET建立網頁資料庫、透過jQuery Mobile設計跨行動裝置網站。
雖然好像松崗被大家嫌棄@@(好吧~!書都買了~就乖乖K它,至少基礎是正確的!!)
今年一定要K完!!
加入進度報告!!(每篇文章都要有它的進度開頭!!!)
目前已經概略翻過!等候筆記文生產~~~

課本目錄
第一部份(第1~3章)以主控台模式介紹程式設計基本素養。使初學者具有程式邏輯思考能力,熟悉程式設計流程。
第二部份(第4~5章)以主控台模式介紹物件導向程式設計。使初學者具有設計物件導向程式的能力。
第三部份(第6~11章)以視窗模式介紹表單程式設計。使初學者具有透過工具設計視窗應用程式的能力。
第四部份(第12~13章)如何在以視窗模式活用多表單操控鍵盤和滑鼠,以及介紹檔案和多媒體程式設計,使初學者具有檔案程式設計和多媒體程式設計的能力。
第五部份(第14~17章)以視窗模式介紹資料庫程式設計,使初學者具有資料庫程式設計的能力。
第六部份(第18~19章)介紹如何透過ASP.NET建立網頁資料庫、透過jQuery Mobile設計跨行動裝置網站。
雖然好像松崗被大家嫌棄@@(好吧~!書都買了~就乖乖K它,至少基礎是正確的!!)
今年一定要K完!!
加入進度報告!!(每篇文章都要有它的進度開頭!!!)
目前已經概略翻過!等候筆記文生產~~~
以為翻翻google
隨便一本書就開打了
結果錯得離譜
對可以打
但是沒有招式可以用
只能使用基礎的招式(可以解決問題~~但不能解決未來高深的應用阿)
所以再來就好好研讀一本,深入學習完後,再繼續打怪了!!!!
先好好拜讀在分享需要注意的地方!!
預計注重在~物件導向與進階應用!
隨便一本書就開打了
結果錯得離譜
對可以打
但是沒有招式可以用
只能使用基礎的招式(可以解決問題~~但不能解決未來高深的應用阿)
所以再來就好好研讀一本,深入學習完後,再繼續打怪了!!!!
先好好拜讀在分享需要注意的地方!!
預計注重在~物件導向與進階應用!
目前學使用C# + Win Form 實作相關程式
正努力改寫VB程式中(真的好亂啊~~以前的大大真的厲害!)
目前我了解的MVC
目前就邊做邊學,其系統設計真的厲害啊!!(入門真的跌跌撞撞中!!!)
我還是資料分析比較熟阿XD
(下次再分享)
有聽到很多新的(好吧!也不算新)
三層式架構~~
CI/CD....(慢慢學習中~好像也不能太慢@@)
正努力改寫VB程式中(真的好亂啊~~以前的大大真的厲害!)
目前我了解的MVC
- Model 與 資料庫進行交換,擁有與資料庫連線的能力(Service)
- View 使用者介面,所有動畫與呈現接撰寫在此
- Controller 商業邏輯,View 與 Model的連接都在此做,如所吐出的原始資料需整理,給View需要的內容即可,View所需要的功能都在此做。
目前就邊做邊學,其系統設計真的厲害啊!!(入門真的跌跌撞撞中!!!)
我還是資料分析比較熟阿XD
(下次再分享)
有聽到很多新的(好吧!也不算新)
三層式架構~~
CI/CD....(慢慢學習中~好像也不能太慢@@)
Crystal Report
水晶報表
由SAP 公司旗下的產品
官網
本人目前開發環境
VS2017、VS2013
C#
Win form
.net framework 4.0 、4.5
恩~這是要錢的!(因為公司有買所以...趁機學習!)
本人使用C# .net framework 4.0及4.5
先說需要注意的問題
如果使用4.0開發會出現路徑的錯誤!!!需要有
app.config 這個檔案,才不會出錯(套件上先天有問題?不然就是公司的版本不夠新)
若是沒有怎麼辦?
請在專案下案右鍵->屬性->應用程式->將framework選4.5(儲存)
就會出現辣
再選回framework 4.0 即可
至於內容要寫什麼我需要查一下XD
待補充~~~~
學習參考資料:
1.交叉分析表及統計圖顯示空值的方式?
2.基本语法
水晶報表
由SAP 公司旗下的產品
官網
本人目前開發環境
VS2017、VS2013
C#
Win form
.net framework 4.0 、4.5
恩~這是要錢的!(因為公司有買所以...趁機學習!)
本人使用C# .net framework 4.0及4.5
先說需要注意的問題
如果使用4.0開發會出現路徑的錯誤!!!需要有
app.config 這個檔案,才不會出錯(套件上先天有問題?不然就是公司的版本不夠新)
若是沒有怎麼辦?
請在專案下案右鍵->屬性->應用程式->將framework選4.5(儲存)
就會出現辣
再選回framework 4.0 即可
至於內容要寫什麼我需要查一下XD
待補充~~~~
學習參考資料:
1.交叉分析表及統計圖顯示空值的方式?
2.基本语法
















