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)

報名網址

CodeIgniter PHP 產生 Sitemap

網站建立了Sitemap.xml文件能夠快速地被Google、Bing等收錄且有利於搜尋的檔案。
CodeIgniter產生的方式:
controller
[php]
Class Seo extends CI_Controller {

function sitemap()
{

$data = "";//網站的url
header("Content-Type: text/xml;charset=iso-8859-1");
$this->load->view("sitemap",$data);
}
}
[/php]
views
[php]
<?= ‘<?xml version="1.0" encoding="UTF-8" ?>’ ?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc><?= base_url();?></loc>
<priority>1.0</priority>
</url>

<!– My code is looking quite different, but the principle is similar –>
<?php foreach($data as $url) { ?>
<url>
<loc><?= base_url().$url ?></loc>
<priority>0.5</priority>
</url>
<?php } ?>

</urlset>
[/php]
config/routes.php

$route[‘seo/sitemap\.xml’] = “seo/sitemap”;

遠振主機 – 如何透過cPanel將子網域轉到其他主機

一直是遠振主機 的愛好者!看到最近有半價拍賣專用貼圖主機,於是申請了600元/年的方案。

1472009789861

因為要做網站的圖床用的,所以也要將assets.xxxx.com.tw,所以原來的xxx.com.tw也要設定dns, 作法很簡單,新增一筆 A record。
1472010079952

CodeIgniter php上傳後FTP至另一台主機

二台主機都是使用 遠振主機
system/libraries/upload.php
[php]
$cmd = function_exists(‘escapeshellarg’)
? ‘file –brief –mime ‘.@escapeshellarg($file[‘tmp_name’]).’ 2>&1′
: ‘file –brief –mime ‘.$file[‘tmp_name’].’ 2>&1′;
[/php]

view.php
[php]
<form method="post" enctype="multipart/form-data">
<label>選擇檔案</label>
<input type="file" name="file" />
<input type="submit" name="submit" value="上傳">
</form>
[/php]

controller.php
[php]
if($this->input->post(‘submit’)){
//上傳到本機
$config[‘upload_path’] = @’./uploads/’;
$config[‘allowed_types’] = ‘jpg’;
$this->load->library(‘upload’, $config);

if($this->upload->do_upload(‘file’))
{
// 上傳檔案
$upload_data = $this->upload->data();
$fileName = $upload_data[‘file_name’];

// 本機檔案位置
$source = @’./uploads/’.$fileName;

// 載入ftp函式庫
$this->load->library(‘ftp’);

// ftp參數
$ftp_config[‘hostname’] = ‘xxxx’;
$ftp_config[‘username’] = ‘xxxx’;
$ftp_config[‘password’] = ‘xxxx’;
$ftp_config[‘debug’] = TRUE;

// 連線ftp
$this->ftp->connect($ftp_config);

// ftp檔案位置
$destination = ‘/public_html/assets/’.$fileName;

// 上傳ftp
$this->ftp->upload($source, ".".$destination,"auto",0777);

// 關閉ftp
$this->ftp->close();

// 刪除本機資料
@unlink($source);
}
}
[/php]

SQL – 取得超過十分鐘欄位未更新

select DateDiff(n,欄位,GetDate()) AS DELAYTIME,* from 表格 where DateDiff(n,欄位,GetDate())>10 ORDER BY DELAYTIME

語法:

DATEDIFF ( datepart , startdate , enddate )
datepart 縮寫
year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
hour hh
minute mi, n
second ss, s
millisecond ms
microsecond mcs
nanosecond ns

startdate

 

參考:
https://msdn.microsoft.com/zh-tw/library/ms189794.aspx

PHP 透過 Google Map Geocode取得地址的經緯度

[php]
$address = $_GET["address"];
$url = "http://maps.google.com/maps/api/geocode/json?address=$address&sensor=false";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXYPORT, 3128);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);
curl_close($ch);
$response_a = json_decode($response);
echo "您的地址:".$address."<br/>";
echo "所在的經度(latitude):".$lat = $response_a->results[0]->geometry->location->lat;
echo "<br />";
echo "所在的緯度(longitude):".$long = $response_a->results[0]->geometry->location->lng;
[/php]

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;

FastReport新版測試

[C#]
DataSet FDataSet;
// 建立資料集
FDataSet = new DataSet();
DataTable table = new DataTable();
table.TableName = “Employees”;
FDataSet.Tables.Add(table);
table.Columns.Add(“ID”, typeof(int));
table.Columns.Add(“Name”, typeof(string));
table.Rows.Add(1, “Andrew Fuller”);
table.Rows.Add(2, “Nancy Davolio”);
table.Rows.Add(3, “Margaret Peacock”);
// 建立報表
Report report = new Report();
// 載入報表
report.Load(@”..\..\report.frx”);

// 註冊資料集
report.RegisterData(FDataSet);
report.GetDataSource(“Employees”).Enabled = true;
// 1 進入設計模式
 report.Design();
// 2 顯示報表
report.Show();
// 3 匯出成pdf
report.Prepare();
PDFExport export = new PDFExport();
report.Export(export, “result.pdf”);

report.Dispose();

[/c#]