[C#] 透過C# 執行javascript code 並且執行得到結果

2017年1月20日

之前有一個想法就是讓客戶去寫一點程式讓他去展現他要做的折價規則,像是滿千送百或是滿三千送五百之類的,如果要做畫面之後客戶想改規則都要花很多時間,不過這只是一個想法結果找一下網路上資料真的有做法而且程式不難。

Type scriptType = Type.GetTypeFromCLSID(Guid.Parse("0E59F1D5-1FBE-11D0-8FF2-00A0D10038BC"));

dynamic obj = Activator.CreateInstance(scriptType, false);
obj.Language = "javascript";

var res = obj.Eval("x=2999;  x=x-((Math.floor(x/1000))*100);");

Response.Write(res);

上面案例 我設定公式是  x=x-((Math.floor(x/1000))*100); 然後假設使用者消費是2999 滿千送百這樣經過公式算出來的結果是 2799 ,很方便吧。

這裡面我比較好奇的是 Type.GetTypeFromCLSID 到底是什麼? 上網看一下文件 "GetTypeFromCLSID 方法支援晚期繫結存取 unmanaged COM 物件從.NET Framework 應用程式時您知道 COM 物件的類別識別項 (CLSID)。 COM 類別的類別識別項被定義在登錄的 HKEY_CLASSES_ROOT\CLSID 索引鍵。 您可以擷取的值 IsCOMObject 屬性來判斷這個方法所傳回的型別是否為 COM 物件"


[C#] Serialize.Linq 簡單使用介紹

2017年1月5日

最近有一些特別的需求。我需要在A 端將一個LINQ 的表述式(Expression) 將他序列化之後變成文字或是byte[] 傳遞到B端,進行執行,這邊做一下簡單介紹也避免自己忘記。
A端(Namespace : TestEXPA ) :
1.透過Nuget 取得Serialize.Linq
Image 533


[IoT] Linkit7688 DUO 透過 firmata 來控制GPIO,LED

2016年11月25日

這篇主要是基於  https://iamblue.gitbooks.io/linkit-smart-nodejs/content/zh-TW/basic/firmata.html 還有官網的資料 https://labs.mediatek.com/site/zntw/developer_tools/mediatek_linkit_smart_7688/training_docs/linkit_smart_7688_duo/firmata_nodejs/index.gsp

所組成的,但是因為中間碰到許多雷,所以筆記一下讓後面碰地的人可以快一點,這邊先感謝 iamblue 大大的無私分享

1. 首先準備  LED 燈泡 負極插入 GND  正極插入 D13

2. 安裝好Arduino 軟體 並且將 https://gist.github.com/edgarsilva/e73c15a019396d6aaef2 這邊的code 部屬進入 Linkit 7688 duo MCU  裡面
image


[Trick][Andrid] 在Facebook or LINE 下面脫離In-App Browser 開啟內建的browser

先說好這 只有對Android 有用 !!   只有對Android 有用 !!   只有對Android 有用 !!  
因為LINE 跟 Facebook 傳遞網站時候它們會用In-App Browser 去打開 除非你有調整這地方
15182424_1238599252882142_677651704_o


[IoT] Linkit7688 DUO + Node.js + mraa 控制LED (GPIO)

2016年11月17日

用Linkit 7688 當然就是要舒爽的寫Javascript 來控制一些硬體,這篇主要是筆記一下透過mraa 來控制LED 開關,並且透過Node.js
15146641_1229743117101089_2000804149_o


[IoT] Linkit7688 上面安裝簡單的編輯器nano

2016年11月15日

15044910_1225934390815295_2143515085_o

因為都在上面寫Node.js ,都透過PUTTY 直接連線上去寫,因為在電腦上面寫好再裝上去也是可以但是也很麻煩,而且內建的vim我用不習慣,網路上看一下原來可以安裝nano 所以簡單紀錄一下每一次都忘記都要重新查詢一次
簡單指令:


當麻許的超技八 2014 | Design: no2don.