2019年12月27日 星期五

2019年12月16日 星期一

[C#] ComboBox

新增選單內項目
comboBox1.Items.Add("item_1");

指定顯示-依排序
comboBox1.SelectedIndex = 1; //第2個(從0開始)

指定顯示-依項目名字
comboBox1.SelectedIndex = comboBox1.FindStringExact("item_1");

ComboBox 不顯示任何資料
comboBox1.SelectedIndex = -1;








[C#] Buttom

1.改顏色 - 輸入RGB
buttom1.BackColor = Color.FromArgb(192, 192, 255);

2.避免按鍵卡住
buttom1.Focus();





2019年11月30日 星期六

[C] bat檔傳參數到exe檔(附範例程式)

下列示範如何由bat檔輸入參數到執行檔裡:
概念圖:
1,2,A分別被轉成ascii的 0x31,0x32,0x41

[C] int main(int argc, char **argv)解說

為了使執行檔能夠接收使用者輸入的參數,在main( ) 中,有適合的格式可讓使用者輸入的參數。

int main(int argc, char **argv)

argc: argument count
argv: argument value

電腦會自動將參數放到argv[0],argv[1]...中

實際應用: bat檔傳參數到exe檔(附範例程式)

2019年11月10日 星期日

[C#] TabControl

1.讀取目前在tabContro裡的第幾頁(page)
tabControl1.SelectedIndex = 1;

2019年10月25日 星期五

[STM32] GPIO Output

GPIO Output 有兩種方式:

1. GPIO bit set/reset register (GPIOx_BSRR)

GPIOx_BSRR可以直接(不需要先讀出目前的值)對單獨1個bit做修改,不會影響到其他bit.
若要設定GPIOx的pin 0時,直接在BS0或BR0填入1.

[Linxu] GCC編譯產生檔案說明

bss(Block Started by Symbol):
Read-Write initialized data,未給初始值或初始值為0的全域變數

data:
Read-Write zero initialized data,有初始值的全域變數

rodata(Read-Only Data):
const的全域變數

text:
Program code,程序執行代碼的一塊內存區域

2019年9月26日 星期四

[C] 特殊指標用法

空指標 void *a: 可放任何資料型態的地址

函式指標(function pointer):
void funA(int a) ;
void *b = funA ;

所以funA(c) = b(c)

2019年8月3日 星期六

[C#] TextBox or RichTextBox

TextBox和RichTextBox皆適用

1.Change text color in text box 


           




richTextBox1.SelectionColor = Color.Red;
richTextBox1.AppendText("0123456789");


3.修改字串中的字體顏色





            


richTextBox1.AppendText("0123456789");
richTextBox1.Select(3, 2);
richTextBox1.SelectionColor = Color.Red;


(3.測試中...)




richTextBox1.AppendText("0123456789");
            richTextBox1.Select(1, 2);          
            Font oldFont = richTextBox1.SelectionFont;
            richTextBox1.SelectionFont = new Font(oldFont, FontStyle.Bold);
            richTextBox1.AppendText("\r\naaa");



2.自動滾動到最下面(自動滾動到文字新增處)
/*Scroll to the bottom of the page*/
textBox1.SelectionStart = textBox1.Text.Length;
textBox1.ScrollToCaret();







參考資料:
https://zhidao.baidu.com/question/77745216.html







[C#] .bin檔存取及讀寫

●Read Bin file

2019年2月20日 星期三

2019年1月11日 星期五

[門禁卡UID/CUID] (2021更新) Mifare Classic / Chinese Magic Card(UID卡或CUID卡) 介紹

注意:UID有兩種解釋
1. Chinese Magic Card又稱UID,在此稱為UID卡.
2. UID(Unique IDentifier)指的是卡片的卡號,在此稱為UID.

大多數的門禁卡及電子鎖都使用此卡片,
且以4-byte UID為主,
極少部分用7-byte UID.


1. Mifare Classic卡依容量大小分為:S50及S70.
Datasheet - MIFARE Classic EV1 1K

2. 每張卡片有唯一的流水號稱為:UID(就像身分證字號).

3. UID存在卡片記憶體Sector 0中的Block 0中的Byte 0~3,Byte 4為校驗碼BCC.
BCC公式 = uid0(byte0) ^ uid1(byte1) ^ uid(byte2) ^ uid3(byte3)








4. Sector 0中的Block 0是不能修改的(唯讀的),也就是說UID無法修改,所以卡片內的UID是獨一無二的,但是...請繼續看下去.


2019年1月6日 星期日

[門禁卡UID/CUID] UID/CUID拷貝複製說明


1. 手機必須要有NFC的功能(不確定的話,請跳到第2點)
---------------------------------------------------------------

2. 到Play store下載: NFC TagInfo by NXP (點我) 

若手機不支援會出現《您的裝置與這個版本不相容。



















---------------------------------------------------------------

3. 掃描讀取『卡號(UID)』和『資料(Data)』