|
autocad .net tutorials is free download
www.autodesk.com
jjjjjjj
|
|
|
|
|
Could someone give me a tip or help me make some code wich list all the ip addresses betwen to givel values. I need this for a host scaner and I spent a whole nigth working on it but I wrote only useless code. Thanks
|
|
|
|
|
What is the problem you are having?
|
|
|
|
|
For an example if I have 2 Ip address 127.0.0.1 and 127.0.2.1 I want to generate 127.0.0.1,127.0.0.2,127.0.0.3.......127.0.0.255....127.0.2.1
Do you understand now.
Or if there is a link about this subject that woulb be helpful
|
|
|
|
|
Since an IP address is a 32 bit unsigned integer, you can convert the IPs into "flat" numbers, then generate all the addresses you want, then convert them into a "classic" IP address.
For example:
string[] startAddr = "127.0.0.1".Split('.');
string[] endAddr = "127.2.0.1".Split('.');
uint start = uint.Parse(startAddr[0]) +
uint.Parse(startAddr[1]) * 256 +
uint.Parse(startAddr[2]) * 256 * 256 +
uint.Parse(startAddr[3]) * 256 * 256 * 256;
uint end = ...
uint[] addr = new uint[end - start];
for(int i = 0; i < addr.Length; i++) {
addr[i] = start + i;
}
string[] result = new string[addr.Lenght];
string tmp = "";
for(int i = 0; i < result.Lenght; i++) {
result[i] = "";
result[i] += ((uint)(addr[i] % (256 * 256 * 256 * 256))).ToString() + ".";
result[i] += ((uint)(addr[i] % (256 * 256 * 256))).ToString() + ".";
result[i] += ((uint)(addr[i] % (256 * 256))).ToString() + ".";
result[i] += ((uint)(addr[i] % (256))).ToString();
}
I don't know if this works (I didn't try it), but this is my idea.
EDIT: IT DOESN'T WORK AT ALL!
___________________________________
Tozzi is right: Gaia is getting rid of us.
My Blog [ITA]
-- modified at 4:59 Wednesday 15th February, 2006
|
|
|
|
|
I had a go at this for you, and got it to work, but there were plenty of weirdnesses!
IPAddress has a constructor that looks like:
IPAddress(byte[] address)
Which kept throwing an exception when passed the return from IPAddress.GetAddressBytes - this is weird as all the docs say it should work. There is a weird limitation that requires the byte array to have a length og 16 but II ensured this....
So anyway, IPAddress.Parse was working so a quick method such as the following gets round the issue.
private IPAddress IPFromBytes(byte[] bytes)
{
return IPAddress.Parse( String.Format("{0}.{1}.{2}.{3}",bytes[0],bytes[1],bytes[2],bytes[3]) );
}
Now, to solve this problem I started by thinking about how to incremement an IPAddress, and I came up with this:
Loop from the last digit to the first
if the current number is 255 set it to 0
otherwise incremement the number and break out the loop
this should cause the sequence to go
127.0.0.1
127.0.0.2
......
127.0.0.254
127.0.0.255
127.0.1.0
127.0.1.1
Here is the incremement code:
private byte[] Incremement(byte[] current)
{
for(int i=3;i>-1;i--)
{
if(current[i] == 255)
{
current[i] = 0;
}
else
{
current[i]++;
break;
}
}
return current;
}
Finally, the get range method must do the following
capture start and end IP's
loop while not at end
capture current IP into a list
incremement IP
The only hard part there is "loop while not at end", as weve already written the incremement and capturing to a list is childs play.
private System.Net.IPAddress [] GetRange(IPAddress start, IPAddress end)
{
byte[] startBytes = start.GetAddressBytes();
byte[] endBytes = end.GetAddressBytes();
byte[] currentBytes = startBytes;
ArrayList list = new ArrayList();
while(
currentBytes[0] < endBytes[0]
|| currentBytes[1] < endBytes[1]
|| currentBytes[2] < endBytes[2]
|| currentBytes[3] < endBytes[3])
{
list.Add( IPFromBytes(currentBytes) );
currentBytes = this.Incremement(currentBytes);
}
return (IPAddress[])list.ToArray(typeof(IPAddress));
}
Hope it helps, and please rememeber not to be doing anything malicious with port scanners!
|
|
|
|
|
Thx, i will see if I manage to solve my problem. And don`t be afraid I don`t want to make port scanners. I try to make an utility that detects all PC from a Lan by pinging them
|
|
|
|
|
How do I load an Assembly dynamically in a NEW appdomain?
The assembly is in bytes[] array.
Gurpreet
|
|
|
|
|
You should look for articles that deals with reflection and plugins.
YOu should be able to get the code you need from there.
I have a little plugin system on my page too (oldow it does not load an assembly into a new appdomain): http://cwizo.slogamedev.net/index.php?i=showcase&s=programs
Q:What does the derived class in C# tell to it's parent?
A:All your base are belong to us!
|
|
|
|
|
_________________________________________________________
The Assembly that I need to load:
_________________________________________________________
namespace WindowsApplication4
{
public class TestDll : MarshalByRefObject,interfaces.Test
{
public string HelloWorld()
{
return "Hello World";
}
}
}
_________________________________________________________
interfaces.Test is in a seprate dll. code is as below:
_________________________________________________________
namespace interfaces
{
public interface Test
{
string HelloWorld();
}
}
_________________________________________________________
The code that I am using to load:
_________________________________________________________
AppDomain currentDomain = AppDomain.CreateDomain("mydomain1");
currentDomain.AssemblyResolve += new ResolveEventHandler(MyResolver);
domain.CreateInstance("TestAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", "WindowsApplication4.TestDll");
static Assembly MyResolver(object sender, ResolveEventArgs args)
{
Assembly assembly;
AppDomain domain = (AppDomain)sender;
// Actually the assembly in bytes will come from database so temporarily loading it as below:
byte[] rawAssembly = loadFile("d:\\TestAssembly.dll");
assembly = domain.Load(rawAssembly);
return assembly;
}
I DO NOT FACE ANY PROBLEM IN LOADING THE ASSEMBLY WHEN IT IS NOT IMPLEMENTING THE INTERFACE. IT WORKS FINE IN THAT CASE.
Gurpreet
-- modified at 3:12 Wednesday 15th February, 2006
|
|
|
|
|
I am guessing but I think that you should add refrence to the Interface dll in your TestDLL
but you should really post some error or something.
Q:What does the derived class in C# tell to it's parent?
A:All your base are belong to us!
|
|
|
|
|
I get the following error:
{"Could not load file or assembly 'TestAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.":"TestAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"}
reference of interface.dll is added in Testdll. Testdll can not be compiled without the reference
Gurpreet
|
|
|
|
|
KaurGurpreet wrote: How do I load an Assembly dynamically in a NEW appdomain?
Just you would normally, but you need to call it from within that AppDomain.
|
|
|
|
|
I have set up the tab order of the textboxes on windows form.
When I tab out of one textbox to go to the next one, I would like to do a calculation.
i.e. textbox1 has a value of 3
tabbing out of textbox1 I would like to go to textbox 2 and have a figure in it
i.e. textbox2 = 5
How is this tabbing done please?
Thanks
|
|
|
|
|
Do your calculations in the LostFocus or Leave event of your textbox.
Q:What does the derived class in C# tell to it's parent?
A:All your base are belong to us!
|
|
|
|
|
Hi all,
How can I perform indentation in hierachical group for text field only in Crystal Report 9.1.5 for Visual Studio .Net 2003 (WinForms)?
Thanks in advance!
-- modified at 2:35 Sunday 19th February, 2006
|
|
|
|
|
Hi,
Anybody has any suggestions?
|
|
|
|
|
can anyone suggest a good website for grapjics programming with C#. i want to create a game using C#. my graphics need would be primarily restrcited to landscape creation.
|
|
|
|
|
First decide what will you use.
DirectX or OpenGL?
Q:What does the derived class in C# tell to it's parent?
A:All your base are belong to us!
|
|
|
|
|
The problem with my program right now is that it will be ran on pIII-400's. When I switch language from english to chinese in my program, the program blanks out all the pictures, and takes a while to switch language. (ie, It looks like its frozen for a bit)
Is there any way to make it so that it finishes changing the stuff in the background first, and then update the visual, so that it doesnt loo likek its frozen? It seems like its busy updating stuff in the background thats why the UI doesnt get the response time.
|
|
|
|
|
All the GUI proccessing is done in one thread.
If you have any operations that are not realeted to the GUI, then you can create a new thread and do the proccessiin there.
That way the GUI will function normally.
Q:What does the derived class in C# tell to it's parent?
A:All your base are belong to us!
|
|
|
|
|
Hi ,
I am working in C# 2.0 Windows Application . I would like to know how to send data [ Graph , Table ] directly to the printer.
I will have a form to get the user options. say for example 1. Graph 2. Table Values
if user selects Opt 1 then Graph alone should be sent to printer viceversa
Any help will be highly appreciated.
Regards
Vijaykishan
|
|
|
|
|
how to execute a text file, which contains sql script of a database.
I need to execute this file in my code.. i tried this function:
private void ExecSqlFileProcess(String fileName)
{
if (! File.Exists(fileName))
{
MessageBox.Show ("Specified .SQL File Not Found.","Net Fare Database Upgrade Tool",MessageBoxButtons.OK);
return;
}
using (StreamReader sr = new StreamReader(fileName))
{
String line,line1;
String sqlLine= "" ;
while ((line = sr.ReadLine()) != null)
{
line1 = line.Trim();
int compareResult = String.Compare(line1, "GO", true, CultureInfo.InvariantCulture);
if(compareResult != 0)
sqlLine += line + Environment.NewLine ;
//sqlLine += line + c.ToString() ;
else
{
if(sqlLine != "")
{
try
{
int i = SqlHelper.ExecuteNonQuery(connectionString,CommandType.Text,"USE "+DatabaseName+" "+sqlLine);
}
catch(Exception Ex)
{
MessageBox.Show (Ex.Message.ToString(),"Net Fare Database Upgrade Tool",MessageBoxButtons.OK ,MessageBoxIcon.Error );;
sqlLine = "";
}
}
sqlLine = "";
}
}//While
}//Using
}
but i got the following errors for all stored procedure scripts..but it dropped the stored procedure..it only did not create it..following error comes:
'Create Procedure' must be first statement in the query batch.
Must declare variable @IATACodeName, @IATADescription..etc..
|
|
|
|
|
|
Use the combo boxes SelectedIndexChanged event.
private void mycombobox_SelectedIndexChanged(object sender, System.EventARgs e)<br />
{<br />
\\Code Here<br />
}
|
|
|
|