|
That thing is 3 years old! Speech SDK 5.1 was replaced by the Speech Application SDK and soon to be released Speech.NET.
I don't have any idea what the problem could be. As far as I can remember, and find, the 5.1 SDK came with 2 voices, 1 Male and 1 Female.
From the object names that you've given, your using the ActiveX control version of the TTS engine. You might want to go back to the samples and try the methods spelled out in there so you don't have to use the ActiveX version.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Thanks.I was my first approach to TTS so I went into microsoft web and download what I thought was up to date. I will wait for Speech.Net to start my approach to TTS.
Thanks a lot.
|
|
|
|
|
(as marisolera)
I found the answer.As I have only the visual basic .net for students and not the full visual studio, I cannot implement other speech programs than Speech SDK 5.1. This program comes with 4 voices (Mike,Sam,Mary and a predefined one).
I will use all this four and that's o.k. for the moment, even when my project needs between 20 and 30.
|
|
|
|
|
how can i use API functions and LVM_INSERTITEM to insert items into a listview?
|
|
|
|
|
You would have to use the SendMesage function. You would need the target Listview's window handle (hWnd) and a pointer to a completed LVITEM structure.
But, why would you want to go through that hell when there is a perfectly good Items.Add function?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
ok...
Public Declare Auto Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As IntPtr, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As LVITEM) As Long
Public Structure LVITEM
Dim mask As Long
Dim iItem As Long
Dim iSubItem As Long
Dim State As Long
Dim stateMask As Long
Dim pszText As String
Dim cchTextMax As Long
Dim iImage As Long
Dim lParam As Long
Dim iIndent As Long
Dim iGroupId As Long
Dim cColumns As Long
Dim puColumns As Long
End Structure
Public Const LVIF_TEXT = &H1
Public Const LVIF_IMAGE = &H2
Public Const LVIF_PARAM = &H4
Public Const LVIF_STATE = &H8
Public Const LVIF_INDENT = &H10
Public Const LVIF_GROUPID = &H100
Public Const LVIF_COLUMNS = &H200
Public Const LVM_FIRST = &H1000&
Public Const LVM_INSERTITEMA = (LVM_FIRST + 7)
Public Const LVM_INSERTITEM = LVM_INSERTITEMA
Public Const LVM_GETITEMCOUNT = (LVM_FIRST + 4)
Private Sub fAddItem(ByVal sText As String, Optional ByVal lIndex As Long = 1, Optional ByVal iIcon As Long = -1, Optional ByVal iIndent As Long = 0, Optional ByVal lItemData As Long = 0)
Dim tLV As LVITEM
Dim lR As Long
tLV.pszText = sText & vbNullChar
tLV.cchTextMax = Len(sText) + 1
tLV.iImage = iIcon
tLV.iIndent = iIndent
tLV.lParam = lItemData
tLV.iItem = lIndex - 1
tLV.mask = LVIF_TEXT Or LVIF_IMAGE Or LVIF_PARAM Or LVIF_INDENT
lR = SendMessage(Me.ListView1.Handle, LVM_INSERTITEM, 0&, tLV)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call fAddItem("test")
End Sub
what is wrong?
|
|
|
|
|
For one, your using VB.NET and passing Long's for your parameters. Use Integers instead. VB6 passed Long's because they are 32-bit integer's. In VB.NET, they are 64-bit. Next, declare your structure with a Sequential Layout. This will make sure that all of your structure members appear in memory in the order that you specified them. Lastly, don't do this on a Form_Load event. It is not guaranteed that your ListView will even have a handle until after Form_Load is complete. Test it in a button click event.
Public Declare Auto Function SendMessage Lib "user32" Alias "SendMessageA" ( _
ByVal hwnd As IntPtr, ByVal wMsg As Integer, _
ByVal wParam As Integer, ByRef lParam As LVITEM) As Integer
<StructLayout(LayoutKind.Sequential, CharSet := CharSet.Ansi)> _
Public Structure LVITEM
Public mask As Integer
Public iItem As Integer
Public iSubItem As Integer
Public State As Integer
Public stateMask As Integer
Public pszText As String
Public cchTextMax As Integer
Public iImage As Integer
Public lParam As Integer
Public iIndent As Integer
Public iGroupId As Integer
Public cColumns As Integer
Public puColumns As Integer
End Structure
Public Const LVIF_TEXT = &H1
Public Const LVIF_IMAGE = &H2
Public Const LVIF_PARAM = &H4
Public Const LVIF_STATE = &H8
Public Const LVIF_INDENT = &H10
Public Const LVIF_GROUPID = &H100
Public Const LVIF_COLUMNS = &H200
Public Const LVM_FIRST = &H1000&
Public Const LVM_INSERTITEMA = (LVM_FIRST + 7)
Public Const LVM_INSERTITEM = LVM_INSERTITEMA
Public Const LVM_GETITEMCOUNT = (LVM_FIRST + 4)
Private Sub fAddItem(ByVal sText As String, Optional ByVal lIndex As Integer = 1, _
Optional ByVal iIcon As Integer = -1, Optional ByVal iIndent As Integer = 0, _
Optional ByVal lItemData As Integer = 0)
Dim tLV As LVITEM
Dim lR As Integer
tLV.pszText = sText & vbNullChar
tLV.cchTextMax = Len(sText) + 1
tLV.iImage = iIcon
tLV.iIndent = iIndent
tLV.lParam = lItemData
tLV.iItem = lIndex - 1
tLV.mask = LVIF_TEXT Or LVIF_IMAGE Or LVIF_PARAM Or LVIF_INDENT
lR = SendMessage(Me.ListView1.Handle, LVM_INSERTITEM, 0&, tLV)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Button1.Click
fAddItem("test")
End Sub
Also, I have NOT tested this code. I've just corrected the obvious mistakes and reposted the code. I haven't run it through the compiler or tried to run it!
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
|
Hi
My question is:
can i make a dialog (form) with tabs using Vb and use this dialog in a web page, or should it be developed using asp or asp.net?
if it possible than how can i do it!
|
|
|
|
|
You could create the whole thing as a big ActiveX control, and then embed that in the page....
"Now I guess I'll sit back and watch people misinterpret what I just said......"
Christian Graus At The Soapbox
|
|
|
|
|
I have an access table that has a query to make a fullname from one column-(Lastname) and another column-(Firstname). The query puts the Lastname and firstname like this:
Lastname, Firstname
The problem is that when I go to setup the adapter in VB .NET the table doesn't show this column in the list, so I'm at a loss on what to try next. Everytime I try different things with no success. If someone can help me I'd appreciate it.
|
|
|
|
|
I have an access table that has a query to make a fullname from one column-(Lastname) and another column-(Firstname). The query puts the Lastname and firstname like this:
Lastname, Firstname
The problem is that when I go to setup the adapter in VB .NET the table doesn't show this column in the list, so I'm at a loss on what to try next. Everytime I try different things with no success. If someone can help me I'd appreciate it.
|
|
|
|
|
Hi there. If you are basing your SelectCommand sql statement in your DataAdapter on the table, it wouldn't include any query-based computed fields. Can you base your SelectCommand statement on the query instead? I think you would simply use the query name in place of the table name.
|
|
|
|
|
Thanks,
About five minutes after I sent posted that message, I tried that and it has worked so far. I'm going to continue testing it though. Thanks for your help.;)
|
|
|
|
|
You should be able do something like this using the SELECT statement in your SQL command:
SELECT (lastname + ', " + firstname) AS fullname FROM myTable
This assumes that your table has 2 columns, 'lastname' and 'firstname'. The resulting table will only have one column called 'fullname'. All this does is combine both columns into one with a different name.
You will, of course, have to modify this to work with your actual data.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
how can i write in a text control and save the text in a table.
Go forward and never Stop....
|
|
|
|
|
Firstly, set up a connection to the database (ADO is the simplest)
Open connection
Get the .Text of your control
form a string of the form "INSERT INTO (<column>) VALUES ()
Execute it on the connection.
"Now I guess I'll sit back and watch people misinterpret what I just said......"
Christian Graus At The Soapbox
|
|
|
|
|
i develope a client server application
and i want to enable user to send Msgbxo to another user
to inform him for somthing
|
|
|
|
|
I take it your talking about a Chat function for you application.
YOu might want to take a look at this[^] article on CodeProject. Download the demo project and look at the source.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Hi, Dave!
You understood wrong the problem. He want send a message box to another user, It contain in a separate window and OK button. Is it correct?
You can use code below:
Shell "Net send " & computer_name & string message
Good luck
tramdtt
|
|
|
|
|
Hi,
I am developping an application using VB6 and mapobjects (an activeX control). This activeX is used to open and display the map (vector form). When I give the applit to the users I have to include the map (basically it is similar to the dbf file). Also the activeX opent the file which in that format only.
But I want to restrict the users to take a copy of that file (more expensive). I want to restrict from copying. Any idea to do this....
P.V.Velan
Chennai, India
|
|
|
|
|
You can't... The file system will let the user copy the file to anywhere they want, so long as the user has rights to write to the destination. The user needs a minimum of Read rights to the file so the application can use it. Unfortunately, this is also all they need to copy the file.
About the only thing you could do is set the file's Hidden attribute. But, even then , all the user has to do, in Explorer, is enable the option to Display Hidden Files...
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Who can help me or give some suggestions where to look for the following issue.
I am currently developing a application in VB.NET, this application was once develped in VB 6.0.
I came up with the idea to proide the application with a programming environment to give more flexibility. In my search on the internet I did not find much, except for a VBA scripting control SAX ON http://www.sax.net/activex/basic/default.aspx.
Further I want that the pogramming environment is aware of the object model inside my application.
I have no idea how to reach this goal.
Any good suggestions are very welcome, books, samples, links, downloads, utilities etc.
|
|
|
|
|
I have compiled a program and made a install file. I have 3 dependencys to my program. I am working with .NET. The other computer has been updated to .net Architecture. One dependency is an .ocx file that i have installed into the windows directory. The .ocx is a user control that is been created in 6.0 and i am referencing to this. When i reference to this .ocx it makes 2 references.
After i build the project. there are 2 dll's in the folder with my .exe. Thats fine. If you move the .ocx file out of the windows folder the app does not work. So i know that the app is looking for the .ocx file in the windows folder. Its just when i install this app on another machine it instant instantly says there has been an exception that can no be handled. Then i try the same install on my computer where i have made the 2 programs and it works fine. I just dont get it because all the files that are dependencys are there and the .ocx file is in its place when i run the install program. I just dont understand why it would not work on another machine with everything in its place with .net framework installed. Any help on this portability issue would be greatly appreciated. Thank you
|
|
|
|
|
When you place the .OCX files on the new machine, you have to register them with REGSVR32:
C:\Windows>REGSVR32 filename.ocx
Once that is done, the OCX file CANNOT be moved, unless you unregister the .OCX and re-register it when it is in it's final position. This is because the full path to the .OCX file is stored in the registry so the system knows where to find the file when it needs it.
Keep in mind, that .OCX files themselves, have dependencies. You must be sure that any .DLL files that the .OCX refers to are also copied to where the .OCX file expects them. You can use the Depends tool that comes with Visual Studio 6 to see what those dependencies are. You must also make sure that the dependent .DLL files are registered also, if they are ActiveX .DLL's.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|