|
The number of periods will reflect 10 years of Land Development Project. Which actually takes much longer in length. So to your information 120 column report is actually a consice version.
-- modified at 7:46 Wednesday 28th September, 2005
I will use Excel to export the information, no need for Crystal Reports.
|
|
|
|
|
I work with c#.net and i need a obfuscator to Cryptography the code of the projects, for nobody can read the code using a reverse engineering.
i would like to know which is the best obfuscator?
Thanks Junior Lopes
|
|
|
|
|
Not possible. There is no such thing as an obsfucator that stops people from reading your code - the .NET framework needs to be able to read it.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
so i can not protect my code, i mean if i do a small project and i want to sell this project, and then somebody can read my code? i can not hide or crytography ? how does the companies do ?
|
|
|
|
|
You can use C++, otherwise, you just have to hope for the best.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
You cannot prevent that your code is being read, but you can make the decompiled code harder to understand by using an obfuscator. Obfuscators rename all classes and methods, which makes guessing what the code does much harder.
You can also use Salamander Protector to compile .NET assemblies to native code, but it's expensive...
|
|
|
|
|
Be aware that even compiling into native code won't stop a determined hacker from being able to bypass your regisitration routines. Ultimately whatever you do your code will be turned into x86 assembly, and it's execution can be monitored in a debugger. This is why even though game companies spend millions on copyprotection cracked versions are out within days.
|
|
|
|
|
Obfuscators don't rename all classes and methods - only internals and privates. There could be an obfuscator that - given all assemblies for an application - obfuscates anything but then your assemblies would not be easily reusable, either. What would happen if third-party component developers obfuscated their public classes? It would be difficult to use them and in some cases impossible, since IL allows for characters for methods, properties, etc., that are not allowed in source languages like C# and VB.NET.
This posting is provided "AS IS" with no warranties, and confers no rights.
Software Design Engineer
Developer Division Customer Product-lifecycle Experience
Microsoft
[My Articles] [My Blog]
|
|
|
|
|
The way obfuscators work is to rename variables, class members and such to - for a human reader - meaningless names.
So even if you decompile the code, your classes will have methods similar to this:
void a(string a, int b) But that just makes it harder for a human reader to understand your code, not impossible to read.
There are also cases where obfuscators can't hide everything because the program itself is relying on constant method names, for example when using reflection.
Regards,
mav
|
|
|
|
|
Why do you want to do that?
Does it matter if someone sees your code?
If he isn't able to see the code he could simply look at the assembly (either the real or the MSIL) and that way figure out how it works.
What's the purpose then?
Niklas Ulvinge aka IDK
|
|
|
|
|
Hi everybody...
I have an application written in C# with report printing support.I want to establish Right-To-Left printing in my application.It uses the standard GDI+ printing fetures. My report contains lines,Images,Rectangle,Text and ... objects by using DrawString,DrawLine and DrawXXX methods.
How can I change the GDI+ default Left-To-Right behaviour in PrintDocument object ? I know the TranslateTransform()method of Graphics objec. Is there another way to change this default without using TranslateTransform() ?
Please help me.
Best Regards,
Xironix
[ _ Always there is another way _ ]
|
|
|
|
|
I have a recursive call to a treeview as such:
foreach (TreeNode n in nodes)
{
do something
}
How can I get this to work fall all nodes except the TopNode? Thanks in Advance.
D
|
|
|
|
|
instead of
foreach(treenode n in nodes)
{
}
u cld do the coding wotever u wanna do.."for those levels"..
so in tat case, u cld not do it for the topnode level..
i guess this shld do..
try it..
|
|
|
|
|
create your root node
then call the recursive function to return a treenode collection with root as parent
as all nodes can be a subtree, this can also work by recursilvely calling itself and returning a subtree with its caller as the root, eventually the root(top initial root) node will end up with all subtrees as its children
have just finished a similar problem to this, gotta love recursion
regards,
g00fy
|
|
|
|
|
Thanks for your help. But how do I return the root as the parent? the root node is displayed when the form is generated. However, there are no child nodes until the user drags-and-drops to the corresponding treeview. Thanks again.
|
|
|
|
|
i thought you wanted to exclude the root node, that is the initial root node.
you should just be adding to it with your recursive call like
rootNode.Nodes.Add(GetSubTree());
if you want the root, the easiest way is to code it and hold a reference to it
... or ...
get it from tree.Nodes collection
hth
g00fy
|
|
|
|
|
Thanks for the speedy response. You were right, I want to exclude the topnode or root node. I want to make changes to all of the child nodes, not the topnode. How will adding the GetSubTree exclude the topnode? Thanks again for all of your help.
|
|
|
|
|
get subtree is your recursive call that is building the subtree/s then you add that to the node collection of the rootnode
just a quick eg of top of head
<br />
private TreeNode root;<br />
<br />
public void Test()<br />
{<br />
<br />
root = new TreeNode("root");<br />
<br />
root.Nodes.Add(GetSubTree());<br />
this.treeView1.Nodes.Add(root);<br />
}<br />
<br />
int i = 0;<br />
private TreeNode GetSubTree()<br />
{ <br />
TreeNode subtree = new TreeNode("x: " + i);<br />
<br />
while(i++ < 10)<br />
{<br />
root.Nodes.Add(new TreeNode("node: " + i));<br />
return GetSubTree(); <br />
}<br />
<br />
return subtree;<br />
}<br />
hth
g00fy
|
|
|
|
|
Thanks for your help Goofy. Have a good one.
|
|
|
|
|
no problem,
hopefully i was some help
regards,
g00fy
|
|
|
|
|
hi to all,
does anyone know why this is not working for me, if have searched hi and low to get the constants (btw, is there an easy way to inspect dll to get constants ?) and i have come up with this but it doesnt scroll, i only want to scroll horizontally, single line, to make sure i can left / right scroll through textbox over/under flow
<br />
private const int WM_HSCROLL = 276;
private const int WM_VSCROLL = 277;
private const int SB_LINEUP = 0;
private const int SB_LINELEFT = 0;
private const int SB_LINEDOWN = 1;
private const int SB_LINERIGHT = 1;
private const int SB_PAGEUP = 2;
private const int SB_PAGELEFT = 2;
private const int SB_PAGEDOWN = 3;
private const int SB_PAGERIGTH = 3;
private const int SB_PAGETOP = 6;
private const int SB_LEFT = 6;
private const int SB_PAGEBOTTOM = 7;
private const int SB_RIGHT = 7;
private const int SB_ENDSCROLL = 8;
<br />
<br />
[DllImport("user32.dll", CharSet=CharSet.Auto)]<br />
private static extern int SendMessage(IntPtr hWnd, int wMsg, IntPtr wParam, IntPtr lParam);<br />
<br />
<br />
private void btnScrollLeft_Click(object sender, System.EventArgs e)<br />
{<br />
SendMessage(this.textBox.Handle, WM_HSCROLL, (IntPtr)SB_LINELEFT, IntPtr.Zero);<br />
}<br />
any help would be excellent,
thank you
g00fy
|
|
|
|
|
textBox1.SelectionStart = 0;
textBox1.ScrollToCaret();
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
thanks for speedy reply Christian, but that will just scroll to end of line left or right, i wanted to scroll char at a time either way.
i got it sorted anyway, in all my attempts i inadvertantly set scrollbars to none on the textbox, so its working now
however, i have reduced the size of the textbox so you cannot see the scrollbar and am using custom buttons at either end depending on which side is overflowed.
the question,
can i completely hide the scrollbar, because there is still a 2 pixel scrollbar under the textbox, and my form colour really makes it standout ?
kind regards,
g00fy
|
|
|
|
|
I doubt you can hide it. I think a variation on the code I showed you is the way to go, you can scroll to where-ever you like, by selecting it first.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
thank you for speedy responses,
i will go with your idea
kind reagrds,
g00fy
|
|
|
|