這個網誌上的程式碼是透過 SyntaxHighlighter Evolved 這支外掛來呈現,不過不知道為什麼,我一直無法讓程式碼以 inline 的方式呈現,後來乾脆自己用 span
標籤加上 CSS 來呈現,後來注意到文字編輯器上 code 按鈕我一直沒用,最後乾脆把新增的 CSS 寫進 code
標籤,之後就可以快速套用了。
繼續瀏覽 »
Quick Report 在 1920*1080 解析度加上 125% 以上的顯示設定環境時,會發生「預覽列印」的比例不對(過大或過小),但實際印出來是正常的情形,如果要修正,需要在編譯環境修正 Quick Report 的 qrprntr.pas 檔,有兩種修正方式。
<%# Eval("SDate", "{0:yyyy/MM/dd}") %> // 0: 表示定義整個括號裡面的第 0 個變數要採用此日期格式。 // 以下為兩個變數的範例。 string s = String.Format("At {0}, the temperature is {1}°C.", DateTime.Now, 20.4); Console.WriteLine(s); // Output similar to: 'At 4/10/2015 9:29:41 AM, the temperature is 20.4°C.'
【參考連結】
- asp.net – how to apply particular FORMAT of date by using eval? – Stack Overflow
- c# – What does the 0 in “{0:MM dd yyyy}” do? – Stack Overflow
- String.Format 方法 (System) | Microsoft Docs
- 自訂日期與時間格式字串 | Microsoft Docs
- 標準日期和時間格式字串 | Microsoft Docs
unit unit1; interface uses Windows, Messages.... type TFormName = (Casefm1, Casefm2, Casefm3); function xxx(): Boolean; var StrFormName: String; CaseFormName: TFormName; begin StrFormName := 'Case' + vFormName; // 將 FormName(物件) 與 TFormName(值) 做區隔。 // (vFormName為帶有各FormName的字串變數) CaseFormName := TFormName(GetEnumValue(TypeInfo(TFormName), StrFormName)); case CaseFormName of Casefm1: begin .............. end; Casefm2: begin .............. end; Casefm3: begin ............... end;
【參考連結】
- case 判斷string的方法 | 三窟
Delphi 選單似乎一直都有字型會變回預設值 (8, Tahoma) 的問題,國外有人提問,但沒有解決方式。目前我能想到的暫時解法是設定一個功能鍵 (可設為熱鍵),讓 user 遇到字型變小時,自行重置字型大小。(測試過程可透過變更 Windows 顯示大小百分比來讓選單字型變回預設值)
procedure Tmainform.N93Click(Sender: TObject); begin Screen.MenuFont.Size := 12; xxxxxx.BringToFront; // 改變畫面焦點,以刷新選單畫面。 end;
【參考連結】
- Delphi VCL force menu repaint – Stack Overflow
- 久久來一次: Delphi MainMenu 字型放大及Menu Checked 提示圖示不見解決方法
procedure TfmQAB.FormShortCut(var Msg: TWMKey; var Handled: Boolean); begin if (Msg.CharCode = 116) and (HiWord(GetKeyState(VK_CONTROL)) = 1) then begin ...... end end;
【參考連結】
- Catch SHIFT key during menu item selection? – Delphi Tips – CJC Delphi (Cool Delphi Tips)
- GetKeyState:GetKeyState ,該函式檢取指定虛擬鍵的 -百科知識中文網
- DELPHI OnKeyDown,OnKeyPress,OnKeyUp区别_踏雪无痕的博客-CSDN博客_delphi onkeydown
- delphi key值表 – 台部落
- How to detect ctrl-t keypress in Delphi – Stack Overflow
- 鍵盤鍵碼值對照表
var vTime, vTime1, vTime2: double; begin vTime1 := GetTickCount(); vTime2 := GetTickCount(); vTime := (vTime2 - vTime1) / 1000; Showmessage(floatToStr(vTime) + 's'); end;
【參考連結】
- delphi怎样求出两时间之间相差多少秒?-CSDN社区
剛剛在調 CSS 語法時,不知道為什麼,解析度模擬成手機解析度後,版型沒有呈現 RWD 該有的效果,一開始以為 @media screen 語法沒有生效,反覆測試後,發現卻是因為 width 語法沒有跟著解析度的比例變動 (已經設成 auto 或用 max-width)。後來試出是要關閉「網頁開發者」模式裡的”觸控模擬”功能,才會正常,目前還不知道為什麼會這樣影響。
繼續瀏覽 »
今天在查系統紀錄時,看到 MariaDB 有一大堆錯誤訊息,內容如下:
InnoDB: Table mysql/innodb_index_stats has length mismatch in the column name table_name. Please run mysql_upgrade
SQL Server 預設會吃光作業系統的記憶體,而在 SQL Server 專用的伺服器上,一般也會建議盡量把記憶體都讓 SQL Server 使用,一來提昇效率,二來也降低硬碟的 IO 損耗。不過若有特定的情況需要控制 SQL Server 的記憶體上限,可以藉由 SQL Server Management Studio (SSMS) 來達成。