Delphi 四捨五入含小數位數作法

要先 use System.Math; 然後記得輸入的是extended,如果是double的話,小數位數就會有誤差
// MyRound 四捨五入
// input
// amt 金額
// iprecision 小數位數(預設0)
// ouput
// string 文字
Function MyRound(amt:extended ;iPrecision:Integer=0):String;
var
S:String;
i1:Integer;
Begin
S:= ”;
i1:= iPrecision * -1;
S:= FloatToStr(SimpleRoundTo(Amt,i1));
result := s;
End;

delphi 各版本編譯器判斷

Delphi conditional VER<nnn> Product Product Version Package Version
VER300 Delphi Seattle / C++Builder Seattle
(Delphi:Win32/Win64/OSX/iOS32/iOS64/Android) (C++Builder:Win32/Win64/OSX/iOS32/iOS64/Android)
23 230
VER290 Delphi XE8 / C++Builder XE8
(Delphi:Win32/Win64/OSX/iOS32/iOS64/Android) (C++Builder:Win32/Win64/OSX/iOS32/iOS64/Android)
22 220
VER280 Delphi XE7 / C++Builder XE7
(Delphi:Win32/Win64/OSX/iOS/Android) (C++Builder:Win32/Win64/OSX/iOS/Android)
21 210
VER270 Delphi XE6 / C++Builder XE6
(Delphi:Win32/Win64/OSX/iOS/Android) (C++Builder:Win32/Win64/OSX/iOS/Android)
20 200
VER260 Delphi XE5 / C++Builder XE5
(Delphi:Win32/Win64/OSX/iOS/Android) (C++Builder:Win32/Win64/OSX/iOS)
19 190
VER250 Delphi XE4 / C++Builder XE4
(Delphi:Win32/Win64/OSX/iOS) (C++Builder:Win32/Win64/OSX)
18 180
VER240 Delphi XE3 / C++Builder XE3
(Delphi:Win32/Win64/OSX) (C++Builder:Win32/Win64/OSX)
17 170
VER230 Delphi XE2 / C++Builder XE2
(Delphi:Win32/Win64/OSX) (C++Builder:Win32/OSX)
16 160

161 is the version for the five FireMonkey packages at XE2 Update 2:
fmi161.bpl, fmx161.bpl, fmxase161.bpl, fmxdae161.bpl, and fmxobj161.bpl.

VER220 Delphi XE / C++Builder XE (Win32) 15 150
VER210 Delphi 2010 / C++Builder 2010 (Win32) 14 140
VER200 Delphi 2009 / C++Builder 2009 (Win32) 12 120
VER190 Delphi 2007 for .Net * 11 110
VER180 or VER185 Delphi 2007 / C++Builder 2007 for Win32 * 11 110
VER180 Delphi 2006 / C++Builder 2006 (Win32/.Net) and Delphi/C++Builder 2007 for Win32 10 100
VER170 Delphi 2005 (Win32/.Net) 9 90
VER160 Delphi 8 for .Net 8 80
VER150 Delphi 7 (and 7.1) 7 70
VER140 Delphi 6 / C++Builder 6 6 60
VER130 Delphi 5 / C++Builder 5 5 NA
VER125 C++Builder 4 4 NA
VER120 Delphi 4 4 NA
VER110 C++Builder 3 3 NA
VER100 Delphi 3 3 NA
VER93 C++Builder 1 NA NA
VER90 Delphi 2 2 NA
VER80 Delphi 1 1 NA
VER70 Borland Pascal 7.0 NA NA
VER15 Turbo Pascal for Windows 1.5 NA NA
VER10 Turbo Pascal for Windows 1.0 NA NA
VER60 Turbo Pascal 6.0 NA NA
VER55 Turbo Pascal 5.5 NA NA
VER50 Turbo Pascal 5.0 NA NA
VER40 Turbo Pascal 4.0 NA NA

Delphi FireMonkey在Android/OSX/Win如何支援com port

以前在VCL架構時,有許多支援comport開發的元件,那在firemonkey下呢?
整理了一些for android/os x以及win下的元件

Check out ComPort for VCL in Delphi 10 Berlin.

Check out ComPort for Android with Firemonkey in Delphi 10 Berlin.

Check out ComPort for Android FTDI FT31xD with Firemonkey in Delphi 10 Berlin.

Check Out ComPort for Android Prolific with Firemonkey in Delphi 10 Berlin.

Check Out ComPort for Android USB with Firemonkey in Delphi 10 Berlin.

Check out ComPort for Android USB Serial with Firemonkey in Delphi 10 Berlin.

Check out ComPort for FireMonkey on Windows in Delphi 10 Berlin.

Check out ComPort for OS X in Firemonkey for Delphi 10 Berlin.

 

source: http://community.embarcadero.com/blogs?view=entry&id=8724

Delphi教學研習營 五天學會Delphi

1472087199830
2016年9月5日 – 2016年9月9日

使用Delphi跨平台FMX架構讓您在一個星期內學會Delphi語言基礎程式開發
歡迎您報名參加程式設計高手Marco Cantu, David I及Jim McKeeth總共五場精彩的線上教學課程(2016年9月5日起)完成所有課程者還可免費獲得專屬於您的 Delphi Starter 授權軟體
第一天 – Delphi程式語言引言: 使用IDE來設計您的第一個應用程式
第二天 – 開始了解Delphi程式語言
第三天 – 如何使用FireMonkey建立有效的使用者介面
第四天 – 使用Delphi開發遊戲軟體
第五天 – 如何開發行動裝置及資料庫應用程式

本課程一天兩個時段播出
第一個時段 重複播放時段
PDT (San Francisco) 06:00 – 08:00 11:00 – 13:00
EDT (New York) 09:00 – 11:00 14:00 – 16:00
BST (London) 14:00 – 16:00 19:00 – 21:00
CEST (Berlin) 15:00 – 17:00 20:00 – 22:00
JST (Tokyo) 22.00 – 00.00 03:00 – 05:00 (next morning)
AEST (Sydney) 23.00 – 01.00 04:00 – 06:00 (next morning)

報名網址

Delphi 搭配 CodeIgniter上傳檔案

php端

[php]
$str_no = $this->input->post(‘strid’);
$filename1 = $this->input->post(‘filename’);
$config[‘upload_path’] = ‘./uploads/’;
$new_name = $str_no.’-‘.$filename1;
$config[‘file_name’] = $new_name;
$config[‘allowed_types’] = ‘*’;
$config[‘max_size’] = ‘1000000000’;

$this->load->library(‘upload’,$config);

if ( ! $this->upload->do_upload(‘myfile’))
{
$error = array(‘error’ => $this->upload->display_errors());

}
else{
$data = array(‘upload_data’ => $this->upload->data());
print_r($data);
}
[php]

Delphi

use IdMultipartFormData
var
PostData: TIdMultipartFormDataStream;
begin
PostData := TIdMultipartFormDataStream.Create;
try
PostData.AddFile(‘myfile’, Self.GetApplicationPath + ‘\file.ini’);
PostData.AddFormField(‘strid’,’999′);
PostData.AddFormField(‘filename’,’file.ini’);

idhttp1.Post(‘http://xxxx/Home/upload/’, PostData)
finally
PostData.Free;
end;

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}