中午同事在問,能不能用
A*B/C 方程式會變化
A B C 的 變數 會輸入
怎麼做
從未想過用DELPHI做這個,以前是直接透過MATLAB很簡單就能用了
爬了文一下
http://www.cnblogs.com/dyz/archive/2010/03/09/1681713.html
參考這個的Mathon
中午同事在問,能不能用
A*B/C 方程式會變化
A B C 的 變數 會輸入
怎麼做
從未想過用DELPHI做這個,以前是直接透過MATLAB很簡單就能用了
爬了文一下
http://www.cnblogs.com/dyz/archive/2010/03/09/1681713.html
參考這個的Mathon
看到RURU分享的 ....
Rtti 紀錄 ENUM... 轉型 筆記一下
var
sAlign: string;
eAlign: TAlign;
begin
//Enum to string
sAlign := TRttiEnumerationType.GetName(Align);
EnlessHeight-無盡的頁面模式,如果為true,頁面將根據其上的數據記錄數量增長
Stretched-是否要拉伸
StretchMode-延伸模式-smActualHeight選擇這個
smDontStretch - 不拉伸對象(默認)
smActualHeight - 伸展對象,以便為整個文本騰出空間
smMaxHeight - 伸展物體,使其底部到達放置它的樂隊的底部 - 稍後我們將看這種模式
報表就會高度就會自己長大了
在Linpay整合的時候有遇到中文亂碼的問題
以下參考
HTTP := TIdHTTP.Create(nil);
HTTP.HandleRedirects := True;
LoadOpenSSLLibrary;
HTTP.Request.CustomHeaders.AddValue('X-LINE-ChannelId', PlatformID);
HTTP.Request.CustomHeaders.AddValue('X-LINE-ChannelSecret', MerchantID);
HTTP.Request.ContentType := 'application/json';
怕有人跟我一樣有這種詭異的迷思。不過我看網路上好像都沒有所以大概只有我卡下咯
其實在很早期版本會受到 parentFont 如果是True 會不能改字體&顏色
最新的版本也有 只是它放在 btn.StyledSettings 裡面了
自己建立按鈕,必須修改成
mBtn := TSpeedButton.Create(nil);
mSliptTime := Trunc(60 / mDiv) ;
mBtn.Text := mstr +':'+ format ('%0.2d', [(mSliptTime * (j-1))]);
mBtn.Align := TAlignLayout.Contents;
恩...ALLPAY的串接上面其實挺簡單的。就是在加密那塊很麻煩
主要是用HTTP POS的方式來實作,DELPHI中我們就直接用TIDHTTP即可完成
因為URL 是HTTPS的 所以必須再帶入SSL的兩個必須DLL
開發過程中遇到了幾個問題我以下列表 並附上程式 有興趣的可以參考看看
1. TIDHTTP ...在Windows8的版本
HTTP.ReadTimeout := 30
必須填入此值。不可用預設的0 在W7 W10 不會有錯 因為0在DELPHI 寫0會有一個預設TIMEOUT時間 (應該也是30秒吧) .....
好吧 也許是大家都沒再用W8 又或者是微軟都偷偷地幫大家升級到了W10
今天在使用INDY TIDHttp這個物件如果要串聯 WebService的時候
再有加入SSL HANDLER 的情況下就會莫名其妙地遇上TIMEOUT
這時候只需要將 TIdHTTP 的 ReadTimeout > 0 即可解決
在DELPHI 理論上-1 代表的就是 無限等待的意思 但是在Windows8 被誤判成 你只接收-1秒 才會有錯誤發生
以下代碼 供給參考
....TStringGrid DrawCell 事件
with Sender as TStringGrid do
以下
if not (gdFixed in State) then
begin
Canvas.Pen.Width := 1;
// Draw top line
if aRow > 1 then
begin
InflateRect(Rect, 1, 1);
小開今天問的問題,剛好爬文的時候有看到
留著作紀念,網路轉貼
{選擇排序}
procedure selectrank(var a:array of integer;maxtomin:boolean);
var i,j,t:integer;
begin
if maxtomin then //由大到小
begin
for i:=low(a) to high(a)-1 do
for j:=i+1 to high(a) do
if a[i]<a[j] then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
end
else //由小到大
begin
for i:=low(a) to high(a)-1 do
for j:=i+1 to high(a) do
if a[i]>a[j] then //关键区别是符号
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
end;
end;
{快速排序}
procedure speedrank(var a:array of integer;maxtomin:boolean);
var i,j,t:integer;
flag:boolean;
begin
if maxtomin then //由大到小
begin
i:=1;
repeat
flag:=true;
for j:=low(a) to high(a)-i do
if a[j]<a[j+1] then
begin
t:=a[j];
a[j]:=a[j+1];
a[j+1]:=t;
flag:=false;
end;
i:=i+1;
until flag;
end//end if
else //由小到大
begin
i:=1;
repeat
flag:=true;
for j:=low(a) to high(a)-i do
if a[j]>a[j+1] then
begin
t:=a[j];
a[j]:=a[j+1];
a[j+1]:=t;
flag:=false;
end;
i:=i+1;
until flag;
end;
end;
{氣泡排序法}
procedure bublerank(var a:array of integer;maxtomin:boolean);
var i,j,t:integer;
begin
if maxtomin then //由大到校排序
begin
for i:=low(a) to high(a)-1 do
for j:=low(a) to high(a)-i-1 do
if a[j]<a[j+1] then
begin
t:=a[j];
a[j]:=a[j+1];
a[j+1]:=t;
end;
end
else //由小到大排序
begin
for i:=low(a) to high(a)-1 do
for j:=low(a) to high(a)-i-1 do
if a[j]>a[j+1] then
begin
t:=a[j];
a[j]:=a[j+1];
a[j+1]:=t;
end;
end;
end;
FDMemTable 似乎是能取代 Tclientdataset 在
Savetofile 的速度較快 ...
type
FDConnection: TFDConnection;
FDQuery: TFDQuery;
FDGUIxWaitCursor: TFDGUIxWaitCursor;
FDMemTable: TFDMemTable;
FDStanStorageXMLLink1: TFDStanStorageXMLLink;
一些筆記心得。不一定正確可以參考
var
mstr : string ;
mPstr : PAnsiChar;
mLen : integer;
mAStr : Array[0..2048] of AnsiChar
begin
mstr:='This is Test '; //字串 廢話= =
IC卡
早期通路非常流行利用晶片卡記錄會員的資訊、以及會員的點數例如大苑子銷售的儲值卡。為了因應眾多客戶整合晶片卡的需求。而建立了晶片卡元件。
RS232與ESC/POS
POS周邊大部分都是串列傳輸(Serial)和並列傳輸(LPT),一般我們會稱呼為RS232、RS485主要是早期用來溝通硬體設備的語言,至今依舊是溝通硬體的主要方式。在POS中最常串接的發票機、熱感機、磅秤機、條碼掃描器、客戶顯示器都是利用RS232 或 LPT來達到溝通的動作。主要是透過WINDOW你要設備間互通S提供的API來操作
使用RS232一定要了解RS232的
鮑率(Baud Rate): 300, 1200, 2400, 9600, 19200, 115200 等bit/s
同位檢查(Parity Check): 奇同位(Odd)、偶同位(Even)、不減查同位(None)
資料位元(Data Bit) :5、6、7、8 bit/s。
停止位元(Stop Bit): 1 、 1.5 、 2 bit/s。
特別強調這四點的原因是因為。你要設備間互通。這四組一定要一致才會收的到正確的資訊。
台灣設備一般都是9600,n,8,1 or 9600,E,7,1
XE6 Firemonkey 裡的TabControl 可以將切頁按鈕設置一個圖示,但顯示的圖示皆為灰色,如下圖所示:
如果想要顯示彩色的圖示,則需要修改Style才能達到,以下以用「AndroidDiamond.style」示範:
轉 http://www.cnblogs.com/onechen/p/3741417.html
這些天在摸IC晶片卡,一直求助無門。發現了一份PDF檔內有詳細的敘述。
所有的卡種的Call法。以下列給大家看以免大家找無地方
其實在開啟這種IC晶片卡 健保卡上面都是透過 Windows圖工的api來使用即可。
uses的單元就是 Windows
const
WinSCardDLL = 'winscard.dll'; 透過這顆dll來執行system32底下就有。
雙螢幕的問題,如果不想讓自己的滑鼠跑到延伸螢幕內,可以在FROMCREATE的時候設定
var
xrect : TRect;
begin
xrect:=rect(0,0,1024,768);
clipcursor(@xrect)
end;
這樣就能把滑鼠綁在第一個螢幕內了。
在Delphi表示16進位
$FF <--數值(Integer)
#$FF<--字串(Char) = char($FF) <> Char(FF)
有加 $ 的是 16 進位, 沒加的是 10 進位, 例:
#13 與 #$13 兩者是代表不同的值
#13 等於 Char(13)
#$13 等於 #19 等於 Char($13) 等於 Char(19)
再用字型來說明的話就是
可以直接用 A 來表示
或用 Char($41) 或 Chr($41) 來表示(這兩個是 16 進位表示)
或用 Char(65) 或 Chr(65) 來表示(這兩個是 10 進位表示)
或用 #$41 或 #65 來表示(前者為 16 進位表示,後者為 10 進位表示)
VB 型態宣告
Public Declare Function Inp Lib "inpout32.dll" _
Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Public Declare Sub Out Lib "inpout32.dll" _
Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
對應delphi
function Inp(PortAddress:Integer):integer;
type
TInp = function(PortAddress:Integer):integer; stdcall;
var
1 . http://blog.csdn.net/busintel/article/details/5841632
這邊的說明非常的詳細,幾乎將原文全部翻成中文了。
Delphi的泛型 沒辦法支援運算U__U .....Why..............