|
murphypa wrote:
I need to write a .mat file (MATLAB file) from visual basic. Are there any scripts out there that can do this?
Well, what format is your data in currently? There are many translation scripts for many things. However, if the data is in some format internal to your company then you are going to have to do the work.
"If a man empties his purse into his head, no man can take it away from him, for an investment in knowledge pays the best interest." -- Joseph E. O'Donnell
Not getting the response you want from a question asked in an online forum: How to Ask Questions the Smart Way!
|
|
|
|
|
The data is in ascii format and has data and strings that i need to send to matlab through a .mat file. I think i could use anything along these lines, even if it's not exactly what i need i think i could learn enough to write what i need from a good example.
Thanks
|
|
|
|
|
murphypa wrote:
ascii format
First, ASCII isn't a format, it is a character encoding. This is a common misunderstanding / mistake. But for someone who is new to the field it can cause confusion, so I thought I'd better clear that up first.
How is your text file structured? Is it comma delimited, like this?
"Field1","Field2",123,45.6
Or tab delimited? (like the previous example but with tabs instead of commas). Or is it fixed width fields, like this?
Field1 Field2 123 45.6
F1-Row2 F2-Row2 4567 12.98
F1-Row3 F2-Row3 19984 98.765 Or similar with zero padding for numbers?
Better yet. Do you have a document that describes the structure?
"If a man empties his purse into his head, no man can take it away from him, for an investment in knowledge pays the best interest." -- Joseph E. O'Donnell
Not getting the response you want from a question asked in an online forum: How to Ask Questions the Smart Way!
|
|
|
|
|
I'm using vb.net with sql server. Wanted to know the least painful way of creating an Excel sheet or CSV populating it with data either from a datagrid or datatable or anyway, really.
Thanks for any help!
|
|
|
|
|
"least painful" -LOL
here's a few ways:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;306022
|
|
|
|
|
I'm new at this, and I don't recognize a way that matches my setup. I already have a connection established and I like to use stored procedures. Below is how I retrieve data from the stored procedure. How do I go from here into an Excel sheet or CSV?
***********************************************************
Dim ClientView As DataTable = DirectCast(Session("ViewClients"), DataTable)
ClientView = New DataTable()
Dim sc As New SSS.BusinessLogicLayer.Mgmt()
ClientView = sc.GetClientView(Session("FAgentIDView"), Session("RB"))
Session("ViewClients") = ClientView
Dim dr As DataRow = DirectCast(Session("ViewClients"), DataTable).Rows(0)
**********************************************************
Public Shared Function GetClientView(ByVal FAgentID As String, ByVal RB As String) As DataTable
Dim ds As DataSet = SqlHelper.ExecuteDatase(ConfigurationSettings.AppSettings(LTCMgmt.SSS.Web.Global.CfgKeySSSString), "usp_tp_MailViewSetup", FAgentID, RB)
Dim dt As New DataTable()
dt.Columns.Add("ClientID")
dt.Columns.Add("FName")
dt.Columns.Add("LName")
dt.Columns.Add("Address1")
dt.Columns.Add("Address2")
dt.Columns.Add("City")
dt.Columns.Add("State")
dt.Columns.Add("PostalCode")
dt.Columns.Add("Voice")
dt.Columns.Add("Fax")
dt.Columns.Add("Mobile")
dt.Columns.Add("EMail")
dt.Columns.Add("BirthDate")
dt.Columns.Add("MaritalStatus")
Dim r As DataRow
Dim workRow As DataRow
For Each r In ds.Tables(0).Rows
workRow = dt.NewRow
Dim nOne As String
nOne = r("BirthDate")
nOne = Replace(nOne, " 12:00:00 AM", "")
workRow("ClientID") = r("ClientID")
workRow("FName") = r("FName")
workRow("LName") = r("LName")
workRow("Address1") = r("Address1")
workRow("Address2") = r("Address2")
workRow("City") = r("City")
workRow("State") = r("State")
workRow("PostalCode") = r("PostalCode")
workRow("Voice") = r("Voice")
workRow("Fax") = r("Fax")
workRow("Mobile") = r("Mobile")
workRow("EMail") = r("EMail")
workRow("BirthDate") = nOne
workRow("MaritalStatus") = r("MaritalStatus")
dt.Rows.Add(workRow)
Next
Return dt
End Function
***************************************************
|
|
|
|
|
I can't test this with your data source of course on my end, and you'll have to de-bug it over there too, but it should give you an idea of how I would go about getting it to go.
You could call somthing like this on your return from GetClientView with your DataTable dt.
Private Function OpenWorkbook(ByVal dt As DataTable)
Dim oExcel As New Excel.Application
Dim oBook As Excel.Workbook
Dim oBooks As Excel.Workbooks
Dim oSheet As Excel.Worksheet
Dim oSheets As Excel.Sheets
Dim oCells As Excel.Range
Dim dr As DataRow
Dim ary() As Object
Dim iRow As Integer, iCol As Integer
'Start a new workbook in Excel.
oExcel = CreateObject("Excel.Application")
oBook = oExcel.Workbooks.Add
oBook = oBooks.Item(1)
oSheets = oBook.Worksheets
oSheet = CType(oSheets.Item(1), Excel.Worksheet)
oSheet.Name = "First Sheet"
oCells = oSheet.Cells
'Output Column Headers
For iCol = 0 To dt.Columns.Count - 1
oCells(2, iCol + 1) = dt.Columns(iCol).ToString
Next
'Output Data
For iRow = 0 To dt.Rows.Count - 1
dr = dt.Rows.Item(iRow)
ary = dr.ItemArray
For iCol = 0 To UBound(ary)
oCells(iRow + 3, iCol + 1) = ary(iCol).ToString
Next
Next
'Save the workbook and quit Excel.
oBook.SaveAs(Application.StartupPath & "Book1.xls")
oSheet = Nothing
oBook = Nothing
oExcel.Quit()
oExcel = Nothing
GC.Collect()
End Function
Note:
Don't forget to add the Com reference to Excel10 in your Solution Explorer.
|
|
|
|
|
|
I'm pretty new to VB, .NET, and windows in general. I'm trying to write a simple app (VB .NET) that plays a wav file and gets notified when the playing is complete. I've been trying to use MCI with a callback function, etc. but I can't get it to work. Does anybody have any sample code for doing this in .NET? Is using MCI the best approach? Would it be better to use windows media player or directX, or ...?
thanks
|
|
|
|
|
Mentalis has a multimedia class I like to use it's more in the Intermediate catagory but, you may want to give it a look at:
http://www.mentalis.org/soft/class.qpx?id=1
|
|
|
|
|
I like the Mentalis media a lot. I've used it several times previously and it works pretty good for me.
Clickety[^]
Aaron Eldreth
TheCollective4.com
My Articles
I hereby boycott this poll. Really....
- Leppie
|
|
|
|
|
I have about 6-10 different moderately complex queries that are returning a count.
I am wanting to figure out the best, most efficient method for running those queries and displaying the counts either in a table or a datagrid type view.
Currently, I have a function that gets all the SQL Commands that I need and places them in and array.
I setup a data adapter and fill a separate table on a dataset for each Count query I have.
TO display I set a table's specific cells to show the dataset.tables("whatever").row(0).Item(0)
It seems to take quite a long time for this method....
Does someone know something better??
I am still a beginner so any advice would be helpful.
Thanks
cavall
"Nothing is at last sacred, but the integrity of your own mind."
"What lies behind us and what lies before us are nothing compared to what lies within us." - Ralph Waldo Emerson
|
|
|
|
|
From your description, is would appear that 99% of the time it takes to come up with the final result is being taken up by the SQL queries themselves. The code to put the final table with the results is nearly nothing. If these queries are static, meaning you always use the same set of queries the same way, then you might want to look into have the SQL Server run a stored procedure that runs all of your queries for you and returns a small table with the results you want. Then, you would only have to write code to handle the returned table of results, bind your datagrid to it, and not worry about dataset.tables("whatever").row(0).Item(0) .
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I am trying to connect to MATLAB trough a Visual Basic GUI progam. I found the documentation on ActiveX for MATLAB, and it had a very simple example in VB. However, when i try to run this simple execution, i get an error.
Code:Dim Matlab As Object
Dim res As String
Set Matlab = CreateObject("Matlab.Application")
res = Matlab.Execute("surf(peaks)")
Error: ActiveX component can't creat object
this occurs at the the set Matlab line.
Any suggestions? I am far from a pro at programing. Are there better examples of connecting VB to MATLAB out there? I couldn't find one. Or any better suggestions on how to go about connecting to MATLAB? (I learn best from examples)
Thank you!!!!!
|
|
|
|
|
Can you not add a reference to the application in the project references.
Then you should be able to address it through
Dim oMatlab as new Matlab.application
oMatlab.Whatever
if the reference is not there to be added, or if it is one of those inaccessible ones i'm not sure what you could do.
What it Matlab by the way?
"Small Pink Cheese"
|
|
|
|
|
That does not seem to be working either. it won't tatke matlab.application as an argument.
Matlab is a powerfull program used alot in the sciences. It has very powerfull computaional abilities. It can also be use as a programing language to develop prgrams for things such as signal processing and control systems.
I still need some information on how to link Visual Basic to MATLAB. My main purpose for this is to use Matlabs graphing capabilites, because the ones in VB are horrible.
Also, it anyone knows how to write a .MAT file directly from Visual Basic, that would be just as helpful!!
|
|
|
|
|
This may seem like a dumb question, but if the CreateObject call fails, I have to ask is MATLAB installed on your development machine? And if there is an SDK available for it, is that installed also?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
MATLAB is installed and i'm not exactly sure what an SDK is. I am not a "programmer", i'm an entry level electrical engineer, with minimal programing experience. I am having alot of trouble with this problem, becasue i don't know much about the intricate details of different programs. I just want to get VB and MATLAB to connect! please help
|
|
|
|
|
Try here.
http://www.mathworks.com/access/helpdesk/help/toolbox/combuilder/examples26.html
|
|
|
|
|
One other note of Interest,
COM components from the Matlab for Excel version
will not work in VB.Net.
|
|
|
|
|
I have to play flash movies (.swf) files inside a C# application. The problem is I need an event to tell me when the playing of the file is complete, which the Shockwave Flash Control imported through ActiveX is not offering. Am I missing something on the Shockwave Flash Control or am I using the bad tool?
Any help in this matter will be much apreciated.
|
|
|
|
|
The Flash ActiveX control only fires three events, FSCommand , OnProgress , and OnReadyStateChange . The last one is probably the one your looking for. I think it will pass you a single int value:
0 - Loading
1 - Uninitialized
2 - Loaded
3 - Interactive
4 - Complete
If you get the Complete value, I THINK(!) the movie might be done playing.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
By the way, This is teh VB Forum, not C#.
Cross posting in multiple forums is usually frowned upon.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Can I print by using 136 column wide printing in Visual Basic.NET? I want to print to A4 but to specify a row-column (fixed character width) rather than pixel to specify x-y coordinate to print. In PrintDocument fonts are not in fixed width and normal printdocuments graphics does not do my job. I have to print to some speedy dot printers some does not have graphical methods.
What the peoblem is that I used the DrawString and measureString methods and a graphical printing. It works fine with new printers but majority of my customers has old dot-matrix printers. Especially in win98 it prints a big SPAGETTİ or NOTHING I want to do a raw text printing. Printers has a wide mode printing option. I want to tell printer that this is a wide mode (wide mode is 136 columns while normal mode is 80 columns).
There is a famous article Microsoft Knowledge Base Article - 322090 HOW TO: Send Raw Data to a Printer by Using Visual Basic.NET. But the code inside does not work in win98.
I need immediate help. Thanks...
|
|
|
|
|
What is the problem that your having with the code? What are the errors? The code will work with Win98, but it may take a little modification to do so.
For instance, since Unicode support on anything other than an NT/2000/XP/2003 is questionable, you can have DLLImport hunt down the correct version of the imported functions without you having to guess at which version is available by making the following changes:
* Make sure that the EntryPoint names DON'T end in W or A.
* Change the CharSet option to CharSet.Auto.
* Change the ExactSpelling option to False.
You might want to start with this:
<DllImport("winspool.Drv", EntryPoint:="OpenPrinter", _
SetLastError:=True, CharSet:=CharSet.Auto, _
ExactSpelling:=False, CallingConvention:=CallingConvention.StdCall)> _
Public Shared Function OpenPrinter(ByVal src As String, ByRef hPrinter As IntPtr, ByVal pd As Long) As Boolean
End Function
<DllImport("winspool.Drv", EntryPoint:="ClosePrinter", _
SetLastError:=True, CharSet:=CharSet.Auto, _
ExactSpelling:=False, CallingConvention:=CallingConvention.StdCall)> _
Public Shared Function ClosePrinter(ByVal hPrinter As IntPtr) As Boolean
End Function
<DllImport("winspool.Drv", EntryPoint:="StartDocPrinter", _
SetLastError:=True, CharSet:=CharSet.Auto, _
ExactSpelling:=False, CallingConvention:=CallingConvention.StdCall)> _
Public Shared Function StartDocPrinter(ByVal hPrinter As IntPtr, _
ByVal level As Int32, ByRef pDI As DOCINFOW) As Boolean
End Function
<DllImport("winspool.Drv", EntryPoint:="EndDocPrinter", _
SetLastError:=True, CharSet:=CharSet.Auto, _
ExactSpelling:=False, CallingConvention:=CallingConvention.StdCall)> _
Public Shared Function EndDocPrinter(ByVal hPrinter As IntPtr) As Boolean
End Function
<DllImport("winspool.Drv", EntryPoint:="StartPagePrinter", _
SetLastError:=True, CharSet:=CharSet.Auto, _
ExactSpelling:=False, CallingConvention:=CallingConvention.StdCall)> _
Public Shared Function StartPagePrinter(ByVal hPrinter As IntPtr) As Boolean
End Function
<DllImport("winspool.Drv", EntryPoint:="EndPagePrinter", _
SetLastError:=True, CharSet:=CharSet.Auto, _
ExactSpelling:=False, CallingConvention:=CallingConvention.StdCall)> _
Public Shared Function EndPagePrinter(ByVal hPrinter As IntPtr) As Boolean
End Function
<DllImport("winspool.Drv", EntryPoint:="WritePrinter", _
SetLastError:=True, CharSet:=CharSet.Auto, _
ExactSpelling:=False, CallingConvention:=CallingConvention.StdCall)> _
Public Shared Function WritePrinter(ByVal hPrinter As IntPtr, _
ByVal pBytes As IntPtr, ByVal dwCount As Int32, ByRef dwWritten As Int32) As Boolean
End Function
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|