Private Function MimeType(Filename As String) As String Dim mime As String = "application/octetstream" Dim ext As String = System.IO.Path.GetExtension(Filename).ToLower() Dim rk As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(ext) If rk IsNot Nothing AndAlso rk.GetValue("Content Type") IsNot Nothing Then mime = rk.GetValue("Content Type").ToString() End If Return mime End FunctionIn short - you just feed it with path top a file - and get back the mime type. Ex MimeType("f:\\theimage.jpg") --->>> "image/jpeg"
Saturday, October 29, 2011
Getting Mimetype .NET
Wednesday, October 26, 2011
The Life and Times of Windows XP
Sunday, October 16, 2011
Check For 64bit Operating System VB.NET 2.0
Public Function Is64BitOperatingSystem() As Boolean?
Dim amount As Integer
Try
amount = Runtime.InteropServices.Marshal.SizeOf(IntPtr.Zero)
If amount = 8 Then : Return True
Else : Return False
End If
Catch ex As Exception
Return Nothing
End Try
End Function 'End Method Is64BitOperatingSystem
Wednesday, October 12, 2011
Count Lines in File
The fastest solution + holds only 1 line at a time in the memory (best solution)
Private Function TotalLines(filePath As String) As Integer Using r As New StreamReader(filePath) Dim i As Integer = 0 While r.ReadLine() IsNot Nothing i += 1 End While Return i End Using End Function
Sunday, June 19, 2011
Retrieve Environment Variables
1: ''' <summary>
2: ''' Class to retrieve environment variables and custom declared variables with following format %VARIABLE%
3: ''' </summary>
4: ''' <remarks>A class used to read a string and transform all known variables with format %VARIABLE%,returning the converted string</remarks>
5: Public Class VariableRetriever
6:
7: #Region "Methods"
8:
9: ''' <summary>
10: ''' Converts all known variables with format %VARIBALE% in the provided string
11: ''' </summary>
12: ''' <param name="str">Provide a string to transform</param>
13: ''' <returns>Returns the converted string</returns>
14: ''' <remarks>If an error occurs an empty string will be returned</remarks>
15: Protected Friend Shared Function GetAllVarFromString(ByVal str As String) As String
16: 'try to get all the special %xxx% from the string
17: 'replace and rebuild string
18: Try
19:
20: Dim split() As String = Nothing
21: Dim i As Integer = 0
22: Dim var As String = Nothing
23: Dim firstindex As Integer = Nothing
24: Dim secondindex As Integer = Nothing
25: If Not String.IsNullOrEmpty(str) Then
26: If str.Contains("%") Then
27: Do Until str.Contains("%") = False
28: firstindex = Nothing
29: secondindex = Nothing
30: var = Nothing
31:
32: firstindex = str.IndexOf("%")
33: If Not firstindex = -1 Then
34: secondindex = str.IndexOf("%", firstindex + 1)
35: If Not secondindex = -1 Then
36: var = str.Substring(firstindex + 1, secondindex - firstindex - 1)
37: ReDim Preserve split(i)
38: split(i) = str.Substring(0, firstindex)
39: i = i + 1
40: ReDim Preserve split(i)
41: split(i) = GetVar(var)
42: str = str.Remove(0, secondindex + 1)
43: i = i + 1
44: End If
45: End If
46: Loop
47: ReDim Preserve split(i)
48: split(i) = str
49: If Not split.Length > 0 Then
50: Return str
51: Else
52: Return Join(split, "")
53: End If
54: Else
55: Return str
56: End If
57: Else
58: Return str
59: End If
60: Catch ex as Exception
61: Return ""
62: End Try
63: End Function 'End Method GetAllVarFromString
64:
65: ''' <summary>
66: ''' Converts a %VARIABLE% to it's value
67: ''' </summary>
68: ''' <param name="variable">Provide a variable %VARIABLE% as string</param>
69: ''' <returns>Returns converted string</returns>
70: ''' <remarks></remarks>
71: Protected Friend Shared Function GetVar(ByVal variable As String) As String
72: Try
73: If Not String.IsNullOrEmpty(variable) Then
74: variable = RemoveProcents(variable)
75: 'Here you can add some variables
76: 'A few examples %APPPATH% will return the application startup path
77: '%APPNAME% just gets the filename without extension
78: Select Case UCase(variable)
79: Case "APPPATH"
80: Return Application.StartupPath
81: Case "APPNAME"
82: Return IO.Path.GetFileNameWithoutExtension(Application.ExecutablePath)
83: Case Else
84: Return Environment.GetEnvironmentVariable(RemoveProcents(variable))
85: End Select
86: Else : Return variable
87: End If
88:
89: Catch ex As Exception
90: Return ""
91: End Try
92: End Function 'End Method GetVar
93:
94: ''' <summary>
95: ''' Removes all % characters in a string
96: ''' </summary>
97: ''' <param name="str">Provide a string</param>
98: ''' <returns>Returns a string with % characters stripped</returns>
99: ''' <remarks></remarks>
100: Private Shared Function RemoveProcents(ByVal str As String) As String
101: If Not String.IsNullOrEmpty(str) Then
102: str = Replace(str, "%", "")
103: End If
104: Return str
105: End Function 'End Method RemoveProcents
106:
107: #End Region 'Methods
108:
109: End Class 'End Type VariableRetriever
110:
Disclaimer
1: #Region "Header"
2: 'Copyright (c) 2011 <a href="http://kaoticreality.blogspot.com">Kraeven</a>
3: '
4: 'Knowledge needs to shared to enlighten the world ~ Kraeven ®
5: '
6: 'Permission is hereby granted, free of charge, to any person obtaining a copy
7: 'of this software and associated documentation files (the "Software"), to deal
8: 'in the Software without restriction, including without limitation the rights
9: 'to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10: 'copies of the Software, and to permit persons to whom the Software is
11: 'furnished to do so, subject to the following conditions:
12: '
13: 'The above copyright notice and this permission notice shall be included in
14: 'all copies or substantial portions of the Software.
15: '
16: 'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17: 'IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18: 'FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19: 'AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20: 'LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21: 'OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22: 'THE SOFTWARE.
23:
24: #End Region 'Header
Thursday, March 24, 2011
What happens when you navigate to a URL?
Browse the net I found a really interesting article about what actually happens when you type in a URL in your browser.
How does the content of website makes its way to your browser for display?
Full Article : http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/
In an nutshell:
1. You enter a URL into the browser
2. The browser looks up the IP address for the domain name
The first step in the navigation is to figure out the IP address for the visited domain.
3. The browser sends a HTTP request to the web server
4. The Facebook server responds with a permanent redirect
5. The browser follows the redirect
The browser now knows that “http://www.facebook.com/” is the correct URL to go to, and so it sends out another GET request
6. The server ‘handles’ the request
The server will receive the GET request, process it, and send back a response.
7. The server sends back a HTML response
8. The browser begins rendering the HTML
Even before the browser has received the entire HTML document, it begins rendering the website:
9. The browser sends requests for objects embedded in HTML
10. The browser sends further asynchronous (AJAX) requests
Friday, March 18, 2011
Upgrade Internet Explorer 1.0 to 9.0
http://www.winrumors.com/man-upgrades-internet-explorer-1-0-to-9-0-video/
Credits go to Andrew Tait
From the same person who made the video about upgrading from windows 1.0 to 7
another nostalgic video taking us way back into Internet Explorers past.
The video shows the install processes and UI for each version of Internet Explorer.
Andrew also tested the various versions at the Acid test pages.
Wednesday, March 9, 2011
Enable Compiler Extensions in .NET 2.0
If you get an error like shown below; this is probably due to the downgrade of a project from .NET 3.5 or higher to .NET 2.0
Cannot define a new extension method because the compiler required type 'System.Runtime.CompilerServices.ExtensionAttribute' cannot be found. Are you missing a reference to System.Core.dll?
Extension methods are a new feature in .NET 3.5 (C#3/VB9) that let you appear to "spot weld" new methods on to existing classes.
If you think that the "string" object needs a new method, you can just add it and call it on instance variables.
But how do we accomplish this in .NET 2.0?
VB.NET
' you need this once (only), and it must be in this namespace
Namespace System.Runtime.CompilerServices
<AttributeUsage(AttributeTargets.Assembly Or AttributeTargets.[Class] Or AttributeTargets.Method)> _
Public NotInheritable Class ExtensionAttribute
Inherits Attribute
End Class
End Namespace
' you can have as many of these as you like, in any namespaces
Public NotInheritable Class MyExtensionMethods
Private Sub New()
End Sub
<System.Runtime.CompilerServices.Extension> _
Public Shared Function MeasureDisplayStringWidth(graphics As Graphics, text As String) As Integer
' ...
End Function
End Class
C#
// you need this once (only), and it must be in this namespace
namespace System.Runtime.CompilerServices
{
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class
| AttributeTargets.Method)]
public sealed class ExtensionAttribute : Attribute {}
}
// you can have as many of these as you like, in any namespaces
public static class MyExtensionMethods {
public static int MeasureDisplayStringWidth (
this Graphics graphics, string text )
{
/* ... */
}
}