|
champagne_charly wrote: Yes it is vb6.. That's no longer supported. You can download VB.NET for free, which is supported.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
|
champagne_charly wrote: Supported by whom? Microsoft. Meaning no updates for vulnerabilities, no guarantees to run after the next Automatic Windows Update. There might still be a large community, but the compiler is no longer sold nor maintained. That means that the part of the community that doesn't "move", will simply stay in the past, next to the C64-emulator.
champagne_charly wrote: Visual Basic 6 Renewed to Run on Windows 8 No, it's not. VB6 isn't being changed. Yes, it "might" run old VB6-applications, but that's where the good news ends. It doesn't mean that all those third-party COM controls will still be updated, nor that you'll be able to get support when things go wrong.
As for the article;
Karl E. Peterson added Agreed, a multi-threaded x64 VB7 would be a market slayer! […] They could sell it for the _next_ 20 years. They did. It's called VB.NET.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Fair point re support... however VBA is still in use.. Will that ever die or be as much as a thing of the past as the c64? As far as I can see the VB6 and VBA are identitcal. The same code appears more stable compiled in vb6 than it was in outlook or access.
Controls used are same as in VBA. Else going forward interopt.
Funny you say that with regards VBfred:VB given VB.Net, "unlike other versions of VB, does not use the language syntax and behavior of MS Basis ". SO is vb.net really the VB7?
All that said I should make the jump... however ms access allows me to do what I need and in this case I just wanted some code running in backround hence why vb6.
I seem to -after many hours -have fixed the issue by replacing the function to not use binary but FSO MSStream and MSXML2 (at least I hope 270 decrypted and associated files downloaded).. although for some reason I keep loosing the focus on whatever I am working on.. Bet I'll get to that once it completes without error..
|
|
|
|
|
champagne_charly wrote: Controls used are same as in VBA. Else going forward interopt
Yeah? Go try and find new controls. Nobody is putting out new control packs for VB6/VBA.
Yeah, VBA is still around, but it'll never see 64-bit code support.
champagne_charly wrote: SO is vb.net really the VB7?
Yes it is. VB7 was .NET 1.x. Nearly everything VB6 worked. But, like everything else, VB.NET evolved and keeps evolving to support new technologies and capabilities, such a free-threading, Parallel Task Library, structured error handling, full OOP support, ... just to name a few.
VBA and VB6 are dead and stuck in the past. Good luck with it!
|
|
|
|
|
Ohh you again.. Why do you bother? Oh yeah of such experience and superior knowledge and all you can do is skitt? Tiring.
It was clear that i was working in vb6.. So why do you waste what must be such valuable time making silly remarks..
FYI there are new controls still being written that are vba compatible.. i shall excuse what is clearly your ignorance to the same. And why shoudlnt you be ignorant when you know such superior things!..
To put it politely, you've been as much help as a chocolate teapot and proving yourself to be rather irritating along with.
Good day to you sir!
|
|
|
|
|
Hehehe!
Have a nice life!
|
|
|
|
|
champagne_charly wrote: Fair point re support... however VBA is still in use. So is VB6, despite people like me actively trying to kill it. It's a catastrophic success that simply refuses to die.
champagne_charly wrote: Will that ever die or be as much as a thing of the past as the c64? It's not that black and white; it's being phased out and replaced by .NET versions. VBA is meant as an in-application script host, even though they can be run stand-alone. And yes, in ten years time you'll still come across a customer with some XP-machine that hasn't seen an update since it was installed. (These are often the cozy homes of botnets)
champagne_charly wrote: As far as I can see the VB6 and VBA are identitcal. Close! VBA and VB6 share syntax and some libraries. There was a third taste, called "eVB" (embedded), used to write in VB6-style for WinCE 5.
champagne_charly wrote: All that said I should make the jump... however ms access allows me to do what I need Most of the corporate users do not need anything beyond C64-basic to do their work. Move to a modern platform, or be obsoleted - that's the choice.
I'm not saying that it's easy to make a move; I'm a WinForm-programmer, and even though WinForms isn't obsoleted yet, and despite the fact that it'll only generate costs and bugs to replace a working form, I know I can't stay hooked on the forms forever. It's often a good idea to use the old and tested way, so one can guarantee a result - but for that we depend on the manufacturer of the OS to support our infrastructure.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Hi,
You mentioned the very point which was the cause of my hesitation of moving away from access.. "WinForms isn't obsoleted yet" But it will be so then what? Which direction.. ugghhh.. Not being a programmer by trade I havent got time to do and then do again hence why I go for the simplicity of MSA and MSSSQL. Knowing the MSSQL will be applicable no matter what and its just front end interface that is the issue. Maybe next little standalone script I write I will attempt (again) at ?.Net..
Anyway thanks for the comments and interesting v valid points.
Regards
|
|
|
|
|
champagne_charly wrote: "WinForms isn't obsoleted yet" But it will be so then what? Then I'll be obsoleted too. I don't expect MS to kill WinForms, but I do see a complete market moving away from it.
champagne_charly wrote: Not being a programmer by trade I havent got time to do and then do again hence why I go for the simplicity of MSA and MSSSQL. It's not that big a move; VB.NET looks a lot like VB6, and MSSQL will still behave the same. But yes, it's a matter of weighing pro's and con's. Imagine investing heavily in the outdated stuff - what would it cost to get it "current" again? Look at the activity and "support" for Delphi. We got a Delphi-forum, but it's not as active as it would have been in the days of Delphi 5.
champagne_charly wrote: Knowing the MSSQL will be applicable no matter what SQL92 is applicable, no matter what - MSSQL is tied to a vendor.
champagne_charly wrote: its just front end interface that is the issue. Which has to be easy, intuitive and cheap. At least, in my view. It's one of the things I enjoy in .NET; one can generate a UI based on the table being fetched. Ever used a PropertyGrid ? It's great if you want to edit an object, without spending much time on the UI.
FWIW, generating a UI can be speed up in a multitude of ways, with CodeSmith[^] as one of the older generators. I'd recommend MyGeneration[^] though.
Alternatively, you might consider handing the coding to a beginner and focus on managing and designing the application. If you feel that above ideas take too much time, than your project might have outgrown the current phase and might benefit from some extra hands and eyes.
champagne_charly wrote: Anyway thanks for the comments My pleasure; my apologies for being rude against VB6
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Lol.. MS to kill WinForms is Of course way off.. I wanted the most portable type interface (Linux + MS) so was at the time contemplating java/ silverlight but of the same token playing with c#.. just ignorance really.. But didnt get very far other than getting myself wound up by not havign clear direction.
Ok.. so VS express now installed for the next step.
Sure I read the delphi issues was this not to do with the delay in release of decent x64 architecture? Or maybe that was just specific to what I had been looking into at the time ..
Sure property grids but unless simple I'd rather write the code to the same. However I say that without knowing the complexities of the same within .net.
YOung developers..mmm.. with no doubt all with better knowledge than I however... yes i did a few times but frequently the wrong ones and as a result I spent more time chasing debugging and repeating myself oh and puling my hair out (to the point of having little left) in dispair than much else. Hence why my thoughts are design structure in a simple way (access + decent x64 compatible components ) that is then useable (for current business) then the architecture in terms of structure is in place. THus the rest can be a modular upgrade apporach.
I didn't read any rudeness from you more of a valid arguments.
Regards
P.S> initial issue completely rectified.
|
|
|
|
|
champagne_charly wrote: I wanted the most portable type interface (Linux + MS) so was at the time contemplating java/ silverlight I'm targetting the same platforms, but using WinForms. The .NET assemblies are binary compatible, meaning I can compile on Windows using VS, and use them under OpenSUSE/Ubuntu without modification. Then again, using a webinterface would allow even more clients to use the application - even the Kindle can display a webpage.
champagne_charly wrote: I read the delphi issues was this not to do with the delay in release of decent x64 architecture? We abandoned the IDE before the move to 64-bit code; people don't mind being in 32-bits that much, see VB6 as proof. A lot of applications are still bound to the 32-bit platform due to the bitness of the libraries they reference. The amount of users dropped significantly when "Borland" (or whatever name they had at that moment) discontinued the free version.
champagne_charly wrote: Sure property grids but unless simple I'd rather write the code to the same. However I say that without knowing the complexities of the same within .net. Since you're already familiar with VB6, it could be as simple as asking which properties a record has, and creating a huge "switch" to display an editor for that property. The new framework will add more useful goodies to your toolbox, like real threading.
champagne_charly wrote: THus the rest can be a modular upgrade apporach. That's the ideal architecture; anything that can be described in terms of input/output can easily be tested and outsourced/offloaded to someone else. Otherwise one will always have problems with integrating the different parts and getting them to work together.
champagne_charly wrote: P.S> initial issue completely rectified. Hehe, guilty, it's sometimes hard to stay on topic
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Thanks Eddy,
Pleasure talking to you. I feel i've gained valuable insight. The idea of a simple apps for ubuntu laptop (without running in wine) is quite appealing.
Regards
|
|
|
|
|
You're welcome
|
|
|
|
|
Oh.. and just changed to use freefile and same error occurs.
|
|
|
|
|
What the hell is this??? What's with the line numbers?? You're doing it VERY old-school, like 1980's old school.
You also don't say anything about the error message that comes up. Get rid of the On Error Goto garbage so you can get the error messages.
|
|
|
|
|
Hello,
This is vb6 not .net.. are we on the same page there..?
Code was Taken from vba(access/outlook) modules to vb6 (yes released 15 years ago 1998) as it is was pretty much a copy and paste.. I can +- read vb.net and c# but as yet dont write nor do I intend to learn.
As for the line numbers.. This is the method I use to log where an error occurs and find line easily.. What would you suggest? I was under the impression this was common pratice.
Following has been added to bottom of sub so if an error occurs within it throws it..
HTTPDownloadFile_Error:
WriteLog "Error " & Err.Number & " (" & Err.Description & " at Line: " & Erl & ") in procedure HTTPDownloadFile of VBA Document Form_frmImportCreate"
However nothing is thrown.. letting us believe it is not this module.. however if I add
exit sub above any lines within this thus disabling.. the app will loop through all files without crashing..
|
|
|
|
|
champagne_charly wrote: nor do I intend to learn.
You better! If you're job is writing code, you're going to be without a job sooner than you think.
I know when VB6 was relased, and I was NEVER using line numbers back then. Not even in VBA or VBScript code.
champagne_charly wrote: What would you suggest?
Picking up Visual Studio 2012 Express and a beginners book on VB.NET or C#.
champagne_charly wrote: What would you suggest? I was under the impression this was common pratice.
Yeah, back in the GWBASIC and QBASIC days, back in the 80's.
champagne_charly wrote: However nothing is thrown.. letting us believe it is not this module.. however
if I add
Then how do you define "crashing"?? What does it do or say that is unexpected?
|
|
|
|
|
how to get replication status from sqlserver 2005 in vb.net ?
|
|
|
|
|
|
i have softwares prepared on VB.net 2005 and inside my code there is msgbox contain arabic letters
the problem come when i open my code but surprise about new letter come instead of my arabic letters
for example i see
MsgBox("åá ÊÑÈÏ ÈÇ ÇáÞíÇã ÈÚãáíÉ ÇáÊÚÏíá")
i search on google and i find that this letters is icelandic and portuguese language
how i can recover my language inside the code
|
|
|
|
|
I believe this is codepage issue with the Arabic unicode characters being converted to an ASCII interpretation.
I copied MsgBox("åá ÊÑÈÏ ÈÇ ÇáÞíÇã ÈÚãáíÉ ÇáÊÚÏíá") to Notepad++ and changed the encoding to "Arabic-Windows 1256" and the result was this:
MsgBox("هل تربد با القيام بعملية التعديل") - Is this correct?
Google Translate yielded: "Are تربد the Ba carry out the amendment".
I don't know of a simple way to correct this, but perhaps someone else will.
modified 10-Jun-13 21:14pm.
|
|
|
|
|
Hi Guys,
I have a quick and hopefully not to difficult question to the commmunity. I have a program that reads an excel spreadsheet, adds the data to a datatable inside a dataset and displays it in a wpf datagrid using databinding.
Here is the code for it, it works fine just like I imagined it . I also have a funciton that returns all the sheets in a excel spreadsheet.
Private Sub Button_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim m_sConn1 As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=C:\Temp\Test.xlsx;" & _
"Extended Properties=""Excel 12.0 Xml;HDR=No;IMEX=1"""
Dim conn1 As New System.Data.OleDb.OleDbConnection(m_sConn1)
conn1.Open()
Dim da As OleDbDataAdapter
Dim ds As New System.Data.DataSet
Dim test As String
test = "[Sheet1b$]"
Dim teststring As String
teststring = "Select * FROM" & test & """"
da = New OleDbDataAdapter(teststring, conn1)
da.Fill(ds, "TestTable")
da.Dispose()
Dim bindingSource As New BindingSource(ds, "TestTable")
excelDataGrid.ItemsSource = bindingSource
conn1.Close()
End Sub
Private Sub getList_Click(sender As Object, e As RoutedEventArgs) Handles getList.Click
Dim m_sConn1 As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=C:\Temp\Test.xlsx;" & _
"Extended Properties=""Excel 12.0 Xml;HDR=No;IMEX=1"""
Dim conn1 As New System.Data.OleDb.OleDbConnection(m_sConn1)
conn1.Open()
Dim test As New System.Data.DataTable
test = conn1.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
If test Is Nothing OrElse test.Rows.Count < 1 Then
Throw New Exception("Error: Could not determine the name of the first worksheet.")
End If
Dim firstSheetName As String
Dim i As Integer
For i = 0 To test.Rows.Count - 1
firstSheetName = test.Rows(i)("TABLE_NAME").ToString()
List1.Items.Add(firstSheetName)
Next
End Sub
My question now is this. I'd like to have the program iterate through the first column of the data and match the entries with known parameters. For example. the user has a cell that says EmpID, I want the program to recognize it and change it to Employee ID. Upon recognizing all of these, I want the program to display the data with the new cell values in a different datagrid.
My thought was this: Load data from excel -> fill datatable in dataset -> bind data to datagrid for visual confirmation that data was imprted correctly -> in different sub obtain the databinding for the wpf datagrid and fill a new datatable in a new dataset -> go through the recognizing function -> and spit out the data in a new datatable
I tried looking for a way to do it but am having trouble with getting the data. All I could find online was how to get data into a datagrid and not the other way around.
initially I thought it would be as simple as
Dim TestDataTabe As System.Data.DataTable
TestDataTabe = DirectCast(excelDataGrid.ItemsSource, System.Data.DataView).ToTable
but that didn't seem to work and it told me an error: Unable to cast object of type 'System.Windows.Forms.BindingSource' to type 'System.Data.DataView'.
so now I am stuck and can't find anything on Dr. Google about getting the datatable that is used to fill the datagrid. Would someone be able to help me out, it would be greatly appreciated. Is it possible to have a databinding for a datatable? As in Datatable.bindingsource = datagrid.bindingsource?
Update:
so it seems that I always sorta solve my problems when I post on a forum lol. So here is what I did and hope that you guys can give me input to see if it is a viable way to do this sort of thing.
Instead of creating a dataset I created a datatable and instead of using binding source I used datagrid.itemssource = datatable.defaultview
then i direct casted it totable here is the code
Private Sub Button_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim m_sConn1 As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=C:\Temp\Test.xlsx;" & _
"Extended Properties=""Excel 12.0 Xml;HDR=No;IMEX=1"""
Dim conn1 As New System.Data.OleDb.OleDbConnection(m_sConn1)
conn1.Open()
Dim da As OleDbDataAdapter
Dim ds As New System.Data.DataTable
Dim test As String
test = "[Sheet1b$]"
Dim teststring As String
teststring = "Select * FROM" & test & """"
da = New OleDbDataAdapter(teststring, conn1)
da.Fill(ds)
da.Dispose()
excelDataGrid.ItemsSource = ds.DefaultView
conn1.Close()
End Sub
Private Sub Button_Click_2(sender As Object, e As RoutedEventArgs)
Dim TestDataTabe As System.Data.DataTable
TestDataTabe = DirectCast(excelDataGrid.ItemsSource, System.Data.DataView).ToTable
End Sub
Now I got more questions lol How would you set the itemssource of the datagrid to a table inside a dataset? Sorry for the long post but maybe it helps someone out.
|
|
|
|
|
I want to convert VB6 project to VB.Net. I an facing some problems.
I have separated huge VB6 project into separate dlls based in functionality. All business logic is in dll and UI is in exe program.
Out of all dlls, one dll only caontains UDT(User Defined Types) and it's used by Main exe program and all other dlls. Now I want to Convert all dlls and main program in VB.Net STEP BY STEP. I have decided to convert all dlls first and then main program.
If I convert other dll to .Net I ran into Case1 error
If I convert UDT dll to .Net using Structure, I got case 2 error
I am giving my dummy code for both the cases and problem/error description below.
Case 1:
UDT dll is in VB6 -->Name: Dll_EmployeeType
Type Employee_Properties
Employee_Id as integer
Employee_Name as String
Employee_Address as string
End Type
.Net Dll -->Name: Dll_Employee_Methods --> this refers vb6 dll Dll_EmployeeType
Class Cls_Employee
Function Display_NoOf_Employees(byval arr_employee as Dll_EmployeeType. Employee_Properties)
Msgbox ubound(arr_employee)
End Class
VB6 Exe: main program --> this refers vb6 dll Dll_EmployeeType and Dll_Employee_Methods
This program has form and button on it.
On Button_Click
Dim arr_employee() as Dll_EmployeeType. Employee_Properties
Redim arr_employee(1 to 2)
arr_employee(1). Employee_Id = 1
arr_employee(1). Employee_Name = ?name1?
arr_employee(1). Employee_Address = ?address1?
arr_employee(2). Employee_Id = 2
arr_employee(2). Employee_Name = ?name2?
arr_employee(2). Employee_Address = ?address2?
dim obj as new Dll_Employee_Methods. Cls_Employee
call obj. Display_NoOf_Employees(arr_employee)
error occurs at above line is ?Class does not support an automation or does not support expected interface?
Note: If .Net dll code is in normal class ? no intellicense is displayed in main program
If .Net dll code is in COM class ? intellicense is displayed in main program
But the error is same as above
Case 2:
Vb6 UDT dll is converted to .Net having structure
?Build tlb using COM checkbox as checked
?Add reference of it to Main exe program
?Run program
Throws an error ?Variable uses an automation type not supported in Visual basic? at first line(dim arr_employre() as?..)
|
|
|
|
|
dim obj as new Dll_Employee_Methods. Cls_Employee
This refers to another class or dll which would need to be converted as well.
Else you need to use this dll as unmanaged code in your program.
|
|
|
|