Wednesday, March 28, 2012

ปัญหา Export pdf ใน Crystal Reports ของ Visual Studio 2005 แล้ว Font Size เล็กลง

ปัญหาที่พบนี้เจอกับ ASP.NET ซึ่ง pdf ที่ Export ออกมา มีขนาด Font ที่เล็กลงกว่าปกติ และทดลองทำตาม วิธีแก้ไขที่เจอใน Web ด้วยการ update ด้วยไฟล์ dbex10win_en.zip และ แก้ Registry HKEY_CURRENT_USER\SOFTWARE\Crystal Decisions\10.0\Crystal Reports\Export\PDF โดยแก้ไขค่า ForceLargerFonts ชนิด REG_DWORD เป็น 1 แล้วก็ยังมีปัญหาอยู่

ผมเข้าใจว่าเหตุที่วิธีข้างต้นใช้งานไม่ได้ เป็นเพราะว่า Crystal Reports (CR) ที่มากับ VS2005 จะเป็น version 10.2 แต่วิธีแก้ไขดังกล่าว เป็นของ CR 10.0

สำหรับวิธีแก้ไขของ CR ใน VS2005 แล้วใช้งานได้สำเร็จ มีดังนี้
1. copy ไฟล์ 2 ไฟล์ ตามรายการไปไว้ที่ C:\Program Files\Common Files\Crystal Decisions\2.0\bin โดยใช้ไฟล์
- crtslv.dll version 8.6.1.726 วันที่ 2003/07/25
- ExportModeller.dll version 8.6.2.440 วันที่ 2003/07/28
ซึ่งทั้ง 2 ไฟล์นี้ มาจาก CR 8.5

2. สั่ง run regsvr32 สำหรับไฟล์ dll 2 ไฟล์ในข้อ 1
- regsvr32 "C:\Program Files\Common Files\Crystal Decisions\2.0\bin\crtslv.dll"
- regsvr32 "C:\Program Files\Common Files\Crystal Decisions\2.0\bin\ExportModeller.dll"

3. copy ไฟล์ crxf_pdf.dll ไปไว้ที่ C:\Program Files\Common Files\Business Objects\2.7\Bin โดยใช้ไฟล์
- crxf_pdf.dll version 9.2.0.565
( ไม่ต้อง run regsvr32)

4. Restart IIS ใหม่
- net stop w3svc
- net start w3svc

(ใช้งานบน Windows Server 2003 Standard + framework 2.0 + CRRedist2005_x86.msi )

Visual Studio 2010 Keyboard and Mouse Shortcuts

Get the official Visual Studio 2010 keyboard shortcut posters from Microsoft.
Building on my previous VS2008 Shortcuts post, I thought it'd be a good idea to see what Visual Studio 2010 brings to the keyboard and mouse shortcut arena.
While the basis for this list remains those shortcuts outlined in my previous post, I did verify that each of those shortcuts still works. New VS2010 shortcuts are highlighted in blue. Where appropriate, dialogs, etc. have been updated to VS2010. Last, I tried to order entries in a pseudo-alpha format. Barring that, they're logically placed together, so hopefully it makes sense and things are easy to find.

Keyboard Shortcuts

1. Alt-Shift-Enter to View Coding Window Full-screen
alt_key_small-w65 plus shift_key_small_w65 plus enter_key_small_h65   
Hitting "Alt+Shift+Enter" will make the coding window full-screen and (temporarily) drop most other windows from view. Restore to your usual window configuration by de-pressing the "Full Screen" button at top (the fact that it seems to be pushed up a little off-screen must be a VS2010 Beta 2 deal):
image

2. Alt-F12 to Find Symbol
alt_key_small-w65plusf12_key_small_h65
Use "Alt-F12" to find symbols, objects, or members.
image

3. Ctrl-F to do a Quick Find
ctrl_key_small_h65 plusletter_f_small_h65
Search for something in the current code file quickly with "Ctrl-f".image

4. Ctrl-Shift-F to Find in Files
ctrl_key_small_h65plusshift_key_small_h65 plusletter_f_small_h65
Find in files is easy with "Ctrl-Shift-f".image

5. Ctrl-K-C to Comment/Uncomment Code
ctrl_key_small_h65plus letter_f_small_h65 plus letter_c_small_h65
You can comment or uncomment code by highlighting the respective code block and hitting "Ctrl-k-c" to comment or "Ctrl-k-u" to uncomment. This shortcut even works in .aspx pages.
image
image

6. Ctrl-K-D to Reformat the Entire Document
ctrl_key_small_h65plus letter_k_small_h65 plus letter_d_small_h65
If you want to reformat all of the code in the current document, hit "Ctrl-k-d".

7. Ctrl-K-F to Reformat a Block of Code
ctrl_key_small_h65plus letter_k_small_h65plus letter_f_small_h65
If you've just pasted in a bunch of code where the formatting is screwed-up, just highlight it and hit "Ctrl-k-f" to format.

8. Ctrl-K-L to Toggle Outlining Ctrl-M-M to Toggle Outlining
ctrl_key_small_h65plus letter_m_small_h65 plus   letter_m_small_h65
If you want to open (expand) or close (collapse) all outlining in a code file, use "Ctrl-m-m". It works like a toggle, alternatively expanding or collapsing all outlining in the current file.

9. Ctrl-K-S to Access Code Snippets
ctrl_key_small_h65plusletter_k_small_h65plusletter_s_small_h65   
Easily open the code snippets selection dropdown with "Ctrl-k-s":
image

10. Ctrl–K–T to View Call Hierarchy
ctrl_key_small_h65plusletter_k_small_h65plusletter_t_small_h65
Highlight a member operation and hit "Ctrl-k-t" to view it's call hierarchy.
image
A new window will open:
image

11. Ctrl-L to Cut Line to Clipboard
ctrl_key_small_h65plus letter_l_small_h65
It's not necessary to highlight an entire line and then hit the delete key. Just hit "Ctrl-L" and the line the cursor is currently on will be removed and copied to the clipboard. "Ctrl-x" performs the same operation by default.

12. Ctrl-F3 to Search Without the Dialog
ctrl_key_small_h65plus f3_key_small_h65
ctrl_key_small_h65 plus shift_key_small_h65plus f3_key_small_h65 
Just highlight the text you want to search on and hit "Ctrl-F3" to search down or "Ctrl-Shift-F3" to search up.

13. Ctrl-, (Ctrl-Comma) to Perform a Fuzzy 'Navigate To' Search
ctrl_key_small_h65plusimage
Perform a "fuzzy" search and get location information with "Ctrl-," (Ctrl-Comma).
image

14. Ctrl-] to Find Matching Curly Brace or Region
ctrl_key_small_h65plus right_curly_brace_paren_small_h65
Position the cursor next to a curly brace ('{' or '}') and hit "Ctrl-}'. This will toggle the cursor between the matching braces.
image
This shortcut will also work for #region...#endregion's.

15. F9 to Add/Remove Breakpoint
f9_key_small_h65
'F9' will toggle breakpoints for the current line.


16. F12 to Go to Definition
f12_key_small_h65
Put the cursor on an item and hit 'F12'. Instant 'go to definition' functionality.

17. Shift-F5 to Stop Debugging
shift_key_small_h65plus f5_key_small_h65
To stop debugging a project, use "Shift-F5". Much quicker than going through the Debug menu.

18. Shift-F12 to Find Usages
shift_key_small_h65plusf12_key_small_h65 
'Shift-F12' will find all usages of the item the cursor is currently on and display the "Find Usages" dialog (this is ReSharper's version of the dialog; standard VS2008 looks a little different):
image


19. 'prop' to Create New Property
propplustab_key2_small_h65 plustab_key2_small_h65
Add a new property in code by typing prop then hitting the Tab key twice. This "prop-TAB-TAB" combination will create a property template that looks like:
   1: public int MyProperty { get; set; }

Mouse Shortcuts

1. Right-click to add references
Say you've just entered a line of code like the following where the red squiggly indicates you haven't yet added the necessary reference (in VS2010 Beta 2, the red squiggly isn't showing up, but the shortcut still works):
image
You could jump to the top of the file and type it in manually, or you could right-click on the squiggly-indicated word and choose "Resolve | using …":
image
This will add the needed reference for you, no typing required.

2. Zoom In/Zoom Out
ctrl_key_small_h65plusimage
The same Word functionality of pressing Ctrl and zooming in and out is now in VS2010.

3. Remove unused references
Many times there are references included in the "using…" section that are not needed. Removing the unnecessary ones is easy: Right-click anywhere on the code file, select "Organize Usings | Remove Unused Usings".
image

4. Sort usings
To sort your "usings…" section, right-click anywhere on the code file and select "Organize Usings | Sort Usings".
image

5. Open a file's "containing folder"
Right-click on an open file's tab, select "Open Containing Folder".
image

6. Copy a file's folder location to the clipboard
Right-click on an open file's tab, select "Copy Full Path".
image

7. Close all files but "this" one
If you have more than one file open, you can right-click on one of the file tabs (the one which you want to stay open) and choose "Close All But This". This will close all other files.
image

8. Close tab 
A quick way of closing a tab is to use the mouse scroll or middle button. Hover the mouse cursor over the tab, click the mouse scroll button, and the file (and it's tab) will close.

9. Highlight References/Usages
Place the cursor on any member and VS2010 will auto-highlight it throughout:
image

Conclusion

Again, if anyone has anything I missed (I know there's got to be a lot), leave a comment. I'd love to learn some new ones!