|
Well I can tell you that yes, Serial Ports are COM ports.
I don't know if they are the only things listed as COM ports, I imagine that USB could also be listed as a COM port...
On my computer in Device Manager, my serial port is listed as a COM port and my USB port is listed separately as something else (this may not be the case for all computers).
Hope this helps..
Jae
{My Blog}
|
|
|
|
|
Cool, so I guess my ulitimate quetion is, how can I get all the available COM ports on my computer?
/\ |_ E X E GG
|
|
|
|
|
I am assuming you want to use C#. I recently wrote a serial port program using the wrapper class found at http://www.codeproject.com/dotnet/DotNetComPorts.asp. In the SerialComm class found at this link, there is a method called Available(string portName).
You can use this method in a for loop to iterate through a number of ports, say 32 of them, and check:
for(int i=0;i<32;i++) {<br />
if(p.Available("COM"+i.ToString())) {<br />
Console.WriteLine("I have port {0}",i.ToString());<br />
}<br />
}
Reading that article found at the link might help also.
Jae
{My Blog}
|
|
|
|
|
I want to create a CustomColumnHeader class to then use in conjuction with a ListView control. I want to be able to adjust the height of the ColumnHeader and for it to remain at the set height even when the ColumnHeader is moved. I also want to use the XP theme in my application, so the method of using the Win32 API as used in the article on creating a CustomListView with calls to the Win32 is out of the question as this inhibits use of the XP theme.
Where can I get information on the internal structure of the ColumnHeader class to enable me to write a control which inherits from ColumnHeader?
|
|
|
|
|
Actually, there is not ColumnHeader control. Like most controls in Windows Forms (in the BCL), the ListView and it's related classes and members encapsulate a Windows Common Control. In this case, the ListView encapsulates the List-View common control. If you want information about how to custom draw headers (and do anything else with the ListView that isn't exposed in the .NET BCL), read about the List-View Controls[^]. You must P/Invoke several native APIs and declare the structs and constants you need that are defined in C/C++ headers already (which C# can't use).
If you want information on custom theming, read the Visual Styles Reference[^], which requires that also P/Invoke a lot of native APIs.
In both cases, there are several articles that cover these topics in varying detail here on CodeProject. I suggest you try searching.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Anyone know where I can get my hands on some documentation for the PDF ActiveX Control?
|
|
|
|
|
I'm using the .NET compact framework, and I'm trying unsuccessfully to do a SQL update. My code is as follows:
SqlConnection myConnection = new SqlConnection("User ID=abc;Password=123;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=factory;Data Source=servername");
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.UpdateCommand = new SqlCommand("UPDATE sn_allocatedblocks SET ab_status = 'Warehouse' WHERE ab_schedule = '"+schedule+"' AND ab_schedline = '"+schedline+"'", myConnection);
myConnection.Close();
In the debugger, this code seems to work fine....it hits every line and goes through the function successfully. However, when I open up SQL Analyzer and check to see if it worked, nothing is changed. I'm positive that the user has permissions and that the query is correct, I just can't get it working in my program. I also tried using the ExecuteNonQuery method, but that always throws a SQLException:
SqlConnection myConnection = new SqlConnection("User ID=abc;Password=123;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=factory;Data Source=servername");
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.UpdateCommand = new SqlCommand("UPDATE sn_allocatedblocks SET ab_status = 'Production' WHERE ab_schedule = '"+schedule+"' AND ab_schedline = '"+schedline+"'", myConnection);
adapter.UpdateCommand.ExecuteNonQuery();
myConnection.Close();
|
|
|
|
|
Sorry about the smileys, those are semicolons followed by the letter 'p'.
|
|
|
|
|
You should really read the documentation for the SqlDataAdapter in the .NET Framework SDK. You're not using it right, and it's not even necessary here. A DataAdapter is for filling and updating DataSet s using the various command properties. All you're doing in the first example is assigning it. That won't do anything. Just don't use the SqlDataAdapter at all.
The bottom fragment is almost correct, except - again - the SqlDataAdapter isn't necesary. Just instantiate the SqlCommand , assign it to a variable, and execute it.
Since you didn't tell us what the exception was or what it said (always help), I'm betting it's because you're not using parameterized queries, and instead doing the old kludge of string concatenation. If that variable has a quote (either single or double), the SQL statement is invalid. Instead, the correct code - using ADO.NET how it's supposed to be used - is:
SqlConnection conn = new SqlConnection(...);
using (conn)
{
SqlCommand update = new SqlCommand("UPDATE sn_allocatedblocks " +
"SET ab_status = 'Production' WHERE ab_schedule = @schedule " +
"AND ab_schedline = @schedline", conn);
update.Parameters.Add("@schedule", SqlDbType.NVarChar, 20).Value = schedule;
update.Parameters.Add("@schedline", SqlDbType.Int).Value = schedline;
update.ExecuteNonQuery();
} The using block makes sure that even in case of error the connection is closed and disposed (important). Also dispose of objects who's classes implement IDisposable . Change the parameter types to whatever you want (not knowing what they were supposed to be, I just made them up). If that schedline variable and parameter is not a string or date/time type, do not use quotes (quoting a numeric value will result in error as well).
Using parameterized queries signficantly reduces the attack surface (I could easily provide values for your string variables that would terminate the SQL statement and clear-out your master table since you're not checking user input - never trust user input), eliminates the need to properly encode strings (due to single or double quotes screwing up the resultant SQL statement), and allows you to perform bulk updates, inserts, and deletes (since you instantiate the command and add parameter definitions only once; assign the parameters to variables; for each iteration of a loop, change the SqlParameter.Value property for each param and call ExecuteNonQuery ).
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Does anyone know how to implement a zoom control? like the one in the PrintPreviewControl.
|
|
|
|
|
try it with the Graphics.ScaleTransform method
|
|
|
|
|
Hi all,
Does anyone know why the corners of a box object do not appear to be rounded
(when a report is run) even if they are on the design of the report. I am
using Crystal reports with Dot Net.
|
|
|
|
|
You mean like with a group box or something, like some controls are in windows? Because Crystal Reports doesn't not use the common controls for these types of controls. The common controls are drawn by the theming service (is applicable and started) only when the bindings are redirected to the Common Controls 6 win32 assembly (a side-by-side native DLL). Crystal Reports draws their own controls and doesn't use the Theme API - and why should they? It's a report, not a dialog resource.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hi all,
I've been reading up on BHO's and i need to create one, for the past 2 weeks i've had no success getting one to work.
I want to create a sort of a spyware application that gets installed onto a users computer and runs in the background. Then i want this application to log and copy the urls a user visits and the files they downloaded. Once the neccesary information is copied, it then gets sent to a remote database.
I only want to know what code i would need to create a BHO and i would like it to do the following:
Log the url's a user visits
Log the files that a user downloads
Any help would be very much appreciated, if you cannot help me with source code, then references would also be a great help.
Thanx a lot ..!
|
|
|
|
|
You don't really expect anyone here to help you develop Spyware, do you?
Besides, you're getting yourself into lots of trouble by spying on unaware users. Can you spell "lawsuite"?
mav
|
|
|
|
|
|
How embarrassing! My rage let the 'e' slip in!
Always good for a laugh, if only the topic wasn't so serious.
mav
|
|
|
|
|
Hi guys,
I'm a 4th year IT Btech student at the technikon of Port Elizabeth in South Africa.
I would like to create this application with the sole purpose of proving to my lecturers that i am capable of creating the application, so that i can pass the subject and get the neccesary credit to pass my final year.
I assure you that there is no malicious intent what so ever behind the creation of this application, if you do not believe me, i will send you an email from one of my lecturers with the neccessary credentials to prove to you what i say is true.
Besides, its not like i want to copy and steal credit card numbers...
I want to create the application with the sole purpose of logging the url's a user visits and the files he downloads
The end purpose of this application is to create various user profiles and to check what are the most popular sites visited and what are the most common files downloaded
Any help would be very much appreciated
From a student in need ...
Stuggo
|
|
|
|
|
Hey
I'm trying to crate a installation CD for my application.
Things I need to install from the CD
- My application: It's constructed in a way that I only need all items in one folder, no registry enterys, so I only need the "Release" folder copyed to the hard-disk
- .Net 1.1
- DirectX 8.0 or higher
+
A desktop shortcut
How can I do this the easy way? Any examples?
Thanks
Thomas
|
|
|
|
|
In Visual Studio, create a new project. Select a type of Setup and Deployment Projects. Then pick Setup Project or use the Setup Wizard. It's pretty self explanatory.
|
|
|
|
|
That won't even begin to help him. The .NET Framework installation must be bootstrapped. The merge module include in the setup is only there so that BCL assemblies won't be automatically added as local assemblies, nor should any install install them into the GAC (which, if .NET isn't installed prior to the Windows Installer MSI package being installed, there won't even be a GAC). It will not install the .NET Framework. This is also documented in the Visual Studio product documentation.
Additionally, while separate installations can be added as custom actions to be executed as a specific time, it is difficult to say the least to do this with VS.NET's very limited Windows Installer project. Either bootstrapping the DirectX installation (if it needs to be installed) or including it as a separate installation to be executed asynchronously with the main MSI package (typically after installation, without waiting for an execution return) needs to be done.
VS.NET's Windows Installer project is hardly an option. If it is used, more work is required to bootstrap the additional installations needed (especially the .NET Framework).
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
You need a bootstrapper to do this (at least .NET). There are several examples of this on CodeProject, like Enhanced .NET Bootstrap Setup[^]. If you're using Managed DirectX 9.0b (DirectX for .NET - not just wrappers but written from the ground-up for .NET), you can nest the MSI installation into your MSI package, but VS.NET's Windows Installer project won't allow you do this. You need a professional package developer (like Wise for Windows Installer[^]) or hack it into the MSI package after compiling it using a tool like Orca (available in the Windows Installer SDK from http://msdn.microsoft.com/platformsdk[^]).
If you need to install DirectX, you can bootstrap that as well, or include the redist executable as a custom action to be executed at a certain point in your installation. Again, VS.NET's Windows Installer project won't let you do this since it's UI is very limited. There are instructions for boostrapping this setup on the DirectX web site at http://msdn.microsoft.com/directx[^].
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hello
What is the replacement of DCOM in .Net ,how can we still write modules that communicate over a network and providing net transparency to develoers....as we used to do in DCOM
is webservices the answer?
or is there any better mechanism..
Thanks
Muhammad Ahmed
Ahmed
|
|
|
|
|
WebServices is a different base concept than DCOM was.
The closest replacement or equivalent is Remoting using a TCP channel.
You can also communicate over a TCP connection, call methods of a remote object and receive results.
What can't be done with remoting, however, is to instantiate a new object on a remote computer without a server program controlling this instantiation (whether the server object should behave like a singleton or create a new instance for every call, for example).
mav
|
|
|
|
|
can u refer any samples of this on codeproject technique...?
Ahmed
|
|
|
|