Embarcadero的Youtube頻道整理了RAD Studio XE6相關的影片
網址 https://www.youtube.com/playlist?list=PLwUPJvR9mZHixWJugJ6QlI0hCXDtT329j&feature=c4-feed-u
標籤: Delphi
Delphi使用SPComm沒辦法觸發ReceiveData
SPComm 在連線Com機器時,時候沒辦法觸發 ReceiveData,後來才知道StartComm後要留點時間給它喘氣(連線)。所以加上sleep~
[pascal]
var
s:Ansistring;
begin
RepCom.StartComm;
s := Chr(16) + Chr(4) + Chr(1) ;
sleep(50);
RepCom.WriteCommData(PAnsiChar(s),Length(s));
end;
[/pascal]
Delphi XE6(RAD Studio XE6)讓部落格流量增加?
自從XE4之後,發現自己的部落格有個很妙的現象!
只要遇到 Embarcadero有發表新的RAD STUDIO版本,
部落格的流量就會增加!
昨天 RAD STUDIO XE6發表後也是如此,呈現一柱擎天的現象~
不過老實說台灣關注 Delphi 或 RAD STUDIO的人數真的少很多
除了小弟之外,大概就是
自己也有在FB成立社群
歡迎大家多多聯繫囉!
Delphi執行時拖拉、改變元件大小
應要求在程式執行時還要可以拉拖、改變元件大家~
分享一個不錯的函數
[pascal]
procedure DragResizeControl(WinControl: TControl; Shift: TShiftState;X, Y, Precision: integer);
var
SC_MANIPULATE: Word;
begin
if (X<=Precision) and (Y>Precision) and (Y<WinControl.Height-Precision) then begin
SC_MANIPULATE := $F001;
WinControl.Cursor := crSizeWE;
end else if (X>=WinControl.Width-Precision)
and (Y>Precision) and (Y<WinControl.Height-Precision) then begin
SC_MANIPULATE := $F002;
WinControl.Cursor := crSizeWE;
end else if (X>Precision)
and (X<WinControl.Width-Precision) and (Y<=Precision) then begin
SC_MANIPULATE := $F003;
WinControl.Cursor := crSizeNS;
end else if (X>Precision)
and (X<WinControl.Width-Precision) and (Y>=WinControl.Height-Precision) then begin
SC_MANIPULATE := $F006;
WinControl.Cursor := crSizeNS;
end else if (X<=Precision) and (Y<=Precision) then begin
SC_MANIPULATE := $F004;
WinControl.Cursor := crSizeNWSE;
end else if (X>=WinControl.Width-Precision) and (Y<=Precision) then begin
SC_MANIPULATE := $F005;
WinControl.Cursor := crSizeNESW ;
end else if (X<=Precision) and (Y>=WinControl.Height-Precision) then begin
SC_MANIPULATE := $F007;
WinControl.Cursor := crSizeNESW;
end else if (X>=WinControl.Width-Precision) and (Y>=WinControl.Height-Precision) then begin
SC_MANIPULATE := $F008;
WinControl.Cursor := crSizeNWSE;
end else if (X>5) and (Y>5) and (X<WinControl.Width-5)
and (Y<WinControl.Height-5) then begin
SC_MANIPULATE := $F009;
WinControl.Cursor := crSizeAll;
end else begin
SC_MANIPULATE := $F000;
WinControl.Cursor := crDefault;
end;
if Shift=[ssLeft] then begin
ReleaseCapture;
WinControl.Perform(WM_SYSCOMMAND, SC_MANIPULATE, 0);
end;
end;
[/pascal]
如用方法很簡單,在元件的MouseMove裡加上
[pascal]
DragResizeControl((Sender as TWinControl),Shift,X,Y,10);
[/pascal]
FastReport 直接列印
FastReport 直接列印
[pascal]
frxreport1.LoadFromFile(‘報表檔案’);
frxreport1.Report.PrintOptions.Printer := ‘印表機名稱’;
// frxreport1.ShowReport(); //顯示報表
frxreport1.Report.PrintOptions.ShowDialog := false; // 不顯示對話框
frxreport1.Report.ShowProgress := False; // 不顯示列印進度
frxReport1.PrintOptions.Copies:=3; // 列印份數
frxreport1.Report.PrepareReport(true);
frxreport1.Print;
[/pascal]
RAD STUDIO XE6開放30天下載試用
RAD STUDIO XE6已在官方網站開放30天試用版了!
新增的功能在 What’s New裡邊有,哈哈~我只有比較注意的是In-app purchase跟In-app advertising,再來是支援Google Glass開發。
等有空下載來玩看看了!
Delphi XE5 仿Instagram 濾鏡功能for Android/iOS
隨著智慧型手機的普及,以及手機照相功能日益強大。除了最常用的Facebook、Twitter等社交App外,以照片為主的社交App Instagram 也是許多人所喜愛的服務之一。
那Delphi XE5可不可以做類似的App呢?答案是可以的!在XE5的FireMonkey就支援許多影像的濾鏡了,再加上自己的巧思以及相關的技巧後,還可以透過XE5能同時跨Android/iOS平台的特性,快速的開發出Instagram Like的App了。
範例程式下載 http://www.fmxexpress.com/wp-content/uploads/2014/04/InstagramFilters.7z
延伸閱讀:
- FireMonkey Image Effects
- Apply Over 60 Different Filter Effects With Delphi XE5 Firemonkey For Android And IOS
- Apply Delphi Firemonkey Filter Effects With Code
- Custom Filter Effect Image Shaders In Delphi Firemonkey For Android And IOS
- Save Effects To File With This Code Snippet For Delphi XE5 Firemonkey
- Speed Up Your Apps With Bitmap Caching In Delphi XE5 Firemonkey On Android And IOS
- Facial Detection Demo With Delphi XE5 Firemonkey For IOS
RAD Studio XE6 4月16日搶先看
4/16要Rad Studio Xe6要現身了,不知道跟Embarcadero之前的RoadMap是否一致。想到去年在盒子論壇看到對岸網友對XE6的猜想,大家還是對Embarcadero在文件上的完善程度不如MSDN頗有微詞。
報名網址: http://forms.embarcadero.com/RADXE6Webinar4-16?cid=701G0000000tP05
DELPHI infopower wwdbgrid動態新增欄位
假如要新增的欄位名稱為abc
[pascal]
WWDBGRID1.AddField(‘abc’);
WWDBGRID1.ColumnByName(‘abc’).DisplayLabel :=’抬頭名稱’;
WWDBGRID1.ColumnByName(‘abc’).DisplayWidth := 10; //寬度
[/pascal]
Delphi XE5讀出Android IMEI ID
首先要uses
[pascal]
uses
FMX.Platform.Android,
Androidapi.JNI.Telephony,
Androidapi.JNI.Provider ,
Androidapi.JNIBridge,
Androidapi.JNI.GraphicsContentViewText,
Androidapi.JNI.JavaTypes,
FMX.Helpers.Android;
[/pascal]
接著放上Button,在Click事件打上
[pascal]
var
obj: JObject;
tm: JTelephonyManager;
IMEI: String;
begin
obj := SharedActivityContext.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE);
if obj <> nil then
begin
tm := TJTelephonyManager.Wrap( (obj as ILocalObject).GetObjectID );
if tm <> nil then
IMEI := JStringToString(tm.getDeviceId);
end;
if IMEI = ” then
IMEI := JStringToString(TJSettings_Secure.JavaClass.getString( SharedActivity.getContentResolver, TJSettings_Secure.JavaClass.ANDROID_ID));
ShowMessage(‘IMEI :’ + #13 + IMEI);
[/pascal]