隨著資訊越來越普及的關係,大家都習慣把資料放在網路上。像電子郵件、mail、通訊軟體等等,而這些服務都需要透過密碼認證才能進入,不過大家有思考您的密碼夠安全嗎?
這是Intel公司的一個有趣服務,可以檢測一下您的密碼是否夠安全。
壽山為了驗證之前以注音符號打句子,但不切換成注音輸入的密碼。的確是易記又安全的方法!
例如:我愛豐原葫蘆墩(ji394z/m06cj6xj62jp)就要花1500823093年才能破解!
大型網站架構..net 架構師.rabbitMQ.redis.行動開發.APP開發教學.PHP Laravel開發..net core C# 開發.架構師之路.Delphi開發.資料庫程式.進銷存.餐飲POS系統
在上一篇文章中,筆者教大家如何在Mac系統中配置PAServer了,接下來要教大家如何設計可以同時執行在Windows及Mac OS的程式。
一、File→New選取FireMonkey Desktop Application
二、接下來選擇一般的HD FireMonkey Application
三、新增專案後,在專案的Target Platform按右鍵,選擇Add Platform
四、接著選擇OS X後按ok
五、接著在OS X按右鍵 Assign Remote Profile 設置OS X的編譯環境
六、Profile name填上你要的名字
七、Host name填上你在上一篇文章設置的MAC OS主機位置,password則設置上篇文章所設定的密碼。
八、按 Test Connection測試是否可以連得上(記得要執行paserver)
九、如果順利的話,按下Finish就大功告成!
九、接著點選剛才建立的Platform名稱按OK!
十一、如果設定沒錯的話,在XE3按下執行後,程式就會直接執行在Mac OS的畫面上囉!
1.安裝PAServer
將 \Program Files\Embarcadero\RAD Studio\10.0\PAServer中的setup_paserver.zip 複製到 Mac OSX系统
2.將setup_paserver.zip解壓縮進行安裝。
3.安裝完後,進行環境配置
\user\XXXX\Applications\Embarcadero\RADPAServer\10.0\,執行paserver
4.執行後,paserver會請您設定密碼,設定完後就配置ok!
5.利用文字編輯程式打開目錄下的 paserver.command,在第二行後面加上-password=xxxx,xxxx是你在上一步驟設定的密碼。儲存後關閉!
6.幫 paserver.command建立捷徑(替身),或是利用「系統偏好設定」→「帳號」→「登入項目」讓它隨系統啟動。
[php]
#lat1,lon1是第一個點的經緯度
#lat2,lon2是第二個點的經緯度
#unit的話就用"K" (這樣的話傳回值就會是公尺)
function distance($lat1, $lon1, $lat2, $lon2, $unit) {
global $source;
$theta = $lon1 – $lon2;
$dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) +cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
$dist = acos($dist);
$dist = rad2deg($dist);
$miles = $dist * 60 * 1.1515;
$unit = strtoupper($unit);
if ($unit == "K") {
$meters = intval($miles * 1.609344 * 1000);
if($meters > 10000){
return intval($meters/1000).msg(‘公里’,’km’);
}else{
return $meters.msg(‘公尺’,’m’);
}
} else if ($unit == "N") {
return ($miles * 0.8684);
} else {
return $miles;
}
}
[/php]
您是鐵道迷嗎?自認對台灣鐵路瞭若指掌嗎?那您可以來玩玩這款「台灣鐵路通Taiwan Railway」遊戲。
設計師魏巍 一手包辦了遊戲中的圖片、程式及音效,連宣傳影片都是自己拍攝的,可見對於APP的用心程度。
遊戲的玩法也相當簡單,在畫面中會出現現在地及目的地二個提示。然後以手指拖拉列車往正確的方向即可!
所以遊戲的前提是,您要自認熟悉各個站名的先後順序,或是在遊戲中有相關的資訊供參考。
下載網址:
iOS: https://itunes.apple.com/tw/app/id624473652?mt=8
Android: https://play.google.com/store/apps/details?id=com.appsgaga.game.taiwanrailway
以前在撰寫程式時,最討厭的就是醜醜的外觀,如果不是自己畫,就是得找第三方元件(像BusinessSkinForm)來解決。
自從Delphi XE2就開始有的功能,跟大家分享一下如何讓程式看起來不再這麼醜。
1.靜態更改
.Project→Options開啟Project Options選項,在Application→Appearance的Custom Styles就是可以更改介面的選項
.如果不清楚長什麼樣子時,可以點選任一名稱反白後,再點旁邊的Preview就可以預覽
.勾選要變成的Style後,再到Default Style下拉你要的Style按OK即可。
2.動態程式更改
.依照靜態更改方式,勾選你想要呈現的STYLE。
.增加 uses Vcl.Themes
[delphi]
uses Vcl.Themes;
[/delphi]
.讀入風格檔
[delphi]
procedure TForm1.Button1Click(Sender: TObject);
Var
StyleName : string;
begin
ListBox1.Items.Clear;
for StyleName in TStyleManager.StyleNames do
if ListBox1.Items.IndexOf(Name)=-1 then
ListBox1.Items.Add(StyleName);
end;
[/delphi]
.設定風格檔
[delphi]
procedure TForm1.Button2Click(Sender: TObject);
begin
if ListBox1.ItemIndex>=0 then
TStyleManager.SetStyle(ListBox1.Items[ListBox1.ItemIndex]);;
end;
[/delphi]
範例程式下載 GitHub https://github.com/superlevin/DelphiXE3_SetStyle
3.自製風格.Tools→Bitmap Style Designer
預設的Style檔案位置在:C:\Users\Public\Documents\RAD Studio\10.0\Styles
[delphi]
uses Winapi.Windows;
procedure TMainForm.Button1Click(Sender: TObject);
var
ScreenHorizontal :integer;
ScreenVertical:integer;
begin
ScreenPixelX:= GetDeviceCaps(GetDC(Application.Handle),HORZRES); // Horizontal width in pixels
ScreenPixelY:= GetDeviceCaps(GetDC(Application.Handle),VERTRES); // Vertical height in pixels
// 取得螢幕解析度
ShowMessage(IntToStr(ScreenHorizontal)+’ X ‘+ IntToStr(ScreenVertical));
end;
[/delphi]
找遍了台灣的資料,對於POS收銀系統硬體相關的程式非常的少。
只好自己Try & Error一番,順便也將結果告訴一下大家囉~希望大家不要再為了它而浪費了不少時間。
很簡單的示範如何利用Delphi XE3及SPComm 元件來印出收據、切紙並打開錢櫃。
[sourcecode language=”delphi”]
procedure TForm2.Button1Click(Sender: TObject);
var
s:Ansistring;
begin
Comm1.CommName := ComboBox1.Text;
Try
Comm1.StartComm;
//初始化
s:= chr(27) + chr(64);
Comm1.WriteCommData(PAnsiChar(s),Length(s));
// 印出目前日期、時間並換行
s:= DateToStr(now)+’ ‘+TimeToStr(now)+ chr(10)+ chr(13) ;
Comm1.WriteCommData(PAnsiChar(s),Length(s));
s:= chr(27) + chr(100) + chr(2);
Comm1.WriteCommData(PAnsiChar(s),Length(s));
s:= chr(29) + chr(33) + chr(17) ;
Comm1.WriteCommData(PAnsiChar(s),Length(s));
s:= ‘Printer – Testing Success’+ chr(10);
Comm1.WriteCommData(PAnsiChar(s),Length(s));
s:= chr(29) + chr(33) + chr(0) ;
Comm1.WriteCommData(PAnsiChar(s),Length(s));
s:= chr(27) + chr(100) + chr(5);
Comm1.WriteCommData(PAnsiChar(s),Length(s));
// 切紙
s := Chr(29) + Chr(86) + Chr(0) ;
Comm1.WriteCommData(PAnsiChar(s),Length(s));
//打開錢櫃
s := chr(27) + chr(112) + chr(0) + chr(50) + chr(200) ;
Comm1.WriteCommData(PAnsiChar(s),Length(s));
Except
on E: Exception do Begin
ShowMessage(‘Open ComPort Error!’+#10#13+’Error MSG:’+E.Message);
End;
End;
end;
[/sourcecode]
Delphi 有記住打開過的專案的功能,在下一次開啟IDE時會顯示在Welcome Page中,那要如何清除呢?
可以設定~
.Number of Projects →記住幾個開過的專案(預設10個)
.Number of files→記住幾個開過的檔案(預設15個)
.Reopen Items就是顯示在Welcome Page的內容,可以點選後用Delete或直接Clear
HKEY_CURRENT_USER\Software\Embarcadero\BDS\10.0\Closed Projects
uses 加入 System.Win.Registry;
[delphi]
procedure TForm1.Button1Click(Sender: TObject);
var
iCount : Integer;
Reg : TRegistry;
sList : TStrings;
begin
sList := TStringList.Create;
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey(‘\Software\Embarcadero\BDS\10.0\Closed Projects’, True) then
Reg.GetValueNames(sList);
if sList.Count > 0 then begin
for iCount := 0 to Pred(sList.Count) do
Reg.DeleteValue(sList[icount]);
end else
MessageDlg(‘No registry items to be cleaned at this time.’,
mtInformation, [mbOk], 0);
finally
sList.Free;
Reg.Free;
end;
end;
[/delphi]
擁有非常深厚功力的啊嗚(蔣定宇),將他一系列「Web前端程式開發實務」的講議及資料無私的分享出來,目的是為了讓F2E(Front -End Engineer)的產業能更加成長。這真的是佛心來的,因為Joseph在Yahoo!期間就擔任多年的前端工程師,後期更是YDN的傳教士,協助推廣YUI。目前也是miiicasa的前端工程部門主管,所以對前端工程真的是有相當的專業在。推薦給各位!