2017-06-22

ipad button style 顯示問題

style='-webkit-appearance: none;'

2017-02-13

delphi FireDAC 連線 MYSQL libmysql.dll libmysqld.dll copy

COPY
D:\wamp\bin\mysql\mysql5.5.24\lib\libmysql.dll
D:\wamp\bin\mysql\mysql5.5.24\lib\libmysqld.dll

TO
C:\Program Files (x86)\Embarcadero\Studio\18.0\bin

存取範例
procedure TForm1.Button1Click(Sender: TObject);
var
  filevar : TextFile;
  b,r : string;
  i, x: Integer;
  a: TStringList;
begin
  Memo1.Clear;
  Memo1.Lines.LoadFromFile('../../use.txt', TEncoding.UTF8);
  //if not UseTable.Active then UseTable.Active := true;
  Memo2.Clear;
  for i := 0 to Memo1.lines.count-1 do   //
  begin
    b :=  Memo1.Lines[i];
    a := TStringList.Create;
    a.StrictDelimiter := true;    // Delphi7 沒有這個屬性 :~(
    a.Delimiter := Chr(9);           // 指定TAB為分割字元
    a.DelimitedText := b;       // 要被分割的字串
    //UseTable.SQL.Clear;
    UseTable.SQL.Text := 'SELECT NO FROM temple.`use` where NO = '+a[0];
    UseTable.Open;
    if UseTable.FieldValues['NO']=null then
    begin
      UseTable.ExecSQL('insert into temple.`use`(NO,NAME,ADD1,TEL,MEM,POSYN,RG) values(:v0,:v1,:v4,:v7,:v17,:v18,:v23)', [a[0],a[1],a[4],a[7],a[17],a[18],a[23]]);
      Memo2.Lines.Add('Insert:'+a[0]+','+a[1]+','+a[4]+','+a[7]+','+a[17]+','+a[18]+','+a[23]);
    end else begin
      //UseTable.SQL.Clear;
      UseTable.ExecSQL('update temple.`use` set NAME=:v1,ADD1=:v4,TEL=:v7,MEM=:v17,POSYN=:v18,RG=:v23 where NO=:v0', [a[1],a[4],a[7],a[17],a[18],a[23],a[0]]);
      Memo2.Lines.Add('Update:'+a[0]+','+a[1]+','+a[4]+','+a[7]+','+a[17]+','+a[18]+','+a[23]);
    end;

//    for x:=0 to (a.Count-1) do
//    begin
//      Memo2.Lines.Add(x.ToString+'='+a[x]);
//    end;
  end;
end;

2017-05-28 執行檔 要移動到別台 需要 COPY 以下 這2個 設定檔 放到 同目錄
以下是 MySQL 連線設定檔案範例 在  FDConnectionDefs.ini 最下面
C:\Users\Public\Documents\Embarcadero\Studio\FireDAC\FDConnectionDefs.ini
[mysql]
Database=temple
User_Name=root
Password=xxxxxxxx
Server=127.0.0.1
CharacterSet=utf8
DriverID=MySQL

C:\Users\Public\Documents\Embarcadero\Studio\FireDAC\FDDrivers.ini



2016-02-02

swift 創建一個空字典

創建一個空字典

我們可以像陣列一樣使用建構語法創建一個空字典:
var namesOfIntegers = Dictionary<Int, String>()
// namesOfIntegers 是一個空的 Dictionary
這個範例創建了一個Int, String型別的空字典來儲存英語對整數的命名。它的鍵是Int型,值是String型。
namesOfIntegers[16] = "sixteen"

2015-11-26

IOS APP 設定中文名稱

在 SupportingFiles 按滑鼠右鍵 選擇 New File... 
 在 iOS 裡面的 Resource 選擇 Strings File
 檔名輸入 InfoPlist.strings
 輸入 CFBundleDisplayName = "APP名稱";
 執行後 APP就有中文名稱了

2015-10-26

php 除錯

error_reporting(E_ALL);
ini_set('display_errors', 'On');

2015-10-20

max os 連接網路芳鄰

在MAC OS按 Command + K
然後 輸入 smb://192.168.xx.xx 按連線即可

2015-10-01

IOS Apple Push Notification 更新 憑證 步驟

先 產生 Certificate Signing Request (CSR)
下圖 一般名稱 我有改為 myPush2015 因為每年都要做一次 很麻煩

到 APPLE 開發網站 選擇APP 然後按下圖 Edit 

舊的憑證2015-10/13快到期了 所以要重新申請一個憑證 下圖
按 Continue

按 Generate
按 Download
下載後 在 MAC 電腦 點滑鼠左鍵2下 執行
進入  keychain 匯出 Push Services key 為 .p12 的檔案
輸入 ios_push_cert_prod 按儲存後 輸入密碼

接下來 開啟終端機 輸入以下指令
cd ~/desktop
production指令範例:
openssl pkcs12 -clcerts -nokeys -out cert_production.pem -in ios_push_cert_prod.p12
openssl pkcs12 -nocerts -out key_production.pem -in ios_push_cert_prod.p12
openssl rsa -in key_production.pem -out key.unencrypted_production.pem
cat cert_production.pem key.unencrypted_production.pem > ck_production.pem

測試憑證:
telnet gateway.push.apple.com 2195
openssl s_client -connect gateway.push.apple.com:2195 -cert ck_production.pem -key ck_production.pem

看到下圖 代表憑證OK
將這個 ck_production.pem 這個檔案COPY到 推播主機 就可以使用推播了

另外 APP 記得要設定 
開啟App專案,點選Capabilities,打開Background Modes並勾選Remote notifications,如下圖所示