|
MA Awan wrote: Rich Text Box
Why didn't you just say that the first time then!
What exactly are you trying to achieve, that you need to know how much it has scrolled?
|
|
|
|
|
calm down man! If you use VB much, you should be able to figure out what RTB stands for. Especially given the context.
|
|
|
|
|
Calm down? I am calm! back away from the gun and turn around
I have so much garbage swilling around in my head, and work in an industry that is full of TLA's i could not for the life of me think what RTB was, everything other than RichTextBox popped in to my head...even things that don't have RTB in them....premature senior moment i think!
5 for providing a solution though!
|
|
|
|
|
There is a way to get information about the scrolling. The code below will intercept the vertical and horizontal scroll calls and then get the information relating to them. Add the code below as a new class in your project.
Then, on your form, add a Label where the information will go to and on the load, create a new instance of this class passing in the RichTextBox and the Label . Then, whenever you scroll the information will be updated. The nPos tells you the bottom Y position of the last full line (unless you scroll to the top). If you scroll to the top, the nPos will display 0. If you have any questions about the code let me know.
You can use this to get the info you want. It's just a matter of interpreting the information.
Imports System.Windows.Forms
Imports System.Runtime.InteropServices
Imports System.Drawing
Public Class ScrollInterceptor
Inherits NativeWindow
Private Const WM_HSCROLL As Integer = 276
Private Const WM_VSCROLL As Integer = 277
Private Const SIF_TRACKPOS As Integer = &H10
Private Const SIF_RANGE As Integer = &H1
Private Const SIF_POS As Integer = &H4
Private Const SIF_PAGE As Integer = &H2
Private Const SIF_ALL As Integer = SIF_PAGE Or SIF_POS Or SIF_RANGE Or SIF_TRACKPOS
Private myLabel As Label
Private myTextBox As RichTextBox
<DllImport("user32.dll", SetLastError:=True)> _
Private Shared Function GetScrollInfo(ByVal hWnd As IntPtr, ByVal n As Integer, ByRef lpScrollInfo As ScrollInfoStruct) As Integer
End Function
Private Structure ScrollInfoStruct
Public cbSize As Integer
Public fMask As Integer
Public nMin As Integer
Public nMax As Integer
Public nPage As Integer
Public nPos As Integer
Public nTrackPos As Integer
End Structure
Public Sub New(ByRef callingRichTextBox As RichTextBox, ByRef LabelToUpdateTo As Label)
Me.AssignHandle(callingRichTextBox.Handle)
myLabel = LabelToUpdateTo
myTextBox = callingRichTextBox
End Sub
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
MyBase.WndProc(m)
Select Case m.Msg
Case WM_HSCROLL, WM_VSCROLL
Dim sInfo As New ScrollInfoStruct
sInfo.fMask = SIF_ALL
sInfo.cbSize = Len(sInfo)
GetScrollInfo(m.HWnd, 1, sInfo)
myLabel.Text = "nPos = " & sInfo.nPos & vbNewLine &
"char = " & myTextBox.GetCharFromPosition(New Point(1, sInfo.nPos)) & vbNewLine & _
"line = " & myTextBox.GetLineFromCharIndex(myTextBox.GetCharIndexFromPosition(New Point(1, sInfo.nPos)))
End Select
End Sub modified on Monday, February 8, 2010 4:22 PM
|
|
|
|
|
thnx. i will try that and let you know
|
|
|
|
|
hi all, i am new to visual basic anb i have encountered a User-defined type not defined can any one help me? please. below is my code, i put this code in my module
Public Function CN(strng As String, loc As CursorLocationEnum, ConnectionString As String) As Recordset
Set CN = New Recordset
CN.CursorLocation = loc
CN.CursorType = adOpenKeyset
CN.LockType = adLockOptimistic
CN.Open strng, ConnectionString, , , adCmdText
End Function
any idea please, i would really appreciate it
|
|
|
|
|
Is that VB6 & ADO? Did you include a reference to the ADO libraries?I are Troll
|
|
|
|
|
what reference should i use?
|
|
|
|
|
joselito j. mebolos wrote: what reference should i use?
The reference to "Microsoft ActiveX Data Objects 2.8 Library", found under
C:\Program Files\Common Files\system\ado\msado15.dll
You might need to download the libraries[^] if the reference isn't available.I are Troll
|
|
|
|
|
Hi guys, i just wrote a vb.net program. i need to be able to view all sql servers on the office network in order to generate a dynamic connection string.
pls help.He who goes for revenge must first dig two graves.
|
|
|
|
|
I don't think that a well configured SQL server is just going to sit on the network and broadcast out saying 'Hi, I'm an SQL Server, Why don't you try and hack me'
You will need to get a list of the SQL servers from the relevant server admins, as well as which ports they accept connections on.
|
|
|
|
|
ok. thanx. now i understand. But pls how do i get this done. Plus, what about if i'm trying 2 connect my windows application to an online server (like on my website, www.mysite.com)? He who goes for revenge must first dig two graves.
|
|
|
|
|
|
Creamboy wrote: what about if i'm trying 2 connect my windows application to an online server (like on my website, www.mysite.com)?
If you're talking about connecting to an SQL Server over the internet, forget it. Noone in their right mind would EVER expose an SQL server directly to the Internet. You would notmally expose SQL functionality at the application level through a Web Service and have your app use the web service to do the work.
|
|
|
|
|
Get a little lost in the messages?
His first question was about finding sql servers on his network...which there are ways to do that (see Tosch's response below for one). He was told by someone that apparently doesn't know a whole lot about it that it was a ridiculous idea. So, he instead asked how he would connect to a server he knew about.
If you're trying to connect to an online server you just need to know what kind of server you're dealing with.
If you know that, check out http://www.connectionstrings.com/[^] for examples.
|
|
|
|
|
No, not lost. Just commenting on what appeared to be a request to connect to an SQL Server directly connected to the 'Net.
what about if i'm trying 2 connect my windows application to an online server (like on my website, www.mysite.com)?
|
|
|
|
|
Try Sql.SqlDataSourceEnumerator.Instance.GetDataSources
This will give you a datatable with a row for each SQL-Server found in the network. Please read the helpfile for further info.Tosch
|
|
|
|
|
|
I need help with a library computer system I'm creating. I am using ADODC to connect an MS Access database with my VB 6.0 project. As of now, I am working on a save function which saves records of reference materials on a particular table and, at the same time, saving a note on a separate audit trail table. The syntax for this code goes like:
'Note:
'AdoAudit is the ADODC that connects the audit trail table and the project
'AdoRec is the ADODC that connects the table of reference materials and the project
Private Sub cmdSave_Click()
tim = Now
AdoAudit.Recordset.AddNew
AdoAudit.Recordset.Fields("Operation") = "Added or Altered Reference Material"
AdoAudit.Recordset.Fields("DateDone") = Format(tim, "mm-dd-yyyy")
AdoAudit.Recordset.Fields("TimeDone") = Format(tim, "hh:mm:ss ampm")
AdoAudit.Recordset.Update
AdoRec.Recordset.Update
End Sub
The five lines with the AdoAudit are the codes I thought of for the audit trail table. It adds a new line in the said table and fills it with the operation done (in this case, saving a new reference material), the time it was done as well as the date before saving the said record.
However, whenever I run the program, it stops when I click cmdSave and Run-Time Error 91 "Object variable or With block variable not set". The highlighted syntax would be the five aforementioned lines involving AdoAudit. The save command for AdoRec, on the other hand, functions properly.
This is a major problem which prevents me from finishing the system. I have tried everything I know to fix this setback but, unfortunately, none of them fail to work. I am only a 2nd year IT student so I am not well versed on VB 6.0. Can anyone please help me with this problem using ADODC? Also, if possible, do you know what causes the stated error in VB 6.0 as well as means on how to remedy/avoid it?
|
|
|
|
|
If you are creating a new project and not maintaining an old project then i suggest you move on from VB6 to VB.net.
Have you stepped through the code in the debugger?
Sounds like AdoAudit or AdoRec isn't actualy set to any object.
After these object are declared there is usually a Set xyz = somewhere later on.
Try debug, and also look to make sure your objects are referencing correctly.
I also note your tim = now statement, Should this not be;
Dim tim as Date
tim = now()
|
|
|
|
|
Ace Anthony C. Austria wrote: However, whenever I run the program, it stops when I click cmdSave and Run-Time Error 91 "Object variable or With block variable not set". The highlighted syntax would be the five aforementioned lines involving AdoAudit. The save command for AdoRec, on the other hand, functions properly.
Is the AdoAudit object opened properly? If you're "just" adding records, then you could consider using a ADODB.Command with an INSERT -statement.I are Troll
|
|
|
|
|
That particular error usually means that one of the object that you are referencing does not have an instance. I suggest placing a break point on the first line that your code has trouble. Then use the immediate pane to check that each of your objects has an instance such as "?AdoAudit is nothing", and then "?AdoAudit.Recordset is nothing", etc. It'll return true/false for each object that you do this with.
Here is a an example that accomplishes what you are looking to do in your cmdSave_Click event. Note: be sure to replace the Const values. Hopefully, this working model (I tested it on my computer) will help you identify where your code went off.
Private Sub cmdSave_Click()
'enter values for your scenario
Const connStr As String = "<replace with the connection string to connect to your Access DB>"
Const tableName As String = "<replace with the table name of the table you wish to save to>"
'vars
Dim dbConn As ADODB.Connection
Dim saveRec As ADODB.Recordset
'initialize & open connection to DB
Set dbConn = New ADODB.Connection
dbConn.Open connStr
'initialize & open recordset to table
Set saveRec = New ADODB.Recordset
saveRec.Open "SELECT TOP 0 * FROM [" & tableName & "]", dbConn, adOpenDynamic, adLockOptimistic
'create new record
saveRec.AddNew
'save data to new record
saveRec("Operation") = "Added or Altered Reference Material"
saveRec("DateDone") = Format(Now, "mm-dd-yyyy")
saveRec("TimeDone") = Format(Now, "hh:mm:ss ampm")
'save record
saveRec.Update
'clean up
saveRec.Close
Set saveRec = Nothing
dbConn.Close
Set dbConn = Nothing
End Sub
|
|
|
|
|
Hi,
I am using Visual Basic 6.0. In My Application I had an treeview (listing file names) and an Webbrowser control. So that While choosing the filenames from the treeview it will be opened on the webbrowser. My Problem is that in Folder options-> File Types->Doc->Advanced->Browse in the same window is unchecked. So it opens Out side the web browser.
How to get this Settings.
so that if it is unchecked i can provide information to the User
Thanks
|
|
|
|
|
Those setting are buried in the registry.
You will need to write code that searches through the relevant hive and path to extract the setting for the relevant filetype.
(again, time to move on from VB6.....)
|
|
|
|
|
Please help me with my project hotel reservation system in visual basic programming language. Please, i really need the code coz i'm just a beginner in programming.., i really don't know how to program it.,
Thanks.., God Bless.,
|
|
|
|