Eclipse出現adt錯誤訊息

打開Eclipse出現以下訊息~

The Android SDK requires Android Developer Toolkit version 21.1.0 or above.
Current version is 21.0.1.2012-12-6-2-58.
Please update ADT to the latest version.

接著還出現 ”installing software has encountered a problem”

解決方式:

Window → Preferences →  Install/Update → Available Software Sites

點選 adt 按 edit

將http://dl-ssl.google.com/android/eclipse/

改成 https://dl-ssl.google.com/android/eclipse/

【Delphi XE3】編譯成Mac OS可執行程式 – 程式範例

上一篇文章中,筆者教大家如何在Mac系統中配置PAServer了,接下來要教大家如何設計可以同時執行在Windows及Mac OS的程式。

一、File→New選取FireMonkey Desktop Application

Fire Desktop Application

二、接下來選擇一般的HD FireMonkey Application

Select a firemonkey application type

三、新增專案後,在專案的Target Platform按右鍵,選擇Add Platform

add platform

四、接著選擇OS X後按ok

Select a Platform

五、接著在OS X按右鍵 Assign Remote Profile 設置OS X的編譯環境

Assign Remote Profile

六、Profile name填上你要的名字

Profile Information

七、Host name填上你在上一篇文章設置的MAC OS主機位置,password則設置上篇文章所設定的密碼。

Host Machine Information

 

八、按 Test Connection測試是否可以連得上(記得要執行paserver)

Test Connection

九、如果順利的話,按下Finish就大功告成!

Create Remote Profile

 

九、接著點選剛才建立的Platform名稱按OK!

Select Remote Profile

十一、如果設定沒錯的話,在XE3按下執行後,程式就會直接執行在Mac OS的畫面上囉!

Test Form

【Delphi XE3】編譯成Mac OS可執行程式 – 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]計算二點間距離

[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]

[Delphi XE3]輕鬆更改程式外觀

以前在撰寫程式時,最討厭的就是醜醜的外觀,如果不是自己畫,就是得找第三方元件(像BusinessSkinForm)來解決。
自從Delphi XE2就開始有的功能,跟大家分享一下如何讓程式看起來不再這麼醜。
1.靜態更改

.Project→Options開啟Project Options選項,在Application→Appearance的Custom Styles就是可以更改介面的選項

Delphi_XE3_Appearance1

.如果不清楚長什麼樣子時,可以點選任一名稱反白後,再點旁邊的Preview就可以預覽

Style

.勾選要變成的Style後,再到Default Style下拉你要的Style按OK即可。Default_Style

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]

Demo

範例程式下載 GitHub https://github.com/superlevin/DelphiXE3_SetStyle

3.自製風格.Tools→Bitmap Style Designer
bitmap_style_designer
預設的Style檔案位置在:C:\Users\Public\Documents\RAD Studio\10.0\Styles

[Delphi XE3] 取得螢幕解析度

[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]

[Delphi XE3]ESC/POS範例

找遍了台灣的資料,對於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 XE3]如何清除Welcome Page中的Recently Opened Projects

Delphi 有記住打開過的專案的功能,在下一次開啟IDE時會顯示在Welcome Page中,那要如何清除呢?

1.File→Reopen→Properties

可以設定~

.Number of Projects →記住幾個開過的專案(預設10個)

.Number of files→記住幾個開過的檔案(預設15個)

.Reopen Items就是顯示在Welcome Page的內容,可以點選後用Delete或直接Clear

2.進入登錄編輯程式刪除

HKEY_CURRENT_USER\Software\Embarcadero\BDS\10.0\Closed Projects

3.寫程式刪除

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的前端工程部門主管,所以對前端工程真的是有相當的專業在。推薦給各位!

網站: http://f2eclass.com/
投影片: http://www.slideshare.net/josephj/presentations
原始碼 : https://github.com/josephj/f2e-class/tree/master/slide