[Delphi] DBGrid顯示不同字型、顏色

dbgrid選擇顏色字型的方式
1.在DBGrid的Columns Editor中,將要出現按鈕的欄位的ButtonStyle設為cbsEllipsis
2.接著到OnEditButtonClick中增加程式判斷
if dbgrid1.SelectedField = xxxx(欄位名稱) then begin
end;
3.顯示的方式則是在OnDrawColumnCell中增加程式
IF COLUMN.FieldName = ‘xxxx(欄位名稱)’ THEN BEGIN
DBGrid1.canvas.brush.Color := STRINGTOCOLOR(‘clGreen’);
END;
// 記得要加上
DbGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, []);

[Delphi] 餐廳、飲料、簡餐等餐飲業POS系統畫面實踐

posscreen

在餐廳、飲料、簡餐等餐飲業的pos系統,常常可以如上圖的畫面。在Delphi如何實踐呢?提出幾個重點:

1.取得.ClientWidth、ClientHeight

2.如果是Scrollbox這類會出現捲軸的元件,記得再透過GetSystemMetrics(SM_CXVSCROLL)、GetSystemMetrics(SM_CYHSCROLL)取得捲軸的寬度、高度,扣除掉才能取得正確可佈置的寬、高

3.透過Ceil記算頁數

4.Create元件時記得設定Parent

5.清空元件利用

while xxx.ControlCount > 0 do begin
xxx.Controls[0].Free;
end;

 

Apple Developer Center System Status

 

自從7/18 蘋果無預警關閉開發者網站後,隨後發佈網站被DDOS攻擊後,似乎是相當嚴重。

可以從 System Status網頁(https://developer.apple.com/support/system-status)看到服務狀態,目前祇有iTunes Connect及Bug Reporter是Online,其他都是OffLine。不知道什麼時候才會維修好!

systemstatus

淺淡POS歷史

POS系統已邁向第五代了!至於前四代是什麼呢?也稍微瞭解一下,

第一代:電子收銀系統(Electronic Cash Register;ECR),錢箱加上按鈕,做簡單的運算、開立發票。
第二代:電子收銀系統(ECR) 同一代機功能,增加了網路RS232功能,可做簡單分析及統計報表
第三代:端點銷售系統(POS),開始採用 PC架構,不過是分離式主機與螢幕、週邊
第四代:端點銷售系統(Touch POS) 類似第三代,不過整合成一體,並針對防震、防水及耐用等功能有更大的要求。
第五代:無人櫃檯(Kiosk) 無線、無人櫃檯、無人商店

【Delphi XE4】常用的Hot key

畫面

  • F12 切換程式碼編輯及表單設計

程式碼縮排

  • 內縮(向右) Ctrl + Shift + I
  • 外張(向左) Ctrl + Shift + U
  • 自動編排   Ctrl + D

書籤 bookmark

  • Ctrl + Shift + 0-9(數字)  註:0與1可以用Ctrl + K + 0、1代替

Sync Edit Mode

  • Ctrl + Shift + J

Refactor

  • Ctrl + Shift + M

To-Do List

  • Ctrl + Shift + T

Remark 註解

  • Ctrl + /

Class Completion 類別完成

  • Ctrl + Shift + C

Declare Field 變數宣告

  • Ctrl + Shift + D

參數提示

  • Ctrl + Shift + Space

Code Templates

  • Ctrl + J

強大的jQuery圖表套件- HighCharts

脈博網後台看到很漂亮的圖表,原來是使用 HighCharts這個元件。提供了幾乎所有常用的圖表類型:長條圖圓餅圖、折線圖、散佈圖等….,每種圖表還可以額外的定義,可以輕鬆的打造出專屬的圖表。

記得使用時要搭配 jQuery。

HighCharts
網站:http://www.highcharts.com

範例:http://www.highcharts.com/demo

Highcharts - Interactive JavaScript charts for your webpage

Delphi-將POS系統的Interbase匯到MySQL資料庫

前一陣子研究各家的餐飲、簡餐POS系統,意外的發現不少系統都是用Delphi寫的,資料庫也大多使用Interbase或是Firebird。

為了方便研究,就嘗試將資料庫轉到MySQL上去~記錄一下轉移方式。

工具:

做法:

在MySQL建立空白資料庫(utf8)

4

 

資料來源 (ODBC)新增 MySQL ODBC 3.51 Driver,注意一點要記得打開Details,將 Character Set 選成 Big5(不是utf8喔)

5

SQL Explorer→New Database→Database Driver Name選INTRBASE,SERVER NAME選擇您要連結的GDB檔案

8

6

7

打開Datapump,Source Alias選擇在SQL Explorer建立的名稱,User Name是SYSDBA(注意大小寫),password是 masterkey(注意大小寫)。接著Target Alias選擇MySQL ODBC建立的名稱。

11

10

9

12

13

 

 

 

14

讓您一目瞭解網頁切版的firefox插件tilt3D

許多時候看到不錯的網頁,都會想看看它的DIV如何設定,意外的發現一個蠻炫的firefox插件tilt。

安裝完成後,點選網頁開發者→Tilt時,網頁就會透過WebGL的技術呈現3D的頁面。

它的原理則是透過DIV的切版來做顯示,對於研究DIV會有”些許”幫助(不過酷炫還是佔大部份原因)

tilt2 tilt tilt1

php json_encode亂碼問題

php很簡單的用json_encode就可以回傳json格式了!

不過遇到中文會有亂碼問題,解決方式很簡單在json_encode之前先做urlencode,json_encode之後做urldecode。

範例:

[php]
While ($row=mysql_fetch_array($result1)){
$stores[] = array("NAME" => urlencode($row["STORE_NAME"]),
"TEL" => urlencode($row["STORE_TEL"]))
}
echo urldecode(json_encode($stores));
[/php]