|
is it possible to make a program develpoed in vb.net and another one in c++ and make them communicate with each other using socket programming.if possible,how? Thanks
|
|
|
|
|
Of course you can! Over sockets, neither side gives a **** what language the other is written in.
One side needs to be written as a server and the other as a client. Kind of like an FTP server and FTP client.
But, something is telling me that your requirements won't be satified with this method. So, dare I ask... What are you REALLY trying to accomplish using this communication method?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I can list my drives, my folders, my files, I can see everything that my computer has, using vb.net, now, How can I move the selected file (any file) on the filelistbox to a fixed destination?.
Can I select a file from the filelistbox and then click the move(btn_click1) button to move the record to the specific location?. How can I do that? Is it possible?
I'm trying to create a copying and moving program with fixed source and destination, specific for the company I work for. I can list my files, folders everything but i do not know how to move items from a listbox to a specific folder.
|
|
|
|
|
I'm not sure what your FileListBox contains, but I will assume it contains the specified path of the file? If so, you can try the following:
Private Sub btnMove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMove.Click, btnCopy.Click<br />
<br />
Dim btnClicked as Button<br />
'assuming selected item is String <br />
'for the full path of an existing file<br />
Dim f as New FileInfo(FileListBox.SelectedItem.ToString)<br />
<br />
btnClicked = CType(sender, Button)<br />
<br />
'Move or Copy according to clicked button<br />
Select Case btnClick.Name<br />
Case "btnMove"<br />
'Move to destination directory - f.Name indicates the original file name<br />
f.MoveTo("destDir\" + f.Name)<br />
'OR<br />
'File.Move(sourceFileName, destFileName)<br />
Case "btnCopy"<br />
f.CopyTo("destDir\" + f.Name)<br />
'OR<br />
'File.Copy(sourceFileName, destFileName)<br />
End Select<br />
End Sub
|
|
|
|
|
Thanks for your help, but i'm getting an error:
< Cannot find the file specified > (but the file has been selected from the filelistbox) so i don't know. this is what I have so far:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'local scope
Dim myDirectories() As System.IO.DirectoryInfo
Dim i As Integer
'create a new directory object pointed at c:
Dim myDirectory As New System.IO.DirectoryInfo(Path:=mypath)
'return the sub directories of c: from the global directory object
myDirectories = myDirectory.GetDirectories()
'loop through the directories and add them to the list box
For i = 0 To UBound(myDirectories) - 1
'add the directory name to the list
ListBoxdirectories().Items.Add(myDirectories(i).Name)
Next
'select the first directory in the list
' note: this will trigger the events that fill the label control
' and the files list box and its label control
ListBoxdirectories().SelectedIndex = 0
End Sub
Private Sub ListBoxdirectories_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBoxdirectories.SelectedIndexChanged
'purpose: synchronize the files list box with the selected directory
' and display the selected directory's information
'local scope
Dim myDirectory As System.IO.DirectoryInfo
Dim dirInfo As String
Dim myFiles() As System.IO.FileInfo
Dim i As Integer
myDirectory = New System.IO.DirectoryInfo(Path:=(mypath & mydirname))
'clear the listbox of its current contents
ListBoxFiles().Items.Clear()
'get a directory info object based on the user's selection
mydirname = ListBoxdirectories().SelectedItem.ToString & "\"
myDirectory = New System.IO.DirectoryInfo(Path:=(mypath & mydirname))
'set the dir info
dirInfo = dirInfo & "Path: " & myDirectory.FullName & vbCrLf
dirInfo = dirInfo & "Attributes: " & myDirectory.Attributes.ToString _
& vbCrLf
Labeldirectoryinfo().Text = dirInfo
'get the files in the directory
myFiles = myDirectory.GetFiles()
'check for files
If UBound(myFiles) >= 0 Then
'loop through the files array and add to the listbox
For i = 0 To UBound(myFiles) - 1
ListBoxFiles().Items.Add(myFiles(i).Name)
Next
'select the file in the list, this will trigger the event to change
' the file info label control listBoxFiles().SelectedIndex = 0
End If
End Sub
Private Sub ListBoxFiles_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBoxFiles.SelectedIndexChanged
'purpose: change the contents of the file properties label
'local scope
Dim myFile As System.IO.FileInfo
Dim fileInfo As String
'set the file name
myfilename = ListBoxFiles().SelectedItem.ToString
'create a new file object
myFile = New System.IO.FileInfo(fileName:=mypath & mydirname & _
myfilename)
'set the file info to display
fileInfo = fileInfo & "Directory: " & myFile.DirectoryName & vbCrLf
fileInfo = fileInfo & "Created Time: " & myFile.CreationTime & vbCrLf
fileInfo = fileInfo & "Size: " & myFile.Length & vbCrLf
fileInfo = fileInfo & "Last Accessed: " & myFile.LastAccessTime & _
vbCrLf
fileInfo = fileInfo & "Attributes: " & myFile.Attributes.ToString & _
vbCrLf
'set the label to the file's info
Labelfileinfo().Text = fileInfo
End Sub
Private Sub btnclose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnclose.Click
'purpose: end the application
'close the form
Me.Close()
End Sub
Private Sub btnMove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMove.Click
Dim btnClicked As Button
'assuming selected item is String
'for the full path of an existing file
Dim f As New FileInfo(ListBoxFiles.SelectedItem.ToString)
btnClicked = CType(sender, Button)
'Move or Copy according to clicked button
Select Case btnClicked.Name
Case "btnMove"
'Move to destination directory - f.Name indicates the original file name
f.MoveTo("destDir\" + f.Name)
'OR
'File.Move(sourceFileName, destFileName)
Case "btnCopy"
f.CopyTo("destDir\" + f.Name)
'OR
'File.Copy(sourceFileName, destFileName)
End Select
End Sub
|
|
|
|
|
If you are using the code I posted word for word, it will not work.
You must specify the destination filename according to where you want the file to be placed. If you use my code the application will not know what "destDir\" + f.Name is, so change the lines in bold:
JimClark68 wrote:
Select Case btnClicked.Name
Case "btnMove"
'Move to destination directory - f.Name indicates the original file name
f.MoveTo("destDir\" + f.Name)
'OR
'File.Move(sourceFileName, destFileName)
Case "btnCopy"
f.CopyTo("destDir\" + f.Name)
'OR
'File.Copy(sourceFileName, destFileName)
End Select
You can also throw in an Error check by checking if the File exists first:
File.Exists(filename)
|
|
|
|
|
I also forgot to mention, since you are adding FileInfo objects to your FileListBox, you can cast them from the selectedItem property.
'local fileinfo in button click event
Dim f as FileInfo
f = (ListBoxFiles.SelectedItem, FileInfo)
'now you can use the MoveTo or CopyTo methods respectively
'need to move
f.MoveTo("your destination filename here")
'OR need to copy
f.CopyTo("your destination filename here")
|
|
|
|
|
Oops!
Anonymous wrote:
f = (ListBoxFiles.SelectedItem, FileInfo)
should be:
f = Ctype(ListBoxFiles.SelectedItem, FileInfo)
|
|
|
|
|
So the file name has to be specified?. if that is the case, i'm in trouble.
if i can get the file path from the dirlistbox, why when i select a record from the filelistbox, i'm able to get the path, on my label, but when i try to copy the file i get this error:
< cannot find file >
|
|
|
|
|
Well my problem is that i do not want to specify a file, I want it to be random.
in other words the only specific(hardcode)is source and destination, but the file name would be the file selected in the filelistbox.
I cannot set this program with hardcoded paths, it has to be universal path.
|
|
|
|
|
I think you might have misunderstood when I say you specify the file name.
The way it works is you must specify the fully qualified path including file namefor the destination file. Say you want to move a file C:\myfile.txt -> D:\MyDocuments\myfile.txt. The file name may be the same as what you have selected from your FileListBox, BUT you must specify it in code, or else the method will not know where to put it.
Now, when you select myfile.txt from your FileListBox (its a FileInfo object according to your code)
When clicking on the Move Button:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click<br />
<br />
Dim f as FileInfo <br />
Dim destDir as String = "D:\MyDocuments\"<br />
<br />
'cast object<br />
f = CType(FileListBox.SelectedItem, FileInfo)<br />
<br />
'move syntax = FileInfo.MoveTo(destFileName As String)<br />
'attempt move<br />
<br />
'using the FileInfo Name property will return the file name<br />
'in the case where f.Name = myfile.txt<br />
'this way, you do not care what the file name is!<br />
<br />
f.MoveTo(destDir & f.Name)<br />
<br />
'this should move the selected file to the <br />
'fully qualified path D:\MyDocuments\myfile.txt<br />
End Sub
I hope this code clarifies things for you?
|
|
|
|
|
Thanks, I do not know how to thank you! It's working.
I just hope that you have a good job making good $$$$$$$$$$$$$$$$!
|
|
|
|
|
It worked for a while, now i'm getting this error:
System.InvalidCastException
Specified cast is not valid.
I have no clue.
thanks for your help, though, it didn't work, you try to help, I'll appreciate that.
|
|
|
|
|
Sorry, I didn't notice what you did when you added your file names to the FileListBox. You do the following:
ListBoxFiles().Items.Add(myFiles(i).Name)
Which means all you are adding the String to the ListBox. Therefore, the cast will not work! When you attempt:
f = Ctype(ListBoxFiles.SelectedItem, FileInfo)
It will throw that InvalidCastException since, you cannot cast a String to a FileInfo object.
How to solve this? It's up to you if you want to make a private FileInfo() that holds the has the same contents of your ListBoxFiles except they will be FileInfo objects. That way, when you move something, you access the
myFileInfoArray(ListBoxFiles.Items(SelectedIndex).MoveTo(....)
However, you can add another ListBox (invisible to the user, and add the FileInfo objects that are respective to the one they can see (ListBoxFiles)
It's totally up to you how you want to get by this, but it will work!
|
|
|
|
|
I could not delete the rows
using the delete key.
I can delete the rows in other way
but I prees the delete key in datagrid
nothing to happen
property Readonly = True
KeyDown
KeyPress
KeyUP
this keys are not working in datagrid
OS : XP
visualstudio: 2003
VB.net
Continue...
|
|
|
|
|
Right now I am trying to pull passwords from a SQL db:
SQL code
--------
SELECT 'EXEC sp_addlogin @loginame = ''' + loginname + ''''
,', @defdb = ''' + dbname + ''''
,', @deflanguage = ''' + language + ''''
,', @encryptopt = ''skip_encryption'''
,', @passwd ='
, cast(password AS varbinary(256))
,', @sid ='
, sid
FROM syslogins
WHERE name NOT IN ('sa')
AND isntname = 0
EXAMPLE OUTPUT:
---------------------
EXEC sp_addlogin @loginame = 'LinkedServer' , @defdb = 'systemdb' , @deflanguage = 'us_english' , @encryptopt = 'skip_encryption' , @passwd = 0x01000C74A920A815D49EFEABA3AE9DF66033B7FC149D51AD2442D7D392EADFB228AAF057951E8A247C8A55013B66 , @sid = 0x1AB151EF4AD9D246B445B9BD0264DDB2
EXEC sp_addlogin @loginame = 'adam' , @defdb = 'systemdb' , @deflanguage = 'us_english' , @encryptopt = 'skip_encryption' , @passwd = 0x010026748C70D74D580075328745A31846A8B003831B65466931B360ED0F0EF775175ACAABEA78874A9B694D141D , @sid = 0x6203292274E01748BA9AB323FC8797F6
------------------------
VB code-
-------
getserverusers_command_jobs.CommandText = "SELECT 'EXEC sp_addlogin @loginame = ''' + loginname + '''' ,', @defdb = ''' + dbname + '''' ,', @deflanguage = ''' + language + '''' ,', @encryptopt = ''skip_encryption''' ,', @passwd =' , cast(password AS varbinary(256)) ,', @sid =' , sid FROM syslogins WHERE name NOT IN ('sa') AND isntname = 0"
Set getserverusers_recordset_jobs = getserverusers_command_jobs.Execute
Do Until getserverusers_recordset_jobs.EOF
'output_file.WriteLine( getserverusers_recordset_jobs.Fields(7).Value)
wscript.echo(getserverusers_recordset_jobs.Fields(7).Value)
getserverusers_recordset_jobs.MoveNext
Loop
-----
Right now whenever I use an output file write with the PASSWD or SID field I get a type mismatch type, but on a wscript.echo, don't get a type mismatch. Anyway around this? Or any vbfunctions that can help me on this one?
|
|
|
|
|
Not sure how this happened, but I have 6 combo boxes on my form, and after populating them with data, They all seem linked together. If I change a value in one, the others will all reflect the same selection. I am sure that this is happening due to the databinding in the first part, but I am not sure how else to accomplish my needs.
I am including the troublesome code below: (yes, it is a raw product traceability program for farmers)
'get full list of field names for cbfieldEDITs<br />
commandtext = "Select field_number,field_names From field_info"<br />
sConnString = TheconnectionString<br />
Try<br />
Dim conn As New OleDb.OleDbConnection(sConnString)<br />
Dim cmd As New OleDb.OleDbCommand(commandtext, conn)<br />
conn.Open()<br />
cmd.CommandType = CommandType.Text<br />
Dim dafields As New OleDbDataAdapter(commandtext, conn)<br />
dsfields.Clear()<br />
dafields.Fill(dsfields, "field_info")<br />
cbfieldEdit1.DataSource = dsfields.Tables("field_info")<br />
cbfieldEdit1.DisplayMember = "field_names"<br />
cbfieldEdit1.ValueMember = "field_number"<br />
<br />
cbfieldEdit2.DataSource = dsfields.Tables("field_info")<br />
cbfieldEdit2.DisplayMember = "field_names"<br />
cbfieldEdit2.ValueMember = "field_number"<br />
<br />
cbfieldEdit3.DataSource = dsfields.Tables("field_info")<br />
cbfieldEdit3.DisplayMember = "field_names"<br />
cbfieldEdit3.ValueMember = "field_number"<br />
<br />
cbfieldEdit4.DataSource = dsfields.Tables("field_info")<br />
cbfieldEdit4.DisplayMember = "field_names"<br />
cbfieldEdit4.ValueMember = "field_number"<br />
<br />
cbfieldEdit5.DataSource = dsfields.Tables("field_info")<br />
cbfieldEdit5.DisplayMember = "field_names"<br />
cbfieldEdit5.ValueMember = "field_number"<br />
<br />
cbfieldEdit6.DataSource = dsfields.Tables("field_info")<br />
cbfieldEdit6.DisplayMember = "field_names"<br />
cbfieldEdit6.ValueMember = "field_number"<br />
<br />
Catch ex As Exception<br />
MessageBox.Show(ex.Message)<br />
End Try<br />
<br />
'******GET FIELDS PLANTED INFO*********<br />
<br />
'I expected this part to just add the actual value to the end and select it.<br />
<br />
commandtext = "Select * From fields_planted where lot_number = " & TheLotNumber<br />
sConnString = TheconnectionString<br />
'MessageBox.Show(commandtext)<br />
Try<br />
Dim conn As New OleDb.OleDbConnection(sConnString)<br />
Dim cmd As New OleDb.OleDbCommand(commandtext, conn)<br />
conn.Open()<br />
Dim dr As OleDbDataReader = cmd.ExecuteReader(CommandBehavior.Default)<br />
' dr.Read()<br />
cmd.CommandType = CommandType.Text<br />
<br />
Dim i As Integer = 1<br />
<br />
Do While dr.Read<br />
<br />
If i = 1 Then<br />
cbfieldEdit1.Items.Add(dr.GetValue(2))<br />
cbfieldEdit1.SelectedIndex = cbfieldEdit1.Items.Count - 1<br />
txtfield_percent1.Text = (dr.GetValue(3))<br />
End If<br />
If i = 2 Then<br />
cbfieldEdit2.Items.Add(dr.GetValue(2))<br />
cbfieldEdit2.SelectedIndex = cbfieldEdit2.Items.Count - 1<br />
txtfield_percent2.Text = (dr.GetValue(3))<br />
End If<br />
If i = 3 Then<br />
cbfieldEdit3.Items.Add(dr.GetValue(2))<br />
cbfieldEdit3.SelectedIndex = cbfieldEdit3.Items.Count - 1<br />
txtfield_percent3.Text = (dr.GetValue(3))<br />
End If<br />
If i = 4 Then<br />
cbfieldEdit4.Items.Add(dr.GetValue(2))<br />
cbfieldEdit4.SelectedIndex = cbfieldEdit4.Items.Count - 1<br />
txtfield_percent4.Text = (dr.GetValue(3))<br />
End If<br />
If i = 5 Then<br />
cbfieldEdit5.Items.Add(dr.GetValue(2))<br />
cbfieldEdit5.SelectedIndex = cbfieldEdit5.Items.Count - 1<br />
txtfield_percent5.Text = (dr.GetValue(3))<br />
End If<br />
If i = 6 Then<br />
cbfieldEdit6.Items.Add(dr.GetValue(2))<br />
cbfieldEdit6.SelectedIndex = cbfieldEdit6.Items.Count - 1<br />
txtfield_percent6.Text = (dr.GetValue(3))<br />
End If<br />
i = i + 1<br />
Loop<br />
<br />
conn.Close()<br />
Catch ex As Exception<br />
' MessageBox.Show(ex.Message & "ERROR DURING GET FIELDS PLANTED INFO")<br />
End Try
Now, I don't claim to be an expert of any kind, but I did expect the above code to work. If I am doing something bass ackwards (probable), please let me know.
AND Thanks in advance for any help on this.
|
|
|
|
|
The reason they appear linked is because they in fact are. You are databinding to a single DataSet. If you manipulate the DataSet in either combo box, you are manipulating data contained in that single DataSet. The changes will then appear in all other combo boxes because they are binded to the same DataSet.
I hope that makes sense?
|
|
|
|
|
Btw, I'm not sure why you would want to have 6 combo boxes viewing and manipulating the same table in a database. This seems like a bad idea to me. But if you really want to have each combo box viewing the same table and have different data. You will most likely need 6 DataSets.
Warning, if you use 6 DataSets your data will conflict if you plan on updating your DataSet to the DataSource.
|
|
|
|
|
Had a feeling that was the problem.
For each "Seed Lot" in the seed_lot_info table, there is to be up to 6 rows of data in the "fields_planted" table. The combo boxes are to hold individual row data (field_name) from the "fields_planted" table Where the lot number = blah
So now I am attempting to create one dataset, and then copying it once for each combobox. Thanks
Not updating the datasource from the datasets... I just need the value that they selected in each.
|
|
|
|
|
plz guide me how to connect to a database with unbound controls(through coding precisely)
and also how to use oledbdataadapter to populate my form with data.
Mian Rashed Inam Khattak
|
|
|
|
|
I have this number in Double 0.0000000001 and I want to convert it to String in the same Format
( detail:
Dim a As Double = 0.000000001
Dim s As String
'The code to convert a to s here
'After convert the value of s is "0.000000001" not "1E-9"
).
Please help me ! Thanks in advance !
Hung
|
|
|
|
|
what actuall you want is it you want 0.000000001 or 1E-9
explain clearly
|
|
|
|
|
I want this just to display on the screen.
|
|
|
|
|
how do you convert ?
please give the code...
did you try with s = a.ToString() ?
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|