If File Is An Image Using .Net Framework Not By Checking Magic Numbers
Apr 20, 2011
With all the smarts of actually loading images being done by the .net framework, seems like I shouldn't have to repeat it all in my code by checking for magic numbers, or using a hack like this:[code]Am I missing something obvious, like System.Drawing.IsImage(stream)?
For my project, I need to develop an app, which will have MS-SQL db with 4 tables a>FileHeader b>FileFooter c>Extension d>Detail about the file. This is all to do with the Magic Numbers, or File header and footer, found in all files. The first 4-byte and last 4-bytes.
Example: Suppose a word DOC file when read using this app should return and match the values D0 CF 11 E0 So, how can I read the files using vb.net, fileIO, FileStream/StreamClass/FileReader? I just need to open the file and read the first 4 and last 4 bytes of any given file. And then it should connect back to the SQL database and lookup for the matching values from the tables as I had mentioned. And return a match found or not found.
"First of all please TURN OPTION STRICT ON.I make no apology for the capitals - I consider it that important.When you do you will see that you are still using HorizontalAlignment instead of ContentAlignment.VB is converting from one to the other for you.Although that works fine here there are many cases when it will not be what you intended and can cause some very hard to find bugs.Under Tools | Options | Projects and Solutions | VB Defaults Set: Option Strict ON, Option Explicit ON, Option Infer OFF".I did do this but it showed no errors, so I placed 'Option Strict On' at the start of the code, it then showed HorizontalAlignment with the squiggly line. I did edit my code to show this but I think you must have read it before I did. All other suggestions I will note and from now try to implement.Using "magic numbers" in the code is not good practice and makes maintenance difficult.Declare all such numbers at the top and use the names in the code.Is this what you mean? Const SpinTime As Integer = 500
Now when ever I refer in code to SpinTime it will always be 500..Change the NumberOfBoxes to 10 and run the app.In mine, to change boxes to 10 I needed to alter the code in 5 places, in yours 1 place! Talk about proof of the pudding etc.Now to my question, in the program when the start button is clicked and the five random numbers are displayed I have to stop and restart the program to generate five more. So I thought I would create another button 'Reset' this I did and all worked but it seemed a waste so I then just kept the start button in place and changed the text to Reset eg [code] This is fine the one thing I can't figure is how to replace the five numbers that were removed so that it is picking 5 from 500 every time. Now I'm at the end of all this writing I have it! just comment out the line 'Numbers.Remove(Number).
I have a textbox which has a numeric value that changes - would it be possible to check if that value matches two numeric values in a text file? and if the value matches then to display some text in a label? The textfile only has fields displayed like so Horizontal 55 Vertical 16 So I would only need to check if the numeric field in textbox matches the two numbers in the second column. In the past I have use System.IO.File to create/delete/append to files but I havent come across anything like contains.
I have a datagridview with a bunch of columns, one of them being an Image type (DataGridViewImageColumn).What I want to do is basically check to see what the file path of the image in one of those cells is.
I've tried doing like:
If (DataGridView1.Item(7, Number).Value.ToString = "some path" then 'do stuff here End if
but it always says DataGridView1.Item(7, Number).Value.ToString is just "System.Drawing.Bitmap", instead of the actual file path of the image in the cell.I've also tried the above, without the .ToString, but I get an error saying System.ArgumentException was unhandled (Argument 'Prompt' cannot be converted to type 'String'.)
Is there a product/project that would allow you to define conventions for say an MVC Project to statically check for naming conventions like Controller being appended on the end of classes that inherit from controller and/or enforce a certain method signature when decorating a method with an attribute.I am basically looking for a way to kind of set up some guard rails for new developers coming onto our team where we have a clear set of conventions some of which are used to wire things up dynamically through reflection. Seeing that this reflection wire-up would fail because of an incompatible signature would be a huge boon to our ramp up process.Static/Compile time checking for broken rules Ability to target methods decorated with specific attributes (via RegEx or a Wizard)Different Sets of rules based on different types of projects.(example: A set of conventions for an MVC App, a different set for a Web Forms App, and a different set for a Class Library suffixed with .BLL)?
unzipping file using GZipStream.Heres the solution but i hope that i don't need to imports another dlls [URL] the zip files i compressed with 7z. and here the code...
I'm making a simple little program. It's going to save the image in the clipboard (from pressing Print Screen) to the folder that the .exe is in. My problem is trying to find out how to save the image file with a user-specified name, such as "Image", then adding numbers to it. So it would be like Image_00001, Image_00002, etc. I would like to make the name be specified using a textbox (pretty easy). I know how to get it to save as different image formats and all, and I know how to get it to save as a hardcoded name in a hardcoded location, but that it isn't what I'm aiming for. If you've ever used the screenshot function of Fraps or MSI Afterburner, then that's basically what I'm trying to make here.
I've already searched these forums and did some Googling, but couldn't find anything that I was looking for. Not even a sample program with something like this. I found something in the CodeBank, but it's all the stuff I've already gotten implemented.
what the following code is ment to do is generate a bunch of numbers between 1 and 49 using the while loop to check if two of these numbers are the same. Problem is two numbers are still being generated the same and I know that the numbers generated again will not match them originals so it stops the loop.
dim nmbToCheck as Double = 15.22 dim nmb1 as Double = 12 dim nmb2 as double = 18
How do I check wheter nmbToCheck is between nmb1 and nmb2? I know I could use < and >, but the problem is that I won't be knowing which of the numbers will be smaller, and which will be larger, and it seems like a lot of code to write for such a small issue. There must be some sort of nmbToCheck.IsBetween(nmb1, nmb2) type solution to this, right?
best way to check if a textbox has only 4 numbers and isNumeric, for example i need to enter postcodes.I currently have:
If CDbl(txtPostcode.Text) <> 4 Or Not IsNumeric(txtPostcode) Then MessageBox.Show("Postcode must be 4 Digits", "Error")
But the message box comes up regardless of whether there is 4 numbers, letters, or anything in the textbox. Its also used in the leave function of the textbox.
I need to add a loop to allow repeated checking of ISBN numbers, which should check to determine when processing should be ended and should allow exiting the program without having to enter an ISBN before quitting. I also need to use a Select Case for the three ISBN possibilities (ISBN-10, ISBN-13, invalid ISBN length).
Completely new to ASP.net Page Language="vb" Microsoft .NET Framework Version:2.0.50727.3603; ASP.NET Version:2.0.50727.3082
I want to check on the server for the existence of an image, then if it does exist, display the image wrapped in other code. E.g. if "/images/name.jpg" exists then <div><img src="/images/name.jpg"></div> else Do nothing.
Seems really simple to me but NOTHING I have tried has worked (compilation errors). I've tried examples using system.io, DIM stuff with 'FileInfo', Set fs. FileInfo examples produce 'not defined' errors, 'Set' says it's outdated and not used anymore and so on.
I have a form containing a listbox showing a list of image names. It's bound to the database table. When an image name is clicked it shows the image and imagename in a picturebox and textbox respectively. When no image is selected in the listbox, a new record can be inserted by browsing a new image in the picturebox by an openfiledialog, writing the imagename in the textbox and pressing the OK button. When an image is already selected, the record can be updated by pressing the same OK button. The data is saved into MSSQL Server 2005. Corresponding table fields are Keycode int autono, logoname nvarchar(50), logo image.Now the problem, when I insert a new data with an image everything goes fine but whenever I try to update an existing data with an image it throws an exception- 'A generic error occurred in GDI+.' at the following line- 'pic.Image.Save(ms, pic.Image.RawFormat)'. Surprisingly when I update an existing data without any image in the picturebox no exception is generated. I have crossed checked it and seems that the problem is just at one point- 'Updating the image from the picturebox'. My code to insert/update the data by OK button and to populate it by listbox doubleclick follows:
Code: Private ms As MemoryStream Private arrImage() As Byte Private conn As SqlConnection
I have a form containing a listbox showing a list of image names. It's bound to the database table. When an image name is clicked it shows the image and imagename in a picturebox and textbox respectively. When no image is selected in the listbox, a new record can be inserted by browsing a new image in the picturebox by an openfiledialog, writing the imagename in the textbox and pressing the OK button. When an image is already selected, the record can be updated by pressing the same OK button. The data is saved into MSSQL Server 2005. Corresponding table fields are Keycode int autono, logoname nvarchar(50), logo image.Now the problem, when I insert a new data with an image everything goes fine but whenever I try to update an existing data with an image it throws an exception- 'A generic error occurred in GDI+.' at the following line- 'pic.Image.Save(ms, pic.Image.RawFormat)'. Surprisingly when I update an existing data without any image in the picturebox no exception is generated. I have crossed checked it and seems that the problem is just at one point- 'Updating the image from the picturebox'.My code to insert/update the data by OK button and to populate it by listbox doubleclick follows:
i want to get 24 numbers from an image i have an image witch contains a 5x5 grid with numbers. i want to let my app scann it and enter the numbers to 24 numericupdowns.
so the app must readout the image from the picturebox and get out all the numbers that are on it
I save a lot of settings in an INI file as 1 (enabled) and 0 (disabled), all around the project's module i have this check If setting = 1 then ' do somethingEnd If ' OR If setting = 0 then ' do somethingEnd If
My question, is it good for performance to declare public constants to hold 1 & 0 and use them in such above checks instead of using real number?
In general, if i use value like 8, 9, "", "$", etc... in just two different places, should i declare constant for it?
I use the Magic Mouse, it's fantastic in OSX but more so because of MagicPrefs which extends the multi-touch gestures its capable of. I'd like to know if its possible for me to write drivers for the Magic Mouse in VB? to extend it's functionality. Or would this be better suited for C++? I don't even know where to start.
I want to make an application which turns on my computer. A Wake-on-Lan application should do the trick. I allready created something which sends data over UDP, i can see that it sends the data (with wireshark) but it does not send the correct data.
The goal in this assignment was to create a Magic 8 Ball that would display answers via array.Here's what I got down so far, now I apologize once again, I forgot most of the stuff so I don't even know if it is REMOTELY close to what it's suppose to be
Public Class Form1 Dim ArrayRes(7) As String Private Sub btnASK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnASK.Click
I'm designing a 3 x 3 Magic Square, where the 3 x 3 tables are made of up three adjacent list boxes. Upon starting the program, the 3 x 3 square consists only of the character "?" to represent a variable that has yet to be defined. The user will input through text boxes and button presses the characters 1 to 9, replacing the highlighted undefined "?' with the desired number. I'm required to include a Function procedure that can, at any time scan the 3x3 table and return an integer value of -1 if an undefined character "?" is present, a value of 0 if the rows, columns and diagonals do not sum to the same value, or the sum common to all rows columns and diagonals.
To start with I defined a 2D array and undefined. Dim mSquare(2,2) As String Dim undefined As String = "?"
Then I used a Sub to set the 3x3 table as undefined which I did not show to save space. Next I used a Sub to update the highlighted characters, allowing only one list box to be selected at a time and which I hope also assigns the the values to the array as they are updated. I removed parts of the code so this post isn't too big.
If lstCol2.SelectedIndex = -1 And lstCol3.SelectedIndex = -1 Then lstCol1.Items(lstCol1.SelectedIndex) = input txtInput.Text = "" End If For i As Integer = 0 To 2 [Code] .....
What I'm stuck on is the Function design. I'm trying to design something to scan the array, and give back an integer depending on the results, which are to return an integer value of -1 if an undefined character "?" is present, a value of 0 if the rows, columns and diagonals do not sum to the same value, or the sum common to all rows columns and diagonals.
I'm currently trying Function checkSquare(ByRef mSquare As String) As String For i As Integer = 0 To 2 [Code] .....
At the moment I keep getting the error "Public Readonly Default Property Chars(index As Integer) As Char". I keep getting an error like this even using a single variable and defining each j individually, and I'm wondering if its possible to pass arrays to functions or do I need to do something else. Is what I'm trying to do even possible? I did a longer method in which I just check all the entries individually but I'm hoping there is a more efficient way. Its my plan B for now.
I've used 3d control magic for VB.NET to create shaped forms.When I bulid my project to create an exe, I want to include 3d control magic.exe into it, to be installed automatically in the clients computer.
I need to write some vb.net code that looks at a picture and "removes" the blackish pixels.Here's the scenario. A wound care doctor takes a picture of a persons hand on a flat bed scanner. The nice pink palm print is there but it is surrounded by blackish pictures. I want to make the picture pop by programatically "removing" or recoloring the pixels that are in the blackish range. i.e. the Photoshop magic wand select and delete.I have not code to start off. Hoping for some reference code and not just pcode.
I am work on VB.net 2003 Framework 1.1 for last 3.5 years in windows Application.We are currently migrating to VB.net 2008 framework 3.5, but i don't know about the features which related to ADO.net and which is important to performance. I know linq to SQL but our architecture is made in .net 2003 so we should follow this.Any features which is very important to enhance the performance?
Is there anyway of searching for a file (shortcut file) on the desktop in VB? I've tried :
If My.Computer.FileSystem.FileExists("DesktopMYFILE.lnk") doesnt return anything If My.Computer.FileSystem.FileExists("DesktopMYFILE.exe") doesnt return anything
can't see why my coding does not work. The following coding does give me a message if the file is open in notepad, but it doesn't if the file is open in word or excel?