文章內容 https://blog.jetbrains.com/kotlin/2017/05/kotlin-on-android-now-official/
Google 宣布Kotlin 這個新的語言成為andoid官方開發語言
分類: Android程式設計
WWDC 2017 開放註冊,Xcode 8.3及新版MacOS Sierra10.12.4也跟著發佈
今天開始
開放註冊,抽中的除了同一個TEAM外,就會自動扣款。
另外更新:
Xcode 8.3
macOS Sierra 10.12.4
iOS 10.3
watchOS 3.2
tvOS 10.2
macOS Server 5.3
Delphi 10 Berlin 在tabitem加上數字
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.TabControl, FMX.Controls.Presentation, FMX.Edit,
FMX.EditBox, FMX.SpinBox, FMX.StdCtrls, FMX.Layouts, FMX.ListBox,
FMX.NumberBox;
type
TForm16 = class(TForm)
TabItem1: TTabItem;
TabItem2: TTabItem;
BadgeItem: TTabItem;
SpinBox1: TSpinBox;
ToolBar1: TToolBar;
Switch1: TSwitch;
ListBox1: TListBox;
ListBoxItem1: TListBoxItem;
ToolLabel: TLabel;
TabControl1: TTabControl;
procedure BadgeItemPaint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF);
procedure SpinBox1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Switch1Switch(Sender: TObject);
procedure StepperUpClick(Sender: TObject);
private
FBadge: Integer;
FShowBadge: Boolean;
procedure SetBadge(const Value: Integer);
procedure SetShowBadge(const Value: Boolean);
{ Private declarations }
public
{ Public declarations }
property Badge: Integer read FBadge write SetBadge;
property ShowBadge: Boolean read FShowBadge write SetShowBadge;
end;
var
Form16: TForm16;
implementation
{$R *.fmx}
{$R *.iPhone55in.fmx IOS}
procedure DrawBadge(Canvas: TCanvas; const ARect: TRectF; const Text: string;
const Color: TAlphaColor = TAlphaColorRec.Red);
const
Padding = 2;
HorzTextMargin = 6;
VertTextMargin = 4;
var
R: TRectF;
TextSize: TSizeF;
Brush: TBrush;
BadgeRadius: Single;
begin
Canvas.Font.Size := 12;
// Measure text width
TextSize := TSizeF.Create(Canvas.TextWidth(Text), Canvas.TextHeight(Text));
// Calculate badge rect
R := TRectF.Create(0, 0, HorzTextMargin * 2 + TextSize.Width, VertTextMargin * 2 + TextSize.Height);
if R.Width < R.Height then
R.Width := R.Height;
// Position rect
R := TRectF.Create(ARect.Right – R.Width, ARect.Top, ARect.Right, ARect.Top + R.Height);
R.Offset(-Padding, Padding);
// Draw badge
BadgeRadius := R.Height / 2;
Brush := TBrush.Create(TBrushKind.Solid, Color);
try
Canvas.FillRect(R, BadgeRadius, BadgeRadius, AllCorners, 1, Brush);
finally
Brush.Free;
end;
// Draw text
Canvas.Fill.Color := TAlphaColorRec.White;
Canvas.FillText(R, Text, False, 1, [], TTextAlign.Center, TTextAlign.Center);
end;
procedure TForm16.BadgeItemPaint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF);
begin
if ShowBadge then
DrawBadge(Canvas, ARect, FBadge.ToString);
end;
procedure TForm16.FormCreate(Sender: TObject);
begin
FBadge := 1;
end;
procedure TForm16.SetBadge(const Value: Integer);
begin
if FBadge Value then
begin
FBadge := Value;
BadgeItem.Repaint;
end;
end;
procedure TForm16.SetShowBadge(const Value: Boolean);
begin
if FShowBadge Value then
begin
FShowBadge := Value;
BadgeItem.Repaint;
end;
end;
procedure TForm16.SpinBox1Change(Sender: TObject);
begin
Badge := Trunc(SpinBox1.Value);
end;
procedure TForm16.StepperUpClick(Sender: TObject);
begin
Badge := Trunc(SpinBox1.Value);
end;
procedure TForm16.Switch1Switch(Sender: TObject);
begin
ShowBadge := Switch1.IsChecked;
end;
end.
[/pascal]
原始資料:https://community.embarcadero.com/blogs?view=entry&id=9074
Delphi Berlin跨平台條件編譯(Conditional compilation)
Delphi Berlin可以在不同平台裝置上執行,那程式可以依不同平台裝置跑嗎?
答案是可行的~只要透過條件編譯就可以了 範例如下
{$IFDEF MSWINDOWS} LABEL1.Text := Label1.Text + '(電腦版)'; {$ENDIF} {$IFDEF ANDROID} LABEL1.Text := Label1.Text + '(安卓版)'; {$ENDIF} {$IFDEF OSX} LABEL1.Text := Label1.Text + '(MAC版)'; {$ENDIF} {$IFDEF IOS} LABEL1.Text := Label1.Text + '(IOS版)'; {$ENDIF}
Embarcadero免費REST除錯工具REST Debugger
REST Debugger這個工具是Embarcadero公司免費釋放給開發REST相關服務的工程師做為測試、除錯用的工具。例如我們想從Sonsterr這個網站取得吉他譜~
一、從Songsterr的API網址
https://www.songsterr.com/a/wa/api
從裡面知道http://www.songsterr.com/a/ra/ 後面帶songs.json即可
二、開啟REST Debugger
將http://www.songsterr.com/a/ra 填入url
進入Parameters頁籤,在Resource填入songs.json,接著按Add按鈕,填入Name pattern value:伍佰,然後按apply確認
最後按Send request按鈕取得內容即可
Learn how to Quickly Build and Deploy a complete REST/JSON based Enterprise Business Application – YouTube
Delphi 10 在Android、iOS取得內部IP方式
在寫應用程式時,常常需要知道機器的IP是什麼!答案相當簡單~只要拉出IdIPWatch這個元件
然後透過 IdIPWatch裡的LocalIP這個屬性就可以了!
相較於以前要透過Winsock來撰寫!一整個方便多了~更重要的是可以同時在Windows/Mac跟iOS/Android上面跑~
10個使用PAServer發佈至Windows的理由
我們知道PAServer可以協助我們發佈程式到MacOS或其他裝置,這篇文章是
Jim McKeeth告訴我們10個利用PAServer發佈至Windows的理由
來源: 10 Reasons to Use PAServer for Remote Windows Deployment
能取代parse服務的台灣MBaas平台-Lightspeed
Facebook收購國外著名的MBaaS(行動雲端平台)服務 Parse後,前幾天無預警的宣布一年後將關閉服務。也讓大家開始尋找新的MBaaS(行動雲端平台)服務,希望能為企業App加入推播、即時通訊、社交功能,來加速開發流程。
尋找解決方案中,看到台灣在2014年就有赫迅這家公司,提供了Lightspeed這個服務。包辦複雜的後端架構,而且提供推播、即時通訊以及社群互動功能加入app。
目前該服務已經服務的客戶有許多知名的公司及媒體如Sony、遠傳電信、蘋果日報、蘋果動新聞、壹週刊網、窮游、海底撈火鍋、ump聯動優勢、csdn、中國銀聯。
目前的申請方式需先至服務的申請頁面,然後填寫表單後核准。
核准後會收到一封裡面有beta code的邀請函,然後註冊後就可以試用。
相關聯結:
Lightspeed官方網站
sdk說明文件
試用申請
Lightspeed Admin Console
主控台