|
WebBrowser control, maybe?
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
Have a tiny bit of experience programming...where is the best place to start for C#...HERE? I have Visual Studio....
|
|
|
|
|
Hi,
the best way to learn a new technology is by working your way through a book on it.
Which book, you'll ask, and I don't know, it depends on your background.
Microsoft has published a lot of good books, that work together with their tools.
I tend to go to the book shop, look at say ten books on the subject and then buy the 1 or 2 that I like most (often one tutorial, one reference manual).
Furthermore CodeProject has a lot of nice articles and useful forums, where you can ask
specific questions when you are stuck.
Luc Pattyn [Forum Guidelines] [My Articles]
this months tips:
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use PRE tags to preserve formatting when showing multi-line code snippets
|
|
|
|
|
tperk_7 wrote: where is the best place to start for C#...HERE?
Yes, this is one of the much better places to learn.
"I've seen more information on a frickin' sticky note!" - Dave Kreskowiak
|
|
|
|
|
Hello. I am having an issue. I have been learning C# enthusiastically, and recently I learned how I can have controls and forms be moved during runtime(forms being when there is no border to move it with).
This is thrilling for me because I want to make irregularly shaped programs. I ran into a problem though. Everything is going fine with TransparencyKey and it showing up as transparent, except that when I click on a transparent area, the focus does not go to the windows beneath the application, and instead maintains focus on the application even though I'm clicking in the transparent area. This worked good when I wasn't using a background image for my transparent GUI, but now that I am it's not working.
Is there a way around this?
Also, when moving around my form it looks fine, draws nicely with no flickering. I showed the test program to a friend and he says it looks terrible and is redrawing really slowly. What could I do to alleviate this problem? I can't tell that it looks bad on other computers since it works just fine on both of mine.
Thanks in advance!
|
|
|
|
|
I am in a sticky situation at work...quite a bit of explanation to get to the root of this problem....I have to make changes to a system that I have never touched and this system is the epitome of bad bad BAD BAD BAD....if I COULD, I would publish this thing so that an anti-pattern could be developed from it. ...To give you just some taste of what I have to deal with, the Layered Architectural Pattern was improperly applied by the architect. Rather than having a UI Project with references to a separate Data Services library and a Business Logic Library, there is a FOLDER....(Yes..that's what I really said)...a FOLDER inside a single project named "DAL" and a FOLDER named "BL" and a FOLDER named "UI" and developers(frikkin contractors) that have worked on this system in the past have cross-switched the heck out of this thing because they didn't know any better and the architecture allowed it ...To give you some further insight into what I have to deal with, the standard method of exception handling in this system is not by a try/throw/catch mechanism, but by passing a reference to an Exception Handle through the method signature and assigning it in the catch block. ...Yeah, it's THAT crappy. (And if you're scratching your head about the ref to the Exception Handle, that's because....surprise, surprise.....this system is written...err...scripted in VB.NET)*see note at end of post to see why I posted in the C# forum*
...Anyway, I'm trying my best to work my changes(System Access Maintenance screen....simple crud aspx page) into their existing architecture because I want to get in, get done, and get the hell out of Dodge. ...Don't even ask to see this object model...you don't want to see it....but basically, there's de-normalized data maintained on an Employee table for status(Arbitrary values of "A" for active and "I" for inactive) with no reference table to fetch from. ...There's also a "Role" and "Position" attached to each user(puzzlingly, there ARE reference tables for those values)...Role and Position are maintained as a hash of code/value pairs (i.e. "ADM"/"Administrator") ...and the form I am to create is to display "Administrator" while maintaining "ADM" as the actual value to be assigned to a new system user when performing an Upsert...simple, common problem,right? ...ok, so my solution was to do this:
"I need build Skynet. Plz send code"
|
|
|
|
|
I created a structure that has 2 string properties, Code & Text.
I created the stored procedure that queried the database for the set of Role Code/Description combos(passed in a parameterized sys_refcursor) ...execute the reader, storing each of the column values in an appropriate variable of my Structs type, add it to the ArrayList and loop.
Ok.....so here's where I get to the point of "working with their existing system." ...I don't pass up through any business logic layer to get to the UI here, because this path doesn't need to be maintained back to the data. I bound the DropDownList on my form directly to the result set of my "GetRoles" method. ...During the code review with Support, they don't understand why I created the struct. ...They think that I should have (and are trying to force me into) simply bound the OracleDataReader directly to the UI!!! I tried explaining to them that you're not supposed to expose data access objects(as in DataSet, DataTable, DataAdapters) directly to the client like that and that what I had done was essentially the same thing, but I cannot think of any point of defense for my technique besides "I said so" and "because the way you want it to be done is Spaghetti Code" ....their solution is TECHNICALLY correct, but it is really coming down to their personal preference and getting into a "Well, I would have done it this way" .....I don't have the time(calendar) or time(budget hours) to make this change, but they have to sign off on this before it's out of my hands. ...Does anyone have any suggestions that I might be able to use for my defense? I was going to hang my hat on the fact that I am creating a structure, and therefore it doesn't need to invoke the GC, but I go ahead and put them in a darn ArrayList. ...I'm probably just going to create a static array of my structure so that I can lean on that point, but I want to do my best to make sure that they can't convince my manager to have me change this just "because they said so"
"I need build Skynet. Plz send code"
|
|
|
|
|
...I posted in here because I don't trust VB scripters. I'm sure they would look at it and say "what are you talking about...you're SUPPOSED to just bind the DataSet to the UI control"
"I need build Skynet. Plz send code"
|
|
|
|
|
...not to say that knowing VB is a bad thing(heck, I know VB ) ...but still, if you're familiar with the history of Basic, then you know why I don't trust VB programmers....the language is a travesty and should be stricken from any and all annals of recorded human history....but that's just my opinion lol
"I need build Skynet. Plz send code"
|
|
|
|
|
Well... You could try showing them how their method could be exploited by a malicious bit of software on a well-hacked client's machine... Basically, when all else fails, use security as your defense. Other than that, it is nearly impossible to convince somebody that their way sucks and that your way rules, especially if they have the power to approve or deny your changes. However, their boss's-boss's boss probably doesn't know jack about programming, and if you start talking "security breach" and "liability" they freak out and let you have your way. Been there, done that. It worked (wrote an ACH utility for in-house payroll to do direct deposit, back in '98, using VC++ 6.0 and ATL. Their old method was to use the bank's free ACH software, which required printing out of payroll data and manual entering... Every hacker in the world had already figured out how to crack into that software too...)
|
|
|
|
|
How do i open a program (.exe) from a button on another program?
|
|
|
|
|
|
Sorry ravi, that didn't help at all.
I tried it, gave me a bunch of different error's
Error 3 Unrecognized escape sequence<br />
|
|
|
|
|
You probably forgot to escape the application filespec. Instead of:
Process.Start ("C:\MyProg.exe");
use one of these options:
Process.Start ("C:\\MyProg.exe");
Process.Start (@"C:\MyProg.exe");
/ravi
|
|
|
|
|
Ya, there it is.
That and i forgot to put in the System.Diagnostics;
Thank you ravi
|
|
|
|
|
Well, without the source code, I would hazard a guess and say that you're not double-back-slashing your constant string like this: "C:\\Program Files\\Some Program Folder\\SomeExe.exe"
Am I "write"?
Of course, if this IS the case, I would suggest reading a little bit in a "learn to code in C in 21 days" or C# for dummies book...
If I am wrong, well, try posting some source code o we can see what you're doing wrong.
|
|
|
|
|
macerenn wrote: Am I "write"?
Ouch! <rolls over and gropes in the dark for a ham sandwich...>
/ravi
|
|
|
|
|
Ravi Bhavnani wrote: Am I "write"?
Looks like Cobol. Perhaps FileStream.CanWrite would work better
|
|
|
|
|
JohnnyLocust wrote: Looks like Cobol.
Mmmm... Cobol!
/ravi
|
|
|
|
|
Hello everyone,
I am working on a HTTP Sniffer. So far I am able to get some information on a TCP received packet using the following code.
MemoryStream ImemoryStream = new MemoryStream(byteBuffer, 0, nReceived);
BinaryReader IbinaryReader = new BinaryReader(ImemoryStream);
byteVersionAndHeaderLength = IbinaryReader.ReadByte();
byteDifferentiatedServices = IbinaryReader.ReadByte();
ushortTotalLength = (ushort)IPAddress.NetworkToHostOrder(IbinaryReader.ReadInt16());
ushortIdentification = (ushort)IPAddress.NetworkToHostOrder(IbinaryReader.ReadInt16());
ushortFlagsAndOffset = (ushort)IPAddress.NetworkToHostOrder(IbinaryReader.ReadInt16());
byteTTL = IbinaryReader.ReadByte();
byteProtocol = IbinaryReader.ReadByte();
ushortChecksum = IPAddress.NetworkToHostOrder(IbinaryReader.ReadInt16());
uintSourceIPAddress = (uint)(IbinaryReader.ReadInt32());
uintDestinationIPAddress = (uint)(IbinaryReader.ReadInt32());
I also need to get the URL address of where the packet are comming from. I have seen some comercial HTTP Sniffer being able to do that. The Sniffer80 available in http://www.codeproject.com/tools/sniffer80.asp[^] also can capture the URL address of the packet. Can someone tell me how I can get this done? Maybe I am looking for a URL address at the wrong place! Where can I get this information for a TCP packet then?
Any information on this would be great. As always, thank you for your help and have a great day.
Khoramdin
|
|
|
|
|
Well, the only thing I can think of when RECEIVING UNSOLICITED packets is to use reverse DNS. However, since you are "sniffing" HTTP, then it is simply a matter of catching all of the HTTP GET request headers, and mapping (an associative array) the actual IP address:port to the requested URL from the HTTP GET request header. Then, as packets come in from that IP, you retreive the URL by looking up the IP in your array... The thing is, in order to GET a TCP packet (using HTTP), you have to have made a GET request at some point: no unsolicited pushing of files onto your computer here. Every image and other resource on an HTML page is the result of a separate GET request. By the way, Sniffer80 is a piece of crap. It is not a sniffer. It is a cheap facade using URLMon. It is tied directly into IE. The source code is unnavailable, probably out of shame due to it's lame-ness. You could do the same by writing an IE add-in that copies the contents of the address bar...
Anyhow, if I am way off the mark here, let me know. It seems like a simple solution to me though, since you already have all the information at hand before the TCP packets even start flowing.
|
|
|
|
|
It's just that I don't like at all cut'n paste solutions... But seriously I am expecting that this file will change very often in the future and I like to be prepared.
I know that typdef is not a C# keyword. I meant I allready created a C++ Manged project and included the header into the project. After this project was compiled I reflected the dll but didn't find any typedefs there.
Regards,
Tobias
|
|
|
|
|
forget the typedef, and give the enum a name, as in:
namespace LP_ProgrammingLanguages {
public enum LP_Languages {
NONE=0,
ALL=0xFF00,
C=0x100,
...
}
}
Luc Pattyn [Forum Guidelines] [My Articles]
this months tips:
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use PRE tags to preserve formatting when showing multi-line code snippets
|
|
|
|
|
Is it possible to get the location of the Shortcut that the user used to launch the application?
"All of us who served in one war or another know very well that all wars are the glory and the agony of the young."
Gerald Ford
|
|
|
|
|
I don't think so. All i can suggest is checking if anything is in the arguments (y'know, string[] args). There's also Application.StartupPath but i imagine that will just return the path to your application. Its worth a look.
My current favourite word is: PIE!
I have changed my name to my regular internet alias. But don't let the 'Genius' part fool you, you don't know what 'SK' stands for.
-The Undefeated
|
|
|
|
|