|
Simple programmer wrote: Public score as integer
Where is the location that you declare your variable? Try to insert a module in your application and decalre it as:
Global score as integer
Let me know whether it is working or not.
|
|
|
|
|
Hi,
Thanx for ur reply, i declare in general declaration.
Global shows compile error so i can't use it also.
i don't understand "insert a module in your application"..
pls help me to explain.
Thanx
|
|
|
|
|
Simple programmer wrote: i don't understand "insert a module in your application"..
pls help me to explain.
In vb6 IDE, go to Project menu and choose Add module. Then click OK button when the Add module dialog box appear. The new module will include to your application and you can declare a variable that could use within your application from here.
|
|
|
|
|
Thank God finally it works. thanks a lot. once i add the module it can work ready.
Thanks Again
|
|
|
|
|
You are welcome
|
|
|
|
|
If u r using VB.NET please go to menu project and creat new item call Modould and write variabl u 1 do declare
................
|
|
|
|
|
Try "Public Shared score As Integer", it should work.
-- modified at 14:08 Thursday 6th July, 2006
|
|
|
|
|
Hi,
Is there a way we can access/extract the image information from an image processing software so that we can modify the image in our vb.net project, for example apply edge detection etc?
|
|
|
|
|
Accurately?? Only if the other application saves the image to a file that your application then loads. Getting the image directly from the other application is not possible unless the other app exposes some kind of API to do it.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
Then is there a way to make the 'another program' to save as default in a location where my application loads from? Can you give me an example of the file which my application loads from?
|
|
|
|
|
szevy_suez wrote: Then is there a way to make the 'another program' to save as default in a location where my application loads from
Again, this is entirely dependant on the "other program"!! If it doesn't expose any kind of API to do this, you're project is over with before you even start. There is no standard interface for this.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
Hi,
I'm sorry, but I am not sure what is an API, I tried google for it, and had a slight idea what is that, but I still dunno how to check the program's API. The program I wish to access is a software built under GNOME desktop environment. Does that help in what I intend to do?
|
|
|
|
|
API stands for Application Programming Interface. It's a set of classes/functions that your code can call to interact with with application, operating system, or hardware you want. For example, Microsoft Word exposes a COM type library that outside applications can use to manipulate Word documents.
You'll have to contact the manufacturer of the application your using to see if they supply an SDK (Software Development Kit) or API library to do what you want.
szevy_suez wrote: The program I wish to access is a software built under GNOME desktop environment
If you're talking about a Linux environment, then you're pretty much on your own. CP is dedicated to Microsoft's environments and developer tools, but does have people that support other environments, but there are no discussion boards dedicated to them.
Does this help your cause?? No, it doesn't have any bearing on your problem at all. You still face the exact same problems.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
Hi,
Some friends here oredi taught me how to open a program from a vb project. But is it possible to make the opened program located in a box in the vb project interface?
|
|
|
|
|
szevy_suez wrote: But is it possible to make the opened program located in a box
What do you mean by open program locate in a box?
|
|
|
|
|
Erm, it's like defining a border/frame in the interface where the program called will be opened sitted in the border/frame
|
|
|
|
|
Thank you very much for your respond. But I still can't figure out about your meaning relate to your question. If possible, please try draw a picture of what you want and send e-mail as an attachment file to my e-mail address: roathkanel@yahoo.com
|
|
|
|
|
No, it isn't. You can't make another application be a child window, or control, of your app.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
Hello Friends,
I have been working on ASP.NET for the last 2 and half years. The
bad part of my experience is I have been working alone on all of the
projects and there was no peer around who knows .NET or OOP. So where
ever I go I just get to implement the ones I know or udnerstand. In all
of the projects I never implemented any of the OOP techiniques at all
but just a water fall approach like a classic ASP programming. Except
calling a connection string web.config file and put that in a DL and
BL to call stored proc and put the results in a Datasets or datareaders
as needed. Other than this my mind has no experience on how to take
full advantage of OOP. So I am just looking for a few pages of document
that explains a small project with just 2,3 database table objects and
how to design the components in OOP in .NET and catogorize the
components with the application of Abstraction, Inheritance,
Polymorphism, encapsulation, interfaces(when and why to create them)
and also the remaining things if I have forgotten any thing to mention
here.
Some one could help me with finding a resource like that. In a single
sentence I am confident enough to build web applications using ASP.NET
1.x/2.0 but feel handicapped in using and implementing OOP paradigm in
the application I work on. My objective is once the database folks are
done with database designing job and once its I have every thing ready
from the database I should be able to sit and design components looking
at the datamodel and design the components in .NET using OOP apradigm.
Thats my objective is. How and where do I get this kind of
understanding. I am not looking to happen this over night but a
starting point about how I need to start thinking or working from and
how?
Any help is greatly appriciated,
Thanks in advance,
-L
|
|
|
|
|
Pick up just about any book on VB.NET and you'll find what you're looking for.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
I used to have the same problem, except in windows applications. I would do ALL of my development in Visual Basic 6.0 because that was how i was used to think. Eventually I forced myself to develop an entire application .NET and it did wonders for me. BAsically my advice would be to make sure you understand primarily what all the OOP components are: classes, interfaces, inheritence, overloading etc. and before you start writing your classes, draw a basic diagram of your class structure. Work off of this and then at some point you'll realize your original construct could be done much more efficiently. This is when you refactor all of your code and redesign your object structure. Keep repeating this and you'll find that you gain a better and better understanding of when to use OOP and how. Of course, don't do this for a really big / corporate application, but more as a hobby thing.
Regards,
Tristan Jones
|
|
|
|
|
Hi all,
I am working with some CSV files
basicly the workflow is
CSV->datatable->datasource-> bindingsource -> display as data grid view
I have two such bindingsource
one of users by department
one of users by bill
what i would like to do is run through a loop so that any new users that show up on the bill are put into the datagrid view with ??? as there department ( so i can fill it in later)
( i later use teh department to break the bill up into amount by department)
I have the Loop down i just am not sure of the command to add a new row to the binding source
Any pointers you could give me would be awsome
code
************************************************************************
Public Sub addusers()
Dim userRowIndex As Integer
Dim name As String
For Each invoiceRow As DataRowView In Me.invoicebindingsource
userRowIndex = Me.userbindingsource.Find("Name", invoiceRow("Name"))
name = invoiceRow("name")
If userRowIndex <> -1 AndAlso Me.userbindingsource(userRowIndex)("Name") = name Then
Else
CType(userbindingsource, DataRowView)
End If
Next invoiceRow
End Sub
|
|
|
|
|
Im on the right path now but still having some trouble
It still wont do it automaticly loops through once then quits
Dim userRowIndex As Integer
'Dim currentRow As DataRowView = DirectCast(Me.userbindingsource.Current, DataRowView)
Dim newRow As DataRowView = DirectCast(userbindingsource.AddNew(), DataRowView)
Dim name As String
For Each invoiceRow As DataRowView In Me.invoicebindingsource
userRowIndex = Me.userbindingsource.Find("Name", invoiceRow("Name"))
name = invoiceRow("name")
If userRowIndex <> -1 AndAlso Me.userbindingsource(userRowIndex)("Name") = name Then
MessageBox.Show(invoiceRow("name") & " already exists")
Else
newRow("Name") = name
newRow("Department") = "???"
End If
Next invoiceRow
|
|
|
|
|
If I correctly understand what you are trying to do, this should work for you:
For Each userRow As DataRowView in Me.userbindingsource
Dim name as String = userRow.Item("name")
If Me.invoicebindingsource.Find("name",name) = -1 Then
Me.invoicebindingsource.AddNew
Dim newRecord as DataRowView = CType(me.invoicebindingsource.Current, DataRowView)
newRecord.Item("name") = name
newRecord.Item("department") = "???"
Me.invoicebindingsource.EndEdit
Else
msgbox(name & "already exists")
End If
Next
This will iterate through the users and check for a name match in every record of the invoice table. If a match is found, it shows the message box; if not, it creates a new record and sets the name and dept fields. Hope this helps.
|
|
|
|
|
Hi
I have downloaded some code (below) from this site, converted it to VB .NET and tried it and nothing happens with the datagrid(No columns are shown). Explain what is wrong and what I have to do, please. I have also tried to Import the namespace Hamster and it didn't work. Explain what I have to do to make it work.
Fia
Imports System
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Data
Imports System.Collections
'I had to comment the namespace to correct an error, it said it coudn't find the namespace
'Namespace Hamster.Common
Public Class DataGridComboBoxColumn
Inherits DataGridColumnStyle
Private _xMargin As Integer = 2
Private _yMargin As Integer = 1
Private _comboBox As ComboBox
Private _oldValue As String = ""
Private _inEdit As Boolean = False
Private _dataTable As DataTable
Private _displayMember, _valueMember As String
Public Sub New(ByVal colName As String, ByVal dataSource As DataTable, ByVal
displayMember As String, ByVal valueMember As String, ByVal dataGrid As
DataGrid)
_comboBox = New ComboBox
_comboBox.Visible = False
_comboBox.DataSource = dataSource
_dataTable = dataSource
_comboBox.DisplayMember = displayMember
_displayMember = displayMember
_valueMember = valueMember
_comboBox.ValueMember = valueMember
_comboBox.DropDownStyle = ComboBoxStyle.DropDownList
Dim _graphicsContext As Graphics = dataGrid.CreateGraphics()
Dim _widest As Single = 0
Dim _stringSize As New SizeF(0, 0)
Dim dr As DataRow
For Each dr In dataSource.Rows
_stringSize = _graphicsContext.MeasureString(dr(displayMember).ToString(),
dataGrid.Font)
If _stringSize.Width > _widest Then
_widest = _stringSize.Width
End If
Next dr
_comboBox.DropDownWidth = CInt(Math.Ceiling(_widest))
Me.Width = _comboBox.DropDownWidth + 25 ' Add the space for the dropdown
arrow
Me.MappingName = colName
Me.HeaderText = colName
dataGrid.Controls.Add(_comboBox)
End Sub 'New
Protected Overrides Sub Abort(ByVal rowNum As Integer)
_inEdit = False
_comboBox.Hide()
End Sub 'Abort
Protected Overrides Function Commit(ByVal dataSource As CurrencyManager,
ByVal rowNum As Integer) As Boolean
If Not _inEdit Then
Return True
End If
Try
Dim _value As Object = _comboBox.SelectedValue
If NullText.Equals(_value) Then
_value = System.Convert.DBNull
End If
Me.SetColumnValueAtRow(dataSource, rowNum, _value)
Catch
Finally
_inEdit = False
_comboBox.Hide()
End Try
Return True
End Function 'Commit
Protected Overloads Overrides Sub Edit(ByVal [source] As CurrencyManager,
ByVal rowNum As Integer, ByVal bounds As Rectangle, ByVal [readOnly] As
Boolean, ByVal instantText As String, ByVal cellIsVisible As Boolean)
_comboBox.Text = ""
Dim _originalBounds As Rectangle = bounds
_oldValue = _comboBox.Text
If Not cellIsVisible Then
Return
End If
bounds.Offset(_xMargin, _yMargin)
bounds.Width -= _xMargin * 2
bounds.Height -= _yMargin
_comboBox.Bounds = bounds
_comboBox.Visible = True
_comboBox.SelectedValue = GetText(GetColumnValueAtRow([source], rowNum))
If Not (instantText Is Nothing) Then
_comboBox.SelectedValue = instantText
Dim [End] As Integer = _comboBox.Text.Length
_comboBox.Select([End], 0)
Else
_comboBox.SelectAll()
End If
_inEdit = True
End Sub 'Edit
Protected Overrides Function GetMinimumHeight() As Integer
Return _comboBox.PreferredHeight + _yMargin
End Function 'GetMinimumHeight
Protected Overrides Function GetPreferredHeight(ByVal g As Graphics, ByVal
val As Object) As Integer
Return FontHeight + _yMargin
End Function 'GetPreferredHeight
Protected Overrides Function GetPreferredSize(ByVal g As Graphics, ByVal val
As Object) As Size
Dim _extents As Size = Size.Ceiling(g.MeasureString(GetText(val),
Me.DataGridTableStyle.DataGrid.Font))
_extents.Width += _xMargin * 2
_extents.Height += _yMargin
Return _extents
End Function 'GetPreferredSize
Protected Overloads Overrides Sub Paint(ByVal g As Graphics, ByVal bounds As
Rectangle, ByVal [source] As CurrencyManager, ByVal rowNum As Integer)
Paint(g, bounds, [source], rowNum, False)
End Sub 'Paint
Protected Overloads Overrides Sub Paint(ByVal g As Graphics, ByVal bounds As
Rectangle, ByVal [source] As CurrencyManager, ByVal rowNum As Integer, ByVal
alignToRight As Boolean)
Dim _text As String = GetText(GetColumnValueAtRow([source], rowNum))
Dim dr As DataRow
For Each dr In _dataTable.Rows
If dr(_valueMember).ToString() = _text Then
_text = dr(_displayMember).ToString()
Exit For
End If
Next dr
PaintText(g, bounds, _text, alignToRight)
End Sub 'Paint
' Helper functions
Private Sub PaintText(ByVal g As Graphics, ByVal bounds As Rectangle, ByVal
[text] As String, ByVal alignToRight As Boolean)
Dim _backBrush = New SolidBrush(Me.DataGridTableStyle.BackColor)
Dim _foreBrush = New SolidBrush(Me.DataGridTableStyle.ForeColor)
Dim _rect As Rectangle = bounds
Dim _rectF As RectangleF = RectangleF.op_Implicit(_rect)
Dim _format As New StringFormat
If alignToRight Then
_format.FormatFlags = StringFormatFlags.DirectionRightToLeft
End If
Select Case Me.Alignment
Case HorizontalAlignment.Left
_format.Alignment = StringAlignment.Near
Case HorizontalAlignment.Right
_format.Alignment = StringAlignment.Far
Case HorizontalAlignment.Center
_format.Alignment = StringAlignment.Center
End Select
_format.FormatFlags = StringFormatFlags.NoWrap
g.FillRectangle(_backBrush, _rect)
_rect.Offset(0, _yMargin)
_rect.Height -= _yMargin
g.DrawString([text], Me.DataGridTableStyle.DataGrid.Font, _foreBrush,
_rectF, _format)
_format.Dispose()
End Sub 'PaintText
Private Function GetText(ByVal val As Object) As String
If val Is System.DBNull.Value Then
Return Me.NullText
End If
If Not (val Is Nothing) Then
Return val.ToString()
Else
Return String.Empty
End If
End Function 'GetText
End Class 'DataGridComboBoxColumn
'End Namespace 'Hamster.Common
-------------------------------------------------------------
'Imports Hamster.Common
Public Class Form1
Inherits System.Windows.Forms.Form
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Handles MyBase.Load
Dim ts As New DataGridTableStyle
ts.MappingName = "Columns"
Dim AccessDataTypes As New DataTable
AccessDataTypes.Columns.Add(New DataColumn("Number", GetType(Integer)))
AccessDataTypes.Columns.Add(New DataColumn("Name", GetType(String)))
AccessDataTypes.Rows.Add(New Object() {3, "Numeric"})
AccessDataTypes.Rows.Add(New Object() {130, "Text"})
Dim c1 As New DataGridComboBoxColumn("Type", AccessDataTypes, "Name",
"Number", theGrid)
c1.NullText = "3"
ts.GridColumnStyles.Add(c1)
End Sub
End Class
|
|
|
|
|