|
You could... but which way is less typing and, therefore, less prone to errors?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Thanks guys, both methods worked.
In fact, i read up on the CHR(34) method... and thats what I used.
What is the difference with CHR and CHRW?
Here was my final result:
Formula = "=IF(A" & RowPtr & "=" & Chr(34) & Chr(34) & "," & Chr(34) & Chr(34) & ",E5)"
Pretty ugly looking code. I think VB should consider an escape char in the next release
|
|
|
|
|
This is taken straight out of the MSDN documentation:
Public Function Chr(ByVal CharCode As Integer) As Char
Public Function ChrW(ByVal CharCode As Integer) As Char
Chr uses the Encoding class in the System.Text namespace to determine if the current thread is using a single-byte character set (SBCS) or a double-byte character set (DBCS). It then takes CharCode as a code point in the appropriate set. The range can be 0 through 255 for SBCS characters and -32768 through 65535 for DBCS characters. The returned character depends on the code page for the current thread, which is contained in the ANSICodePage property of the TextInfo class. TextInfo.ANSICodePage can be obtained by specifying System.Globalization.CultureInfo.CurrentCulture.TextInfo.ANSICodePage .
ChrW takes CharCode as a Unicode code point. The range is independent of the culture and code page settings for the current thread. Values from -32768 through -1 are treated the same as values in the range +32768 through +65535.
Numbers from 0 through 31 are the same as standard, nonprintable ASCII codes. For example, Chr(10) returns a linefeed character.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
have some xml document describing our database.
I have an element
in side of that document for empty element, but
when I parse it using DOM in VB
For Each rowElement In xmlDoc.documentElement.childnodes
str_content = rowElement.childnodes(0).nodeValue
Next
when I have NULL in the element I have application error
said "NULL is not properly used". I tried to filter the
NULL by
If rowElement.childnodes(0).nodeValue = NULL then
....
however, vb doesn't recognize this null
do you think i should not use
for empty element in the first place?
there is another solution?
Thanks for help
shin
|
|
|
|
|
If I read the documentation correctly, the only way you can have a null value for a CDATA section is if it looks like this:
<![CDATA[]]>
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
|
I found some software that can get the computer id. I'm doing a project that needs to get the computer id for security. Could somebody help me and show me how to get computer id in vb.net?
Thanks a bunch.
John
|
|
|
|
|
I take it your looking for the ComputerName, or NETBIOS Name, of the computer?
You can get that from the Environment.MachineName property.
Dim compName As String = Environment.MachineName
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I would like to know if there is a way to show the progress, using the progressbar, of the dataadapter fill command.
|
|
|
|
|
No. This is because the DataAdatper doesn't fire any events that you could use as progress. On top of that, the DataAdapter can't tell you how many records it is GOING to retrieve before it starts retrieving them. You'd have to do a query to get the number of records your GOING to retrieve, then do multiple queries in blocks of, say, 10 records at a time to fill the dataset and, in between those blocks of records, update the ProgressBar.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Please help me.
I want to build a xp themed numericupdown control, I Inherits NumericUpDown class and use API function to draw board and updown button in Onpaint events.
But it doesn't work,the numericupdown isn't redrawed. And I found if I inherits UserControl it works perfect.
Source Code:(only paint,no other function)
Imports System.Drawing
Imports System.Windows.Forms
Namespace WaterSoft
<toolboxbitmap(gettype(xpnumericupdown))> _
Public Class XPNumericUpDown
'Inherits NumericUpdown doesn't work
Inherits NumericUpDown
'Inherits UserControl it work perfect,someone can test it.
'Inherits UserControl
Private Structure RECT
Public left As Integer
Public top As Integer
Public right As Integer
Public bottom As Integer
End Structure
Private Declare Function IsAppThemed Lib "uxtheme.dll" () As Boolean
Private Declare Function IsThemeActiveXP Lib "uxtheme.dll" Alias "IsThemeActive" () As Boolean
Private Declare Unicode Function OpenThemeData Lib "uxtheme.dll" _
(ByVal hwnd As IntPtr, ByVal pszClassList As String) As IntPtr
Private Declare Unicode Function CloseThemeData Lib "uxtheme.dll" _
(ByVal hTheme As IntPtr) As Integer
Private Declare Unicode Function DrawThemeBackground Lib "uxtheme.dll" _
(ByVal hTheme As IntPtr, ByVal hDC As IntPtr, _
ByVal iPartId As Integer, ByVal iStateId As Integer, _
ByRef pRect As RECT, _
ByRef pClipRect As RECT _
) As Integer
Private rectUp As RECT
Private rectDown As RECT
Public Sub New()
MyBase.New()
' This call is required by the Windows Forms Designer.
'InitializeComponent()
' Add any initialization after the InitializeComponent() call.
Me.SetStyle(ControlStyles.DoubleBuffer _
Or ControlStyles.UserPaint _
Or ControlStyles.AllPaintingInWmPaint _
Or ControlStyles.ResizeRedraw, _
True)
Me.UpdateStyles()
End Sub
#Region "其它函数"
Private Function IsThemedXP() As Boolean
Dim intVer As Integer
intVer = Environment.OSVersion.Version.Major * 10 + Environment.OSVersion.Version.Minor
If intVer >= 51 And IsThemeActiveXP And IsAppThemed Then
Return True
Else
Return False
End If
End Function
#End Region
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
MyBase.OnPaint(e)
Application.DoEvents()
If IsThemedXP() Then
If True Then 'Me.UpDownAlign = LeftRightAlignment.Left Then
rectUp.left = 1
rectDown.left = 1
Else
rectUp.left = Me.Width - 18
rectDown.left = Me.Width - 18
End If
With rectUp
.top = 1
.right = .left + 17
.bottom = .top + 9
End With
With rectDown
.top = 11
.right = .left + 17
.bottom = .top + 9
End With
Dim br As Brush = New SolidBrush(Me.BackColor)
e.Graphics.FillRectangle(br, e.ClipRectangle)
br.Dispose()
Dim hTheme As IntPtr = IntPtr.Zero
Dim hDC As IntPtr = e.Graphics.GetHdc()
Dim rectPic As RECT
With rectPic
.left = 0
.top = 0
.right = Me.Width
.bottom = Me.Height
End With
Select Case Me.Enabled
Case True
hTheme = OpenThemeData(Me.Handle, "Edit")
DrawThemeBackground(hTheme, hDC, 1, 1, rectPic, rectPic)
CloseThemeData(hTheme)
hTheme = OpenThemeData(Me.Handle, "Spin")
DrawThemeBackground(hTheme, hDC, 1, 1, rectUp, rectUp)
CloseThemeData(hTheme)
hTheme = OpenThemeData(Me.Handle, "Spin")
DrawThemeBackground(hTheme, hDC, 2, 1, rectDown, rectDown)
CloseThemeData(hTheme)
Case False
hTheme = OpenThemeData(Me.Handle, "Edit")
DrawThemeBackground(hTheme, hDC, 1, 4, rectPic, rectPic)
CloseThemeData(hTheme)
hTheme = OpenThemeData(Me.Handle, "Spin")
DrawThemeBackground(hTheme, hDC, 1, 4, rectUp, rectUp)
CloseThemeData(hTheme)
hTheme = OpenThemeData(Me.Handle, "Spin")
DrawThemeBackground(hTheme, hDC, 2, 4, rectDown, rectDown)
CloseThemeData(hTheme)
End Select
e.Graphics.ReleaseHdc(hDC)
End If
End Sub
Protected Overrides Sub OnSizeChanged(ByVal e As System.EventArgs)
MyBase.OnSizeChanged(e)
Me.Refresh()
End Sub
End Class
End Namespace
|
|
|
|
|
The reason your OnPaint method doesn't work, is because the Numeric Up/Down control is derrived from the Windows common control, and Windows handles the drawing of the NUD.
To accomplish what you want, you need to derrive from the Control or UserContrl (which you have), and do the painting yourself.
Aaron Eldreth
TheCollective4.com
My Articles
While much is too strange to be believed,
Nothing is too strange to have happened.
- T. Hardy
|
|
|
|
|
Can you tell me more detail ?
I found in normal form use numericupdown Paint event still cann't draw theme.
|
|
|
|
|
Like I said before, the Numberic Up/Down control is simply a .Net wrapper of the Windows common control.
Basically what this means, Windows draws the control. Not the .Net FCL (Framework Class Library).
Since Windows draws the control, you can't override the OnPaint method to allow theming.
What you would have to do, is inherit from the Control or UserControl. I'm going to assume that you will inherit from the UserControl. What you would do, is place two buttons onto the designer, one for the Up button, the other for Down (You could then theme the buttons, I think). You would then make a property for "Value". Each time the user clicks on one of the buttons, the property "Value" would change accordingly. Then you would use GDI+ to draw the value.
dim g as graphics = me.creategraphics
g.drawstring(val(value), me.font, new brush(me.forecolor), xpos, ypos)
Aaron Eldreth
TheCollective4.com
My Articles
While much is too strange to be believed,
Nothing is too strange to have happened.
- T. Hardy
|
|
|
|
|
|
Sure. Glad to give you some pointers.
Aaron Eldreth
TheCollective4.com
My Articles
While much is too strange to be believed,
Nothing is too strange to have happened.
- T. Hardy
|
|
|
|
|
my web service returns Xmlnode. I want to read attribute name and populate Dropdownlist.
Here is what I have been trying .. nothing seems to work ... any suggestions please
Dim SearchResult As MyWebservie = ar.AsyncState
Dim node As XmlNode = TicketSearchResult.EndGetEventList(ar)
//Dim ReadNode As XmlNode = node.SelectSingleNode("DATA") //
Dim Reader As New XmlNodeReader(ReadNode)
//Dim mydataset As New DataSet
//mydataset.ReadXml(Reader)
//Dim resultNodes As XmlNodeList = node.SelectNodes("raw") //node i need attributs from this
// Dim iCount As Integer = 0
// Dim aNode As XmlNode
// For Each aNode In resultNodes
// DropDwonLis1.Item.Add /// Console.WriteLine("Node {0} value: {1}", ++iCount, aNode.InnerText)
'ToDo: Unsupported operator
'ToDo: ++ operator not supported within expressions
Next aNode
here is what web service returns
- <root>
- <methodinfo>
<channelname>Search
<methodname>MyWebservice
<parameters>?APP_ID=1
<processtime type="milliseconds">453.1366
-
<row thisid="2" thisname="Beach ST=" "="">
<row thisid="1" thisname="Playhouse" st="GA">
<row thisid="3" thisname="Arena" st="MD">
<row thisid="4" thisname="Park" st="CA">
I want THISNAME IN DROPDOWNLIST and THISID as option Value in dropdownlist
|
|
|
|
|
Uhhh...What's this?
Dim SearchResult As MyWebservie = ar.AsyncState
This would appear that your defining SearchResult as your WebService , then assigning an AsyncState to it, but after that, you never use it. Also, what is ar ? You switch to something called TicketSearchResult and call its EndGetEventList method.
As it is now, this code is completely incomprehensible. On top of that, we don't know what the code for the WebService method looks like, so we don't know if it is indeed returning what it's supposed to.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
hi. how do i retrieve the contents of my listbox to the first excel sheet? after that, new sheets will be added and named according to the contents of the listbox. any help would be appreciated. thanks a lot guys!!
|
|
|
|
|
You would have to set a Reference to the Microsoft Excel whatever.0 Object Library, then use something like the following code to create an instance of Excel and populate some cells:
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
'Start a new workbook in Excel
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
'Add data to cells of the first worksheet in the new workbook
Set oSheet = oBook.Worksheets(1)
oSheet.Range("A1").Value = "Last Name"
oSheet.Range("B1").Value = "First Name"
oSheet.Range("A1:B1").Font.Bold = True
oSheet.Range("A2").Value = "Doe"
oSheet.Range("B2").Value = "John"
'Save the Workbook and Quit Excel
oBook.SaveAs "C:\Book1.xls"
oExcel.Quit
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Can anybody help me get the code in Visual Basic.net for a simple calculator?
|
|
|
|
|
|
Does anybody know if a TreeView can be edited during runtime?
I know that I can modify the text in a node but I would like to be able to also add and remove nodes.
Thanks.
|
|
|
|
|
Sure. The Nodes collection can be modified at any time. You just have to provide a means for the user to select the node(s) and add/delete them.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I know you don't want to write the code for me...
But do you know of any good resources that will describe the procedures?
Thanks
Brad
|
|
|
|
|