|
Select Case MyString
Case "SAP", "SPT", "PRF"
'process here
End Select
|
|
|
|
|
Well I found my solution
Dim ProgramTypes() As String = {"SAP", "SPT", "PRF"}
Dim ProgramTypeList As New ArrayList(ProgramTypes)
If Not ProgramTypeList.Contains(sProgType) Then
'Do my stuff here
End If
"Well yes, it is an Integer, but it's a metrosexual Integer. For all we know, under all that hair gel it could be a Boolean."
Tom Welch
|
|
|
|
|
Hi all.
I've been trying in vein for days to figure this out. I use extended desktop to extend my display to the left, not the right, and when I hibernate and come back, the desktop is extended to the right. So I'm writing an app that will retrieve the extended desktop settings on hibernate and set them again on resume.
I've seen a few examples of using EnumDisplaySettingsEx in C and C#, but nothing in vb.net that helps. I just need to figure out how to determine "This monitor is primary, that one is secondary and is positioned on the left." And then "Set this monitor to primary, set that one to be on the left."
I already have the rest of the app written (detecting hibernate, etc.), but I'm super new to the Windows API and all these structs and translations from C to vb.net are way out of my league.
I'm desperate . Help!
----
P.S. I've pieced together the following, and it gets devicename and resolution successfully, but I'm still stuck on the aforementioned stuff:
Imports System.Runtime.InteropServices
Public Class Form1
Inherits System.Windows.Forms.Form
Const ENUM_CURRENT_SETTINGS As Integer = -1
Const CDS_UPDATEREGISTRY As Integer = &H1
Const CDS_TEST As Long = &H2
Const CCDEVICENAME As Integer = 32
Const CCFORMNAME As Integer = 32
Const DISP_CHANGE_SUCCESSFUL As Integer = 0
Const DISP_CHANGE_RESTART As Integer = 1
Const DISP_CHANGE_FAILED As Integer = -1
Private Declare Function EnumDisplaySettingsEx Lib "user32" Alias "EnumDisplaySettingsExA" (ByVal lpszDeviceName As Integer, ByVal iModeNum As Integer, ByRef lpDevMode As DEVMODE, ByVal dwFlags As Integer) As Integer
Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (ByRef DEVMODE As DEVMODE, ByVal flags As Long) As Integer
<structlayout(layoutkind.sequential)> Public Structure DEVMODE
<marshalasattribute(unmanagedtype.byvaltstr, sizeconst:="CCDEVICENAME)"> _
Public dmDeviceName As String
Public dmSpecVersion As Short
Public dmDriverVersion As Short
Public dmSize As Short
Public dmDriverExtra As Short
Public dmFields As Integer
Public dmOrientation As Short
Public dmPaperSize As Short
Public dmPaperLength As Short
Public dmPaperWidth As Short
Public dmScale As Short
Public dmCopies As Short
Public dmDefaultSource As Short
Public dmPrintQuality As Short
Public dmColor As Short
Public dmDuplex As Short
Public dmYResolution As Short
Public dmTTOption As Short
Public dmCollate As Short
<marshalasattribute(unmanagedtype.byvaltstr, sizeconst:="CCFORMNAME)"> _
Public dmFormName As String
Public dmUnusedPadding As Short
Public dmBitsPerPel As Short
Public dmPelsWidth As Integer
Public dmPelsHeight As Integer
Public dmDisplayFlags As Integer
Public dmDisplayFrequency As Integer
End Structure
Public Sub getScreenInfo(ByVal theWidth As Integer, ByVal theHeight As Integer)
Dim ascreen As Screen
Dim DevM As DEVMODE
DevM.dmDeviceName = New [String](New Char(32) {})
DevM.dmFormName = New [String](New Char(32) {})
DevM.dmSize = CShort(Marshal.SizeOf(GetType(DEVMODE)))
If 0 <> EnumDisplaySettingsEx(Nothing, ENUM_CURRENT_SETTINGS, DevM, 0) Then
Dim lResult As Integer
DevM.dmPelsWidth = theWidth
DevM.dmPelsHeight = theHeight
DevM.dmPelsWidth = 1280
DevM.dmPelsHeight = 1024
lResult = ChangeDisplaySettings(DevM, CDS_TEST)
If lResult = DISP_CHANGE_FAILED Then
MsgBox("Display Change Failed.", MsgBoxStyle.OKOnly + MsgBoxStyle.Critical, "Screen Resolution Change Failed")
Else
lResult = ChangeDisplaySettings(DevM, CDS_UPDATEREGISTRY)
Select Case lResult
Case DISP_CHANGE_RESTART
MsgBox("You must restart your computer to apply these changes.", MsgBoxStyle.OKOnly + MsgBoxStyle.Critical, "Screen Resolution Has Changed")
Case DISP_CHANGE_SUCCESSFUL
MsgBox("Display Change Successful.", MsgBoxStyle.OKOnly + MsgBoxStyle.Information, "Screen Resolution Successful")
Case Else
MsgBox("Display Change Failed.", MsgBoxStyle.OKOnly + MsgBoxStyle.Critical, "Screen Resolution Change Failed")
End Select
End If
End If
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
getScreenInfo(1024, 768)
End Sub
-- modified at 13:28 Wednesday 13th June, 2007
|
|
|
|
|
vbnetnoowb wrote: I use extended desktop to extend my display to the left, not the right, and when I hibernate and come back, the desktop is extended to the left.
It sounds like you've mistated the problem. From what you've posted, there's no problem at all, so I question why you're even trying to do this.
Really, there shouldn't be a single reason why you're doing this at all if your display drivers are working correctly.
|
|
|
|
|
You are correct. I had a typo in the problem statement that I've updated. What happens is:
[2nd Monitor (extended desktop)][Laptop]
...Hibernate...
...Resume...
[Laptop][2nd Monitor(extended desktop)]
And I'm trying to read the fact that the 2nd monitor is on the left, and then set those same settings later.
Can you help??
|
|
|
|
|
The problem is that your trying to throw a band-aid over a driver problem. On my laptop, this problem doesn't show up, using a Mobility Radeon 9000. I would recommend that you see if there are updated drivers before going through all this. Both ATI (AMD now) and nVidia drivers both come with desktop manager software now that takes care of this.
|
|
|
|
|
We can't move any controls on any forms in a project we've inherited. In the properties pane, all of the forms have a blue lock icon on them, and the toolbar lock toggle is depressed and cannot be released.
Can someone please tell how to release these form locks?
-- modified at 9:07 Wednesday 13th June, 2007
I tried making all of the files not read only, and that fixed it. VB6 sucks donkey turds.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
Is this the same project with the stupid reference paths you were complaining about last week?
Try this: Open the .frm file in Notepad. If it contains "LockControls = -1", delete it.
|
|
|
|
|
I know what you mean. I stopped using VB6 when I got my hands on the .NET Framework 1.0 Beta and was writing code in Notepad!
|
|
|
|
|
Hi,
I want to use mouse left click while "Shift" on down position.
Thank you very much.
|
|
|
|
|
Not sure what your problem is here. Do you have a windows program? You want this program to press the shift key and the left mouse click? You can do this through windows messaging. Not sure if that is what you are trying to do or not.
Ben
|
|
|
|
|
We need a lot more detail about what your problem is. If this is a windows app, then all you have to do is set a flag in your forms KeyDown event when the Shift key is pressed. In your mouse event, you look to see if this flag is set.
|
|
|
|
|
Sorry for unadequate details.
Actually I send some commands with SendKeys method to a program works under windows.
I am trying to send mouse click while "shift" pressed.
I can do them separetly by using and mouse_event and SendKeys "+" method (with VB 6.0).
But ı have to do it at the same time and with VB 6.0.
Thanks for your interests.
|
|
|
|
|
Then you're not going to be able to use SendKeys to do this. SendKeys sends an entire KeyPress, meaning the "make" and the "break" of the key, in other words, pressing the key and releasing it.
You'll have to to the SendMessage API call to wend the window handle the key message to "make" the Shift key, then send the mouse click message, then another key message to "break" the Shift key.
|
|
|
|
|
hello friends,
can any one of you tell me how to create wizard in Visual basic ?
thanks and regards
prashant
|
|
|
|
|
You can use VB Wizard Manager that allows you to create the basic framework for your wizard.
-Vinod
|
|
|
|
|
how to merge a word document and create a new doc ( without a merge fields ).??????????
Thiwa
|
|
|
|
|
Hi
I could help you, in one of my project i have done the mail merge and create the mailing labels also.
But could you explain the probelm properly i can't understand waht you want to know.
|
|
|
|
|
Hi all,
I am trying to code for storing images into database as bytes and for its retrieval. It worked well. But if we try to load more than two pictures one by one then it shows an error as follows.
---------------------------
Visual Studio Just-In-Time Debugger
---------------------------
An unhandled win32 exception occurred in VB6.EXE [1160]. Just-In-Time debugging this exception failed with the following error: No installed debugger has Just-In-Time debugging enabled. In Visual Studio, Just-In-Time debugging can be enabled from Tools/Options/Debugging/Just-In-Time.
Check the documentation index for 'Just-in-time debugging, errors' for more information.
---------------------------
OK
---------------------------
I used GlobalAlloc function to allocate bytes of memory in my heap. I allocates almost 26347868 bytes in memory. I tried to free memory by using GlobalFree. But the result is same.
I will be thankful to you for your help.
Dileep trying to work as a freelancer.
|
|
|
|
|
Post your declaration of GlobalAlloc and GlobalFree - it looks like you may be passing the wrong parameter type...?
|
|
|
|
|
Dileep_Vickey wrote: But if we try to load more than two pictures one by one
So what does this mean? Let's see the code that is storing and retrieving the images. How big are these images, in bytes?
|
|
|
|
|
Hi all,
Sorry to be late.
Dave Kreskowiak wrote: So what does this mean?
I meant, I can open any picture i stored in sql database in a picturebox. I stored picture as bytes. Opening of first and second picture (randomly from database) work smoothly. But when i try to open third image then it will show that error. I used following function to retrieve image from collection of bytes.
Public Function PictureFromBits(abPic() As Byte) As IPicture
' abPic() as a byte array
Dim nLow As Long
Dim cbMem As Long
Dim hMem As Long
Dim lpMem As Long
Dim IID_IPicture As GUID
Dim istm As stdole.IUnknown
Dim ipic As IPicture
On Error GoTo Out
GlobalFree (hMem)
nLow = LBound(abPic)
On Error GoTo 0
cbMem = (UBound(abPic) - nLow) + 1
hMem = GlobalAlloc(GMEM_MOVEABLE, cbMem)
If hMem Then
lpMem = GlobalLock(hMem)
If lpMem Then
MoveMemory ByVal lpMem, abPic(nLow), cbMem
Call GlobalUnlock(hMem)
If (CreateStreamOnHGlobal(hMem, CTrue, istm) = S_OK) Then
If (CLSIDFromString(StrPtr(sIID_IPicture), IID_IPicture) = S_OK) Then
Call OleLoadPicture(ByVal ObjPtr(istm), cbMem, CFalse, IID_IPicture, PictureFromBits)
End If
End If
End If
End If
GlobalFree (hMem)
Exit Function
Out:
MsgBox "Out"
End Function
I think this is a problem regarding memory. Please help.
Dave Kreskowiak wrote: How big are these images, in bytes?
I opened images with almost all sizes. eg: 57060 Bytes.
Thanking for your interest.
|
|
|
|
|
How can I take backup and restore SQL server 2000 database using vb.net 2005.
Pls help me out. If possible give me the code to do it its very urgent.
Thanx in adv.
Regards
Paramhans
|
|
|
|
|
To do a backup you need to issue the following command to your SQL Server:-
"BACKUP DATABASE myDbName TO DISK = 'd:\Backup\myBackupFile'"
for example :-
Dim connection As New System.Data.SqlClient.SqlConnection<br />
Dim command As New System.Data.SqlClient.SqlCommand<br />
<br />
With connection<br />
.ConnectionString = myConnectionString<br />
.Open()<br />
With command<br />
.Connection = connection<br />
.CommandType = CommandType.Text<br />
.CommandText = "BACKUP DATABASE myDbName TO DISK 'd:\Backup\myBackupFile'"<br />
.ExecuteNonQuery()<br />
End With<br />
.Close()<br />
End With
To do a restore is as above, except the SQL command to issue is :-
sSql = "RESTORE DATABASE myDbName FROM DISK = 'd:\Backup\myBackupFile'"
Be aware the path to the backup file is local to your SQL Server, not your workstation.
Steve Jowett
-------------------------
Sometimes a man who deserves to be looked down upon because he is a fool, is only despised only because he is an 'I.T. Consultant'
|
|
|
|
|
Thanks Steve for the code u have given. I have successfully taken backup of the database using this code but when I m trying to restore the database following error has been thrown:
Exclusive access could not obtained because the database is in use.
RESTORE DATABASE is terminating abnormally.
Can u help me on this?
Once again thanks for your help.
Regards
Paramhans
|
|
|
|