Windows API
UNC 網路磁碟機 或 網路資料夾
今天的教學不使用 net command 指令
教程課程:
Netapi32.dll
其中三種 函式
1.NetUserAdd([MarshalAs(UnmanagedType.LPWStr)] string servername, int level, ref USER_INFO_? buf, int parm_err)
說明:新增一個連線資訊
參數說明:
servername:DNS or NetBIOS name名稱,如果沒有用可以設 null
level:參數有4種 (1.2.3.4 分別USER_INFO_1 - USER_INFO_2 )就是指資料型態是哪種
buf:回傳 USER_INFO_?
parm_err:用於 NetUserSetInfo ,如果沒用可以設 null
2.NetUserDel([MarshalAs(UnmanagedType.LPWStr)] string servername,[MarshalAs(UnmanagedType.LPWStr)] string username);
說明:刪除現有連線資訊
3.NetUserGetInfo([MarshalAs(UnmanagedType.LPWStr)] string servername,[MarshalAs(UnmanagedType.LPWStr)] string username,int level,out IntPtr bufptr);
說明:查詢現有連結資訊,等同反相得到資料
servername:可以null
username:權限帳號
level:同 NetUserAdd
out bufptr:IntPtr 指標 會收到(結果) -->Marshal.PtrToStructure(bufPtr, typeof(USER_INFO_?))
Marshal:Marshal.PtrToStructure從 Unmanaged 記憶體區塊封送處理資料到新配置的指定類型的 Managed 物件。
USER_INFO_2 (level 資料型態:2)其它1.3.4 都大同小異
MSDN 網址:https://msdn.microsoft.com/zh-tw/library/windows/desktop/aa371337(v=vs.85).aspx
參數:
LPWSTR usri2_name;
LPWSTR usri2_password; --->密碼
DWORD usri2_password_age;
DWORD usri2_priv;
LPWSTR usri2_home_dir;
LPWSTR usri2_comment;
DWORD usri2_flags;
LPWSTR usri2_script_path;
DWORD usri2_auth_flags;
LPWSTR usri2_full_name;
LPWSTR usri2_usr_comment;
LPWSTR usri2_parms;
LPWSTR usri2_workstations;
DWORD usri2_last_logon;
DWORD usri2_last_logoff;
DWORD usri2_acct_expires;
DWORD usri2_max_storage;
DWORD usri2_units_per_week;
PBYTE usri2_logon_hours;
DWORD usri2_bad_pw_count;
DWORD usri2_num_logons;
LPWSTR usri2_logon_server;
DWORD usri2_country_code;
DWORD usri2_code_page;
Msdn C++ 說明及範例:
網址:https://msdn.microsoft.com/zh-tw/library/windows/desktop/aa370654(v=vs.85).aspx
其它網站說明:
NetUserAdd
網址:http://www.pinvoke.net/default.aspx/netapi32/NetUserAdd.html
網址:http://www.securitypronews.com/using-the-network-functions-in-c-part-i-user-functions-2003-06
其它中文網址:http://www.cnblogs.com/tonyqus/archive/2004/12/26/82120.aspx
其它範例 網址:http://www.securitypronews.com/using-the-network-functions-in-c-part-i-user-functions-2003-06
NetUserGetInfo
其它範例 網址:http://www.pinvoke.net/default.aspx/netapi32/NetUserGetInfo.html
Marshal
MSDN網址:https://msdn.microsoft.com/zh-tw/library/system.runtime.interopservices.marshal(v=vs.110).aspx
Marshal.PtrToStructure
MSDN 網址:https://msdn.microsoft.com/zh-tw/library/4ca6d5z7(v=vs.110).aspx
2017年6月19日 星期一
2017年6月17日 星期六
【早餐】新莊 夯 碳烤吐司 行動餐車 中華路一段
新莊 夯 碳烤土司 行動餐車
店名「夯」
它是一台發財車..
超屌的,因為晚點去你就沒東西可以買了
不到中午就收攤了...因為太美味了!
餐車沒有位置,可以帶到旁邊的新莊公國吃...
風景好、空氣好.吃飽還可以散步
星期日不開店...大家就別跑了
地址: 新莊 中華路 一段182號 就在 (貴族世家新莊體育館店 旁)
官方臉書:https://www.facebook.com/alltheragesalty/
地圖如下:
店名「夯」
它是一台發財車..
超屌的,因為晚點去你就沒東西可以買了
不到中午就收攤了...因為太美味了!
餐車沒有位置,可以帶到旁邊的新莊公國吃...
風景好、空氣好.吃飽還可以散步
星期日不開店...大家就別跑了
地址: 新莊 中華路 一段182號 就在 (貴族世家新莊體育館店 旁)
官方臉書:https://www.facebook.com/alltheragesalty/
地圖如下:
獨家拍照
好吃到 孕婦都來買 |
泡菜燒肉 |
2017年6月12日 星期一
【Linux】編譯 c 語言 利用 gcc 指令來做
linux 上 編譯 c 語言 利用 gcc 指令來做
$ gcc -c helloworld.c
產出export ---> helloworld.o
$ gcc -o hello helloworld.o
產出export ---> hello
執行:
/hello
$ gcc -c helloworld.c
產出export ---> helloworld.o
$ gcc -o hello helloworld.o
產出export ---> hello
執行:
/hello
顯示:Hello World!!
廠商不教不會用的人,意思就是不教...
只好自己學
2017年6月9日 星期五
【API分享】利用 API YAHOO YQL GOOGLE API YQL 爬資料 2017-06-08
YQL select from html ( html table is no longer supported )
2017-06-08
說明:已不提供支援
可以改抓 select from htmlpost (you use htmlpost )
使用post ,但結果(RESULT) 會多一層 postresult
自己在 call function 在調整
官網:https://developer.yahoo.com/yql/console/?q=select%20*%20from%20csv%20where%20url%3D%27http%3A%2F%2Fsamplecsvs.s3.amazonaws.com%2FSacramentorealestatetransactions.csv%27%0A%20%20%20%20%20%20and%20columns%3D%27street%2Ccity%2Czip%2Cstate%2Cbeds%2Cbaths%2Csq__ft%2Ctype%2Csale_date%2Cprice%2Clatitude%2Clongitude%27&env=store://datatables.org/alltableswithkeys#
【YQL API - From 來源】
股票
yahoo.finance.quotes
天氣
weather.forecast
任何網址
url
說明:https://developer.yahoo.com/weather/
說明:http://www.jianshu.com/p/7ce4b21810e5?nomobile=yes
歷史查詢
yahoo.finance.historicaldata
說明:http://www.itkeyword.com/doc/7472183801132171674/how-to-access-yahoo-finance-yql-query-with-historical-data
新聞
search.news
說明:http://www.jianshu.com/p/b947ecf6cd05
------------------------------------------------------
https://query.yahooapis.com/v1/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22USDHKD%22%2C%20%22USDJPY%22%2C%20%22USDTWD%22)&format=json&diagnostics=true&callback=
XML 美金、香港、日本、台幣
http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.xchange where pair in ("HKDTWD", "JPYTWD", "USDTWD")&format=json&env=store://datatables.org/alltableswithkeys
JSON 美金、香港、日本、台幣
http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.xchange where pair in ("HKDTWD", "JPYTWD", "USDTWD")&format=json&env=store://datatables.org/alltableswithkeys
查詢港股
http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.quotes where symbol in ("2002.HK")&format=json&env=store://datatables.org/alltableswithkeys
查詢台股
http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.quotes where symbol in ("2002.HK")&format=json&env=store://datatables.org/alltableswithkeys
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22HKDTWD%22,%20%22JPYTWD%22,%20%22USDTWD%22)&format=json&env=store://datatables.org/alltableswithkeys
Google API JSON 匯率
來源網址 http://sya.idv.tw/archives/1131
https://www.google.com/finance/info?q=CURRENCY:TWDJPY,TWDUSD
https://www.google.com/finance/info?q=CURRENCY:TWDUSD
https://www.google.com/finance/info?q=CURRENCY:USDTWD
要顯示多筆可以逗號分開
//取2002即時股價 JSON
http://finance.google.com/finance/info?client=ig&q=TAIEX:2002
http://finance.google.com/finance/info?client=ig&q=TAIEX:2002,1101
//香港 2002 股價 JSON
http://finance.google.com/finance/info?client=ig&q=HKG:2002
//美國 蘋果股 JSON
http://finance.google.com/finance/info?client=ig&q=AAPL,YHOO
來源網址:
http://lovecoding.logdown.com/posts/257928-use-yahoo-api-to-obtain-historical-stock-price-data
http://blog.asper.tw/2015/05/json.html
http://asper-bot-rates.appspot.com/currency.json
https://tw.rter.info/capi.php
https://www.google.com/finance/getprices?q=2002&x=TPE&i=86400&p=3d&f=d,c,h,l,o,v
yahoo api CSV 檔案
http://download.finance.yahoo.com/d/quotes.csv?s=AUDUSD=X&f=nl1d1t1
http://download.finance.yahoo.com/d/quotes.csv?s=USDTWD=x,TWDJPY=x&f=nl1d1t1
UI
https://finance.yahoo.com/quote/2002.TW/history?ltr=1
http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml
UI
https://www.google.com/finance/converter?a=1&from=TWD&to=JPY
UI
https://www.google.com/finance?q=JPYUSD
來源網址:http://myskilltree.blogspot.tw/2016/03/yahoo-api.html
http://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json
XML
https://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote
https://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json
//yahoo API 說明
http://wiki.dreamrunner.org/public_html/Misc/Trade/FinanceAPI.html
http://wern-ancheta.com/blog/2015/04/05/getting-started-with-the-yahoo-finance-api/
https://query.yahooapis.com/v1/public/yql?q=use%20%22http%3A%2F%2Fyqlblog.net%2Fsamples%2Fhelloworld.xml%22%3Bselect%20*%20from%20helloworld%20where%20a%3D%22cat%22%20and%20b%3D%22dog%22%3B%0A&diagnostics=true
https://blog.ccjeng.com/2016/03/Yahoo-Finance-API.html
來源網址:
https://sya.idv.tw/archives/1131
https://query.yahooapis.com/v1/public/yql?q=select * from html where url='http://en.wikipedia.org/wiki/Yahoo' and xpath='//table/*[contains(.,"Founder")]//a'
select * from html where url='http://en.wikipedia.org/wiki/Yahoo' and xpath='//table/*[contains(.,"Founder")]//a'
https://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.quotes where symbol in ('2628.HK')&format=json&diagnostics=true
function getData() {
var url = 'http://query.yahooapis.com/v1/public/yql';
var symbol = $("#symbol").val();
var data = encodeURIComponent("select * from yahoo.finance.quotes where symbol in ('" + symbol + "')");
$.getJSON(url, 'q=' + data + "&format=json&diagnostics=true&env=http://datatables.org/alltables.env")
.done(function (data) {
$('#result').text("Price: " + data.query.results.quote.LastTradePriceOnly);
})
.fail(function (jqxhr, textStatus, error) {
var err = textStatus + ", " + error;
console.log('Request failed: ' + err);
});
}
http://www.itkeyword.com/doc/3970460632658567818/localhost-jsonp-ajax
2017-06-08
說明:已不提供支援
可以改抓 select from htmlpost (you use htmlpost )
使用post ,但結果(RESULT) 會多一層 postresult
自己在 call function 在調整
change use htmlpost |
官網:https://developer.yahoo.com/yql/console/?q=select%20*%20from%20csv%20where%20url%3D%27http%3A%2F%2Fsamplecsvs.s3.amazonaws.com%2FSacramentorealestatetransactions.csv%27%0A%20%20%20%20%20%20and%20columns%3D%27street%2Ccity%2Czip%2Cstate%2Cbeds%2Cbaths%2Csq__ft%2Ctype%2Csale_date%2Cprice%2Clatitude%2Clongitude%27&env=store://datatables.org/alltableswithkeys#
【YQL API - From 來源】
股票
yahoo.finance.quotes
天氣
weather.forecast
任何網址
url
說明:https://developer.yahoo.com/weather/
說明:http://www.jianshu.com/p/7ce4b21810e5?nomobile=yes
歷史查詢
yahoo.finance.historicaldata
說明:http://www.itkeyword.com/doc/7472183801132171674/how-to-access-yahoo-finance-yql-query-with-historical-data
新聞
search.news
說明:http://www.jianshu.com/p/b947ecf6cd05
------------------------------------------------------
https://query.yahooapis.com/v1/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22USDHKD%22%2C%20%22USDJPY%22%2C%20%22USDTWD%22)&format=json&diagnostics=true&callback=
XML 美金、香港、日本、台幣
http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.xchange where pair in ("HKDTWD", "JPYTWD", "USDTWD")&format=json&env=store://datatables.org/alltableswithkeys
JSON 美金、香港、日本、台幣
http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.xchange where pair in ("HKDTWD", "JPYTWD", "USDTWD")&format=json&env=store://datatables.org/alltableswithkeys
查詢港股
http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.quotes where symbol in ("2002.HK")&format=json&env=store://datatables.org/alltableswithkeys
查詢台股
http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.quotes where symbol in ("2002.HK")&format=json&env=store://datatables.org/alltableswithkeys
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22HKDTWD%22,%20%22JPYTWD%22,%20%22USDTWD%22)&format=json&env=store://datatables.org/alltableswithkeys
Google API JSON 匯率
來源網址 http://sya.idv.tw/archives/1131
https://www.google.com/finance/info?q=CURRENCY:TWDJPY,TWDUSD
https://www.google.com/finance/info?q=CURRENCY:TWDUSD
https://www.google.com/finance/info?q=CURRENCY:USDTWD
要顯示多筆可以逗號分開
//取2002即時股價 JSON
http://finance.google.com/finance/info?client=ig&q=TAIEX:2002
http://finance.google.com/finance/info?client=ig&q=TAIEX:2002,1101
//香港 2002 股價 JSON
http://finance.google.com/finance/info?client=ig&q=HKG:2002
//美國 蘋果股 JSON
http://finance.google.com/finance/info?client=ig&q=AAPL,YHOO
來源網址:
http://lovecoding.logdown.com/posts/257928-use-yahoo-api-to-obtain-historical-stock-price-data
http://blog.asper.tw/2015/05/json.html
http://asper-bot-rates.appspot.com/currency.json
https://tw.rter.info/capi.php
https://www.google.com/finance/getprices?q=2002&x=TPE&i=86400&p=3d&f=d,c,h,l,o,v
yahoo api CSV 檔案
http://download.finance.yahoo.com/d/quotes.csv?s=AUDUSD=X&f=nl1d1t1
http://download.finance.yahoo.com/d/quotes.csv?s=USDTWD=x,TWDJPY=x&f=nl1d1t1
UI
https://finance.yahoo.com/quote/2002.TW/history?ltr=1
http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml
UI
https://www.google.com/finance/converter?a=1&from=TWD&to=JPY
UI
https://www.google.com/finance?q=JPYUSD
來源網址:http://myskilltree.blogspot.tw/2016/03/yahoo-api.html
http://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json
XML
https://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote
https://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json
//yahoo API 說明
http://wiki.dreamrunner.org/public_html/Misc/Trade/FinanceAPI.html
http://wern-ancheta.com/blog/2015/04/05/getting-started-with-the-yahoo-finance-api/
https://query.yahooapis.com/v1/public/yql?q=use%20%22http%3A%2F%2Fyqlblog.net%2Fsamples%2Fhelloworld.xml%22%3Bselect%20*%20from%20helloworld%20where%20a%3D%22cat%22%20and%20b%3D%22dog%22%3B%0A&diagnostics=true
https://blog.ccjeng.com/2016/03/Yahoo-Finance-API.html
來源網址:
https://sya.idv.tw/archives/1131
https://query.yahooapis.com/v1/public/yql?q=select * from html where url='http://en.wikipedia.org/wiki/Yahoo' and xpath='//table/*[contains(.,"Founder")]//a'
select * from html where url='http://en.wikipedia.org/wiki/Yahoo' and xpath='//table/*[contains(.,"Founder")]//a'
https://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.quotes where symbol in ('2628.HK')&format=json&diagnostics=true
function getData() {
var url = 'http://query.yahooapis.com/v1/public/yql';
var symbol = $("#symbol").val();
var data = encodeURIComponent("select * from yahoo.finance.quotes where symbol in ('" + symbol + "')");
$.getJSON(url, 'q=' + data + "&format=json&diagnostics=true&env=http://datatables.org/alltables.env")
.done(function (data) {
$('#result').text("Price: " + data.query.results.quote.LastTradePriceOnly);
})
.fail(function (jqxhr, textStatus, error) {
var err = textStatus + ", " + error;
console.log('Request failed: ' + err);
});
}
http://www.itkeyword.com/doc/3970460632658567818/localhost-jsonp-ajax
【Yahoo YQL】html table is no longer supported
2017年6月1日 星期四
【Google Analytics】Google Search 關鍵字查詢 報表,改版為「站內搜尋」功能 ,GG了
【Google Analytics】Google Search 關鍵字查詢 報表,改版為「站內搜尋」功能 ,GG了
原先的 Google Search 的「關鍵字」資料都被 GA 全清掉了,以後不能作弊了
官網說明:
https://support.google.com/analytics/answer/1012264?hl=zh-Hant
其它網站說明:
http://www.yesharris.com/ga-site-search-report/
http://ga.awoo.com.tw/virtual-pageviews/
原先的 Google Search 的「關鍵字」資料都被 GA 全清掉了,以後不能作弊了
官網說明:
https://support.google.com/analytics/answer/1012264?hl=zh-Hant
其它網站說明:
http://www.yesharris.com/ga-site-search-report/
http://ga.awoo.com.tw/virtual-pageviews/
【ASP.NET Web API 2】如何使用 JSONP 或 轉 CSV
ASP.NET Web API 2 才有的基本類別
System.Net.Http.Formatting
說明:包含依據要求的媒體類型格式,序列化和還原序列化訊息主體的類別。
MSDN :https://msdn.microsoft.com/zh-tw/library/system.net.http.formatting(v=vs.118).aspx
GlobalConfiguration.Configure
說明.. 提供 ASP.NET 應用程式的全域
Stackoverflow:https://stackoverflow.com/questions/20226715/globalconfiguration-configure-not-present-after-web-api-2-and-net-4-5-1-migra
改寫類別 JsonpMediaTypeFormatter < JsonMediaTypeFormatter < BaseJsonMediaTypeFormatter < MediaTypeFormatter
相關網站說明
請參考以下網址:
http://twincati.blogspot.tw/2016/11/web-api.html
http://benhumble.blogspot.tw/2016/08/aspnet-webapi-jsonp.html
【如果想用【NuGet:WebApiContrib.Formatting.Jsonp】套件解決】
請參考以下網址:
http://xpower2888.pixnet.net/blog/post/221969849-asp.net-web-api-%E9%85%8D%E7%BD%AE-jsonp---xishuai
https://dotblogs.com.tw/senonoted/2016/07/06/161632
【如果使用 Web Form】
請參考以下網址:
http://www.cnblogs.com/xishuai/p/3552919.html
【轉 CSV 】
請參考以下網址:
MSDN (Media Formatters in ASP.NET Web API 2):
https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/media-formatters
【Web API 或 Web API 2 所有相關說明】
請參考以下網址(可以從「Guidance」 開始看) :
MSDN :https://docs.microsoft.com/en-us/aspnet/web-api/
System.Net.Http.Formatting
說明:包含依據要求的媒體類型格式,序列化和還原序列化訊息主體的類別。
MSDN :https://msdn.microsoft.com/zh-tw/library/system.net.http.formatting(v=vs.118).aspx
GlobalConfiguration.Configure
說明.. 提供 ASP.NET 應用程式的全域
Stackoverflow:https://stackoverflow.com/questions/20226715/globalconfiguration-configure-not-present-after-web-api-2-and-net-4-5-1-migra
改寫類別 JsonpMediaTypeFormatter < JsonMediaTypeFormatter < BaseJsonMediaTypeFormatter < MediaTypeFormatter
相關網站說明
請參考以下網址:
http://twincati.blogspot.tw/2016/11/web-api.html
http://benhumble.blogspot.tw/2016/08/aspnet-webapi-jsonp.html
【如果想用【NuGet:WebApiContrib.Formatting.Jsonp】套件解決】
請參考以下網址:
http://xpower2888.pixnet.net/blog/post/221969849-asp.net-web-api-%E9%85%8D%E7%BD%AE-jsonp---xishuai
https://dotblogs.com.tw/senonoted/2016/07/06/161632
【如果使用 Web Form】
請參考以下網址:
http://www.cnblogs.com/xishuai/p/3552919.html
【轉 CSV 】
請參考以下網址:
MSDN (Media Formatters in ASP.NET Web API 2):
https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/media-formatters
【Web API 或 Web API 2 所有相關說明】
請參考以下網址(可以從「Guidance」 開始看) :
MSDN :https://docs.microsoft.com/en-us/aspnet/web-api/
2017年5月13日 星期六
【壽險分享】 2017-05-10 三家保險就是壽險的研究個人分享
三商美邦人壽
強制保一個 安心終身壽險 ,就是你死了才能領
其它的跟國泰蠻像的
南山:
對於終生險部份
一個終生含蓋了多項:一至六級殘廢、祝壽保險、身故保險金或喪費用、無理貼回饋
保障很多,但...我不想一個終壽花那麼多保障我不需要的產品
國泰
這家很特別,很多 兩光商品很多,可以讓你拼裝..
就像是一台車分很多零件,要什麼併什麼..算蠻靈活的
強制保一個 安心終身壽險 ,就是你死了才能領
其它的跟國泰蠻像的
南山:
對於終生險部份
一個終生含蓋了多項:一至六級殘廢、祝壽保險、身故保險金或喪費用、無理貼回饋
保障很多,但...我不想一個終壽花那麼多保障我不需要的產品
國泰
這家很特別,很多 兩光商品很多,可以讓你拼裝..
就像是一台車分很多零件,要什麼併什麼..算蠻靈活的
2017年4月26日 星期三
【知識分享】IT> 程式人員 必備 搜尋網站
程序園
http://www.voidcn.com/
Stack Overflow
https://stackoverflow.com/
github
https://github.com/
codeproject
https://www.codeproject.com/
2017年2月16日 星期四
【ASP.MVC】Line 瀏覽器 UserAgent 資料 Line/7.0.1/IAB
UserAgent 記錄如下:
2017年1月25日 星期三
【 Xamarin Visual Studio 2015 】 如何 檢查 Xamarin 版本 How to check Xamarin version
【 Xamarin Visual Studio 2015 】 如何 檢查 Xamarin 版本 How to check Xamarin version
其實很簡單
當你開啟了,但又很難想在哪看到的!! (真的..我打從以為下指令或哪個 tool 裡面可以看到)
解決說明:
開啟 「Visual Studio 2015 」
功具列表最右邊 點選「說明」 (英文版:Help)
就會跳出一個新視窗 「關於 Microsoft Visual Studio」 (英文版:About Microsoft Visual Studio)
請拉捲軸在「已安裝的產品」往下拉就會看到 Xamarin 版本
畫面如下:
其實很簡單
當你開啟了,但又很難想在哪看到的!! (真的..我打從以為下指令或哪個 tool 裡面可以看到)
解決說明:
開啟 「Visual Studio 2015 」
功具列表最右邊 點選「說明」 (英文版:Help)
就會跳出一個新視窗 「關於 Microsoft Visual Studio」 (英文版:About Microsoft Visual Studio)
請拉捲軸在「已安裝的產品」往下拉就會看到 Xamarin 版本
畫面如下:
【 Xamarin Visual Studio 2015 】簡單說明 Visual Studio 外掛(擴充) Xamarin IDE 工具 開發 APP 架構
【 Xamarin Visual Studio 】簡單說明 Visual Studio 的擴充 Xamarin IDE 工具 開發 APP 架構
1.Xamarin.IOS
可以Windows 開發,透過 Mac(蘋果電腦) 瀏覽畫面
2.Xamarin.Android
可以Windows 開發
3.Xamarin.Forms
優點:同時開發 Android 、IPhone(IOS) APP
缺點:不支援太多底層原生元件
4.Xamarin.Mac
可以透過Visual Studio 在 Mac(蘋果電腦) 開發 App
官方說明網址:
https://developer.xamarin.com/guides/cross-platform/getting_started/requirements/#Windows_Requirements
1.Xamarin.IOS
可以Windows 開發,透過 Mac(蘋果電腦) 瀏覽畫面
2.Xamarin.Android
可以Windows 開發
3.Xamarin.Forms
優點:同時開發 Android 、IPhone(IOS) APP
缺點:不支援太多底層原生元件
4.Xamarin.Mac
可以透過Visual Studio 在 Mac(蘋果電腦) 開發 App
官方說明網址:
https://developer.xamarin.com/guides/cross-platform/getting_started/requirements/#Windows_Requirements
【 Xamarin Visual Studio 2015 Update 3 】2017-01 安裝 故障 排除 問題 解決( AVD SDK ) 無法執行 Cannot start or work Android SDK Manager ...
軟體工具: Visual Studio 2015 (Update 3) on Xamarin (4.2.2.11)
【 Xamarin Visual Studio 】2017-01 故障 排除 問題 解決( AVD SDK ) 無法執行 Cannot start or work Android SDK Manager ...
初始安裝好 Xamarin Visual Studio 軟體環境 如下:
1.Java Development Kit Location
版本:jdk1.7.0_55
2.Android SDK Location
3.Android NDK Location<--- p=""> 下載點:https://developer.android.com/ndk/downloads/index.html
Google 打關鍵字連結: Android NDK Downloads
出現編譯問題:
【問題一】
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2072,3): error : java.lang.UnsupportedClassVersionError: com/android/dx/command/Main :
Unsupported major.minor version 52.0
解決:這個問題顯示是 java sdk 太舊 ,無法編輯, 你要升級 java sdk 1.8 版 以上
Java Sdk 下載點
網址::http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
當你選安裝:Windows x64 \ 195.51 MB \jdk-8u121-windows-x64.exe 版本--->
<--- p="">
---> 安裝好之後要在你的 Xamarin 選項裡面設定 Android SDK Location 然定你安裝好的java sdk 路徑
開一個範本APP專案後,發現 佈署沒有 AVD 的東西,此時請你先
點選 工具(T)\Android\Android Emulator Manager ,先開啟一個AVD 模擬器
此時在開始那邊就會突然顯示出來你的模擬器名稱
<--- p="">附上 Java 版本對照表如下:--->
J2SE 8 = 52
J2SE 7 = 51
J2SE 6.0 = 50
J2SE 5.0 = 49
JDK 1.4 = 48
JDK 1.3 = 47
JDK 1.2 = 46
<--- p="">--->
JDK 1.1 = 45
<--- p="">
---> <--- p="">【問題二】--->
<--- p="">在執行 Android 模擬器時,跳出 以下 Alert 訊息,是指 可以 修改 CPU Intel Atom (x86) ,透過 HXAM 的 Hyper-V 執行 Android 模擬器,可以變快--->
<--- p="">--->
---> PS.如果您是 Windows 7 就打消此念頭,因為Windows 7 沒有 Hyper-V ,只有Windows 10 才有
<--- p="">
---> <--- p="">
....待續
--->
【 Xamarin Visual Studio 】2017-01 故障 排除 問題 解決( AVD SDK ) 無法執行 Cannot start or work Android SDK Manager ...
初始安裝好 Xamarin Visual Studio 軟體環境 如下:
1.Java Development Kit Location
版本:jdk1.7.0_55
2.Android SDK Location
3.Android NDK Location<--- p=""> 下載點:https://developer.android.com/ndk/downloads/index.html
Google 打關鍵字連結: Android NDK Downloads
出現編譯問題:
【問題一】
C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2072,3): error : java.lang.UnsupportedClassVersionError: com/android/dx/command/Main :
Unsupported major.minor version 52.0
解決:這個問題顯示是 java sdk 太舊 ,無法編輯, 你要升級 java sdk 1.8 版 以上
Java Sdk 下載點
網址::http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
當你選安裝:Windows x64 \ 195.51 MB \jdk-8u121-windows-x64.exe 版本--->
<--- p="">
---> 安裝好之後要在你的 Xamarin 選項裡面設定 Android SDK Location 然定你安裝好的java sdk 路徑
開一個範本APP專案後,發現 佈署沒有 AVD 的東西,此時請你先
點選 工具(T)\Android\Android Emulator Manager ,先開啟一個AVD 模擬器
此時在開始那邊就會突然顯示出來你的模擬器名稱
<--- p="">附上 Java 版本對照表如下:--->
J2SE 8 = 52
J2SE 7 = 51
J2SE 6.0 = 50
J2SE 5.0 = 49
JDK 1.4 = 48
JDK 1.3 = 47
JDK 1.2 = 46
<--- p="">--->
JDK 1.1 = 45
<--- p="">
---> <--- p="">【問題二】--->
<--- p="">在執行 Android 模擬器時,跳出 以下 Alert 訊息,是指 可以 修改 CPU Intel Atom (x86) ,透過 HXAM 的 Hyper-V 執行 Android 模擬器,可以變快--->
<--- p="">--->
Running an x86 based Android Virtual Device(AVD) is 10x faster. We strongly recommend creating a new AVD.
<--- p="">---> PS.如果您是 Windows 7 就打消此念頭,因為Windows 7 沒有 Hyper-V ,只有Windows 10 才有
<--- p="">
---> <--- p="">
....待續
--->
2016年12月24日 星期六
2016年12月9日 星期五
【IIS Windows 10 】Windows 10 在 iis 上 重新安裝 Framework 指令 powershell
2016年10月20日 星期四
【ASP.MVC】私房菜 MVC 30 招
第一招 (2016/10/23):
Html.AntiForgeryToken 自動 在 X-Frame-Options 中加上:SAMEORIGIN"
說明:禁止其它網站使用 Iframe 崁入
針對:X-Frame-Options 說明請參考以下網址:
網址:https://developer.mozilla.org/zh-TW/docs/HTTP/X-Frame-Options
第二招 (2016/10/25):
jQuery Validation 驗證表單
說明:找出尚有錯誤訊息,禁止 form.Submit()
針對:$("form").data("validator").errorList.length
網址:http://www.codeproject.com/Tips/539167/Modify-jQuery-validation-settings-using-MVC-unobtr
第三招(SQL ELMAH_Error)
ELMAH Utc 轉 Local Time
SELECT CONVERT(datetime,
SWITCHOFFSET(CONVERT(datetimeoffset,
ELMAH_Error.TimeUtc),
DATENAME(TzOffset, SYSDATETIMEOFFSET())))
AS ColumnInLocalTime
FROM ELMAH_Error
第四招( IIS SSL 443 PORT)
說明:明明設定了 443 port 確無法顯示正常的 一個鎖的狀態
針對:因為你的網站頁面上面, including 外站資料 ,比如IMAGE 圖檔或 JavaScript 檔案
案例如下:
待續...
Html.AntiForgeryToken 自動 在 X-Frame-Options 中加上:SAMEORIGIN"
說明:禁止其它網站使用 Iframe 崁入
針對:X-Frame-Options 說明請參考以下網址:
網址:https://developer.mozilla.org/zh-TW/docs/HTTP/X-Frame-Options
第二招 (2016/10/25):
jQuery Validation 驗證表單
說明:找出尚有錯誤訊息,禁止 form.Submit()
針對:$("form").data("validator").errorList.length
網址:http://www.codeproject.com/Tips/539167/Modify-jQuery-validation-settings-using-MVC-unobtr
第三招(SQL ELMAH_Error)
ELMAH Utc 轉 Local Time
SELECT CONVERT(datetime,
SWITCHOFFSET(CONVERT(datetimeoffset,
ELMAH_Error.TimeUtc),
DATENAME(TzOffset, SYSDATETIMEOFFSET())))
AS ColumnInLocalTime
FROM ELMAH_Error
第四招( IIS SSL 443 PORT)
說明:明明設定了 443 port 確無法顯示正常的 一個鎖的狀態
針對:因為你的網站頁面上面, including 外站資料 ,比如IMAGE 圖檔或 JavaScript 檔案
案例如下:
錯誤內容 including 其它網站 圖片或 js 檔,引發無法驗證成ssl 檔案 |
正確網址 |
待續...
2016年9月6日 星期二
【ASP NET.MVC, C# 】 Class to Json returun String to html 解析 String to obj
【ASP NET.MVC, C# 】Class to Json returun String to html 解析 String to obj
Action
return Json(save_result, "text/html", JsonRequestBehavior.AllowGet);
Html
JSON.parse(data.result);
Action
return Json(save_result, "text/html", JsonRequestBehavior.AllowGet);
Html
JSON.parse(data.result);
【Jquery】jQuery Upload File 元件
使用:jquery.fileupload-validate.js 卻錯訊息
錯誤訊息:Cannot call method 'push' of undefined
是因為少了:jquery.fileupload-process.js
把它加入就可以了,要放在 validate 之前引用
錯誤訊息:Cannot call method 'push' of undefined
是因為少了:jquery.fileupload-process.js
把它加入就可以了,要放在 validate 之前引用
2016年8月27日 星期六
【ASP.MVC】JSON 使用 前後台對應
【Action】
方法1
var d = Context.CodeTree
.Select(o => new { o.Name, o.Value });
方法2
var result = from o in Context.CodeTree
.Select
(
o => new { o.Name, o.Value }
)
select o;
方法3
IEnumerable Studentitems =
db.Student.Where(c => c.StudentCategoryID == CategoryID)
.AsEnumerable().Select(c => new SelectListItem()
{
Text=c.Name,
Value=c.StudentID.ToString()
});
SelectList StudentID = new SelectList(Studentitems, "Value", "Text");
方法1
return Content(JsonConvert.SerializeObject(result), "application/json");
方法2
ViewBag.result = JsonConvert.SerializeObject(result);
方法3
return Json(StudentID, JsonRequestBehavior.AllowGet);
【View】
var q = '@Html.Raw(ViewBag.result)'
方法1
var d = Context.CodeTree
.Select(o => new { o.Name, o.Value });
方法2
var result = from o in Context.CodeTree
.Select
(
o => new { o.Name, o.Value }
)
select o;
方法3
IEnumerable
db.Student.Where(c => c.StudentCategoryID == CategoryID)
.AsEnumerable().Select(c => new SelectListItem()
{
Text=c.Name,
Value=c.StudentID.ToString()
});
SelectList StudentID = new SelectList(Studentitems, "Value", "Text");
方法1
return Content(JsonConvert.SerializeObject(result), "application/json");
方法2
ViewBag.result = JsonConvert.SerializeObject(result);
方法3
return Json(StudentID, JsonRequestBehavior.AllowGet);
【View】
var q = '@Html.Raw(ViewBag.result)'
【ASP.MVC】驗証
數字:"^[0-9]*$"。
n位的數字:"^\d{n}$"。
至少n位的數字:"^\d{n,}$"。
m~n位的數字:。"^\d{m,n}$"
零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。
有兩位小數的正實數:"^[0-9]+(.[0-9]{2})?$"。
有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。
非零的正整數:"^\+?[1-9][0-9]*$"。
非零的負整數:"^\-[1-9][]0-9"*$。
長度為3的字符:"^.{3}$"。
由26個英文字母組成的字符串:"^[A-Za-z]+$"。
由26個大寫英文字母組成的字符串:"^[AZ]+$"。
由26個小寫英文字母組成的字符串:"^[az]+$"。
由數字和26個英文字母組成的字符串:"^[A-Za-z0-9]+$"。
由數字、26個英文字母或者下劃線組成的字符串:"^\w+$"。
驗證用戶密碼:"^[a-zA-Z]\w{5,17}$"正確格式為:以字母開頭,長度在6~18之間,只能包含字符、數字和下劃線。
驗證是否含有^%&',;=?$\"等字符:"[^%&',;=?$\x22]+"。
只能輸入漢字:"^[\u4e00-\u9fa5]{0,}$"
驗證Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。
驗證InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
驗證電話號碼:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正確格式為:"XXX-XXXXXXX"、"XXXX- XXXXXXXX "、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。
驗證身份證號(15位或18位數字):"^\d{15}|\d{18}$"。
驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。
驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"。
ModelState.AddModelError方法是給View返回一個錯誤消息,最終交給@Html.ValidationSummary顯示。
n位的數字:"^\d{n}$"。
至少n位的數字:"^\d{n,}$"。
m~n位的數字:。"^\d{m,n}$"
零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。
有兩位小數的正實數:"^[0-9]+(.[0-9]{2})?$"。
有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。
非零的正整數:"^\+?[1-9][0-9]*$"。
非零的負整數:"^\-[1-9][]0-9"*$。
長度為3的字符:"^.{3}$"。
由26個英文字母組成的字符串:"^[A-Za-z]+$"。
由26個大寫英文字母組成的字符串:"^[AZ]+$"。
由26個小寫英文字母組成的字符串:"^[az]+$"。
由數字和26個英文字母組成的字符串:"^[A-Za-z0-9]+$"。
由數字、26個英文字母或者下劃線組成的字符串:"^\w+$"。
驗證用戶密碼:"^[a-zA-Z]\w{5,17}$"正確格式為:以字母開頭,長度在6~18之間,只能包含字符、數字和下劃線。
驗證是否含有^%&',;=?$\"等字符:"[^%&',;=?$\x22]+"。
只能輸入漢字:"^[\u4e00-\u9fa5]{0,}$"
驗證Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。
驗證InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
驗證電話號碼:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正確格式為:"XXX-XXXXXXX"、"XXXX- XXXXXXXX "、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。
驗證身份證號(15位或18位數字):"^\d{15}|\d{18}$"。
驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。
驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"。
ModelState.AddModelError方法是給View返回一個錯誤消息,最終交給@Html.ValidationSummary顯示。
2016年8月21日 星期日
【ASP.NET MVC 5 完全攻略】 這本書我自己的評語
對於【ASP.NET MVC 5 完全攻略】 這本書我自己的評語是:
初學者去看,會看不太懂書中要傳遞的詳細說明,
我本身是從今年開始學ASP.MVC 起初是看不懂書中要傳達的意思,
漸漸有了MVC基礎之後,在回頭看這本書,裡面寫的很細,
用途及用法及說明也有很多範例,只是範例用法也要看好幾次,
才會看得懂它的意思,我覺得書中並沒有傳達的很清楚圖像式,
書是直接切入細節說明,會讓初學者跳的太快,讓人翻一下就丟在陪邊,
PS.以上個人感覺說明,書的內容因人而異
初學者去看,會看不太懂書中要傳遞的詳細說明,
我本身是從今年開始學ASP.MVC 起初是看不懂書中要傳達的意思,
漸漸有了MVC基礎之後,在回頭看這本書,裡面寫的很細,
用途及用法及說明也有很多範例,只是範例用法也要看好幾次,
才會看得懂它的意思,我覺得書中並沒有傳達的很清楚圖像式,
書是直接切入細節說明,會讓初學者跳的太快,讓人翻一下就丟在陪邊,
PS.以上個人感覺說明,書的內容因人而異
2016年8月19日 星期五
【Jquery】DataTable套件 套用 language url 問題
$(document).ready(function () {
var table = $('#example').DataTable({
"language": {
"url": "tw.json"
}
});
});
照官網怎麼套繁體中文「Chinese-traditional.json」都有問題,結果就把檔案下來,用本機端去試,然後再然的「副檔名」改成 json 就搞定了...
繁體 官網說明:https://datatables.net/plug-ins/i18n/Chinese-traditional
官網:https://datatables.net/
大陸:http://datatables.club/
var table = $('#example').DataTable({
"language": {
"url": "tw.json"
}
});
});
照官網怎麼套繁體中文「Chinese-traditional.json」都有問題,結果就把檔案下來,用本機端去試,然後再然的「副檔名」改成 json 就搞定了...
繁體 官網說明:https://datatables.net/plug-ins/i18n/Chinese-traditional
官網:https://datatables.net/
大陸:http://datatables.club/
2016年8月18日 星期四
【LINQ】SELECT 兩個 欄位 tw column (第三種:Lambda select )
public IQueryable CompanyList()
{
IQueryable result = null;
result = from o in Context.Company
.Select
(
o => new { o.CodeName ,o.CodeValue}
)
select o;
return result;
}
解析後:
{SELECT
1 AS [C1],
[Extent1].[CodeName] AS [CodeName],
[Extent1].[CodeValue] AS [CodeValue]
FROM (
SELECT
[Company].[Id] AS [CodeTreeId],
[Company].[CodeName] AS [CodeName],
[Company].[CodeValue] AS [CodeValue],
[Company].[Sort] AS [Sort],
FROM [dbo].[Company] AS [Company]) AS [Extent1]}
{
IQueryable result = null;
result = from o in Context.Company
.Select
(
o => new { o.CodeName ,o.CodeValue}
)
select o;
return result;
}
解析後:
{SELECT
1 AS [C1],
[Extent1].[CodeName] AS [CodeName],
[Extent1].[CodeValue] AS [CodeValue]
FROM (
SELECT
[Company].[Id] AS [CodeTreeId],
[Company].[CodeName] AS [CodeName],
[Company].[CodeValue] AS [CodeValue],
[Company].[Sort] AS [Sort],
FROM [dbo].[Company] AS [Company]) AS [Extent1]}
【LINQ】Select 兩個 欄位 two column (第二種:更好解法 linq select new)
【LINQ】Select 兩個 欄位 two column (第二種:更好解法 linq select new)
【範例1】
public IQueryable CompanyList()
{
IQueryable result = null;
var q = from o in Context.Company
select new
{
o.CodeName,
o.CodeValue,
};
result = q.ToList().AsQueryable();
return result;
}
解析:
{System.Collections.Generic.List`1[<>f__AnonymousType0`2[System.String,System.String]]}
【範例2】
public IEnumerable CompanyList()
{
IEnumerable result = null;
var q = from o in Context.Company
select new
{
o.CodeName,
o.CodeValue,
};
result = q.ToList();
return result;
}
解析:
result = Count = 3
提供給 dropdownlist 或 radiobox 或 checkbox 使用
【範例1】
public IQueryable CompanyList()
{
IQueryable result = null;
var q = from o in Context.Company
select new
{
o.CodeName,
o.CodeValue,
};
result = q.ToList().AsQueryable();
return result;
}
解析:
{System.Collections.Generic.List`1[<>f__AnonymousType0`2[System.String,System.String]]}
【範例2】
public IEnumerable CompanyList()
{
IEnumerable result = null;
var q = from o in Context.Company
select new
{
o.CodeName,
o.CodeValue,
};
result = q.ToList();
return result;
}
解析:
result = Count = 3
提供給 dropdownlist 或 radiobox 或 checkbox 使用
【LINQ】Select new two column 只撈兩個欄位,再轉回CLASS 類型 (第一種)
【LINQ】Select new two column 只撈兩個欄位,再轉回CLASS 類型 (第一種)
以下這樣做法太麻煩了
public IQueryable CompanyList()
{
IQueryable result = null;
result = (from o in Context.Company
orderby o.Sort ascending
select new
{
CodeName = o.CodeName,
CodeValue = o.CodeValue,
}
).ToList()
.Select(x => new Company
{
CodeName = x.CodeName,
CodeValue = x.CodeValue,
}).AsQueryable();
return result;
}
{System.Linq.Enumerable+WhereSelectListIterator`2[<>f__AnonymousType0`2[System.String,System.String],Dcn.SqlClient.Company]}
以下這樣做法太麻煩了
public IQueryable
{
IQueryable
result = (from o in Context.Company
orderby o.Sort ascending
select new
{
CodeName = o.CodeName,
CodeValue = o.CodeValue,
}
).ToList()
.Select(x => new Company
{
CodeName = x.CodeName,
CodeValue = x.CodeValue,
}).AsQueryable();
return result;
}
{System.Linq.Enumerable+WhereSelectListIterator`2[<>f__AnonymousType0`2[System.String,System.String],Dcn.SqlClient.Company]}
2016年7月31日 星期日
2016年7月23日 星期六
訂閱:
文章 (Atom)