xml version="1.0" encoding="utf-8" standalone="yes"12bet++博客-brent's huthttp://www.fometaux.com/aqazero/zh-cnFri, 23 Aug 2019 14:21:51 GMTFri, 23 Aug 2019 14:21:51 GMT6012bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2019/04/04/216331.htmlbrentbrentWed, 03 Apr 2019 17:31:00 GMThttp://www.fometaux.com/aqazero/archive/2019/04/04/216331.htmlhttp://www.fometaux.com/aqazero/comments/216331.htmlhttp://www.fometaux.com/aqazero/archive/2019/04/04/216331.html#Feedback0http://www.fometaux.com/aqazero/comments/commentRss/216331.htmlhttp://www.fometaux.com/aqazero/services/trackbacks/216331.html
代码:
http://www.fometaux.com/Files/aqazero/DrawTools2005Xmlable.zip


188bet 2019-04-04 01:31 宣布谈论
]]>
12bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2019/04/04/216330.htmlbrentbrentWed, 03 Apr 2019 17:28:00 GMThttp://www.fometaux.com/aqazero/archive/2019/04/04/216330.htmlhttp://www.fometaux.com/aqazero/comments/216330.htmlhttp://www.fometaux.com/aqazero/archive/2019/04/04/216330.html#Feedback0http://www.fometaux.com/aqazero/comments/commentRss/216330.htmlhttp://www.fometaux.com/aqazero/services/trackbacks/216330.htmlreference:
https://en.wikipedia.org/wiki/Topological_sorting

代码:
http://www.fometaux.com/Files/aqazero/TopoSort.zip


188bet 2019-04-04 01:28 宣布谈论
]]>
12bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2019/04/04/216329.htmlbrentbrentWed, 03 Apr 2019 17:24:00 GMThttp://www.fometaux.com/aqazero/archive/2019/04/04/216329.htmlhttp://www.fometaux.com/aqazero/comments/216329.htmlhttp://www.fometaux.com/aqazero/archive/2019/04/04/216329.html#Feedback0http://www.fometaux.com/aqazero/comments/commentRss/216329.htmlhttp://www.fometaux.com/aqazero/services/trackbacks/216329.html
https://en.wikipedia.org/wiki/List_of_file_signatures
http://www.fileformat.info/format/tiff/corion.htm
https://mh-nexus.de/en/hxd/

代码:
http://www.fometaux.com/Files/aqazero/TiffTag.zip


188bet 2019-04-04 01:24 宣布谈论
]]>
12bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2017/04/29/214894.htmlbrentbrentFri, 28 Apr 2017 21:02:00 GMThttp://www.fometaux.com/aqazero/archive/2017/04/29/214894.htmlhttp://www.fometaux.com/aqazero/comments/214894.htmlhttp://www.fometaux.com/aqazero/archive/2017/04/29/214894.html#Feedback0http://www.fometaux.com/aqazero/comments/commentRss/214894.htmlhttp://www.fometaux.com/aqazero/services/trackbacks/214894.html
I failed to find anything that can be used directly, it is hard to believe, a lot of implement of red-black tree in Java or 12bet can be easily got from internet (although none of them meets my requirement), but none in C#.

So I had to implement one, it was translated from a 12bet implement and modified to provide an immutable node.

Source code 
Example:
 1         RBTree<int> rbt = new RBTree<int>(Comparer<int>.Default);
 2         rbt.Add(3);
 3         rbt.Add(1);
 4         rbt.Add(10);
 5         rbt.Add(6);
 6         rbt.Add(7);
 7         rbt.Remove(10);
 8         RBNode<int> node6 = rbt.GetNode(6);
 9         rbt.Remove(node6);
10 
11         RBNode<int> node = rbt.GetNode(3);
12         node = node.Prev;
13         while (null != node)
14         {
15             System.Diagnostics.Trace.WriteLine(node.Value);
16             node = node.Next;
17         }

Output:
1
3
7


188bet 2017-04-29 05:02 宣布谈论
]]>
12bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2016/05/10/213484.htmlbrentbrentTue, 10 May 2016 06:23:00 GMThttp://www.fometaux.com/aqazero/archive/2016/05/10/213484.htmlxmlns:lex="http://schemas.root-project.org/xaml/presentation"
xmlns:p="clr-namespace:Pasasoft.Fep.UI.Properties"

"{lex:LocText Key=([a-zA-Z_]+), Assembly=Pasasoft.Fep.UI}"
"{x:Static p:Resources.$1}"


188bet 2016-05-10 14:23 宣布谈论
]]>
12bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2014/01/17/205451.htmlbrentbrentFri, 17 Jan 2014 12:43:00 GMThttp://www.fometaux.com/aqazero/archive/2014/01/17/205451.htmlhttp://www.fometaux.com/aqazero/comments/205451.htmlhttp://www.fometaux.com/aqazero/archive/2014/01/17/205451.html#Feedback1http://www.fometaux.com/aqazero/comments/commentRss/205451.htmlhttp://www.fometaux.com/aqazero/services/trackbacks/205451.htmlAlways code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. - (Martin Golding)

There are two ways to write error-free programs; only the third one works. - (Alan J. Perlis) 

A good programmer is someone who always looks both ways before crossing a one-way street. - (Doug Linder)

It should be noted that no ethically -trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter.  ― Nathaniel S. Borenstein

You've baked a really lovely cake, but then you've used dog sh*t for frosting. ― Steve Jobs

http://www.codeproject.com/Messages/4739776/Quotes-to-live-by.aspx


188bet 2014-01-17 20:43 宣布谈论
]]>
12bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2012/09/12/190456.htmlbrentbrentWed, 12 Sep 2012 15:26:00 GMThttp://www.fometaux.com/aqazero/archive/2012/09/12/190456.htmlhttp://www.fometaux.com/aqazero/comments/190456.htmlhttp://www.fometaux.com/aqazero/archive/2012/09/12/190456.html#Feedback0http://www.fometaux.com/aqazero/comments/commentRss/190456.htmlhttp://www.fometaux.com/aqazero/services/trackbacks/190456.htmlC:\PROGRA~2\COMMON~1\FLOORC~1\FEP\PRIMOA~2\PrimoRun.exe
1) disable driver digital signatures
http://answers.microsoft.com/en-us/windows/forum/windows_7-windows_programs/turning-off-digital-signatures/23c67c73-3fa0-4de3-a9b5-3adf4c3472f3 

You can disable digitally signed signatures, however it is not recommended.
Important: The driver signing enforcement in Windows 7 and Vista is there for a reason. Unsigned drivers could theoretically contain malicious code and harm your computer.

Step 1: Click Start button on the left bottom corner of desktop. In the search box, type "cmd"

Step 2: Go to Run command, and right click on command prompt and click on "Run as administrator".

Step 3: In the command prompt, type in these commands: Be very careful here. BCDEDIT controls how your computer boots up.

IMPORTANT:make a backup of your bcd file first. To do that, type:
bcdedit /export C:\savedbcd

This will create a file c:\savebcd which is your boot entry backup.
If you mess up, you can always undo changes by:

bcdedit /import c:\savedbcd

Then type these commands:

bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS
bcdedit.exe -set TESTSIGNING ON

After you finished the steps above mentioned, you have made digital driver signing signature disabled for all installation. So you can install device drivers on Windows 7 without warning message that those drivers should be digitally signed.


2) install gpedit on window 7 basic 
http://www.askvg.com/how-to-enable-group-policy-editor-gpedit-msc-in-windows-7-home-premium-home-basic-and-starter-editions/comment-page-4/#comments 

NOTE: For Windows 7 64-bit (x64) users! You'll also need to go to "SysWOW64" folder present in C:\Windows folder and copy "GroupPolicy", "GroupPolicyUsers" folders and gpedit.msc file from there and paste them in "C:\Windows\System32" folder. 

http://www.fometaux.com/Files/aqazero/add_gpedit_msc_by_jwils876-d3kh6vm.zip


3) uninstall AOL 
http://answers.yahoo.com/question/index?qid=20061224095808AAMxsCT 
AOL ANTIVIRUS AOL SPYWARE PROTECTION  AOL FIREWALL AOL SAFETY AND SECURITY CENTER 

http://forums.techguy.org/digital-photography-imaging/536280-alternate-solution-printer-driver-unknown.html 





188bet 2012-09-12 23:26 宣布谈论
]]>
12bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2010/09/09/126241.htmlbrentbrentThu, 09 Sep 2010 07:27:00 GMThttp://www.fometaux.com/aqazero/archive/2010/09/09/126241.htmlhttp://www.fometaux.com/aqazero/comments/126241.htmlhttp://www.fometaux.com/aqazero/archive/2010/09/09/126241.html#Feedback20http://www.fometaux.com/aqazero/comments/commentRss/126241.htmlhttp://www.fometaux.com/aqazero/services/trackbacks/126241.htmlhttp://www.fometaux.com/Files/aqazero/OffsetDemo6.zip



188bet 2010-09-09 15:27 宣布谈论
]]>
12bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2010/04/15/112672.htmlbrentbrentThu, 15 Apr 2010 07:49:00 GMThttp://www.fometaux.com/aqazero/archive/2010/04/15/112672.htmlhttp://www.fometaux.com/aqazero/comments/112672.htmlhttp://www.fometaux.com/aqazero/archive/2010/04/15/112672.html#Feedback0http://www.fometaux.com/aqazero/comments/commentRss/112672.htmlhttp://www.fometaux.com/aqazero/services/trackbacks/112672.html
Method A:
::SetWindowsHookEx(WH_FOREGROUNDIDLE, YourIdleProc, AfxGetInstanceHandle(), GetCurrentThreadId());

Method B (my way):
 1 static HHOOK s_hGetMsgHook = NULL;
 2 
 3 LRESULT FAR PASCAL GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam)
 4 {
 5     AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
 6 
 7     LPMSG lpMsg = (LPMSG) lParam;
 8     if( (nCode >= 0&& PM_REMOVE == wParam)
 9     {
10         //your code here. maybe to deal with hot-keys, accelerators ...
11         //see http://support.microsoft.com/kb/187988
12 
13         //my code to simulate OnIdle
14         static BOOL bIdle = FALSE;
15         CWinApp* pApp = AfxGetApp();
16         if(!bIdle && pApp->IsIdleMessage(lpMsg))
17             bIdle = TRUE;
18         
19         if(bIdle)
20         {
21             MSG msgPeek = {0};
22             if(!::PeekMessage(&msgPeek, NULL, NULL, NULL, PM_NOREMOVE))
23             {
24                 VERIFY(PostMessage(AfxGetMainWnd()->GetSafeHwnd(), WM_USER+0x120x340x56));
25             }
26         }
27 
28         if(lpMsg->hwnd == AfxGetMainWnd()->GetSafeHwnd() &&
29             lpMsg->message == WM_USER+0x12 && lpMsg->wParam == 0x34 && lpMsg->lParam == 0x56)
30         {
31             lpMsg->message = WM_NULL;
32             lpMsg->lParam = 0L;
33             lpMsg->wParam = 0L;
34 
35             pApp->OnIdle(0);
36             bIdle = FALSE;
37         }
38     }
39 
40     return ::CallNextHookEx(s_hGetMsgHook, nCode, wParam, lParam);
41 }
42 
43 int CYourOleControl::OnCreate(LPCREATESTRUCT lpCreateStruct) 
44 {
45     //...
46     
47     if(NULL == s_hGetMsgHook)
48         s_hGetMsgHook = ::SetWindowsHookEx(WH_GETMESSAGE, GetMsgProc, AfxGetInstanceHandle(), GetCurrentThreadId());
49 }
50 
51 void CYourOleControl::OnDestroy() 
52 {
53     //...
54     
55     ::UnhookWindowsHookEx(s_hGetMsgHook);
56     s_hGetMsgHook = NULL;
57 
58     COleControl::OnDestroy();
59 }

Method A is far more simple, but with Method B:

1) You can override CWinApp::IsIdleMessage to filter some special messages, such as a frequent timer which will not affect what you want to do in CWinApp::OnIdle. Because timer will affect message queue and if you don't filter it, OnIdle will be called every time after the timer is invoked.

2) Sometimes your action in OnIdle will affect message queue inevitably, thus you will get a infinite loop: OnIdle->the special messages in message queue->OnIdle->... But with Method B, with SPY++ you can find the special messages, and filter them in IsIdleMessage.


188bet 2010-04-15 15:49 宣布谈论
]]>
12bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2010/03/04/108868.htmlbrentbrentThu, 04 Mar 2010 03:12:00 GMThttp://www.fometaux.com/aqazero/archive/2010/03/04/108868.htmlhttp://www.fometaux.com/aqazero/comments/108868.htmlhttp://www.fometaux.com/aqazero/archive/2010/03/04/108868.html#Feedback4http://www.fometaux.com/aqazero/comments/commentRss/108868.htmlhttp://www.fometaux.com/aqazero/services/trackbacks/108868.html
void CMoveHandlerStateDraw::OnLButtonUp(UINT nFlags, CPoint point)
{
    
    
    AdjustPoint(point);

    m_pHandler
->Drop(point, m_ptHandlerPos);

    
}
可是,一旦往这个函数中刺进用来dump数据的代码, bug就不再呈现, 不论是将数据写到文件仍是显现在messagebox上。
启用release版别的"Debug Information", bug也不再呈现。
就算仅仅在该函数中声明一个CString变量, 这个奸刁的bug好像立刻就知道,立刻就藏起来, 把这个变量一去掉, 它立刻又跑出来了。

但后来发现, 这仅仅一只很一般的bug,底子没什么超才能。

聪明的你,知道这是为什么吗?



188bet 2010-03-04 11:12 宣布谈论
]]>
12bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2009/11/06/100283.htmlbrentbrentFri, 06 Nov 2009 03:56:00 GMThttp://www.fometaux.com/aqazero/archive/2009/11/06/100283.htmlhttp://www.fometaux.com/aqazero/comments/100283.htmlhttp://www.fometaux.com/aqazero/archive/2009/11/06/100283.html#Feedback0http://www.fometaux.com/aqazero/comments/commentRss/100283.htmlhttp://www.fometaux.com/aqazero/services/trackbacks/100283.html
http://stackoverflow.com/questions/313792/disabling-progress-bar-animation-on-vista-aero
http://msdn.microsoft.com/en-us/library/aa511486.aspx

用"meters"? 没空啊。

我的暴力办法是:
g_xpStyle.SetWindowTheme(m_hProgressWnd, L"",L"");

g_xpStyle 便是那个 CVisualStylesXP, google 一下就有了。


188bet 2009-11-06 11:56 宣布谈论
]]>
12bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2009/11/05/100221.htmlbrentbrentThu, 05 Nov 2009 08:01:00 GMThttp://www.fometaux.com/aqazero/archive/2009/11/05/100221.htmlhttp://www.fometaux.com/aqazero/comments/100221.htmlhttp://www.fometaux.com/aqazero/archive/2009/11/05/100221.html#Feedback0http://www.fometaux.com/aqazero/comments/commentRss/100221.htmlhttp://www.fometaux.com/aqazero/services/trackbacks/100221.html
1, 是Bitmap(RT_BITMAP)类型的图片无法加载, RT_BITMAP是预界说类型, 资源里边没有bmp文件的头, SizeofResource 的回来值要比图片文件少几个字节,因为少了这几个字节, 所以GDI+会回来invalid parameter过错。

2, 从IStream里边创立出来的Image方针好像会引证到堆里边的内存, 假如hBuffer被开释了, 创立的Image的内容就会被损坏,有时只能画出一小部分图片, 有时整个图片便是空白, 视其时的内存状况而定。调用Image的Clone也没用。


CYourClass::~CYourClass()
{
    
for(IMG_VECTOR::iterator it = m_arImage.begin(); it != m_arImage.end(); it++)
        delete 
*it;
    
for(HGLB_VECTOR::iterator it = m_arGlobal.begin(); it != m_arGlobal.end(); it++)
    {
        ::GlobalUnlock(
*it);
        ::GlobalFree(
*it);
    }
}

void CYourClass::AddImage(HMODULE hInst, UINT nResourceID, LPCTSTR lpType)
{
    
if(lpType == RT_BITMAP)
    {
        
//GDI+ can not load RT_BITMAP resouce, 
        
//because they are predefined resource, 
        
//they don't contains the image file header.
        assert(FALSE);
        
return;
    }

    HRSRC hResource 
= ::FindResource(hInst, MAKEINTRESOURCE(nResourceID), lpType);
    
if (!hResource)
        
return;

    DWORD imageSize 
= ::SizeofResource(hInst, hResource);
    
if (!imageSize)
        
return;

    
const void* pResourceData = ::LockResource(::LoadResource(hInst, hResource));
    
if (!pResourceData)
        
return;

    HGLOBAL hBuffer 
= ::GlobalAlloc(GMEM_FIXED, imageSize);
    
if (NULL == hBuffer)
        
return;

    
void* pBuffer = ::GlobalLock(hBuffer);
    
if (pBuffer)
    {
        CopyMemory(pBuffer, pResourceData, imageSize);
        IStream
* pStream = NULL;
        
if (::CreateStreamOnHGlobal(hBuffer, FALSE, &pStream) == S_OK)
        {
            Gdiplus::Image 
* pImage = Gdiplus::Image::FromStream(pStream);
            pStream
->Release();
            
if (pImage)
            { 
                
if (pImage->GetLastStatus() == Gdiplus::Ok &&
                    pImage
->GetWidth() > 0)
                {
                    m_arImage.push_back(pImage);
                    
//it seems the image will take usage of the global memory.
                    
//so the global memory should be kept until the image destroy.
                    m_arGlobal.push_back(hBuffer);
                    
return;
                }

                delete pImage;
            }
        }
        ::GlobalUnlock(hBuffer);
    }
    ::GlobalFree(hBuffer);
}



188bet 2009-11-05 16:01 宣布谈论
]]>
12bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2009/10/29/99731.htmlbrentbrentThu, 29 Oct 2009 03:56:00 GMThttp://www.fometaux.com/aqazero/archive/2009/10/29/99731.htmlhttp://www.fometaux.com/aqazero/comments/99731.htmlhttp://www.fometaux.com/aqazero/archive/2009/10/29/99731.html#Feedback0http://www.fometaux.com/aqazero/comments/commentRss/99731.htmlhttp://www.fometaux.com/aqazero/services/trackbacks/99731.htmlbcgcontrolbar

人世间最苦楚的事莫过于此。



188bet 2009-10-29 11:56 宣布谈论
]]>
12bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2009/04/06/79108.htmlbrentbrentMon, 06 Apr 2009 10:30:00 GMThttp://www.fometaux.com/aqazero/archive/2009/04/06/79108.htmlhttp://www.fometaux.com/aqazero/comments/79108.htmlhttp://www.fometaux.com/aqazero/archive/2009/04/06/79108.html#Feedback3http://www.fometaux.com/aqazero/comments/commentRss/79108.htmlhttp://www.fometaux.com/aqazero/services/trackbacks/79108.html
1,一个state machine workflow(Fund Request Process work flow)
2, 运用Polic来操控业务逻辑
3,完结了xoml和dll的别离,动态加载xoml,供给一个修正东西,能够edit the workflow on-the-fly

1, 并没有传说中的那么难
ASP.net和WF我都不熟, 依据两本书,一个msdn上的比方"Web Form Workflow Approvals Stater kit"和另一个比方Orders http://www.odetocode.com/Articles/465.aspx的根底上把prototype搞出来了。

2,了解概念很重要
假如不了解WF是怎样调用外部函数(CallExternalMethodActivity), 是怎样传Event给WF(HandleExternalEventActivity),DependencyProperty是怎样回事, 根本不必再搞了。

3,许多规划可做
WF只完结了workflow最内核的部分,十分灵敏。 相同的完结能够选用彻底不同的完结办法。 怎样完结workflow definition, 怎样规划Activities, 需求为Activities增加那些DependencyProperty, 这些DependencyProperty是怎样相互相关的, 怎样只在xoml里边保存workflow definition, 怎样完结Workflow和业务数据的交互, 怎样完结Workflow和安排结构或许role的相关, 都能够有彻底不同的规划。

4,还有许多概念。。
因为是prototype, 许多东西没考虑, 比方业务transation或许Compensate, 反常处理等。






188bet 2009-04-06 18:30 宣布谈论
]]>
12bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2008/11/19/67287.htmlbrentbrentWed, 19 Nov 2008 07:10:00 GMThttp://www.fometaux.com/aqazero/archive/2008/11/19/67287.htmlhttp://www.fometaux.com/aqazero/comments/67287.htmlhttp://www.fometaux.com/aqazero/archive/2008/11/19/67287.html#Feedback0http://www.fometaux.com/aqazero/comments/commentRss/67287.htmlhttp://www.fometaux.com/aqazero/services/trackbacks/67287.html
And now, sometimes , i need CMyDialog to be a model dialog (WS_POPUP), sometimes be a child of another dialog(WS_CHILD).

How to make this done without duplicating the template in resource?

Call ModifyStyle after creation? Failed
Modify the LPCREATESTRUCT's style in CMyDialog::OnCreate ? Failed.
Override PreCreateWindow? Failed.

After a lot of tracing and a lot of googling. I worked out something like this:

BOOL CMyDialog::CreateAsChild(CWnd * pParent)
{
    
if(!IsWindow(pParent->GetSafeHwnd()))
        
return FALSE;

    m_lpszTemplateName 
= ATL_MAKEINTRESOURCE(IDD_WALLLAYER_PROPERTYPAGE);  // used for help
    if (m_nIDHelp == 0)
        m_nIDHelp 
= LOWORD((DWORD_PTR)m_lpszTemplateName);

    HINSTANCE hInst 
= AfxFindResourceHandle(m_lpszTemplateName, RT_DIALOG);
    HRSRC hResource 
= ::FindResource(hInst, m_lpszTemplateName, RT_DIALOG);
    HGLOBAL hTemplate 
= LoadResource(hInst, hResource);
    LPCDLGTEMPLATE lpDialogTemplate 
= (LPCDLGTEMPLATE)LockResource(hTemplate);
    DLGTEMPLATEEX
* lpDlgTmpEx = (DLGTEMPLATEEX* )lpDialogTemplate;
    DWORD dwOldStyle 
= 0;
    BOOL bIsDlgEx 
= lpDlgTmpEx->signature == 0xFFFF;
    
if(bIsDlgEx)
    {
        dwOldStyle 
= lpDlgTmpEx->style;
        lpDlgTmpEx
->style = DS_SETFONT | WS_CHILD;
    }
    
else
    {
        dwOldStyle 
= ((LPDLGTEMPLATE)lpDialogTemplate)->style;
        ((LPDLGTEMPLATE)lpDialogTemplate)
->style = DS_SETFONT | WS_CHILD;
    }
    m_lpDialogInit 
= NULL;
    BOOL bResult 
= CreateDlgIndirect(lpDialogTemplate, pParent, hInst);
    
if(bIsDlgEx)
        lpDlgTmpEx
->style = dwOldStyle;
    
else
        ((LPDLGTEMPLATE)lpDialogTemplate)
->style = dwOldStyle;
    UnlockResource(hTemplate);
    FreeResource(hTemplate);
    
return bResult;
}

If you need your dialog to behavior as WS_POPUP or WS_CHILD without duplicating your dialog template, you just get an ugly answer. And anyone who know another better way, let me know please.

MFC


188bet 2008-11-19 15:10 宣布谈论
]]>
12bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2008/10/08/63485.htmlbrentbrentWed, 08 Oct 2008 09:06:00 GMThttp://www.fometaux.com/aqazero/archive/2008/10/08/63485.htmlhttp://www.fometaux.com/aqazero/comments/63485.htmlhttp://www.fometaux.com/aqazero/archive/2008/10/08/63485.html#Feedback0http://www.fometaux.com/aqazero/comments/commentRss/63485.htmlhttp://www.fometaux.com/aqazero/services/trackbacks/63485.html
"开释保管资源"。莫非是"release managed resource"?

什么叫做开释保管资源(release managed resource)? 莫非是把成员的引证设置为null?

一般来说假如一个方针被dispose了,那它也要立刻人间蒸发了,GC从全局变量和栈里边就要找不到它了,更不要说它的内部成员变量了,这时分设置它的成员为null有什么必要呢?

看了MSDN才知道,人家是"dispose managed resource",便是调用managed的方针的dispose办法。

太囧了,无法用中文表达。

有牛人在研讨用中文写程序,为什么IG诺贝尔奖不颁布给它呢? 一同,我总算知道为什么英文影印版的书比中文翻译版的要贵了。



188bet 2008-10-08 17:06 宣布谈论
]]>
12bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2008/08/27/60165.htmlbrentbrentWed, 27 Aug 2008 08:05:00 GMThttp://www.fometaux.com/aqazero/archive/2008/08/27/60165.htmlhttp://www.fometaux.com/aqazero/comments/60165.htmlhttp://www.fometaux.com/aqazero/archive/2008/08/27/60165.html#Feedback5http://www.fometaux.com/aqazero/comments/commentRss/60165.htmlhttp://www.fometaux.com/aqazero/services/trackbacks/60165.html自己完结图形文本修正器 或许 Graphical Text Proposal (Draft)

Demo EXE 地址 (无公害,因为是用wxWidgets,连Icon都没有,常常把人给吓着了。该程序对硬件无要求,对运用者有必定要求...)

源代码地址

编译需求wxWidgets。在这之后再没用过wxWidgets了,感觉便是另一套MFC。

抓个图:


写到Table和导出html部分的时分就无能为力了,敷衍了事。 导出html是做得最人模狗样,但却最败絮其间的部分。(英文版操作体系下导出html会crash,原因不知道)

一向有用C#从头写一个的激动,仅仅届时必定又是为德不卒。


188bet 2008-08-27 16:05 宣布谈论
]]>
12bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2008/08/27/60134.htmlbrentbrentWed, 27 Aug 2008 04:01:00 GMThttp://www.fometaux.com/aqazero/archive/2008/08/27/60134.htmlhttp://www.fometaux.com/aqazero/comments/60134.htmlhttp://www.fometaux.com/aqazero/archive/2008/08/27/60134.html#Feedback0http://www.fometaux.com/aqazero/comments/commentRss/60134.htmlhttp://www.fometaux.com/aqazero/services/trackbacks/60134.html
最近无意中发现,作者TigerX本来系地球村我国银,欧耶。
地址:http://www.codeproject.com/KB/tree/ctreelistctrl.aspx

还以为codeproject上没其它我国土人呢,华人却是知道有好几个。

俺也在codeproject发了篇文章,讲xml序列化杂乱方针模型的,门可罗雀啊。
http://www.codeproject.com/KB/cs/xmlable.aspx

嗯,很有不同。



188bet 2008-08-27 12:01 宣布谈论
]]>
12bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2008/08/21/59506.htmlbrentbrentThu, 21 Aug 2008 02:40:00 GMThttp://www.fometaux.com/aqazero/archive/2008/08/21/59506.htmlhttp://www.fometaux.com/aqazero/comments/59506.htmlhttp://www.fometaux.com/aqazero/archive/2008/08/21/59506.html#Feedback1http://www.fometaux.com/aqazero/comments/commentRss/59506.htmlhttp://www.fometaux.com/aqazero/services/trackbacks/59506.html
在12bet中,库的位置是十分高的。12bet之父 Bjarne Stroustrup先生屡次表明了规划库来扩大功用要好过规划更多的语法的言辞。实践中,12bet的库类别繁复,处理的问题也是极端广泛,库从轻量级到重 量级的都有。不少都是让人视野大开,亦或是望而生叹的思维创作。因为库的数量十分巨大,而且限于笔者水平,其间许多并不了解。所以文中所提的一些库都是比 较闻名的大型库。

规范库

规范库中供给了12bet程序的根本设备。尽管12bet规范库跟着12bet规范折腾了许多年,直到规范的出台才正式定型,可是在规范库的完结上却很令人欣慰得看到多种完结,而且已被实践证明为有工业等级强度的佳作。

1、   Dinkumware 12bet Library

参阅站点:http://www.dinkumware.com/
P.J. Plauger编写的高品质的规范库。P.J. Plauger博士是Dr. Dobb's程序规划出色奖的获得者。其编写的库长时刻被Microsoft选用,而且最近Borland也取得了其OEM的license,在其 C/12bet的产品中选用Dinkumware的库。

2、   RogueWave Standard 12bet Library

参阅站点:

http://www.roguewave.com
这个库在Borland 12bet Builder的前期版别中从前被选用,后来被其他的库给替换了。笔者不引荐运用。

3、SGI STL

参阅站点:

http://www.roguewave.com

SGI公司的12bet规范模版库。

4、STLport

参阅站点:http://www.stlport.org/

SGI STL库的跨渠道可移植版别。

 

准规范库——Boost

Boost库是一个经过饱经沧桑、可移植、供给源代码的12bet库,作为规范库的后备,是12bet规范化进程的发动机之一。 Boost库由12bet规范委员会库作业组成员建议,在12bet社区中影响甚大,其成员已近2000人。 Boost库为咱们带来了最新、最酷、最有用的技能,是不折不扣的“准”规范库。

Boost中比较有名望的有这么几个库:

Regex
正则表达式库

Spirit
LL parser framework,用12bet代码直接表达EBNF

Graph
图组件和算法

Lambda
在调用的当地界说矮小匿名的函数方针,很有用的functional功用

concept check
查看泛型编程中的concept

Mpl
用模板完结的元编程结构

Thread
可移植的12bet多线程库

Python
把12bet类和函数映射到Python之中

Pool
内存池办理

smart_ptr
5个智能指针,学习智能指针必读,一份不错的参阅是来自CUJ的文章:

Smart Pointers in Boost,哦,这篇文章能够查到,CUJ是供给在线阅读的。中文版见笔者在《Dr. Dobb's Journal软件研制杂志》第7辑上的译文。


Boost整体来说是有用价值很高,质量很高的库。而且因为其对跨渠道的着重,对规范12bet的着重,是编写渠道无关,现代12bet的开发者必 备的东西。可是Boost中也有许多是试验性质的东西,在实践的开发中有用需求慎重。而且许多Boost中的库功用可谓对言语功用的扩展,其结构竭尽精巧 的办法,不要轻率的花费时刻研读。Boost别的一面,比方Graph这样的库则是具有工业强度,结构杰出,十分值得研读的精品代码,而且也能够定心的在 产品代码中多多运用。

参阅站点:http://www.boost.org(国内镜像:http://www.c-view.org/tech/lib/boost/index.htm

GUI

在许多12bet的库中,GUI部分的库算是比较繁荣,也比较有目共睹的。在实践开发中,GUI库的挑选也是十分重要的一件作业,下面咱们总述一下可挑选的GUI库,各自的特色以及相关东西的支撑。

1、   MFC

台甫鼎鼎的微软根底类库(Microsoft Foundation Class)。大凡学过V12bet的人都应该知道这个库。尽管从技能视点讲,MFC是不大美丽的,可是它构建于Windows API 之上,能够使程序员的作业更简单,编程功率高,减少了许多在树立 Windows 程序时有必要编写的代码,一同它还供给了一切一般 12bet 编程的长处,例如承继和封装。MFC 编写的程序在各个版别的Windows操作体系上是可移植的,例如,在 Windows 3.1下编写的代码能够很简单地移植到 Windows NT 或 Windows 95 上。可是在最近开展以及官方支撑上日渐势微。

 

2、   QT

参阅网站:http://www.trolltech.com
Qt 是Trolltech公司的一个多渠道的12bet图形用户界面运用程序结构。它供给给运用程序开发者树立艺术级的图形用户界面所需的所用功用。Qt是彻底面 向方针的很简单扩展,而且答应真实地组件编程。自从1996年早些时分,Qt进入商业范畴,它现已成为全国际范围内数千种成功的运用程序的根底。Qt也是 盛行的Linux桌面环境KDE 的根底,一同它还支撑Windows、Macintosh、Unix/X11等多种渠道。

 3、WxWindows

参阅网站:http://www.wxwindows.org

跨渠道的GUI库。因为其类层次极像MFC,所以有文章介绍从MFC到WxWindows的代码移植以完结跨渠道的功用。经过多年的开发也是一个日 趋完善的GUI库,支撑相同不弱于前面两个库。而且是彻底敞开源代码的。新近的12bet Builder X的GUI规划器便是根据这个库的。

4、Fox

敞开源代码的GUI库。作者从自己亲自的开发经历中得出了一个抱负的GUI库应该是什么姿态的感触动身,然后开端了对这个库的开发。有爱好的能够测验一下。

参阅网站:http://www.fox-toolkit.org/

5、   WTL

根据ATL的一个库。因为运用了许多ATL的轻量级办法,模板等技能,在代码尺度,以及速度优化方面做得十分到位。首要面向的运用集体是开发COM轻量级供网络下载的可视化控件的开发者。

6、   GTK

参阅网站:http://gtkmm.sourceforge.net/

GTK是一个台甫鼎鼎的C的开源GUI库。在Linux国际中有Gnome这样的杀手运用。而GTK便是这个库的12bet封装版别。


网络通讯

ACE

参阅网站:

http://www.cs.wustl.edu/~schmidt/ACE.html

12bet库的代表,超重量级的网络通讯开发结构。ACE自适配通讯环境(Adaptive Communication Environment)是能够自在运用、敞开源代码的面向方针结构,在其间完结了许多用于并发通讯软件的中心办法。ACE供给了一组丰厚的可复用12bet 包装外观(Wrapper Facade)和结构组件,可跨过多种渠道完结通用的通讯软件使命,其间包括:事情多路别离和事情处理器分配、信号处理、服务初始化、进程间通讯、同享内 存办理、音讯路由、分布式服务动态(重)装备、并发履行和同步,等等。

StreamModule

参阅网站:http://www.omnifarious.org/StrMod
规划用于简化编写分布式程序的库。测验着使得编写处理异步行为的程序更简单,而不是用同步的外壳包起异步的实质。

SimpleSocket

参阅网站:http://home.hetnet.nl/~lcbokkers/simsock.htm

这个类库让编写根据socket的客户/服务器程序愈加简单。

A Stream Socket API for 12bet

参阅网站:

http://www.pcs.cnu.edu/~dgame/sockets/sockets12bet/sockets.html

又一个对Socket的封装库。

XML

Xerces

参阅网站:http://xml.apache.org/xerces-c/

Xerces-12bet 是一个十分强健的XML解析器,它供给了验证,以及SAX和DOM API。XML验证在文档类型界说(Document Type Definition,DTD)方面有很好的支撑,而且在2001年12月增加了支撑W3C XML Schema 的根本完好的敞开规范。

XMLBooster

参阅网站:http://www.xmlbooster.com/
这个库经过发生特制的parser的办法极大的提高了XML解析的速度,而且能够发生相应的GUI程序来修正这个parser。在DOM和SAX两大干流XML解析办法之外供给了别的一个可行的处理方案。

Pull Parser

         参阅网站:

http://www.extreme.indiana.edu/xgws/xsoap/xpp        
这个库选用pull办法的parser。在每个SAX的parser底层都有一个pull的parser,这个xpp把这层露出出来直接给咱们运用。在要充分考虑速度的时分值得测验。

Xalan

         参阅网站:http://xml.apache.org/xalan-c/

         Xalan是一个用于把XML文档转换为HTML,纯文本或许其他XML类型文档的XSLT处理器。

CMarkup

         参阅网站:http://www.firstobject.com/xml.htm

         这是一种运用EDOM的XML解析器。在许多思路上面十分灵敏有用。值得咱们在DOM和SAX之外寻求一点创意。

libxml++

http://libxmlplusplus.sourceforge.net/

libxml++是对闻名的libxml XML解析器的12bet封装版别

 

科学核算

Blitz++

参阅网站:http://www.oonumerics.org/blitz
Blitz++ 是一个高功率的数值核算函数库,它的规划意图是期望树立一套既具像12bet 相同便利,一同又比Fortran速度更快的数值核算环境。一般,用12bet所写出的数值程序,比 Fortran慢20%左右,因而Blitz++正是要改掉这个缺陷。办法是运用12bet的template技能,程序履行乃至能够比Fortran更快。 Blitz++现在仍在开展中,关于常见的SVD,FFTs,QMRES等常见的线性代数办法并不供给,不过运用者能够很简单地运用Blitz++所供给 的函数来构建。

POOMA

参阅网站:

http://www.codesourcery.com/pooma/pooma

POOMA是一个免费的高性能的12bet库,用于处理并行式科学核算。POOMA的面向方针规划便利了快速的程序开发,对并行机器进行了优化以到达最高的功率,便利在工业和研讨环境中运用。

MTL

参阅网站:http://www.osl.iu.edu/research/mtl/
Matrix Template Library(MTL)是一个高性能的泛型组件库,供给了各种格局矩阵的许多线性代数方面的功用。在某些运用运用高性能编译器的状况下,比方Intel的编译器,从发生的汇编代码能够看出其与手写几乎没有两样的效能。

CGAL

参阅网站:www.cgal.org

Computational Geometry Algorithms Library的意图是把在核算几许方面的大部分重要的处理方案和办法以12bet库的办法供给给工业和学术界的用户。

 

游戏开发

Audio/Video 3D 12bet Programming Library

参阅网站:

http://www.galacticasoftware.com/products/av/

AV3D是一个跨渠道,高性能的12bet库。首要的特性是供给3D图形,声效支撑(SB,以及S3M),操控接口(键盘,鼠标和遥感),XMS。

KlayGE

参阅网站:http://home.g365.net/enginedev/

国内游戏开发高手自己用12bet开发的游戏引擎。KlayGE是一个敞开源代码、跨渠道的游戏引擎,并运用Python作脚本言语。KlayGE在LGPL协议下发行。感谢龚敏敏先生为我国游戏开发作业所做出的奉献。

OGRE

参阅网站:http://www.ogre3d.org

OGRE(面向方针的图形烘托引擎)是用12bet开发的,运用灵敏的面向方针3D引擎。它的意图是让开发者能更便利和直接地开发根据3D硬件设备的应 用程序或游戏。引擎中的类库对更底层的体系库(如:Direct3D和OpenGL)的悉数运用细节进行了笼统,并供给了根据实践国际方针的接口和其它 类。

 

线程

12bet Threads

参阅网站:http://threads.sourceforge.net/

这个库的方针是给程序员供给易于运用的类,这些类被承继以供给在Linux环境中很难看到的许多的线程方面的功用。

ZThreads

参阅网站:http://zthread.sourceforge.net/

一个先进的面向方针,跨渠道的12bet线程和同步库。

 

序列化

s11n

参阅网站:http://s11n.net/

一个根据STL的12bet库,用于序列化POD,STL容器以及用户界说的类型。

Simple XML Persistence Library

参阅网站:http://sxp.sourceforge.net/

这是一个把方针序列化为XML的轻量级的12bet库。

 

字符串

12bet Str Library

参阅网站:http://www.utilitycode.com/str/

操作字符串和字符的库,支撑Windows和支撑gcc的多种渠道。供给高度优化的代码,而且支撑多线程环境和Unicode,一同还有正则表达式的支撑。

Common Text Transformation Library

参阅网站:http://cttl.sourceforge.net/

这是一个解析和修正STL字符串的库。CTTL substring类能够用来比较,刺进,替换以及用EBNF的语法进行解析。

GRETA

参阅网站:http://research.microsoft.com/projects/greta/

这是由微软研讨院的研讨人员开发的处理正则表达式的库。在小型匹配的状况下有十分优异的体现。

归纳

P::Classes

参阅网站:http://pclasses.com/

一个高度可移植的12bet运用程序结构。当时注重类型和线程安全的signal/slot机制,i/o体系包括根据插件的网络协议通明的i/o架构,根据插件的运用程序音讯日志结构,拜访sql数据库的类等等。

ACDK - Artefaktur Component Development Kit

参阅网站:http://acdk.sourceforge.net/

这是一个渠道无关的12bet组件结构,相似于Java或许.NET中的结构(反射机制,线程,Unicode,废料搜集,I/O,网络,有用东西,XML,等等),以及对Java, Perl, Python, TCL, Lisp, COM 和 CORBA的集成。

dlib 12bet library

参阅网站:http://www.cis.ohio-state.edu/~kingd/dlib/

各式各样的类的一个归纳。大整数,Socket,线程,GUI,容器类,以及阅读目录的API等等。

Chilkat 12bet Libraries

参阅网站:

http://www.chilkatsoft.com/cpp_libraries.asp

这是供给zip,e-mail,编码,S/MIME,XML等方面的库。

12bet Portable Types Library (PTypes)

参阅网站:http://www.melikyan.com/ptypes/
这是STL的比较简略的替代品,以及可移植的多线程和网络库。

LFC

参阅网站:http://lfc.sourceforge.net/

哦,这又是一个测验供给一切的12bet库

 

其他库

Loki

参阅网站:

http://www.moderncppdesign.com/
哦,你或许诉苦我早该和Boost一同介绍它,一个试验性质的库。作者在loki中把12bet模板的功用发挥到了极致。而且测验把相似规划办法这样思维层面的东西经过库来供给。一同还供给了智能指针这样比较有用的功用。

ATL

ATL(Active Template Library)是一组细巧、高效、灵敏的类,这些类为创立可互操作的COM组件供给了根本的设备。

F12bet: The Functional 12bet Library

这个库供给了一些函数式言语中才有的要素。归于用库来扩大言语的一个代表作。假如想要在OOP之外寻觅另一分的趣味,能够去看看函数式程序规划的世 界。大师Peter Norvig在 “Teach Yourself Programming in Ten Years”一文中就将函数式言语列为至少应当学习的6类编程言语之一。

FACT!

参阅网站:http://www.kfa-juelich.de/zam/FACT/start/index.html

         别的一个完结函数式言语特性的库

Crypto++

供给处理暗码,音讯验证,单向hash,公匙加密体系等功用的免费库。还有许多十分激动人心或许是极端有用的12bet库,限于咱们的水平以及文章的篇幅不能包括进来。在关于这些现已包括近来的库的介绍中,因为并不是每一个咱们都运用过,所以不免有偏颇之处,请读者见谅。

 

资源网站

正如咱们能够经过核算机历史上的重要人物了解核算机史的开展,12bet相关人物的网站也能够使咱们得到最有价值的参阅与学习,下面的人物咱们以为没有 介绍的必要,只因下面的人物在12bet范畴的位置众所周知,咱们只将相关的资源进行罗列以供读者学习,他们有的作业于贝尔试验室,有的作业于闻名编译器厂 商,有的在不断推动言语的规范化,有的为读者撰写了多部千古奇作……

Bjarne Stroustrup  http://www.research.att.com

Stanley B. Lippman

http://blogs.msdn.com/slippman/(中文版

http://www.zengyihome.net

http://www.zengyihome.net/slippman/index.htm

Scott Meyers  http://www.aristeia.com/

David Musser  http://www.cs.rpi.edu/~musser/

Bruce Eckel  http://www.bruceeckel.com

Nicolai M. Josuttis  http://www.josuttis.com

Herb Sutter  http://www.gotw.ca/

Andrei Alexandrescu  http://www.moderncppdesign.com/







188bet 2008-08-21 10:40 宣布谈论
]]>
12bet++博客-brent's huthttp://www.fometaux.com/aqazero/archive/2008/08/18/59204.htmlbrentbrentMon, 18 Aug 2008 03:33:00 GMThttp://www.fometaux.com/aqazero/archive/2008/08/18/59204.htmlhttp://www.fometaux.com/aqazero/comments/59204.htmlhttp://www.fometaux.com/aqazero/archive/2008/08/18/59204.html#Feedback1http://www.fometaux.com/aqazero/comments/commentRss/59204.htmlhttp://www.fometaux.com/aqazero/services/trackbacks/59204.html
“初中时学习高中和大学的数学” ,丫的还在乡村呢,哪里来的书? “微积分的思维。”

“按爱好开展。” 和我初中时学物理相同嘛,惋惜俺当年找不到书看,否则俺也是牛人了,哈哈。

1是爱好,2是能超前学习。

“15岁上大学” 。真是终生教育啊

“两最牛逼的同学自杀” 经得起锻炼

“不知道下一步学什么” 有人能在微观上辅导是多么重要。

教育学生“只需告知他一个方向”

“有鲜明个性的学生” “批判教师” “交大的核算机硕士” “成为国际闻名的数学家” “两三年之内”

“奥数” “比赛 ” -“鼓励爱好 自己买书 自己去看 自己考虑” “没有培训班” “想好几个月” “做研讨 想好几年”

“进入大学便是人生方针” “为爸爸妈妈读书,不是为自己的爱好读书”

“美国孩子每天便是想着怎样去玩” “不注重数学技巧”

“小学一二年级开端,做一些研讨性的东西” “展板” “讲演” “讲的才能”

“美国高中生压力十分大” “考试不比国内少”

“(电子游戏)小的时分没触摸过,一上大学家里不管了”

“机械练习” “没有成就感 ” “不是智力的体现”

“国内学生根底好” “微积分很好”

“缺乏自信” “请他们吃饭” “吃了许屡次饭” “表达才能短缺”


“数学学习的办法”

“超前学习” “预习” “学高年级的常识” “走在教师前面” 站得高看得远啊。

“做题太多” “不要为技巧而技巧”

“爱好之所以能发生” “自己的主意能处理问题, 成就感, 觉得自己有异乎寻常的当地”

“拓展常识面” “看得远一些”

“奥数” “很大的利益链”

“物理学家学数学的办法” “在研讨中学习” 又是超前学习

“多亮点列传,大学的时分”

“美国大学的培育办法:扔到水里游水”

google, 线性代数 矩阵

“数学练习十分重要”

费曼? “天才:脑袋里放几个问题,学到一个新的办法后把这些问题试一遍,说不定哪天就打开了,他人就觉得你是个天才”

“数学品尝” 知道什么是好,什么是差

“研讨 research” “重复查找”



188bet 2008-08-18 11:33 宣布谈论
]]>