2018年10月1日 星期一

網頁開發(4) JQuery Datepicker 日期選擇器

這次要記錄的是 JQuery 中的 Datepicker 其實 Datepicker 是 JQuery UI 裡的一個部件 以下連結可以載 JQuery UI http://jqueryui.com/download/ 載完後就 Link 到自己的檔案裡就可以使用 <link rel="stylesheet" type="text/css" href="jQuery/ui.css"/> <script src="jQuery/jquery.js"></script> <script src="jQuery/jquery-ui.js"></script>  Html :  ...

2018年9月20日 星期四

網頁開發(3) 重複查詢同一資料表

對同一個資料表做重複查詢 有時候可能會對同一個資料表做重複查詢很多次 也就是需要 JOIN 兩次以上 例如( 以下範例不小心用到中文,沒試過到底可不可行 ) Table1 Table2 這時可能就需要 JOIN Table2 重複 2 次來達到完整資料 利用 AS 來達到區分 Table2 達到 JOIN 2 次的效果 SELECT...

2018年9月11日 星期二

使用 IE 的理由

在公司內部系統,網站會建議使用 Internet Explorer 開啟 原因很簡單,在 IE 裡,一個 html link 可以開啟相同 domain 下的資料夾和檔案 基本上大部分的瀏覽器都會檔,因為安全性的問題。 以 Chrome 為例 <a href="file:///fileserver/test.xls">Test</a> IE 可以直接...

2018年9月10日 星期一

英文歌詞翻譯 Fall Out Boy - Centuries

Some legends are told 有些傳奇被傳誦 Some turn to dust or to gold 有些則灰飛煙滅或變成黃金 But you will remember me 但你會記得我 Remember me for centuries 生生世世都會記得我 And just one mistake 只要一個錯誤 Is all it will take 一切就功虧一簣 We'll go down in history 我們會名留青史 Remember me for centuries 永生永世地記住我 Remember...

2018年9月7日 星期五

英文歌詞翻譯 Bruno Mars - Finesse

Ooh, don't we look good together? 我們看起來是不是很棒? There's a reason why they watch all night long 這就是為何他們整晚都看著我們的原因 Yeah, know we'll turn heads forever 我們永遠都是全場焦點(註一) So tonight I'm gonna show you off 今晚我會好好地炫耀妳 When I'm walkin' with you 當我和妳走在一起 I watch the whole room change 我發現全場氣氛都變了 Baby,...

2018年8月24日 星期五

網頁開發(2) 利用 Ajax 取的 PHP 值

網頁開發我常利用 Ajax 來連接 PHP以便撈取後端資料 但是 PHP 傳回來的值會是 String 值 而 JavaScript 每個參數都是一個物件,所以辨認不出 PHP傳回來的值 這時就需要 json 來達到取值的效果 首先是 JavaScript 的 Ajax var wanteddata; var requert = $.ajax({ type: "POST", async: false, url: "/function/getData.php", dataType: 'json', data:{id:msg}, success:...

IPv6 筆記 ( 序 + week1 )

序 工作需求必須從頭到尾了解 IPv6 這項技術 所以好像回到大學時期,重新看了 NTHU 黃能富教授經營的學聯網 ( 課程已關閉 ) 但既然重看了,那就索性作筆記但不會太詳細 ( 因為沒人會考我XD )。 參考資料 http://www.sharecourse.net/sharecourse/course/view/courseInfo/475 Week 1  1. IPv6 之於 IPv4 (1) 提供大量 IP 位址,加速連線 ( 因為位址明確 , 無須 NAT...等技術 ) (2) 精簡 Header ( 因為各Layer功能漸強可以...

2018年8月23日 星期四

BCB 筆記11 (ComboBox OnChange)

有時候會希望 ComboBox Change 的時候 Grid 能自動更新,但 ComboBox OnChange() 似乎事件較弱 所以 OnChange() 執行後,Grid 並沒有立即更新 你必須點 Grid 一下才會更新,當然一定有正規解法 但我很急無法深入研究,所以用這個邪門歪道 1. 首先創一個 Button1 並設定 OnClick 事件 (為了美觀你可以設Button1隱藏) void...

Windows 工作排程失效

會接觸這個東西是因為要寄系統信 系統信我的實作方法是用 工作排程 時間到就執行對應的 PHP 檔 執行檔是沒問題的,但是排程出問題了 排程總是被略過,好像沒有這回事一樣 我有找到很多方法,但只有這個有效,參考資料裡也有講其他方法 這是我解掉這個方法的圖片 ( 取自參考資料做備份 ) 參考資料 https://dotblogs.com.tw/daniel07793/20...

2018年8月22日 星期三

BCB 筆記10 (Grid 載圖片)

表格填圖片 下面示範 DrawGrid 填圖片 ( 其實 StringGrid 也可以 ) void __fastcall TMainForm::DrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect, TGridDrawState State) { TDrawGrid *drawgrid = dynamic_cast<TDrawGrid *>(Sender); Bitmap->LoadFromFile(ExtractFilePath(Application->ExeName)+__PicturePath+"123.bmp"); ...

2018年7月1日 星期日

BCB 筆記9 (String Replace)

既然使用 BCB 作為開發工具 不免俗就會常常使用他們的 String 這裡介紹 BCB 取代字串的方法 StringReplace(const UnicodeString Source, const UnicodeString OldPattern, const UnicodeString NewPattern, TReplaceFlags Flags); String Str; TReplaceFlags rf = TReplaceFlags()<<rfReplaceAll; Str = StringReplace(Str, L"@", L"\n",...

BCB OLE操作EXCEL(3)

在用 OLE 操作 Excel 時 有可能會遇到剪貼簿裡的資料過大 導致關閉 Excel 時跳出視窗警告 "是否放棄剪貼簿裡的資料" 要避開的話通常會用關閉 DisplayAlert 的方法來避免 但我常常失敗,原因不明。 所以給失敗的朋友另一個辦法 在 Excel 關閉前複製一格 避免剪貼簿裡資料過多跳出視窗 void __fastcall Excel::Close_2(){ Exc.Range = Exc.WorkSheet.OlePropertyGet("Cells", 1, 1); Exc.Range.OleFunction("Copy"); Exc.WorkBook.OleFunction("Close",...

2018年6月10日 星期日

BCB 筆記8 (Compile)

我在寫程式的時候 偶爾會想寫個固定字串在 Header (路徑之類的) 但這會在 Compile 上造成很大的負荷 Cannot create pre-compiled header: initialized data in header 因為我的 Header 都寫在一起 const String __SavePath = "Save\\"; const String __NameCardPath = "NameCard\\"; const String __PicturePath = "Pic\\"; 所以 Header 必須分開 但最好是改讀檔的 但我因為這個發現了一個講解...

BCB 筆記7 (StrToInt)

報告在製作時,一定會遇到要字串轉數字 在 BCB 裡有方便的函式 常見的有 String str = "123" int x = StrToInt(str); float y = StrToFloat(str); 但有時候不一定可以轉成數字 這時就可用 String str = "@123" int x; float y; bool z; z = TryStrToInt(str, x); z = TryStrToInt(str, y)...

2018年6月3日 星期日

BCB 筆記6 (Sender)

說來慚愧,但我很後面才知道這東西 BCB 設計按鈕不外乎 TButton TBitBtn TSpeedButton 但按鈕通常邏輯差不多,只是因為傳的值不一樣而用不同 Button 然後程式碼變成這樣 void __fastcall TMainForm::TButton1Click(TObject *Sender) { MyButtonFunction("TButton1"); } void __fastcall TMainForm::TButton2Click(TObject *Sender) { MyButtonFunction("TButton2"); } void...

BCB 筆記5 (TValueListEditor)

轉報告下一步就是自動產生報告 要自動產生報告,不外乎就是填表格。 你可以用 DrawGrid 或 StringGrid 來製作表格 但我認為 DrawGrid 和 StringGrid 都是完成度很高的元件 完成度很高代表若目的與設計方向不同,用起來就會綁手綁腳 要覆寫很多功能或者沒有與你目的相同的東西 我想當初 Grid 就是來完成表格,不是給你填, 所以在填值方面不會有太多方便的功能。 填表格通常會想要用下拉式表單...

2018年5月6日 星期日

BCB 筆記4 (DrawText)

在 BCB 裡設計表格類的東西 幾乎都是從 TCustomGrid 繼承而來 在填入表格值都是用 DrawText 來填值 而我們要改變一些東西,例如文字置中 就要自己下 DrawText 的參數 首先第一步,把 DefaultDrawing 的值改為 Fault 不改的話會 DrawText 兩次,造成重疊 第二步改寫 OnDrawCell void __fastcall TMainForm::LGridDrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect, TGridDrawState State) { TStringGrid...

BCB 筆記3 (TSpeedButton)

在 BCB 裡 Button 我常用的是 TSpeedButton 1. 可以載入圖片( TButton不行 )。 2. TSpeedButton 屬性裡有 GroupIndex 可以集合一群 TSpeedButton 成一個群組,同個群組後,     一個群只能有一個被選取,被選取的 TSpeedButton 的 Down 值為 TRUE ,為選取則為     FALSE。 3. 有 FLAT ( 滑鼠移上去會有浮起來的效果 ),對於單人開發的程式,這可以讓你的 Button 看     起來比較有質感。...

2018年5月1日 星期二

心情日記 2018/05/01

距離上次寫 BLOG 過了三個禮拜 看來維持寫 BLOG 真需要些意志力跟重訓一樣 不知不覺進入職場半年 (3天特休 GET!!) 但依然跟標題一樣,總覺得繼續做這個不行沒前途要換 但又沒本錢換QQ 今天想想後又回來寫 BLOG,充實自己 樂觀點的話就是我又繼續寫 BLOG 沒浪費這個得來不易的假日 希望自己不要鬆懈太久,維持住這...

網頁開發(1) 使用 IE 瀏覽器時 Javascript 失效

我本人非專業寫網頁,大學沒寫過是進公司才學的,因為沒人維護XD 公司常用瀏覽器是 IE,因為IE可以直接讓你以檔案總管的方式直接開啟 file://... 的超連結,其他瀏覽器都會擋,詳細原因我不知道,但這個可以讓你方便調用 SERVER 上資料,方便很多,其實其他瀏覽器也可以辦到,但要做設定,但不可能你叫公司員工都做這設定,所以大家都用 IE,離題了... JS 檔放到 Server 後無反應     我自己在寫程式時,第一個問題是為什麼我改.JS檔放到SERVER後無反應 這裡無反應是指像什麼都沒改過一樣,搞了很久才發現原來 .JS檔會被瀏覽器存進快取 所以只要檔名一樣,他就會跑之前的.JS...

BCB OLE操作EXCEL(2)

BCB 操作 EXCEL、WORD ( OLE的應用 ) 有時候再操作 EXCEL 和 WORD 的時候,有可能會要應用到 MultiProcess 的概念 但真正需要的地方很少,我自己是用偷懶的方式來避開, 因為互相搶奪導致資料錯誤出現的機率微乎其微。 下面介紹一些我常碰到的錯誤 bool __fastcall JunYe_Word::getDataTable(int index){ Variant Range; bool flag = true; try{ Range = Wd.DataDoc.OlePropertyGet("Tables").OleFunction("Item",index).OlePropertyGet("Range"); ...

2018年4月8日 星期日

.ini 檔案 操作及應用

ini檔顧名思義就是拿來初始化的 #include "inifiles.hpp" TIniFile *IniFile; IniFile = new TIniFile(ChangeFileExt(Application->ExeName, ".ini")); IniFile->WriteString(category, parameter, value); delete IniFile; 這裡介紹其中一個我最常用的...

BCB 筆記2 (TDateTime)

BCB TDateTime 時間操作及應用 在 BCB 裡有關時間的操作幾乎都是與 TDateTime 這個 Class 相關 若找不到相關資料可以用 BCB 的 HELP ( 游標移到要查詢的函式或Class 並按 F1 ) 介紹幾個個人有在用的函式 TDateTimePicker->DateTime = Now(); TDateTimePicker->DateTime.DateTimeString(); TDateTimePicker...

2018年4月1日 星期日

BCB 筆記1 (MessageBox、ComboBox)

寫有介面的程式時常會需要跳出訊息 這裡介紹Application->MessageBox int MessageBox(const char* Text, const char* Caption, int Flags); 這裡沒啥好講的 想寫的幾乎都會變照抄網上的東西,所以就給連結當備份吧 1. http://yanjuns.blogspot.tw/2015/06/cbuilder-vcl.html 2. http://nelson.pixnet.net/blog/post/217684-%5Bbcb%5D-messagebox-%E7%9A%84%E5%8F%83%E6%95%B8%E8%AA%AA%E6%98%8E 如何令...

BCB OLE操作EXCEL(1)

BCB 操作 EXCEL、WORD ( OLE的應用 ) 之前有講工作關係需要彙整報告,報告不外乎 WORD、EXCEL、PDF檔 程式要操作 WORD、EXCEL 可以靠微軟的 COM(Component Object Model)或 .NET Framework. 照理說應該要用 .NET Framework ( 比較潮?? ) 但是公司前輩使用的是 COM 新人啥都不懂乖乖跟著學就對了,其實也不知道兩者實際差異 因為從來沒試過另外一種XD 在 COM 的基礎下,OLE ( Object Linking and Embedding )就是我們要用的技術 簡單來說就是把應用程式 (...

2018年3月29日 星期四

BCB 選擇路徑(資料夾)

BCB 選擇路徑(資料夾) 工作關係要將各式各樣的資料彙整並輸出 各式各樣的資料都放在同一目錄下 所以在設計程式就必須設計可以給使用者選擇目錄 但BCB10似乎沒有這種元件 (其實有 DirectoryListBox 但我駕馭不了) 於是Google發現大家用的是 SelectDirectory(); 網路上大大們說有 2 種版本 Boolean SelectDirectory(AnsiString Directory, TSelectDirOpts Options, Longint HelpCtx); Boolean SelectDirectory(const AnsiString...

BCB Debug

BCB Debug 因為工作關係接觸了 BCB10 這是我人生中第一次學 C++ 頁面打開其實不難理解但仍然迷茫了一星期 ( 公司只有一個人會,不好意思一直煩他 ) 雖然有強大的斷點功能 但我還是不太會用,應該說不習慣 加上我寫的都是小程式 所以我選擇寫一個TXT檔 來記錄LOG 程式碼如下 void BugReport(AnsiString msg) { AnsiString Path = ExtractFilePath(Application->ExeName); Path.cat_sprintf("DeBug.txt"); FILE *fp = fopen(Path.c_str(),...

Hi 第一篇就來寫寫動機吧 如果改了部落格標題的話 寫這篇的時候標題應該是"沒有方向整天偷懶的工程師" 如標題所示 為了維持工作動能,記錄程式碼,以及工作上大大小小的事 我決定開始寫 Blog 期許 每六日早上都能更新一禮拜發生的事 沒寫希望是出國或很忙,而不是因為通宵打 PS4 或 POE ( PS. 這篇是上班打的,夠偷懶的吧! ...

Popular Posts