購買網址怎麼買?PCHome範例(購買篇)

domain01
1. 進入PChome的買網址網站 http://myname.pchome.com.tw/
domain02
2. 在輸入你想購買的網址名稱輸入網址 ex: delphitaiwan 然後勾選要申請的域名後,按下購買
domain03
domain04
3. 因為有點選.net.tw跟.org.tw,所以會跳出需有電信執照、財團法人或非營利社團法人等資格才能申請。我們只要申請idv.tw的就將其他勾掉。金額就只剩400(你會發現不同域名有不同金額)~往下拉到下面按下一步
domain05
4. 接著會要求會員資料,沒有的話就申請一個
domain06

domain07
5. 接下來會請您輸入註冊網域的基本資料,如果有申請過可以點顯示最後一次註冊資料帶入最後一次資料。然後域名確定拼字無誤、 我已閱讀 PChome客戶個人資料蒐集應告知事項二個看完沒問題請打勾。
domain08

domain09
6. 最後出現訊息核對無誤後就按以上確認無誤,進入付款

domain10

7.最後選擇付款方式付款即完成

 

為DBGrid加上OnClick事件

很奇怪的在DBGrid竟然沒有OnClick事件~不過還是可以用方式讓Click事件重見天日

[pascal]
private
{ Private declarations }
procedure dbgrid1Click(Sender:Tobject);
[/pascal]

[pascal]
procedure TForm1.FormCreate(Sender: TObject);
begin
dbgrid1.ControlStyle := dbgrid1.ControlStyle + [csClickevents];
TForm(dbgrid1).OnClick := dbgrid1click;
end;
[/pascal]

[pascal]
procedure TForm1.dbgrid1Click(Sender: Tobject);
begin
// Click事件
end;
[/pascal]

中台科技大學使用Delphi XE6開發成果

10846058_10152391825376541_6729644901142507463_n
有幸成為中台科技大學畢業專題研究的考試委員,要感謝中台資管系裡一直致力於推廣Delphi的李桂春老師,以及幾位老師排除許多意見讓Delphi這門課仍在學校中延續。
這次的二組學生共開發了六支程式
一、Smile BUS
二、學務小幫手 – 學生護照、失物招領、車號辨識、賃居訪視、校安警報系統
系統內應用了Google Map、GPS、上傳、拍照、QRCode…..等技術,完成度相當的高!
10846309_10152396576211541_8581711142382981368_n

10565285_10152396576181541_5511641369811730287_n

10414380_10152396576136541_2027245156865070595_n

10360343_10152396576086541_9016676841456869558_n

1012968_10152396575891541_8956913892727382166_n

10175956_10152396575801541_6156401098272297629_n

10559764_10152396575726541_7185801609891298930_n

Delphi Indy TCPClient/TCPServer元件傳檔

Indy這套免費又強大的網路元件相信對Delphi開發者不陌生,不過常常被問如何透過Indy傳送檔案。
寫了個簡單的範例給大家。

一、伺服端
只需要在表單放上一個IdTCPServer元件,接著在FormOnCreate以及IdTCPServer1OnExecute寫上
[pascal]
procedure TForm1.FormCreate(Sender: TObject);
begin
idtcpserver1.DefaultPort := 1234; // 可自行更改Port號,但Client/Server要一致
idtcpserver1.Active:=true;
end;

procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
var
ms:Tfilestream;
fn:String;
begin
fn := ExtractFileName(acontext.Connection.IOHandler.ReadLn()); // 從Client接收檔名
ms := Tfilestream.Create(‘c:\’+fn, fmCreate);
ms.Position :=0;
acontext.Connection.IOHandler.ReadStream(ms,0,true);
ms.Free;
end;
[/pascal]

二、客戶端
畫面上放上IdTCPClient外,再放上三個Edit(分別是EdtHost、EdtPort、EdtFileName)以及四個Button(分別是BtnConnect、BtnDisConnect、BtnChooseFile、BtnSend)以及一個OpenDialog
[pascal]
procedure TForm1.BtnConnectClick(Sender: TObject);
begin
// 連接到伺服器
if IdTCPClient1.Connected then
IdTCPClient1.Disconnect;
IdTCPClient1.Host := EdtHost.Text;
IdTCPClient1.Port := StrToInt(EdtPort.Text);
IdTCPClient1.Connect;
end;

procedure TForm1.BtnDisconnectClick(Sender: TObject);
begin
// 斷開連線
IdTCPClient1.Disconnect;
end;

procedure TForm1.BtnChooseFileClick(Sender: TObject);
begin
// 選擇檔案
if opendialog1.Execute then begin
EdtFileName.Text :=opendialog1.FileName;
end;
end;

procedure TForm1.BtnSendClick(Sender: TObject);
var
ms : tmemorystream;
begin
// 傳送檔案
BtnConnect.Click;
ms := Tmemorystream.Create;
ms.Clear;
ms.LoadFromFile(EdtFileName.Text);
ms.Position :=0;
IdTCPClient1.IOHandler.LargeStream := true;
idtcpclient1.IOHandler.WriteLn(ExtractFileName(EdtFileName.Text)); // 告知檔名
idtcpclient1.IOHandler.Write(ms);
idtcpclient1.IOHandler.Close; // 很重要的一行,不然傳送完,無法開啟會出現檔案使用中
ms.Free;
end;
[/pascal]

機器上除了要擺乖乖外,程式碼也該加上

[pascal]
//
// _oo0oo_
// o8888888o
// 88" . "88
// (| -_- |)
// 0\ = /0
// ___/`—‘\___
// .’ \\| |// ‘.
// / \\||| : |||// \
// / _||||| -:- |||||- \
// | | \\\ – /// | |
// | \_| ”\—/” |_/ |
// \ .-\__ ‘-‘ ___/-. /
// ___’. .’ /–.–\ `. .’___
// ."" ‘< `.___\_<|>_/___.’ >’ "".
// | | : `- \`.;`\ _ /`;.`/ – ` : | |
// \ \ `_. \_ __\ /__ _/ .-` / /
// =====`-.____`.___ \_____/___.-`___.-‘=====
// `=—=’
//
//
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// 佛祖保佑 永無bug
//
//***************************************************
[/pascal]

POS收銀發票紙安裝?

好像常被問到POS機器上的發票要如何更換收執跟存根這件事!乾脆就拍了些照片分享出來

10615497_10152372365721541_4102564396419321322_n
一、發票機上蓋打開後,會發現有二個槽,右邊的叫做發票存根聯(存根聯是店家自己留存用的,而且應依稅捐稽徵機關管理營利事業會計帳簿憑證辦法第27條規定,除應永久保存或有關未結會計事項者外,於會計年度決算程序辦理終了後,至少保存5年。);左邊的叫做發票收執聯(收執聯是店家給消費者保管,對獎用)。

10348600_10152372365756541_1593691220301017020_n

二、我們先裝存根聯,把黑色定位點朝上

10440967_10152372365801541_2805259296329859052_n

三、接下來按照方向從箭頭處穿入,壓住旁邊的壓桿穿出(沒壓住的話會被擋住)
10615525_10152372365936541_1208175994699616437_n

 

四、接著把紙張插入存根捲紙軸中,記得是順時針方向

 

983827_10152372365981541_8942709199697736152_n

五、完成存根聯安裝

 

10647239_10152372366046541_6579798124903263254_n

六、收執聯也一樣是黑色定位點朝上

10343654_10152372366111541_7844571347815681004_n

七、依照箭頭穿入紙張,按住旁邊的壓桿讓紙張穿出

1240091_10152372369436541_6840354904454565874_n

八、完成後,蓋回上蓋,按住存根進紙以及收執進紙不放讓二聯定位完成即可

1901594_10152372366186541_2042713172510746853_n

九、就可以印出漂亮的發票了

 
相關法令: 營業人使用收銀機辦法
http://law.moj.gov.tw/LawClass/LawContent.aspx?PCODE=G0340084

Delphi偵測按鍵輸入

1. Form -> keyprivew = True
2.
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key = vk_down) or (key = 13) then begin // 如果按向下鍵或Enter
//key:=vk_tab;
Caption :=ActiveControl.Name;
SendMessage(getparentform(self).Handle,WM_NEXTDLGCTL,0,0);
end else if (key = vk_up) then begin // 如果按向上鍵
Caption :=ActiveControl.Name;
SendMessage(getparentform(self).Handle,WM_NEXTDLGCTL,1,0);
end;
if ssctrl in shift then
if key = vk_f11 then showmessage(‘按下Ctrl+F11’);
end;