發表文章

正規表示式 Regular Expression

  簡單說明:

Javascript var 與 let / const 差異

  var 是函式作用域,let / const 是區塊作用域 var 允許重複宣告,let / const 會出錯 “ const ”— 一般使用在識別值(identifier)不會被重新指定值。例如:宣告恆定不做改變的變數 — const PI = 3.14159。這也意味著,const在宣告變數時就會進行初始化,無法等到之後再賦予值,因此必定要在一開始就給予值作宣告,否則將會報錯。 “let”— 一般使用在變數(variable)可能會被重新指定值。例如:在迴圈(for loop)中,一開始的變數宣告使用。也可以說較常使用在函式(function)自行定義的區塊(block)中,例如:迴圈(for loop)或者邏輯、數學等演算法括弧({} or ())中作宣告使用,而不會存在並使用於整個函式(function)中。 “var”— 在ES6推出“let”宣告方法後,JavaScript最弱的變數宣告,使用在變數可能或不會被重新賦予值,或者宣告範圍在整個函式(function)或者區塊(block)中。 ref Web: https://www.programfarmer.com/articles/2020/javascript-var-let-const-for-loop https://totoroliu.medium.com/javascript-var-let-const-%E5%B7%AE%E7%95%B0-e3d930521230

MVC 讓Entity Framework啟動不再檢查__MigrationHistory表

 Framework中DbContext首次加載OnModelCreating會檢查__MigrationHistory表,作為使用Code Frist編程模式,而實際先有數據庫時,這種檢測就是多餘的了,所以需要屏蔽,在EF 4.1之前可以使用在OnModelCreating函數總加入下面語句來屏蔽這種檢測: modelBuilder.Conventions.Remove<IncludeMetadataConvention>(); 而到4.3之後需要使用,上列語句以被MSDN明確表示過時,所以需要新的方式取代: Database.SetInitializer<DBContext>(null); ref web:https://blog.csdn.net/liunianqingshi/article/details/70577734

[C# Lambda] 依資料Group某欄位數量

C# lamba List<object>, 其中object class有4個欄位, 分別為A,B,C,D, 其中A,B,C為string, D為int, 如何將A,B,C為條件進行Group by取得加總D的結果 class Program {     static void Main()     {         List<MyObject> objects = new List<MyObject>         {             new MyObject { A = "A1", B = "B1", C = "C1", D = 10 },             new MyObject { A = "A1", B = "B1", C = "C2", D = 20 },             new MyObject { A = "A2", B = "B2", C = "C1", D = 30 },             new MyObject { A = "A2", B = "B2", C = "C2", D = 40 },             new MyObject { A = "A2", B = "B3", C = "C3", D = 50 }         };         var groupedObjects = objects             .GroupBy(obj => new { obj.A, obj.B, obj.C })             .Se...

Class資料複製 (ShallowCopy)(淺層複製)

void Main() { ClassData a = new ClassData() { Class_1="11", Class_2="22" }; ClassData b = a.ShallowCopy();  //淺層複製(Shallow Copy) 複製值 ClassData c = a;  //複製參考 a.Class_1="AA"; string result_B = $"B.Class_1='{b.Class_1}'";  //-->11 string result_C = $"C.Class_1='{c.Class_1}'";  //-->AA result_B.Dump(); result_C.Dump(); } class ClassData { public string Class_1 { get; set; } public string Class_2 { get; set; } public ClassData ShallowCopy() { return (ClassData)this.MemberwiseClone();  //複製值, 而非reference } } 顯示結果: B.Class_1='11' C.Class_1='AA'

常見的 Windows 字型中,具有英文和數字等寬特性的字型

以下是一些常見的 Windows 字型中,具有英文和數字等寬特性的字型: Consolas:Consolas 是一款受到廣泛使用的等寬字型,它在 Windows 系統中預設安裝並且常用於程式碼編輯器中。 Courier New:Courier New 是另一種常見的等寬字型,廣泛用於程式碼和文字檔案的顯示。 Lucida Console:Lucida Console 是一款較為輕巧的等寬字型,通常用於程式碼編輯器和終端應用程式。 Consolas Bold:Consolas Bold 是 Consolas 字型的加粗版本,提供更加醒目的效果。 Droid Sans Mono:Droid Sans Mono 是一款 Google 字型,具有等寬特性,適合用於程式碼和文本編輯。 Inconsolata:Inconsolata 是另一種廣受歡迎的開源字型,專為程式碼閱讀而設計。 Source Code Pro:Source Code Pro 是由 Adobe 所開發的一款等寬字型,專為程式碼編寫而設計,具有良好的可讀性。 這些字型通常可以在 Windows 系統中找到,並且在程式碼編輯器和其他文字編輯應用程式中廣泛使用。 

[ASP.NET MVC] Oracle DBSet 欄位名稱都要大寫

 [ASP.NET MVC] Oracle DBSet 欄位名稱都要大寫

[C#]AlphaSequence 字串序列 34進制(0-9,A-Z但不包含I,O)

  private void button3_Click(object sender, EventArgs e)         {             string SerialNow = "CZZ0Z";             int i = 0;             while (i < 3000)             {                 SerialNow = AlphaSequence(SerialNow);                 i++;             }         }         public string AlphaSequence(string input)         {             string alphabet = "0123456789ABCDEFGHJKLMNPQRSTUVWXYZ";             char[] sequence = input.ToCharArray();             for (int i = sequence.Length - 1; i >= 0; i--)             {           ...

MSSQL系統變數

 @@CONNECTIONS:返回當前伺服器連線的總數。 @@CPU_BUSY:返回 CPU 的繁忙時間(以毫秒為單位)。 @@IDLE:返回伺服器閒置的時間(以毫秒為單位)。 @@IO_BUSY:返回磁碟 I/O 操作的繁忙時間(以毫秒為單位)。 @@PACK_RECEIVED:返回自伺服器啟動以來已接收的協議數。 @@PACK_SENT:返回自伺服器啟動以來已傳送的協議數。 @@PACKET_ERRORS:返回自伺服器啟動以來出現的網路錯誤數。 @@TIMETICKS:返回自伺服器啟動以來的時鐘滴答數。 @@TOTAL_ERRORS:返回自伺服器啟動以來出現的所有錯誤數(包括網路錯誤)。 @@TOTAL_READ:返回自伺服器啟動以來讀取的所有頁數。 @@TOTAL_WRITE:返回自伺服器啟動以來寫入的所有頁數。 @@VERSION:返回伺服器版本號碼。 @@LANGUAGE:返回當前語言設定。 @@SPID:返回當前執行緒的 ID 號碼。 @@SERVERNAME:返回伺服器名稱。 @@SERVICENAME:返回 SQL Server 服務名稱。 @@LOCK_TIMEOUT:返回當前設定的鎖定逾時時間。 @@MAX_CONNECTIONS:返回當前伺服器允許的最大連線數。 @@MAX_PRECISION:返回伺服器允許的最大精度。 @@NESTLEVEL:返回目前的執行階層。 @@OPTIONS:返回目前設定的選項。 @@DATEFIRST:返回目前設定的每週第一天是星期幾。 @@DBTS:返回目前資料庫的時間戳記。 @@FETCH_STATUS:返回最近一次 FETCH 陳述式的狀態。 @@IDENTITY:返回最近一個 INSERT 陳述式產生的自動增值欄位值。 @@ERROR:返回最近一個錯誤的錯誤號碼。 @@ROWCOUNT:返回最近一個執行的 T-SQL 陳述式所影響的列數。 @@TRANCOUNT:返回目前交易的階層數。 @@PROCID:返回目前正在執行的預存程序或觸發程序的 ID 號碼。 @@REMSERVER:返回目前連線的遠端伺服器名稱。 @@ROWGUID:返回目前的行全域唯一識別碼 (GUID)。 @@SERVERNAME:返回伺服器名稱。 @@TEXTPTR:返回 TEXT、NTEXT 或 IMAGE 資料類型的指標。 ...

MSSQL Store Procedure Debug

圖片
在SSMS或Visual Studio進行Store Produce debug時, 會發生下面錯誤 除了檢查防火牆外, 在企業裡可能因網路權限問題, 導致發生上面異常, 這時可以在MSSQL Server上的安全性增加個人AD帳號的Windows認證資料, 可能也可以排除上面問題。  

[VSCode]快捷鍵

* 直式選取 Alt + Shift

[MSSQL]查詢指定月份的天數

  SELECT DAY ( EOMONTH ( '2023-04-01' )) AS DaysInMonth ; --30 SELECT DAY ( EOMONTH ( '2023-02-01' )) AS DaysInMonth ; --28 SELECT DAY ( EOMONTH ( '2020-02-01' )) AS DaysInMonth ; --29

Win11啟動IE瀏覽器

 * 將下列語法貼到筆記本, 並儲存名稱為"open-ie.vbs" StartURL = "http://www.google.com"  set IE = CreateObject("InternetExplorer.Application")  IE.Visible = true  IE.Navigate StartURL 

[Win10]使用Command列出安裝的印表機清單

 wmic printer list brief

[PowerShell]利用指令顯示檔案最後N行資料[自動更新]

  Get-Content -Path "檔案完整路徑" -Wait -Tail 10 -Wait: 等待 -Tail: 顯示最後10行

Oralce 多個參數值使用OracleParameter查詢SQL IN語法

  string query = "SELECT * FROM myTable WHERE myColumn IN ("; // 定義要查詢的值 List<int> values = new List<int>() { 1, 2, 3, 4, 5 }; // 建立參數集合 OracleParameterCollection parameters = new OracleParameterCollection(); // 建立參數,將值加入集合 for (int i = 0; i < values.Count; i++) {     string parameterName = $"p{i}";     parameters.Add(new OracleParameter(parameterName, values[i]));     query += $":{parameterName},"; } // 刪除最後一個逗號 query = query.TrimEnd(',') + ")"; // 建立 OracleCommand 物件,指定查詢和連接 OracleCommand command = new OracleCommand(query, connection); // 將參數集合加入到 OracleCommand command.Parameters.AddRange(parameters); // 執行查詢 OracleDataReader reader = command.ExecuteReader();

MSSQL定序問題

MSSQL定序問題 在 Microsoft SQL Server (MSSQL) 中,定序(Collation)指的是一組規則,用於定義字符資料(例如文字和字串)的排序順序、大小寫規則以及字元比較的行為。MSSQL 中的定序包括了以下幾個方面: 排序順序(Sorting Order) : 指定字符的排序順序,例如在排序字串時,是按照字母順序還是其他方式。 大小寫規則(Case Sensitivity) : 指定字符比較時是否區分大小寫。 陳述規則(Accent Sensitivity) : 指定字符比較時是否區分重音符號,例如是否將重音符號視為不同的字符。 特定字符的比較行為(Comparison Behavior) : 指定特定字符之間的比較行為,例如某些語言中的特殊字符可能有不同的比較行為。 MSSQL 中的每個資料庫和每個欄位都可以有自己的定序設置。如果沒有明確指定定序,則系統將使用預設的定序進行比較。 定序在數據庫操作中至關重要,因為它直接影響到排序、比較和查詢的行為。因此,在跨多個資料庫或不同環境之間進行操作時,確保定序的一致性是非常重要的。 先查詢其中一個資料庫的定序, 通常是以主要SQL資料的DB --SELECT DATABASEPROPERTYEX ('資料庫名稱' ,'Collation' ) SELECT DATABASEPROPERTYEX ('database1' ,'Collation' ) --查詢結果: Chinese_Taiwan_Stroke_CI_AS 調整SQL寫法 --將t2欄位轉換為與t1欄位相同定序 SELECT * FROM database1.dbo.table1 AS t1 JOIN database2.dbo.table2 AS t2 ON t1.column = t2.column COLLATE Chinese_Taiwan_Stroke_CI_AS; --或者同時轉換為相同定序 SELECT * FROM database1.dbo.table1 AS t1 JOIN database2.dbo.table2 AS t2 ON t1.column COLLATE Chinese_Taiwan_Stroke_CI_...

Win10 開啟IE強制被跳轉為Edge

電腦\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Ext\CLSID 把機碼由1變更為0, 就可以開啟IE

[DBeaver]快捷鍵

ctrl + enter 執行sql ctrl + alt + ↑ 向上複製一行 ctrl + alt + ↓ 向下複製一行 ctrl + shift + ↑ 向上移動一行 ctrl + shift + ↓ 向下移動一行 ctrl + alt + F 對sql語句進行格式化,對於很長的sql語句很有用 ctrl + d 刪除當前行 alt + ↑ 向上選定一條sql語句 alt + ↓ 向下選定一條sql語句 ctrl + / 行註釋 ctrl + shift+ / 塊註釋 ctrl + f 查找、替換 ctrl + space sql提示(如果寫了from table後也會自動提示field) ctrl + shift + E 執行計劃 ctrl + shift + U 將選定的sql轉換成大寫字母 ctrl + shift + L 將選定的sql轉換成小寫字母

[MSSQL]T-SQL 語法執行時間分析

SET STATISTICS TIME SET STATISTICS IO SET STATISTICS PROFILE

[MSSQL]set statistics profile on

  set statistics profile on 顯示文字版執行計劃 Rows:執行計畫每一步返回的實際行數 Executes:執行計畫每一步執行的次數 StmtText:執行計畫的具體內容,每一步都有自己的執行內容,且有結果返回,當然每執行一次,都會花費系統資源(時間 cpu 記憶體) EstimateRows:SQL Server預估每一步執行返回的行數,我們經常將EstimateRows與Rows的值進行對比,確認SQL Server是否預估準確 EstimateIO:SQL Server預估每一步執行所花費的I/O資源 EstimateCPU:SQL Server預估每一步執行所花費的CPU資源 TotalSubtreeCost:SQL Server根據EstimateCPU和EstimateIO來計算出的每一步執行計畫的cost(該值包括了自己和該樹下所有子樹執行計畫的cost的總和) Warnings:SQL Server預估所預告的警告(例如:某一步執行沒能找到統計資訊支援SQL Server預估) Parallel:是否使用了並行的執行計畫 Web Reference: https://dotblogs.com.tw/dragoncancer/2016/09/06/113811

[VMWare]安裝Windows11

要安裝Windows 11(下載詳見:Windows11正式版下載),必須符合64位元2個以上的核心,4 GBRAM以上, 64 GB以上儲存空間,UEFI安全開機能力,TPM 2.0…等硬體規格

電腦版Chrome變更為深色模式

   STEP01: 打開Chrome, 在網址列輸入[chrome://flags/#enable-force-dark] STEP02: 搜尋[Force Dark], 把設定變更為Enable, 下方會出現重新啟動Chrome提示, 重啟後就完成設定 參考網址: https://www.jyes.com.tw/news.php?act=view&id=513

[Javscript] var a = t || '123' 用法

當t的值不是null或 undefined的時候, a會等於t, 反之則a='1234' 參考網址: https://blog.csdn.net/weixin_43726822/article/details/90017393

ASP.NET MVC Request.ServerVariables["LOGON_USER"]變數抓不到Client登入電腦帳號

  ASP.NET MVC 一般使用下面語法, 可以抓到Client端電腦登入帳號 (Window認證) Request.ServerVariables["LOGON_USER"] 但因為個人習慣把連線SERVER的網路芳鄰資料夾認證帳密儲存起來, 導致網頁一直抓到網芳儲存的密碼, 而不是Client登入電腦帳密, 還一直以為是抓到SERVER登入電腦的帳密, 真是大錯特錯, 完全找錯問題方向。 只要到控制台把網芳的儲存帳密清除, 一切就正常了。

[MSSQL] 查詢Index資料

SELECT obj.name TableName, ind.name IndexName, col.name IndexColumn, incol.index_column_id IndexColumnSN FROM sys.columns col INNER JOIN sys.objects obj ON obj.object_id = col.object_id INNER JOIN sys.index_columns incol ON incol.COLUMN_ID = col.column_id AND incol.object_id = obj.object_id INNER JOIN sys.indexes ind on ind.index_id = incol.index_id AND obj.object_id = ind.object_id WHERE obj.name = 'TableName' order by ind.name, incol.index_column_id

C# 開啟指定路徑檔案語法

  System.Diagnostics.Process.Start(FilePath)

LINQ 延遲執行 立即執行

 LINQ 延遲執行 立即執行 Where及回傳值為IEnumerable<T>的語法, 都是延遲執行 其他的一些像First、Count、ToArray、ToList、ToDictionary、ToLookup都是立即執行 ref web: https://www.cnblogs.com/GreenLeaves/p/7601476.html

C# DateTime is a value type

DateTime is a value type   ( struct ) This means that the following creates a copy: DateTime toBeClonedDateTime = DateTime.Now; DateTime cloned = toBeClonedDateTime; ref web: https://stackoverflow.com/questions/4265399/how-can-i-clone-a-datetime-object-in-c

JQuery 筆記

  * JQuery(document).ready(function(){...}; 可以用以下方式表示 JQuery(function(){}); $(function(){}); * 依Class和data-qid值找到對應Element var aa = $("button[data-qid='" + qid + "']").filter(".btnLINK2").data('qname'); var aa = $(".btnLINK2").filter("button[data-qid='" + qid + "']").data('qname'); var aa = $(".btnLINK2").filter("[data-qid='" + qid + "']").data('qname');

Sublime Text 3 好用套件

※ 001  SqlBeautifier 格式化SQL 安裝完成後, 重啟程式 使用方法: Ctrl+K, Ctrl+F

Visual Studio 快捷鍵

  #region ... #endregion 001. Ctrl + K, Ctrl + S 將選取程式碼前後加上 #region ... #endregion 002. Ctrl + M + M 折疊當前 region 003. Ctrl + Shift + ↑ or ↓ 切換當前region至 #region or #endregion 004. Shift + F12 尋找所有參考 005. F12 移至定義 005-2. Ctrl + F12 移至實作 006. Ctrl + (減字號) 返回前一步驟 007. Ctrl + D 複製當前列資料 008. Ctrl + X 刪除當前列資料

[MSSQL]Insert資料後取得identity ID

圖片
  Insert into A_3(Data1) select convert(varchar,Getdate(),120) SELECT @@IDENTITY as PKID

[MSSQL]Insert into 後取得Insert資料

圖片
  SQL: insert into A_3 (FormNo, Data1) OUTPUT Inserted.PKID,Inserted.FormNo select ltrim('20221202') + right('00000'+ltrim(Convert(int, isnull(right(max(FormNo), 5), '0'))+1),5)       ,convert(varchar,Getdate(),120) from A_3 where FormNo like '20221202%'

HTML特殊符號

  &lt; < 小于号或显示标记 &gt; > 大于号或显示标记 &amp; & 可用于显示其它特殊字符 &quot; “ 引号 &reg; ® 已注册 &copy; © 版权 &trade; ™ 商标 &ensp;   半个空白位 &emsp;   一个空白位 &nbsp;   不断行的空白 ref web: https://developer.aliyun.com/article/614020

SoapUI

  <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tip="http://www.dsc.com.tw/tiptop/TIPTOPServiceGateWay">    <soapenv:Header/>    <soapenv:Body>       <tip:UpdateStockInPostRequest>          <tip:request> 轉換後XML放這裡, 要把 < 取代為 &lt;           </tip:request>       </tip:UpdateStockInPostRequest>    </soapenv:Body> </soapenv:Envelope> 另一種方法 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tip="http://www.dsc.com.tw/tiptop/TIPTOPServiceGateWay">    <soapenv:Header/>    <soapenv:Body>       <tip:UpdateStockInPostRequest>          <tip:request> <![CDATA[ 原來XML ]]           </tip:request>       </tip:UpdateStockInPos...

C# 取得IP方式

  /// <summary> /// 取得本機 IP Address /// </summary> /// <returns> </returns> private List< string > GetHostIPAddress ( ) { List< string > lstIPAddress = new List< string >(); IPHostEntry IpEntry = Dns.GetHostEntry(Dns.GetHostName()); foreach (IPAddress ipa in IpEntry.AddressList) { if (ipa.AddressFamily == AddressFamily.InterNetwork) lstIPAddress.Add(ipa.ToString()); } return lstIPAddress; // result: 192.168.1.17 ...... } /// <summary> /// 取得外網 IP Address /// </summary> /// <returns> </returns> private string GetExtranetIPAddress ( ) { HttpWebRequest request = HttpWebRequest.Create( " http://www.whatismyip.com.tw " ) as HttpWebRequest; request.Method = "GET" ; request.ContentType = "application/x-www-form-urlencoded" ; request.UserAgent = "Mozilla/5.0" ; string ip = string .Empty; ...

C# 2個List比較差異 (Linq Excep)

  List<string> strList1 = new List<string>(){"a", "b", "c", "d"}; List<string> strList2 = new List<string>() { "a", "b", "f", "e"}; var strList3 = strList1.Except(strList2).ToList(); strList1排除strList2的資料, 結果為 c, d ref web: https://www.cnblogs.com/xinianxinqix/p/9204534.html

MSSQL 新增資料到自動識別欄位方法

 先執行下面語法, 允許寫入 自動識別欄位, SET IDENTITY_INSERT [ TABLE_NAME] ON ; 再執行要異動的SQL, 最後再執行下面語法, 變更欄位為 不允許寫入   ( 因為自動識別欄位名稱要存在SQL內, 所以不能使用 select * from tableA的語法, 欄位要逐一列出, 並且包含自動識別欄位 ) ※ 只有在自動識別欄位出現在 INSERT INTO 陳述式的資料行清單中時,SET IDENTITY_INSERT 才能設置為 ON。 SET IDENTITY_ INSERT [ TABLE_NAME] OFF ; ref web: https://exfast.me/2016/09/mssql-automatic-identification-field-when-required-insert-when-information-should-be-how-do/

[批次程式][BAT]顯示資料夾檔案結構(適用網路路徑)

  tree /f 目錄名稱 > dirs.txt

[LINQ][DataSet] 依條件加總數量

  decimal total = dt.AsEnumerable() .Sum(r => r.Field< decimal ?>( "Col1" ) ?? 0 ); decimal ? total = dt.AsEnumerable() .Sum(r => r.Field< decimal ?>( "Col1" )); // use total.HasValue and total.Value decimal d = 0 ; decimal total = dt.AsEnumerable() .Where(r => decimal .TryParse(r.Field< string >( "Col1" ), out d)) .Sum(r => d); decimal total = dt.AsEnumerable() .Where(r => !r.IsNull( "Col1" ) && decimal .TryParse(r[ "Col1" ].ToString(), out d)) .Sum(r => d); ref web: https://stackoverflow.com/questions/22294929/using-dt-asenumerable-sum-for-columns-having-string-null-value

MSSQL update joib table語法

 update B set columnsA='N'  from TableB B inner join TableA A on (A.C1=B.B1) where 1=1   and A.C1='123

Visual Studio 好用的延伸模組(vsix)

Codinion 文字顏色管理 Better Comments 註解顏色管理

Git常用指令

* 查看本地端 brach git branch * 查看Remote brach git branch -r * 同時查看本地端及Remote brach git branch -a * rescan file for update ignore git rm -r --cached . git add . * 建立空的branch git checkout --orphan <branch-name>  git rm --cached -r .                #clean all file

Win10 查筆電電池容量

  powercfg /batteryreport 開啟網頁 ref web: https://www.cool3c.com/article/130219

Git/SVN Tortoise 圖示沒有顯示

打開CMD輸入regedit 找到  \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers  把Tortoise文字前加'空白1', 讓名稱顯示在前面 系統預設只會顯示前15個圖示

Win11右鍵選單變更為Win10版本

Win11預設滑鼠右鍵選單會分為2層, 要變更為Win10的樣式, 可以打cmd輸入下列指令, 重開電腦後生效。 reg add HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32 /ve /f ref web: https://adersaytech.com/kb-article/rollback-context-menu-win11.html

C# 匯出Excel套件 EPPlus

 EPPlus //非商業用 ExcelPackage.LicenseContext = OfficeOpenXml.LicenseContext.NonCommercial;                //filePath:檔案路徑                 FileInfo FileInfoXLS = new FileInfo(filePath);                 using (ExcelPackage package = new ExcelPackage(FileInfoXLS))                 {                     ExcelWorksheet ws = package.Workbook.Worksheets.Add("Data");                     // 將DataTable資料塞到sheet中                     ws.Cells["A1"].LoadFromDataTable(dtData, true);                     // 設定Excel Header 樣式                     using (ExcelRange rng = ws.Cells[1, dtData.Columns.Cou...

查詢電腦型號

 在執行輸入[dxdiag], 可以查到電腦型號。

怎麼停用Win10縮放比例造成WinForm尺寸跑掉問題

圖片
 因為現在螢幕解析度越來越高, 若在筆電上使用Win10系統時, 字會變很小, 所以通常都會放大125%~150%, 這會導致使用Visual Studio開啟Winform專案時, 物件尺寸會跑掉。 解決方法可以直接接外接螢幕, 調回100%, 就不會影響到Winform物件尺寸, 但也可以透過下面修改, 直接停用Visual Studio的DPI感知設定, 1. 開啟登錄(regedit) 2. 在[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags]新增機碼[Layers] 3. 在Layers下新增子機碼 a. 名稱: VS程式路徑 b. 類型: REG_SZ c. 資料(值): DPIUNAWARE 4. 再開啟Winform視窗時, 就會顯示[自動縮放比例已關閉] 各版本VS程式路徑: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.exe C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\devenv.exe ref web: https://docs.microsoft.com/zh-tw/visualstudio/designers/disable-dpi-awareness?view=vs-2022#add-a-registry-entry

Windows軟體套件管理[Chocolatey]

使用系統管理員打開 Power Shell, 執行下列指令安裝[ Chocolatey ] Set-ExecutionPolicy Bypass -Scope Process -Force ; iex (( New-Object System.Net.WebClient ) .DownloadString ( 'https://chocolatey.org/install.ps1' )) 安裝軟體, 多個軟體可以用空格分開 choco install googlechrome paint.net everything pdfxchangeeditor 7zip -y [常用軟體說明] googlechrome : Google Chrome paint.net : .Net版小畫家 everything : 快速搜尋檔案 pdfxchangeeditor : PDF Reader 7zip : 壓縮軟體 nomacs :  相片瀏覽 notepadplusplus : 安裝Notepad++ xmind : 心智圖 potplayer : 影片播放 winmerge : 文件比較 notepad2  : 文字編輯器 sublimetext4 : 文字編輯器 fiddler :  http協議除錯代理工具,能夠非常方便的檢視HTTP通訊資料 postman : API測試工具 soapui : 測試Webservice 自己常用 choco install googlechrome paint.net everything pdfxchangeeditor 7zip xmind potplayer -y 自己常用(程式開發) choco install git tortoisegit sourcetree winmerge sublimetext4 notepadplusplus -y 官網(可查詢件套及指令) :  https://community.chocolatey.org/packages 參考網頁: *  https://harry-lin.blogspot.com/2018/12/tool-windows-chocolatey.html * https://blog.miniasp.com/po...