|
Hi
how to give Chinese characters as in put in a Text box in vb.net. i need to enter the charecter through key bord.
and how display the chineses charectes in datagrid in vb.net.
|
|
|
|
|
Install a Chinese keyboard with the Language Bar of Windows. Set the focus to your text box, then select "Chinese" from the Language Bar, and type: "川宫" (don't know what it means, just typed some characters on my German keyboard with the Chinese keyboard selected in the LanguageBar...)
|
|
|
|
|
Hello all,
I have built a C++ class like this:
class MyClass {
public:
int x;
MyClass();
virtual void f1(int);
virtual void f2();
virtual void f3();
};
extern "C" DLLIMPORT void* MCSet(int);
extern "C" DLLIMPORT void MCKill();
extern "C" DLLIMPORT int MCGet();
extern "C" DLLIMPORT void DoStuff(MyClass); I also made a client *.exe that uses all MyClass features. Can someone tell me if it is possible to call MyClass from vba and do the same? If so, how? (A sample code would be very helpfull )
[]'s
|
|
|
|
|
I developed a hotel bill In Windows form application(visual basic 2010)
i created a database with Column names
1.S_No
2.ItemName
3.Quantity
4.Price
5.Total
6.GrandTotal
And i added this database to my form and i dragged and dropped as Details view. I arranged columns in horizontal format. Grand total button at end form. i selected all text boxes excluding grand total textbox. by holding Ctrl key i made duplicates to all text boxes in the same horizontal columns. The first text boxes are correctly working correctly.but the duplicates box values although i inserted they are not assigning to database(when i pressed save icon on top)(only first Row boxes are saved) what to do please help me. provide the code in visual basic 2010 format. if you don't understand i will mail my complete project to you please please help me
|
|
|
|
|
I want to an admin Login page for My Form How to create that form that checks user name and password and allow to second form
|
|
|
|
|
In your VB.NET application IDE there is ALREADY a LOGIN form Template!
Why not use that one and add yuor code to query yuor members dtabase?
|
|
|
|
|
I have an the following application setting [Name: PO / Type: Integer / Scope: User / Value: 100001]
This setting increments every time the user logs into the application and is displayed in a textbox - it is working fine on 4 different workstations - but on workstation 5 it is only displaying 1 then 2 then 3 and so on instead of 100001,100002,100003 . . . ..
There is a mixture of operating systems anything from XP to Windows 8. Workstation 5 is Windows 7.
Is there something obvious I'm missing?
Thanks,
MB
|
|
|
|
|
Without knowing anything about how you implemented this functionality, it's pretty much impossible to tell you what's going wrong.
How are you getting this setting and from where? How are you updating this setting and persisting it?? We'd need to see the relavent code snippets.
|
|
|
|
|
OK - lets see if this helps - have the following variable under Public Class Main:
Dim poIncNo As Integer
Then in the formLoad Event I have:
txtBx_poNo.Text = genPoNo(currUser)
Private Function genPoNo(ByVal user As String) As String
Dim strNum As String = "1"
poIncNo = My.Settings.po + 1
Dim poNum As String
Select Case user
Case uFred
poNum = strNum & userId + CStr(poIncNo)
Return poNum
End Select
End Function
In Application.Settings I have:
Name = po
Type = integer
Scope = user
Value = 100001
Thanks,
MB
|
|
|
|
|
OK, so are these application-scope settings or user-scope settings??
You also don't have any code in what you posted that sets the settings with new values and persists them.
|
|
|
|
|
Dave,
It is 'user-scope'
Private Function genPoNo(ByVal user As String) As String
08 Dim strNum As String = "1"
09 poIncNo = My.Settings.po + 1 '----IT'S INCREMENTED HERE !
10 Dim poNum As String
11 Select Case user
12 Case uFred
13 poNum = strNum & userId + CStr(poIncNo)
14 Return poNum
15 End Select
16 End Function
Thanks MB
|
|
|
|
|
mebjen wrote: poIncNo = My.Settings.po + 1 '----IT'S INCREMENTED HERE !
NO, IT'S NOT! You set the value of poIncNo to the setting + 1, but you never showed where you saved that new value back into settings!
|
|
|
|
|
Hi
I have a strange problem which i am not sure if it is an issue in VB
Public Class Form1
Private moving As Boolean = False
Private Sub Label2_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label2.MouseDown
If e.Button = Windows.Forms.MouseButtons.Left Then
moving = True
End If
End Sub
Private Sub Label2_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label2.MouseUp
moving = False
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Label3.Text = moving
End Sub
Private Sub Form1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
Dim eLocation As New System.Drawing.Point(e.X, e.Y)
If moving = True Then
Label1.Text = "X." & e.X & vbCrLf & "Y." & e.Y
Label2.Location = eLocation
End If
End Sub
End Class
There is a label on the form and when you click on it is should be dragable on the form. The issue is that the flag is not been set on the mouse down event but I am not sure why or if it is the mouse move event where I test for the flag is always false. If I take the test for the flag out of the mouse move the label follows the mouse with the left mouse button down so all events seem to be working. If I declare the flag as true at start up the label also follows the mouse until the left button is pressed and released resetting the flag. I have also tried removing the flag reset in mouse up event, this actually starts to work when the left button is released.
Any help would be appreciated
Col
VB Express 2010
|
|
|
|
|
Have a read of this
Drag label anywhere[^]
Lobster Thermidor aux crevettes with a Mornay sauce, served in a Provençale manner with shallots and aubergines, garnished with truffle pate, brandy and a fried egg on top and Spam - Monty Python Spam Sketch
|
|
|
|
|
Hi
Yes i have Simon and i have seen a lot of examples however they all seem to stop at VB 2008, I have tried the example but the problem i have is still there. It seems that on the mouse down button it fires the mousedown event, while holding the the button and now move the mouse the mousemove event is not triggered untill the mouse button has been released. Is there any way to tell the event to end and contine looking for other events?? is this a limitation of 2010 Express version??
Col
|
|
|
|
|
You need to implement a mouse move event on the control not the form
i.e.
Private Sub Control_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label2.MouseMove
If Moving Then
Dim ctrl As Control = CType(sender, Control)
' Move the control according to mouse movement
ctrl.Left = (ctrl.Left + e.X) - cursorX
ctrl.Top = (ctrl.Top + e.Y) - CursorY
' Ensure moved control stays on top of anything it is dragged on to
ctrl.BringToFront()
End If
End Sub
Lobster Thermidor aux crevettes with a Mornay sauce, served in a Provençale manner with shallots and aubergines, garnished with truffle pate, brandy and a fried egg on top and Spam - Monty Python Spam Sketch
|
|
|
|
|
Thanks Simon, that was the problem the control had to have the event
Col
|
|
|
|
|
Your Form1_MouseMove method handles the form's MouseMove event. Shouldn't it be attached to Label2 MouseMove?
Alan.
[EDIT, just like Simon says]
|
|
|
|
|
I find I need an old vb program on win7 but got out of doing stuff like this. Despite the fact that some ways of doing things was dropped in modern windows I am guessing there is a replacement. I know send keys was considered un reliable but the problem was finding what window was the focus. Chances are the window is called something else. A good example is the program I need this for when the window is open there is no title to be seen. all my research says that vb6 is an unreliable or troublesome install on win 7. I have the source for an old vb program and have been advised to find a net replacement. And was wondering how others handled the same problems. For instance the converter by microsoft. Does it work. And how much should I expect to be converted and how much should I expect to hand code.
here is what I am talking about.
<pre lang = "vb">
<pre>VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 1995
ClientLeft = 60
ClientTop = 345
ClientWidth = 4185
LinkTopic = "Form1"
ScaleHeight = 1995
ScaleWidth = 4185
StartUpPosition = 3 'Windows Default
Begin VB.Timer Timer1
Left = 540
Top = 930
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Sub Form_Load()
Timer1.Interval = 100
End Sub
Private Sub Timer1_Timer()
Static lHwnd As Long
Dim lCurHwnd As Long
Dim sText As String * 255
lCurHwnd = GetForegroundWindow
If lCurHwnd = lHwnd Then Exit Sub
lHwnd = lCurHwnd
If lHwnd <> hwnd Then
Caption = "ActiveWidow: " & Left$(sText, GetWindowText(lHwnd, ByVal sText, 255))
Debug.Print Caption
Else
Caption = "ActiveWindow: Form1"
End If
End Sub
Is there an easy way to do this on win 7?
|
|
|
|
|
Is this what you mean?
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Interval = 250
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Static lHwnd As Long
Dim lCurHwnd As Long
Dim sText As String
sText = ""
lCurHwnd = GetForegroundWindow
If lCurHwnd = lHwnd Then Exit Sub
GetWindowText(lHwnd, sText, 255)
lHwnd = lCurHwnd
If lHwnd <> Me.Handle Then
Me.Text = "ActiveWindow: " & Microsoft.VisualBasic.Left(sText, 255)
Debug.Print(Me.Text)
Else
Me.Text = "ActiveWindow: Form1"
End If
End Sub
|
|
|
|
|
thank you for your answer.if I don't know the .net I am probally going to get into trouble. Yes that looks like what I am trying to work with. Though the coding there looks a lot better then what I came up with. Let me explain the problems I am having and maybe as coders you can tell me how I should handle it. I have a program I need to find the active window on. one of the problems I think is the program takes over my comp. and by that I mean I can not easly run any other program while this program is running. but a lot of my input is repetitive meaning I have to hit the same set of keys over and over.
sometimes for as long as an hour. I have found some stuff will run as long as it is in the background.My idea was a simple script to find the active window and handle then senkeys to send the keystrokes to it. But heres my glitch. I can not get the script to stay open long enough to read the info and everyone tells me I should never use sendkeys for this. the only advise I get is find another way besides send keys.but no search or no one has sugested another way. I tried stuff like autoit but failed on all attempts. Is there a better way? or maybe a progam I could use?
|
|
|
|
|
I think if you simply want to find the active window, then you should should run the script as a function (within a common module) rather than in a timer (in a form) or at the very least disable the timer once you have found the active window.
The sample code you provided lives in the TIMER's event routine within the FORM.
This would also mean if you have several forms then they are all running concurrently.
And this is why your system is becoming unresponsive?
For what you want to do, I dont think the sendkeys is the problem, its probably the timer which runs every so often... (100 milliseconds i think you had it at).
If everyone tells you you shouldn't use sendkeys to do what you want, then more than likely they are right! After all so many people cannot be wrong?
Maybe you could use API functions to attain the results you want?
Im not sure but it cannot be too difficult for you to find the answer in the documentation on MSDN.
I have seen several posts on this websites forum which deal with finding the active window.
Maybe surfing through those threads/posts would give you a better resolution to your issue.
|
|
|
|
|
The VB6 code migration wizard no longer exists in Visual Studio 2010 and above. If you've got VB6 code to convert, you'll either need to use Visual Studio 2008 to do a conversion, the quality of which depends entirely on your VB6 code. The more PInvoke stuff you have in it, they worse the conversion will be.
Keep in mind that the conversion utility will not rewrite your code to what you can do by hand today under .NET. It will convert the project so that it has a decent chance of at least compiling. VB6 did so many things poorly that it's sometimes just impossible for it to figure out what you were doing and rewrite appropriately.
|
|
|
|
|
Hello,
I'm using:
Microsoft Visual Basic 2008, Professional Edition
I've run into a problem I can't figure out. I'm using VB 2008. I found the following sample code and was attempting to use it but am not understanding how to setup the query, I bolded it below.
I understand I need to go in and set up my own customer query in my database in order to use it like the example below.
Q) Do I setup the query on my table adapter or on the original table in the database (Maybe even some good info on how to setup these queries)?
Q)If I'm understanding this, once I setup the query correctly I should just have to put in a variable and it fill find all row(s) with that parameter that I can delete?
Q) When using the @XXXX in the query, do I have to then use that as my variable to pass the data I'm looking for or can I use and variable?
' Locate the row to delete.
Dim oldRegionRow As NorthwindDataSet.RegionRow
oldRegionRow = NorthwindDataSet._Region.FindByRegionID(5)
' Delete the row from the dataset
oldRegionRow.Delete()
' Delete the row from the database
Me.RegionTableAdapter.Update(Me.NorthwindDataSet._Region)
I was able to setup the following query on my database but per the example, I'm not sure I did it correctly:
SELECT Gene, FindMethod, TDiscovery, TReplicate, AA_A, AA_T, AA_G, AA_C, ImageFileName, Description, SpxReplicationItem, IconFileName, Complete, Image, Icon, Type,
UniqueID, Chromosome, Rarity, ParentGene, Name
FROM PlazimorphGenes
WHERE (Gene = @genename)
I then tried using it as this:
tRow = PlazimorphDBDataSet.PlazimorphGenes.FillByGene(genename)
and got an error that it is not a member of the database.
Thank you for all the help! I've been searching this forum and the web in general and have found the best help here!
modified 1-Dec-12 15:44pm.
|
|
|
|
|
Have you got a link to the code you are trying?
I suspect that you require a Stored Procedure on the Database:
USE BDNAME
GO
CREATE PROCEDURE SelectByGeneName(
@GeneName VarChar(100)
)
AS
BEGIN
SET NOCOUNT ON;
SELECT Gene, FindMethod, TDiscovery, TReplicate, AA_A, AA_T, AA_G, AA_C, ImageFileName, Description, SpxReplicationItem, IconFileName, Complete, Image, Icon, Type,
UniqueID, Chromosome, Rarity, ParentGene, Name
FROM PlazimorphGenes
WHERE Gene = @genename
RETURN;
END
GO
I dont use the automatic binding etc...so I would retreive the data like this:
Public Function GetByGeneName(name as String) As DataTable
Dim cn as New SqlConnection(ConnStr)
Dim cmd as New SqlCommand
Dim dt as New DataTable("PlazimorphGenes")
Try
cn.Open()
With cmd
.Connection = cn
.CommandType = CommandType.StoredProcedure
.CommandText = "SelectByGeneName"
.Parameters.AddWithValue("@GeneName", name)
Dim da as New SqlDataAdapter(cmd)
da.Fill(dt)
End With
Catch ex as Exception
...
Finally
If cn.State <> ConnectionState.Closed Then cn.Close()
End Try
Return dt
End Function
I don't speak Idiot - please talk slowly and clearly
"I have sexdaily. I mean dyslexia. Fcuk!"
Driven to the arms of Heineken by the wife
|
|
|
|