ADSense script

Code Colors

顯示具有 Code::blocks 標籤的文章。 顯示所有文章
顯示具有 Code::blocks 標籤的文章。 顯示所有文章

2017年5月14日 星期日

C語言-取得時間數字

DateTime Timestamp string by sec
void DateTime(char const *date, char *buff) {
    int month, day, year;
    int hour, minute, second;
    static const char month_names[] = "JanFebMarAprMayJunJulAugSepOctNovDec";

    sscanf(date, "%s %d %d %d:%d:%d", buff, &day, &year,&hour, &minute, &second);
    month = (strstr(month_names, buff)-month_names)/3+1;
    sprintf(buff, "%d%02d%02d%02d%02d%02d", year, month, day, hour, minute, second);
   
    //!Application Example
    //{
    //    #if 1
    //    #undef __TIME__
    //    #define  __TIME__ "21:23:39"
    //    #endif // 1
    //    char StrTime[32];
    //    int yy,mm,dd,hh,min,sec;
    //    printf("\r\n " __DATE__ " " __TIME__ "\r\n");
    //    DateTime(__DATE__ " " __TIME__,StrTime);
    //    printf(" StrTime:%s\r\n",StrTime);
    //    sscanf(&StrTime[2], "%02d%02d%02d%02d%02d%02d", &yy,&mm,&dd,&hh,&min,&sec);
    //    printf(" Times :%3d%3d%3d%3d%3d%3d\r\n",yy,mm,dd,hh,min,sec);
    //}
}


log:
 May 14 2017 21:23:39
 StrTime:20170514212339
 Times : 17  5 14 21 23 39

Process returned 0 (0x0)   execution time : 0.022 s
Press any key to continue.

易拆的C語言模組-Default Func for easy split module.


使用C語言預設函式,方便模組移植拆除。
當 Jammar_TestFunc 沒有定義時,呼叫 Func_Default 處理

File main.c
void Func_Default(char* str){
  printf("Default Func:%s\r\n",str);
}
void Jammar_TestFunc(char* str) __attribute__((weak));

int main(int argc, char **argv){

  if(Jammar_TestFunc) Jammar_TestFunc( __TIME__);
  else Func_Default(__TIME__);

  return 0;
}

2017年1月13日 星期五

久違的 wxWidgets

由於 win7 最近需要一些工具,Console 說他解決不了,剛好 wxWidgets 湊巧路過,於是就開始了痛苦的掙扎......
我沒有概念是否有現成的 dll 可以直接下載,還是走了老方法自己 build 一套;但不是 dll build不出來,不然就是C::B一直說錯版本,最後才在 youtube上試到可行的方式,

Code::Blocks 16.01  含 mingw 的版本
wxWidgets 3.0.2 Windows 的版本

1. Build wxWidgets:
cmd (console)下:
//==============================================
先設定 compiler 路徑:
set MinGW=C:\Program Files (x86)\CodeBlocks\MinGW\
set Path=%MinGW%bin;%MinGW%mingw32\bin;%Path%
//==============================================
將路徑移至 wxWidets 資料夾後,清除資料再進行編譯(約30分鐘或更久)
cd  wxWidgets-3.0.2\build\msw
SET MAKE_PARM=-f makefile.gcc SHARED=1 MONOLITHIC=1 UNICODE=1 CXXFLAGS=-std=gnu++11
mingw32-make %MAKE_PARM% BUILD=release clean
mingw32-make %MAKE_PARM% BUILD=release 
//==============================================
檢查是否成功編譯
查看 wxWidgets-3.0.2\lib\gcc_dll 是否有成功產出 dll 檔案


//==============================================
把setup.h檔案複製到 include 資料夾中
 lib\gcc_dll\ 底下出現 "mswu" 和 "mswud" 兩個資料夾,
選擇其中一個,將 wx 資料夾裡的setup.h 檔案複製至include\wx 下即可

2012年12月15日 星期六

wxWidgets

最近重灌系統,順便把睽違兩年的IDE新版 code::blocks 裝起來"聞香"一下,
後來想說只有DOS介面也太遜了,把之前沒有弄出來的GUI - wxWidgets再弄弄看吧。

拜了Google大神,裡面 小吳の學習筆記  基礎設定寫的滿清楚的,照著做一遍,果然弄懂了之前不明白的變數設定,也學到如何在windows底下用MinGW編譯。

然後馬上遇到問題..."中文字串都是亂碼!!!",但心想"沒道理那麼差吧,UTF-8 橋接點都過了那麼久,有問題也早修正了吧",後來測試了_T()才成功讓中文字不變身。
因此立即重新定義巨集:
#define _(s)  _T(s)
否則GUI版面重新配置後視窗的名稱又便會變回去亂碼 orz...


好了,現在還有幾問題沒弄懂,
1.GUI Builder : wxSmith與 wxFormBuilder 有什麼差別?哪個比較流行?或是跨平台的。
2.Application Type 又是啥?? Dialog / Frame  有什麼特別的差異呢?

牙醫助理要排班嗎?

  最近開始在牙醫診所擔任助理,才真正體會到這份工作的節奏與挑戰。 很多人以為牙醫助理只是遞器械、清潔診間,其實排班本身就是一門學問。