|
my youtube video downloader app was working but it stopped working due to Dec-2012 YouTube changes. my code is unable to load the download format.
Currently, the video info loads but the application is unable to load the available download formats and download the video.
Download the VB6 Source here http://www.abhisoft.com/misc/UTubeVB6.zip
I hope anyone is able to take a look at the code and see what's wrong?
I think the error is in here:
DownloadRequest.Open "GET", m_StrVideoURL, True
|
|
|
|
|
You're not going to get help with this. Downloading video from YouTube violates their terms of service and we're not in the habbit of breaking those.
|
|
|
|
|
Hi all,
It's my first question in this forum...just read a response to another guy that helped me a lot.
I am working for some project in my university and they asked me to make an application in vb.net. Then I had to save different data for every user in order to check his own work, so I used SQL management studio to import some information to arrays there.
The big problem that I face now, it that they would like to work this project online, so as users can open it through their website. I have no idea if all the code I wrote in vb.net and connections between VISUAL studio and SQL studio could be transfered online ! Maybe I could convert most of them so as to run the project online.
Can anyone help me ????
I would really appreciate every advice or help !!! I am searching for a solution so as not to lose my project( that I almost finshed ).
Thans in advance !!!
|
|
|
|
|
Without knowing what your project does, it is hard to determine how to go about this..
Basically, you would need to develop a web page which collects the data and stores it in the database your already have configured.
It can be done. More details are needed. (Desccribe what data is collected and stored)
Good luck.
|
|
|
|
|
We have many VB2008/2010 programs converted from VB6.
They used the VB6 Control Arrays (which I really miss).
The VB.Net code uses VB6 compabitity control arrays which works well but hard to maintain if new control arrays are needs.
We have begun replacing these with List (of ..) and AddHander's which also works well.
What we would like is for our code to populate the list ofs and do the AddHandlers to be done when the InitializeComponent is done.
So how can we 'extend' the IntializeComponents to our code or have our code run after the InitializeComponents.
Thanks
|
|
|
|
|
QuickBooksDev wrote: So how can we 'extend' the IntializeComponents to our code or have our code run after the InitializeComponents.
The "best" way is to not modify the call; it's there for the designer, and anything in there is autogenerated (it will be overwritten, removing your modifications).
Add a virtual or abstract method to an empty form, and call it from the constructor. Next, inherit your forms from this new one.
|
|
|
|
|
Modify what call.
I am looking for a way to invoke our 'DesignerExtensions' automatically. I know not to change the designer.
What is a Virtual or abstract method. What constructor? There are none what we have coded.
We have several programs with multiple forms that we need to do this on.
Can you please give concrete examples?
|
|
|
|
|
QuickBooksDev wrote: Modify what call. "InitializeComponents". Don't modify it's contents.
QuickBooksDev wrote: What is a Virtual or abstract method. Aw, sorry for using C#-terminology; it's called "Overridable" in VB.NET.
QuickBooksDev wrote: We have several programs with multiple forms that we need to do this on.
Can you please give concrete examples? Take an empty form, and modify it like below;
Public Class BaseForm
Sub New()
InitializeComponent()
InitializeVB6Handlers()
End Sub
Public Overridable Sub InitializeVB6Handlers()
System.Windows.Forms.MessageBox.Show("Boo!")
End Sub
End Class Next, change your existing form to Inherit from the BaseForm like below;
Public Class Form1 : Inherits BaseForm
End Class This would give you a method that's called when the form is constructed (just like InitializeComponents), and give you the option to override it's implementation for a specific form;
Public Class Form1 : Inherits BaseForm
Public Overrides Sub InitializeVB6Handlers()
System.Windows.Forms.MessageBox.Show("No Boo today")
End Sub
End Class
|
|
|
|
|
Thanks will give it a try.
|
|
|
|
|
Seems to work.
Will start implementation.
Thanks
|
|
|
|
|
You're welcome
|
|
|
|
|
I wonder why you wouldn't just call your customized initialization from within the Load event in your source code for each Windows Form. Doing so, you don't have to touch the Windows Form Designer generated code file (*.Designer.vb).
Or am I missing something?
|
|
|
|
|
We were.
But there are times when things need to be checked in various controls before the form is show or brought up. When this occurs the List ofs are not initialized (value of nothing).
With the VB6.compatibility for control arrays they were inititized in the designer so no problem.
Just looking to make it all work the way it was.
|
|
|
|
|
I am attempting to include a Microsoft Graph control on a tab on a form in my Access 2007 application. I have given it a query as a Row Source. What else is required?
|
|
|
|
|
|
How to Select .pdf file from a folder in to DriveListBox in vb6.0
|
|
|
|
|
Selecting an item in the UI? By clicking on it. There's some old documentation on the DriveListBox[^].
VB6 is a dead language; I strongly recommend upgrading to something more recent.
|
|
|
|
|
Hi All,
I am attempting to retrieve USB Usage History using VB.NET. I am using VS 2012.
The following block of code lists this entry.
Dim RegKey As RegistryKey = Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Enum\USBSTOR\", False)
Dim str1 As String
For Each subKeyName As String In RegKey.GetSubKeyNames()
Dim tempKey As RegistryKey = RegKey.OpenSubKey(subKeyName)
Debug.Print("USBSTORE KEY: " & subKeyName & RegKey.GetValue(subKeyName, "").ToString())
Debug.Print(" -----------")
For Each NxtSubKeyName As String In tempKey.GetSubKeyNames()
Dim tempKey1 As RegistryKey = tempKey.OpenSubKey(NxtSubKeyName)
Debug.Print("USBSTOR SUBKEY: " & NxtSubKeyName.ToString() & " Value Count: " & tempKey1.ValueCount.ToString())
For Each valueName As String In tempKey1.GetValueNames()
Debug.Print(valueName & ": " & tempKey1.GetValue(valueName).ToString())
Next
Next
Next
My code produces this output:
USBSTORE KEY: Disk&Ven_SanDisk&Prod_Cruzer&Rev_1100
-----------
USBSTOR SUBKEY: SDXX1005181106121551&0 Value Count: 12
DeviceDesc: @disk.inf,%disk_devdesc%;Disk drive
Capabilities: 16
HardwareID: System.String[]
CompatibleIDs: System.String[]
ContainerID: {2471d8a3-e22c-5a5e-8b09-f0bb7616119d}
ConfigFlags: 0
ClassGUID: {4d36e967-e325-11ce-bfc1-08002be10318}
Driver: {4d36e967-e325-11ce-bfc1-08002be10318}\0010
Class: DiskDrive
Mfg: @disk.inf,%genmanufacturer%;(Standard disk drives)
Service: disk
FriendlyName: SanDisk Cruzer USB Device
But when I export this registry entry to a text file, I get the following results:
Obviously we see much more information in the exported data. Why is there so much more info here and how can I get my VB program to access this information?
I am trying to write some code to obtain USB Usage History.
Thanks for any help,
Key Name: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_SanDisk&Prod_Cruzer&Rev_1100
Class Name: <NO CLASS>
Last Write Time: 1/17/2013 - 2:51 PM
Key Name: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_SanDisk&Prod_Cruzer&Rev_1100\SDXX1005181106121551&0
Class Name: <NO CLASS>
Last Write Time: 1/17/2013 - 2:51 PM
Value 0
Name: DeviceDesc
Type: REG_SZ
Data: @disk.inf,%disk_devdesc%;Disk drive
Value 1
Name: Capabilities
Type: REG_DWORD
Data: 0x10
Value 2
Name: HardwareID
Type: REG_MULTI_SZ
Data: USBSTOR\DiskSanDisk_Cruzer__________1100
USBSTOR\DiskSanDisk_Cruzer__________
USBSTOR\DiskSanDisk_
USBSTOR\SanDisk_Cruzer__________1
SanDisk_Cruzer__________1
USBSTOR\GenDisk
GenDisk
Value 3
Name: CompatibleIDs
Type: REG_MULTI_SZ
Data: USBSTOR\Disk
USBSTOR\RAW
Value 4
Name: ContainerID
Type: REG_SZ
Data: {2471d8a3-e22c-5a5e-8b09-f0bb7616119d}
Value 5
Name: ConfigFlags
Type: REG_DWORD
Data: 0
Value 6
Name: ClassGUID
Type: REG_SZ
Data: {4d36e967-e325-11ce-bfc1-08002be10318}
Value 7
Name: Driver
Type: REG_SZ
Data: {4d36e967-e325-11ce-bfc1-08002be10318}\0010
Value 8
Name: Class
Type: REG_SZ
Data: DiskDrive
Value 9
Name: Mfg
Type: REG_SZ
Data: @disk.inf,%genmanufacturer%;(Standard disk drives)
Value 10
Name: Service
Type: REG_SZ
Data: disk
Value 11
Name: FriendlyName
Type: REG_SZ
Data: SanDisk Cruzer USB Device
Key Name: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_SanDisk&Prod_Cruzer&Rev_1100\SDXX1005181106121551&0\Device Parameters
Class Name: <NO CLASS>
Last Write Time: 1/17/2013 - 2:51 PM
Key Name: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_SanDisk&Prod_Cruzer&Rev_1100\SDXX1005181106121551&0\Device Parameters\MediaChangeNotification
Class Name: <NO CLASS>
Last Write Time: 9/5/2011 - 8:07 PM
Key Name: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_SanDisk&Prod_Cruzer&Rev_1100\SDXX1005181106121551&0\Device Parameters\Partmgr
Class Name: <NO CLASS>
Last Write Time: 9/5/2011 - 8:07 PM
Value 0
Name: Attributes
Type: REG_DWORD
Data: 0
Value 1
Name: DiskId
Type: REG_SZ
Data: {00af4242-d76c-11e0-8169-0024e8e34876}
Key Name: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR\Disk&Ven_SanDisk&Prod_Cruzer&Rev_1100\SDXX1005181106121551&0\LogConf
Class Name: <NO CLASS>
Last Write Time: 1/17/2013 - 2:51 PM
|
|
|
|
|
Looks like you are only reading one level down - your sub-key has further sub-keys.
Suggestion - use recursion to get at all the info.
HTH
Happiness will never come to those who fail to appreciate what they already have. -Anon
|
|
|
|
|
Your code is essentially correct but what you haven't done is to read the type of data stored in each name-value pair so that the correct cast can be applied.
The raw data obtained from GetValue(valueName) is typed as Object and the ToString() conversion gives a correct representation in most cases, the exceptions being when the actual type is an array (REG_BINARY, REG_MULTI_SZ)
The technique is read the type via GetValueKind(valueName) and then apply a cast to the Object returned from GetValue(valueName) . The incomplete method below shows the basics and in your case formatting the values ready for display should be done in the gaps left as "do something appropriate".
Private Sub InterpretValue(rawValue as Object, interpretAsType as RegistryValueKind)
Select Case interpretAsType
Case RegistryValueKind.Binary
Dim byteArray As Byte() = DirectCast(rawValue, Byte())
Exit Select
Case RegistryValueKind.DWord
Dim signedValue32 As Integer = DirectCast(rawValue, Integer)
Exit Select
Case RegistryValueKind.QWord
Dim signedValue64 As Long = DirectCast(rawValue, Long)
Exit Select
Case RegistryValueKind.Unknown, RegistryValueKind.String, RegistryValueKind.ExpandString
Dim stringValue as String = rawValue.ToString()
Exit Select
Case RegistryValueKind.MultiString
Dim stringArray As String() = TryCast(rawValue, String())
Exit Select
End Select
End Sub
|
|
|
|
|
Thanks for the explanations. I understand that I should be considering the data type. I can change my code accordingly. But what about the "Last Write Time" information that is displayed in the exported text data for these keys? How can I access that? My goal is to capture the History of each USB device that was used in the system, with dates and times. I'm assuming that the Last Write Time on the exported text will give me this information, but I don't see how my code, even with the data type considerations, will access that.
Thanks,
|
|
|
|
|
|
|
Hi All,
I developed my app using VS 2012.
I designed my report using the Report Viewer control. The data on my report is not tabular. It is a fixed-field form that spans several pages. I set the data source to a collection of an object that I developed and all the data for the report comes from my collection (which will always only have one item in it).
The report seems to be working fine, I setup a header and footer. When my code refreshes the report, my data is displayed nicely on the report as i designed it. However, when I convert to Print view, the report seems to be inserting page breaks while rendering. my nice little 4-page form becomes a 10 page report with page breaks occurring on every other page and some extra at the end.
What can I look at to determine why these extra page breaks occur in the rendering process? I thought it may be page layout related, so I changed the margins to all zeros and still see the additional page breaks.
Also, another thing I noticed is that when I added the footer, the footer height is about 2.5 inches and the designer will not allow me to change it.
Any help will be greatly appreciated.
Thanks,
|
|
|
|
|
What are the printer parameters? The printer selected, page size and margins will determine how many pages are rendered...
HTH
Happiness will never come to those who fail to appreciate what they already have. -Anon
|
|
|
|