|
Good luck and enjoy your weekend
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
|
Alienoiz wrote: after the efforts i believe i got something..wanna try? Nice
So, you got code and you can explain it. How about writing an article?
Alienoiz wrote: it is simple but you need framework 4.5 and run it as admin case you run it from a private folder Smile | Without simple examples it would be very hard to learn. Also, most people will already have 4.5, so no problem there.
Alienoiz wrote: Thanks and Merry Xmas! Merry Christmas and a happy new year!
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
... My idea is to separate the .ini keyname from the data it contains and use each other to a different ending!
i hope i am being clear enough.. since i am bothering you guys so much....
Thanks,
Duarte
modified 7-Jan-19 21:02pm.
|
|
|
|
|
Like we have all been telling you: forget .INI files, they are outdated and not supported. Use something that fits with the language and framework as it is now. As Eddy has suggested XML is a much better choice and there is full support for it in the language and framework: vb.net XMLreader - Google Search[^].
|
|
|
|
|
ok i am up to it.. where can i get some snippets or tutorials to learn how to work with it?
Thank You!
modified 7-Jan-19 21:02pm.
|
|
|
|
|
Follow the links I provided in my previous message.
|
|
|
|
|
ok thanks.. i will check them out!
modified 7-Jan-19 21:02pm.
|
|
|
|
|
i am not understanding how do i create more nodes??!!
Private Sub createNode(ByVal dat As String, ByVal hor As String, ByVal plc As String, ByVal hed As String, ByVal mem As String, ByVal writer As XmlTextWriter)
Dim MEMOSAVE = TextBox5.Text
writer.WriteStartElement(MEMOSAVE)
writer.WriteStartElement("Date")
writer.WriteString(dat)
writer.WriteEndElement()
writer.WriteStartElement("Hour")
writer.WriteString(hor)
writer.WriteEndElement()
writer.WriteStartElement("Place")
writer.WriteString(plc)
writer.WriteEndElement()
writer.WriteStartElement("Header")
writer.WriteString(hed)
writer.WriteEndElement()
writer.WriteStartElement("MEMO")
writer.WriteString(mem)
writer.WriteEndElement()
writer.WriteEndElement()
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Dim folderPath As String = Directory.GetCurrentDirectory()
Dim filePath As String = Path.Combine(folderPath, "MEMOS\Database.xml")
Dim dat = TextBox1.Text
Dim plc = TextBox2.Text
Dim hed = TextBox3.Text
Dim mem = TextBox4.Text
Dim hor = ComboBox1.Text + " : " + ComboBox2.Text + " " + ComboBox3.Text
Dim writer As New XmlTextWriter(filePath, System.Text.Encoding.UTF8)
writer.WriteStartDocument(True)
writer.Formatting = Formatting.Indented
writer.Indentation = 2
writer.WriteStartElement(TextBox5.Text)
createNode(dat, hor, plc, hed, mem, writer)
writer.WriteEndElement()
writer.WriteEndDocument()
writer.Close()
End Sub
it is writing but only writes one set of data!!!!
modified 7-Jan-19 21:02pm.
|
|
|
|
|
Alienoiz wrote: only writes one set of data What is the result in your file?
|
|
|
|
|
ok i am using this code to write and read, but i am yet trying to figure out the part of reading...
it seems it does not reads the entries started with "0" and those that have "/"...
Private Sub createNode(ByVal dat As String, ByVal hor As String, ByVal plc As String, ByVal hed As String, ByVal mem As String, ByVal writer As XmlTextWriter)
Dim MEMOSAVE = TextBox1.Text
writer.WriteStartElement(MEMOSAVE)
writer.WriteStartElement("Date")
writer.WriteString(dat)
writer.WriteEndElement()
writer.WriteStartElement("Hour")
writer.WriteString(hor)
writer.WriteEndElement()
writer.WriteStartElement("Place")
writer.WriteString(plc)
writer.WriteEndElement()
writer.WriteStartElement("Header")
writer.WriteString(hed)
writer.WriteEndElement()
writer.WriteStartElement("MEMO")
writer.WriteString(mem)
writer.WriteEndElement()
writer.WriteEndElement()
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Dim folderPath As String = Directory.GetCurrentDirectory()
Dim filePath As String = Path.Combine(folderPath, "MEMOS\Database.xml")
Dim dat = TextBox1.Text
Dim plc = TextBox2.Text
Dim hed = TextBox3.Text
Dim mem = TextBox4.Text
Dim hor = ComboBox1.Text + " : " + ComboBox2.Text + " " + ComboBox3.Text
Dim writer As New XmlTextWriter(filePath, System.Text.Encoding.UTF8)
writer.WriteStartDocument(True)
writer.Formatting = Formatting.Indented
writer.Indentation = 2
writer.WriteStartElement("MEMOSAVE")
createNode(dat, hor, plc, hed, mem, writer)
writer.WriteEndElement()
writer.WriteEndDocument()
writer.Close()
End Sub
Private Sub readNode(ByVal dat As String, ByVal hor As String, ByVal plc As String, ByVal hed As String, ByVal mem As String, ByVal reader As XmlTextReader)
Dim MEMOSAVE = TextBox1.Text
reader.ReadStartElement(MEMOSAVE)
reader.ReadStartElement("Date")
reader.ReadString()
reader.ReadEndElement()
reader.ReadStartElement("Hour")
reader.ReadString()
reader.ReadEndElement()
reader.ReadStartElement("Place")
reader.ReadString()
reader.ReadEndElement()
reader.ReadStartElement("Header")
reader.ReadString()
reader.ReadEndElement()
reader.ReadStartElement("MEMO")
reader.ReadString()
reader.ReadEndElement()
reader.ReadEndElement()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim folderPath As String = Directory.GetCurrentDirectory()
Dim filePath As String = Path.Combine(folderPath, "MEMOS\Database.xml")
Dim reader As New XmlTextReader(filePath)
reader.ReadStartElement("MEMOSAVE")
readNode("Date", "Hour", "Place", "Header", "MEMO", reader)
reader.ReadEndElement()
reader.Close()
End Sub
and this is my XML output when i write:
="1.0"="utf-8"="yes"
<MEMOSAVE>
<15/12/2016>
<Date>15/12/2016</Date>
<Hour>01 : 05 PM</Hour>
<Place>USA</Place>
<Header>Testing Memo</Header>
<MEMO>Memorando test text!</MEMO>
</15/12/2016>
</MEMOSAVE>
The fact is that i am not understanding how to create multiple nodes with different data!
i am trying to make a small agenda..and i would like that when i choose a date from the MonthCalendar i auto shows in a textbox the memos for that day!
Thanks
Duarte
modified 7-Jan-19 21:02pm.
|
|
|
|
|
You create node called "15/12/2016" which is most likely the problem.
You really need to stop writing random code, and spend much more time studying the protocol and classes used to manage XML. You cannot learn programming just by posting questions here.
|
|
|
|
|
Like i said..i would have to ask you a lot of things about XML ... i am not a coder... i just like to exercise my mind..so once i a while i code some gadgets..simple things...normally i spend a lot of time searching in google for pieces of code that i can use in my small projects..trying to understand them and retreive what i need..i never had coding lessons either...
my last gadget was this: gadgets[^]
It is simple but i believe it is cool... i also do visual coding of VSTi, and i am also not an audio engeneer... i try to keep my mind busy with these simple apps and audio software!
Well, i guess i have to search better if i want to do the app... i know is not hard and it probably would not be a lot of code lines.. but ok...i will try to figure it out : )
edit: i also manage beatassist.eu and i am also a Dj / Producer ; )
Thanks,
Duarte
modified 7-Jan-19 21:02pm.
|
|
|
|
|
I have a combobox that has different themes in it, and I would like to make a button and once click will save the current theme it is on.
What the combobox looks like is this:
If ComboBox1.SelectedItem = ("Dark") Then
Me.Hide()
Me.BackColor = Color.FromArgb(30, 33, 36)
Label1.ForeColor = Color.Silver
Label2.ForeColor = Color.Silver
Label3.ForeColor = Color.Silver
Label4.ForeColor = Color.Silver
Label6.ForeColor = Color.Silver
Label7.ForeColor = Color.Silver
Label8.ForeColor = Color.Silver
Label9.ForeColor = Color.Silver
Label10.ForeColor = Color.Silver
Label11.ForeColor = Color.Silver
Label12.ForeColor = Color.Silver
Label13.ForeColor = Color.Silver
Label14.ForeColor = Color.Silver
Label15.ForeColor = Color.Silver
Label16.ForeColor = Color.Silver
CheckBox1.ForeColor = Color.Silver
CheckBox2.ForeColor = Color.Silver
TabPage1.BackColor = Color.FromArgb(30, 33, 36)
TabPage2.BackColor = Color.FromArgb(30, 33, 36)
TabPage3.BackColor = Color.FromArgb(30, 33, 36)
TabPage4.BackColor = Color.FromArgb(30, 33, 36)
TabPage5.BackColor = Color.FromArgb(30, 33, 36)
TabPage6.BackColor = Color.FromArgb(30, 33, 36)
LinkLabel1.LinkColor = Color.DeepSkyBlue
System.Threading.Thread.Sleep(300)
Me.Show()
End If
If ComboBox1.SelectedItem = ("Light") Then
Me.Hide()
Me.BackColor = Color.FromArgb(160, 160, 160)
Label1.ForeColor = Color.Black
Label2.ForeColor = Color.Black
Label3.ForeColor = Color.Black
Label4.ForeColor = Color.Black
Label6.ForeColor = Color.Black
Label7.ForeColor = Color.Black
Label8.ForeColor = Color.Black
Label9.ForeColor = Color.Black
Label10.ForeColor = Color.Black
Label11.ForeColor = Color.Black
Label12.ForeColor = Color.Black
Label13.ForeColor = Color.Black
Label14.ForeColor = Color.Black
Label15.ForeColor = Color.Black
Label16.ForeColor = Color.Black
CheckBox1.ForeColor = Color.Black
CheckBox2.ForeColor = Color.Black
TabPage1.BackColor = Color.FromArgb(220, 220, 220)
TabPage2.BackColor = Color.FromArgb(220, 220, 220)
TabPage3.BackColor = Color.FromArgb(220, 220, 220)
TabPage4.BackColor = Color.FromArgb(220, 220, 220)
TabPage5.BackColor = Color.FromArgb(220, 220, 220)
TabPage6.BackColor = Color.FromArgb(220, 220, 220)
LinkLabel1.LinkColor = Color.Blue
System.Threading.Thread.Sleep(300)
Me.Show()
End If
|
|
|
|
|
Add an event handler to the button and read the values from the theme and save them somewhere. Is this supposed to be in permanent storage or just while the application is running?
|
|
|
|
|
I add some items into the database in other to load in a combobox then trying to add items to the second combobox in other to act as a sub to the first combobox.. i found out that i would need to select an item from the first combobox before i can add items to the second combobox.. for instance i have "state" as my first combobox and in each state, there are local governments and i would have to select a particular state in other to enter the corresponding Local governments. as a result of this, i will be having more than one entry on my state column and when i try to use it from the user's end, when i select state, it will contain more than one entry for each state... is there a way i can reduce redundancy in the combobox.. please i need help with this
|
|
|
|
|
Please do not post the same question in multiple forums.
|
|
|
|
|
I want to get a product list on the aspx web page.
When I save the web page (aspx) with Firefox (save as), the saved page show the contents (products). But when I download the same page with WebClient, the contents dnt appear.
WEB PAGE EXAMPLE
Im using the code:
Dim client As New System.Net.WebClient
client.Encoding = System.Text.Encoding.UTF8
Dim sourceString As String = client.DownloadString(page)
How can I download the page using vb.net to show the listed products on the page?
|
|
|
|
|
Hi,
I have a question regarding a datagridview and an access database.
With my current application I can select a database, make a connection all the tables are shown into a combobox. With this combobox I can select a table and the columns of this table are listed in a listbox1. From listbox1 I can select 1 or more columns and put them in listbox2.
The columns listed in listbox2 i want to add to the datagridview.
The reason for this, is that i want to make a selection which columns I want to use.
The database could be any database, so the whole thing is rather dynamic, therefor I cannot not use fixed values.
If somebody can help out on this one I would be very thankfull.
kind regards.
Heng
|
|
|
|
|
Member 12822573 wrote: If somebody can help out on this one I would be very thankfull. Help in what way? You have explained what you want to do, but not what your problem is.
|
|
|
|
|
Hi,
Well the problem is that with the code i used, I see the records, but the data is not in line.
For example:
I have 2 columns ID and Test. Both columns have e.g. 2 records (or rows)
Normal you would expect to see two columns and two rows.
I my case i see 2 columns and 4 rows, the first two rows of columns 2 are empty.
I know this has something to with the way i have program it, but I don't know the correct way.
Herewith my code:
Private Sub btnShowData_Click(sender As Object, e As EventArgs) Handles btnShowData.Click
Dim selectFile As String = txtSelectFile.Text
Dim selectTable As String = cmbSelectTable.Text
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & selectFile
Try
con.Open()
Dim ds As New DataSet
Dim dt As New DataTable
Dim da As New OleDbDataAdapter
For Each Item As Object In lbxSelectItems.Items
da = New OleDbDataAdapter("Select " & Item & " from " & selectTable, con)
da.Fill(dt)
Next
DGVselectedTable.DataSource = dt.DefaultView
con.Close()
Catch ex As Exception
MsgBox("Error: " & ex.Message)
End Try
End Sub
I hope it is clear, basically I was hoping for a good example or code.
thanks
kind regards,
heng
|
|
|
|
|
Because you are selecting items from each column one at a time instead of all together. You should first build your SELECT statement with the column names from all the selected items in the listbox. You can then make one database call which will read all the items from the selected records. Something like:
Dim cols as StringBuilder
For Each Item As Object In lbxSelectItems.Items
cols.Append(Item.ToString + ", ")
Next
Dim rep = cols.Length
cols.Remove(rep-2, 2)
da = New OleDbDataAdapter("Select " & cols.ToString & " from " & selectTable, con)
da.Fill(dt)
I apologise for any syntax errors in the above; I am not a VB expert.
|
|
|
|
|
Thanks!
As far as i have tested it now it works.
I have used the same code, no errors.
You mentioned that your not an expert, but much better than i am.
thanks again
rgds
heng
|
|
|
|
|
|
I'm trying to work with 3 progress bars where one fill another. Is associated to treenodes in treeview. When research precess is completed with each nodes at certain level, need be filling the progressbar associated to parent node. But I cant make to work correctly. I need help to understand the logic.
Private Sub AtualizaSubcategorias(ByVal execucao As BackgroundWorker)
Dim pbar_step_n2 As Double = 0, pbar_total_n2 As Double = 0
Dim pbar_step_n3 As Double = 0, pbar_total_n3 As Double = 0
Dim pbar_step_n4 As Double = 0, pbar_total_n4 As Double = 0
Dim pbar_alvo As String = "", menos3 As String
Dim tree_temp As New TreeView
Dim n As New TreeNode
n = tree_menu.Nodes(0).Clone
tree_temp.Nodes.Add(n)
pbar_alvo = "n2"
menos3 = pbar_alvo & "|@|" & "100"
execucao.ReportProgress(-3, menos3)
pbar_total_n2 = 0
pbar_step_n2 = (pbar_n2.Maximum / categoriasPARAatualizar.Count)
For Each n2 As TreeNode In tree_temp.Nodes(0).Nodes
If (execucao.CancellationPending = True) Then Exit For
If categoriasPARAatualizar.Contains(n2.Tag.ToString) Then
Dim catTitulo = Split(n2.Text.ToString, "{")
execucao.ReportProgress(-1, catTitulo(0).ToUpper)
Capturador(n2.Tag.ToString, 2, n2)
If pbar_total_n2 >= pbar_n2.Maximum Then
execucao.ReportProgress(pbar_n2.Maximum, pbar_alvo)
Else
End If
pbar_alvo = "n3"
If n2.Nodes.Count = 0 Then
menos3 = pbar_alvo & "|@|" & categoriasPARAatualizar.Count
execucao.ReportProgress(-3, menos3)
execucao.ReportProgress(pbar_n3.Maximum, pbar_alvo)
pbar_total_n2 = pbar_total_n2 + pbar_step_n2
Else
menos3 = pbar_alvo & "|@|" & n2.Nodes.Count
execucao.ReportProgress(-3, menos3)
pbar_total_n3 = 0
pbar_step_n3 = (pbar_step_n2 / n2.Nodes.Count)
For Each n3 As TreeNode In n2.Nodes
If (execucao.CancellationPending = True) Then Exit For
Capturador(n3.Tag.ToString, 2, n3)
If pbar_total_n3 >= pbar_n3.Maximum Then
execucao.ReportProgress(pbar_n3.Maximum, pbar_alvo)
pbar_total_n2 = pbar_total_n2 + pbar_step_n2
Else
End If
pbar_alvo = "n4"
If n3.Nodes.Count = 0 Then
menos3 = pbar_alvo & "|@|" & "100"
execucao.ReportProgress(-3, menos3)
execucao.ReportProgress(pbar_n4.Maximum, pbar_alvo)
pbar_total_n3 = pbar_total_n3 + pbar_step_n3
Else
menos3 = pbar_alvo & "|@|" & n3.Nodes.Count
execucao.ReportProgress(-3, menos3)
pbar_total_n4 = 0
pbar_step_n4 = (pbar_step_n3 / n3.Nodes.Count)
For Each n4 As TreeNode In n3.Nodes
If (execucao.CancellationPending = True) Then Exit For
Capturador(n4.Tag.ToString, 2, n4)
pbar_total_n4 = pbar_total_n4 + pbar_step_n4
If pbar_total_n4 >= pbar_n4.Maximum Then
execucao.ReportProgress(pbar_n4.Maximum, pbar_alvo)
pbar_total_n3 = pbar_total_n3 + pbar_step_n3
Else
execucao.ReportProgress(pbar_total_n4, pbar_alvo)
End If
Next
End If
Next
End If
End If
Next
execucao.ReportProgress(-2, tree_temp)
End Sub
Private Sub subcategorias_BckGrndWorker_ProgressChanged(sender As Object, e As ProgressChangedEventArgs) Handles subcategorias_BckGrndWorker.ProgressChanged
If e.ProgressPercentage < 0 Then
Select Case e.ProgressPercentage
Case -1
lbl_categoria.Text = e.UserState
Case -2
tree_menu.Nodes.Clear()
tree_menu = e.UserState
Panel1.Controls.Add(tree_menu)
tree_menu.Dock = DockStyle.Fill
tree_menu.ExpandAll()
Case -3
Dim splt = Split(e.UserState, "|@|")
If UCase(splt(0)) = "N2" Then
pbar_n2.Maximum = Int(splt(1))
ElseIf UCase(splt(0)) = "N3" Then
pbar_n3.Maximum = Int(splt(1))
ElseIf UCase(splt(0)) = "N4" Then
pbar_n4.Maximum = Int(splt(1))
End If
End Select
End If
If e.ProgressPercentage > 0 Then
Select Case UCase(e.UserState)
Case "N2"
pbar_n2.Value = e.ProgressPercentage
If pbar_n2.Value = pbar_n2.Maximum Then pbar_n2.Value = 0
Case "N3"
pbar_n3.Value = e.ProgressPercentage
If pbar_n3.Value = pbar_n3.Maximum Then pbar_n3.Value = 0
Case "N4"
pbar_n4.Value = e.ProgressPercentage
If pbar_n4.Value = pbar_n4.Maximum Then pbar_n4.Value = 0
End Select
End If
End Sub
|
|
|
|
|