發表文章

[C#] 取得Guid

取得Guid   using System; Console.WriteLine(Guid.NewGuid()); 參考網址:  https://learn.microsoft.com/zh-tw/dotnet/api/system.guid.newguid?view=net-7.0 https://blog.csdn.net/WuLex/article/details/109571681 By Hao★

[C#] Stream.CopyTo 方法使用

  Stream.CopyTo 方法使用   //創建新的stream MemoryStream destination = new MemoryStream(); using (FileStream source = new FileStream("C:\temp\Machine.jpg", FileMode.Open)) { //將來源source,複製到目的地destination. source.CopyTo(destination); } 參考網址:  https://learn.microsoft.com/zh-tw/dotnet/api/system.io.stream.copyto?view=net-7.0 錯誤案例: //創建新的stream MemoryStream destination = new MemoryStream(); //來源端stream FileStream source = new FileStream("C:\temp\Machine.jpg", FileMode.Open, FileAccess.Read); destination.CopyTo(source); //錯誤訊息System.NotSupportedException: 'Stream does not support writing.' //原因:因為source是唯讀的,且來源端與目的地位置應交換 參考網址:  https://learn.microsoft.com/zh-tw/dotnet/api/system.notsupportedexception?view=net-7.0 By Hao★

PostgreSQL 資料庫安裝

圖片
  至 官網 下載版本13.4並執行安裝程式 將安裝目錄改成 D:\PostgreSQL\13 取消 Stack Builder 資料安裝預設目錄D:\PostgreSQL\13\data 設定資料庫管理員帳號 postgres 的密碼 預設Port為5432    資料庫安裝中 安裝完成  使用GUI工具PgAdmin連線到資料庫 開始選單 -> PostgreSQL 13 -> 點選 pgAdmin4 首次執行需設定一組pgAdmin的新密碼 (非資料庫管理員帳號 postgres 的密碼) 點選 Servers 輸入資料庫管理員帳號 postgres 的密碼,點選OK 連線成功 參考網址: PostgreSQL - 安裝教學 By Hao★

[C#] 使用Gmail發送信件

使用Gmail發送信件   using System; using System.Collections.Generic; public void SendMail(string Subject, string Body, IEnumerable ToUser) { string account = "XXX@gmail.com";//登入Mail Server的帳號 string password = "*******";//登入Mail Server的密碼 string from = "XXX@gmail.com";//實際發送信件的Mail地址 string host = "smtp.gmail.com";//發Mail的Server位置 string port = "587";//發Mail的Server位置使用的Port bool enableSsl = true;//是否啟用SSL憑證 System.Net.Mail.MailMessage MyMail = new System.Net.Mail.MailMessage(); MyMail.From = new System.Net.Mail.MailAddress(from); foreach (var i in ToUser) { MyMail.To.Add(i.ToString());//設定收件者Email } MyMail.Subject = Subject; MyMail.Body = Body; //設定信件內容 MyMail.IsBodyHtml = true; //是否使用html格式 System.Net.Mail.SmtpClient MySMTP = new System.Net.Mail.SmtpClient(host, Int32.Parse(port)); MySMTP.Credentials = new System.Net.NetworkCredential(account, password); MySMTP

[C#] 將DataTable轉換成Html格式表格

將DataTable轉換成Html格式表格   using System.Data; using System.Text; protected string ExportDatatableToHtml(DataTable dt) { StringBuilder strHTMLBuilder = new StringBuilder(); strHTMLBuilder.Append("<table border='2px' cellpadding='5'>"); strHTMLBuilder.Append("<tr>"); foreach (DataColumn myColumn in dt.Columns) { strHTMLBuilder.Append("<td>"); strHTMLBuilder.Append(myColumn.ColumnName); strHTMLBuilder.Append("</td>"); } strHTMLBuilder.Append("</tr>"); foreach (DataRow myRow in dt.Rows) { strHTMLBuilder.Append("<tr>"); foreach (DataColumn myColumn in dt.Columns) { strHTMLBuilder.Append("<td>"); strHTMLBuilder.Append(myRow[myColumn.ColumnName].ToString()); strHTMLBuilder.Append("</td>"); } strHTMLBuilder.Append

[C#] DataTable行列轉置

將DataTable行列轉置   using System.Data; public DataTable RevertRowToColumn(DataTable dtSource) { DataTable newDataTale = new DataTable(); //原本DataTable列數 int dtRowsCount = dtSource.Rows.Count; //原本DataTable欄數 int dtColumnCount = dtSource.Columns.Count; //將原本DataTable的第一個欄位放入轉置後的第一欄 newDataTale.Columns.Add(dtSource.Columns[0].ToString(), typeof(string)); //將原本DataTable的第一列轉置為轉置後的欄位 for (int i = 0; i < dtRowsCount; i++) { newDataTale.Columns.Add(dtSource.Rows[i][0].ToString(), typeof(string)); } //將原本DataTable的欄位列依序轉置為轉置後的每一列 //起始為1,因為原本第一列已經放置為欄位名稱,要從第二列開始跑起 for (int s = 1; s < dtColumnCount; s++) { DataRow dr = newDataTale.NewRow(); dr[0] = dtSource.Columns[s].ToString(); for (int i = 0; i < dtRowsCount; i++) { dr[i + 1] = dtSource.Rows[i][s].ToString(); } newDataTale.Rows.Add(dr); } newDataTale.TableName = "NEW_" + dtSource.TableNa

FTP Server

圖片
用 FileZilla Server v0.9.60 架設 FTP 站 1.執行FileZilla_Server-0_9_60.exe安裝檔 參考 https://briian.com/4618/3/

[Windows] 排程輸出、輸入指令

使用情境: 因新/舊版本的Windows Server差距太大,沒辦法使用介面來操作排程匯出/匯入,所以使用 Command Line 下指令的方式來匯出/匯入 Windows 排程。 CMD 1.輸出排程 schtasks /Query /S SERVER /XML /TN 排程名稱 > 排程輸出存放路徑\排程名稱.xml 2.輸入排程 schtasks /Create /XML 排程輸出存放路徑\排程名稱.xml /TN 排程名稱 /RU 使用者帳號 /RP 使用者密碼 PowerShell 1.輸出排程 Export-ScheduledTask -TaskName 排程名稱 -TaskPath 排程路徑 | out-file 要存放路徑\檔案名稱.xml 2.輸入排程 Register-ScheduledTask -xml (Get-Content 'XML檔的位置' | Out-String) -TaskName 排程名稱 -TaskPath 排程路徑 -User 網域\使用者 –Force 參考網址:  By Hao★

DataGridView相關

1.選擇一整列 DataGridView  →  屬性 → SelectionMode → FullRowSelect  2.只能單選 DataGridView  →  屬性 → MultiSelect → False  3.禁止排序功能 For i As Integer = 0 To DataGridView1.ColumnCount-1      DataGridView1.Columns(i).SortMode = DataGridViewColumnSortMode.NotSortable Next 參考網址:  By Hao★

[VB.Net] msgbox用法

   參考網址: msgbox(彈出式訊息方塊)的用法 By Hao★

[VB.Net] 程式段行、跳行、註解

  1.段行:_(底線)   Dim FileNotExistMsg As String = "File Not Exist, Please Check !!" Dim FileNotExistMsg As String = _ "File Not Exist, Please Check !!" 2.換行:vbCrLf   Dim statusFileCheck = "FileStatus: " + vbCrLf + FileNotExistMsg 3.註解:'(單引號)   '註解 參考網址:  By Hao★

[C#] 獲取系統當前版本號

1.獲取系統版本號   Version version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; 2.格式化   string ver = string.Format("{0}.{1}.{2}.{3}", version.Major, version.Minor, version.Build, version.Revision.ToString("0000")); 2.不做另外處理,直接使用   string ver = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() 參考網址:  By Hao★