2019年4月11日 星期四

解決 sublime text 2 移除後 無法用新版 開啟檔案問題 (使用攜帶版 portable version)


解決 sublime text 2 移除後 無法用新版 開啟檔案問題  (使用攜帶版 portable version)


以系統管理身分叫出 cmd,

在 cmd下, 執行 regedit  ,叫出登入檔

找到以下路徑檔案 \HKEY_CLASSES_ROOT\Applications\sublime_text.exe\shell\open\command


改成正確的sublime text 3 執行檔路徑









2018年11月2日 星期五

[C#] string.Format 輸出格式

數字 + 千分位顯示,到小數點第5位,小數點位不補 0

string.Format("{0:#,##.#####}", double.Parse("1234.56"));  輸出:1,234.56

string.Format("{0:#,##.#####}", double.Parse("1,234,567.12345"));  輸出:1,234,567.12345

發現上述若輸入 0 會有問題,修改成下列

string.Format("{0:#,##0.#####}", double.Parse("0"));  輸出:0


前面加上 ' $ ' 錢字號

string.Format("{0:$#,##.#####}", double.Parse("1234.56"));  輸出:$1,234.56


參考來源點選這裡

2018年1月24日 星期三

[SQL] 以今日日期取得上個月1號日期

MSSQL語法:

取得上個月1號日期
SELECT dateadd(dd, -day(dateadd(month, -1, getdate()))+1, dateadd(month, -1, getdate()))

輸出:2017-12-01 12:13:25.617

在格式化成 yyyy/mm/dd  
SELECT convert(varchar, dateadd(dd, -day(dateadd(month, -1, getdate()))+1, dateadd(month, -1, getdate())), 111)

輸出:2017/12/01

-----------------------------------------------------------------------------------------------------------------------

Oracle語法:

取得上個月1號日期

SELECT to_date(to_char(add_months(SYSDATE, -1), 'YYYY-MM') || '-01', 'yyyy/mm/dd') from dual;

輸出:01-DEC-17

在格式化成 yyyy/mm/dd 

SELECT TO_CHAR(to_date(to_char(add_months(SYSDATE, -1), 'YYYY-MM') || '-01', 'yyyy/mm/dd'), 'yyyy/mm/dd') from dual;

輸出:2017/12/01

2018年1月22日 星期一

[jQuery] $.map 使用方式

需求:傳入日期,取出對應的匯率值
function DateRate(selectDate){
var ratelist = [{ date: "2018/01/18", rate: "30.11" },{ date: "2018/01/19", rate: "30.12" }];
//print object array
console.log(ratelist);
var def = $.map(ratelist, function (item, index) {
if (item.date == selectDate) {
return item.rate;
}else {
return null;
}
});
//print def array
console.log(def)
if(def !== ''){
//print 30.11
$("#ratetxt").val(def[0]);
}else {
$("#ratetxt").val("no data");
}
}
完整範例應用
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<script src="https://code.jquery.com/jquery-1.9.1.js"></script>
<link href="https://code.jquery.com/ui/1.9.2/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="https://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<title>依選擇日期取得對應匯率</title>
</head>
<body>
<h2>依選擇日期取得對應匯率</h2>
選擇日期:
<input id="ExchangeRateDate" type="text" />
<br/><br/>
顯示匯率:
<input id="ratetxt" type="text" readonly="readonly"></div>
<script id="jsbin-javascript">
function DateRate(selectDate){
var ratelist = [{ date:"2018/01/18", rate:"30.11" },
{ date:"2018/01/19", rate:"30.12" },
{ date:"2018/01/20", rate:"30.13" }];
//print object array
console.log(ratelist);
var def = $.map(ratelist, function (item, index) {
if (item.date == selectDate) {
return item.rate;
}else {
return null;
}
});
//print def array
console.log(def);
if(def !== ''){
//print 30.11
$("#ratetxt").val(def[0]);
}else {
$("#ratetxt").val("no data");
}
}
$.datepicker.setDefaults($.datepicker.regional["zh-TW"]);
$("#ExchangeRateDate").datepicker({
changeYear: true,
changeMonth: true,
dateFormat: "yy/mm/dd",
maxDate: 0,
//minDate: "-1m",
onSelect: function (dat, inst) {
DateRate(dat);
}
});
</script>
<script id="jsbin-source-javascript" type="text/javascript">
function DateRate(selectDate){
var ratelist = [{ date:"2018/01/18", rate:"30.11" },
{ date:"2018/01/19", rate:"30.12" },
{ date:"2018/01/20", rate:"30.13" }];
//print object array
console.log(ratelist);
var def = $.map(ratelist, function (item, index) {
if (item.date == selectDate) {
return item.rate;
}else {
return null;
}
});
//print def array
console.log(def);
if(def !== ''){
//print 30.11
$("#ratetxt").val(def[0]);
}else {
$("#ratetxt").val("no data");
}
}
$.datepicker.setDefaults($.datepicker.regional["zh-TW"]);
$("#ExchangeRateDate").datepicker({
changeYear: true,
changeMonth: true,
dateFormat: "yy/mm/dd",
maxDate: 0,
//minDate: "-1m",
onSelect: function (dat, inst) {
DateRate(dat);
}
});
</script></body>
</html>
function DateRate(selectDate){
var ratelist = [{ date:"2018/01/18", rate:"30.11" },
{ date:"2018/01/19", rate:"30.12" },
{ date:"2018/01/20", rate:"30.13" }];
//print object array
console.log(ratelist);
var def = $.map(ratelist, function (item, index) {
if (item.date == selectDate) {
return item.rate;
}else {
return null;
}
});
//print def array
console.log(def);
if(def !== ''){
//print 30.11
$("#ratetxt").val(def[0]);
}else {
$("#ratetxt").val("no data");
}
}
$.datepicker.setDefaults($.datepicker.regional["zh-TW"]);
$("#ExchangeRateDate").datepicker({
changeYear: true,
changeMonth: true,
dateFormat: "yy/mm/dd",
maxDate: 0,
//minDate: "-1m",
onSelect: function (dat, inst) {
DateRate(dat);
}
});

2017年12月28日 星期四

[.Net] 解決 Update Panel 上 TextChanged 沒反應之方法

碰到問題:TextBox_TextChanged 事件,去呼叫 UserControl 中的 public function,頁面上的值沒有變動問題
後來發現是,UpdateMode 未設定為 Conditional
<asp:UpdatePanel ID="UpdatePanel" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:TextBox ID="TextBox" runat="server" OnTextChanged="TextBox_TextChanged" AutoPostBack="true"></asp:TextBox>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="TextBox" EventName="TextChanged" />
</Triggers>
</asp:UpdatePanel>
view raw UpdatePanel hosted with ❤ by GitHub

2017年4月19日 星期三

[Oracle] 判斷欄位是否為NULL的方法

SELECT NVL(欄位A, 欄位B or String) FROM TABLE

當欄位A為 NULL 時會填入 欄位B,或指定的字串

當使用 left join 時補資料也可以使用

PS:此語法為 Oracle 專用 MSSQL 不支援




2017年1月13日 星期五

[VirtualBox] 解決 VirtualBox VDI 的 UUID 重複問題


事由:公司電腦系統碟升級 SSD,所以想説把 Virtual Box 的 VDI file 從 D 給移動到 C 底下去

環境:VirtualBox 5.1.12

問題:直接搬移vid,從 D 搬到 C,再設定把C下的vid檔載入時,會發生 UUID 重複的訊息

解決方式:只要更換 UUID 就可以了,方式如下

開啟 cmd 到 virtualbox 的 program file目錄下

預設目錄是 C:\Program Files\Oracle\VirtualBox 後面直接下指令如下:

VBoxManage internalcommands sethduuid [vdi file 完整路徑]

若路徑中有空格 需加上雙引號,例如:"C:\windows 10\[檔案名稱].vdi"