473,327 Members | 1,936 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,327 software developers and data experts.

Filtering items for a list box

Hello

I have a small program that I've created to generate accounting
statements out of our policy managment system.

The first part of the process is selecting the customer to create the
statement for. In this process the application queries the database,
returns a dataset of just customer names, and their customer code that
is displayed in a list. This results in something like 200 names.

The statements are sent out in billing cycles so not all 200 names are
processed everytime the application is run. There are 4 billing cylces.

The users of this little app have requested that I allow them to filter
based on the customer billing cycle to display only those customers in
the customer list window. This customer list window is a listbox BTW.

I have included some code below, I am not sure why it is not working.
Basically I have a series of case statements that try to apply the
DataView.RowFilter on the Customers table in my dataset before the
listbox is populated with items. This I thought should allow me to
query the database once, get the entire list of names, and then only
show those whos value in the USERFIELD1 was equal to the billing cycle
code either M1,2,3,or 4. This unfortunately doesn't work, as all the
customers are still showing in my list box even after I have changed the
billing cycle code from my drop down box.

Hope this wasn't too long, if anyone has any suggestions for me please
share. I am new to VB.net Programming, and have built this application
from scratch with the help of some more senior developers.
Unfortunately they are no longer available to help me.

Thanks again...
Code samples below..
Private Sub cboBillingCycle_SelectedIndexChanged(ByVal sender As
Object, ByVal e As System.EventArgs) Handles
cboBillingCycle.SelectedIndexChanged

'converts selected item to string
billingCycle = CType(cboBillingCycle.SelectedItem, String)

'displays appropriate status
Select Case billingCycle
Case "ALL"
sbPanelBillingCycle.Text = "Displaying all clients"
Case "M1"
sbPanelBillingCycle.Text = "Displaying M1 cycle"
Case "M2"
sbPanelBillingCycle.Text = "Displaying M2 cycle"
Case "M3"
sbPanelBillingCycle.Text = "Displaying M3 cycle"
Case "M4"
sbPanelBillingCycle.Text = "Displaying M4 cycle"

End Select
'runs customer list load where billingCycle is used in case
statements to cause certain billing
'cycles to be filtered and displayed.
LoadCustomerList()

End Sub

Private Sub LoadCustomerList()
Dim listItem As ListViewItem
Dim custDataRow As CustomersRow
Dim custPropArray() As String

Select Case billingCycle
Case "All"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = '*' "
Case "M1"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M1' "
Case "M2"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M2' "
Case "M3"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M3' "
Case "M4"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M4' "
End Select

'clear customer list before we reload
lstCustomers.Items.Clear()

Try
For Each custDataRow In dsStatementData.Customers.Rows
custPropArray = New String()
{custDataRow("CustomerID"), custDataRow("Name")}
listItem = New ListViewItem(custPropArray)
lstCustomers.Items.Add(listItem)
Next

If lstCustomers.Items.Count > 0 Then
lstCustomers.Items(0).Selected = True
End If
lstCustomers.Select()
Catch ex As Exception
MessageBox.Show("An error occured while getting customer
list:" & vbCrLf & GetExceptionMessage(ex))
End Try
End Sub
Nov 20 '05 #1
4 2161
John,
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = '*' " For Each custDataRow In dsStatementData.Customers.Rows
custPropArray = New String()
{custDataRow("CustomerID"), custDataRow("Name")}
listItem = New ListViewItem(custPropArray)
lstCustomers.Items.Add(listItem)
Next
You set the DataView.RowFilter, however you then use the DataTable itself.
You need to use the DataView for your binding.

Something like: For Each custDataRow In dsStatementData.Customers.DefaultView
Hope this helps
Jay
"John Wildes" <jo*********@ars.aon.com> wrote in message
news:OJ****************@TK2MSFTNGP11.phx.gbl... Hello

I have a small program that I've created to generate accounting
statements out of our policy managment system.

The first part of the process is selecting the customer to create the
statement for. In this process the application queries the database,
returns a dataset of just customer names, and their customer code that
is displayed in a list. This results in something like 200 names.

The statements are sent out in billing cycles so not all 200 names are
processed everytime the application is run. There are 4 billing cylces.

The users of this little app have requested that I allow them to filter
based on the customer billing cycle to display only those customers in
the customer list window. This customer list window is a listbox BTW.

I have included some code below, I am not sure why it is not working.
Basically I have a series of case statements that try to apply the
DataView.RowFilter on the Customers table in my dataset before the
listbox is populated with items. This I thought should allow me to
query the database once, get the entire list of names, and then only
show those whos value in the USERFIELD1 was equal to the billing cycle
code either M1,2,3,or 4. This unfortunately doesn't work, as all the
customers are still showing in my list box even after I have changed the
billing cycle code from my drop down box.

Hope this wasn't too long, if anyone has any suggestions for me please
share. I am new to VB.net Programming, and have built this application
from scratch with the help of some more senior developers.
Unfortunately they are no longer available to help me.

Thanks again...
Code samples below..
>>>> Private Sub cboBillingCycle_SelectedIndexChanged(ByVal sender As
Object, ByVal e As System.EventArgs) Handles
cboBillingCycle.SelectedIndexChanged

'converts selected item to string
billingCycle = CType(cboBillingCycle.SelectedItem, String)

'displays appropriate status
Select Case billingCycle
Case "ALL"
sbPanelBillingCycle.Text = "Displaying all clients"
Case "M1"
sbPanelBillingCycle.Text = "Displaying M1 cycle"
Case "M2"
sbPanelBillingCycle.Text = "Displaying M2 cycle"
Case "M3"
sbPanelBillingCycle.Text = "Displaying M3 cycle"
Case "M4"
sbPanelBillingCycle.Text = "Displaying M4 cycle"

End Select
'runs customer list load where billingCycle is used in case
statements to cause certain billing
'cycles to be filtered and displayed.
LoadCustomerList()

End Sub
>>>>>>>

Private Sub LoadCustomerList()
Dim listItem As ListViewItem
Dim custDataRow As CustomersRow
Dim custPropArray() As String

Select Case billingCycle
Case "All"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = '*' "
Case "M1"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M1' "
Case "M2"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M2' "
Case "M3"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M3' "
Case "M4"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M4' "
End Select

'clear customer list before we reload
lstCustomers.Items.Clear()

Try
For Each custDataRow In dsStatementData.Customers.Rows
custPropArray = New String()
{custDataRow("CustomerID"), custDataRow("Name")}
listItem = New ListViewItem(custPropArray)
lstCustomers.Items.Add(listItem)
Next

If lstCustomers.Items.Count > 0 Then
lstCustomers.Items(0).Selected = True
End If
lstCustomers.Select()
Catch ex As Exception
MessageBox.Show("An error occured while getting customer
list:" & vbCrLf & GetExceptionMessage(ex))
End Try
End Sub

Nov 20 '05 #2
I hate to be a pest. I see the logic behind it, and I have tried that,
but I get a "Specified cast is invalid" when it processes that line
after the cboBillingCycle_SelectedIndexChanged event is fired.

any other ideas, or syntax?

john
Jay B. Harlow [MVP - Outlook] wrote:
John,
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = '*' "


For Each custDataRow In dsStatementData.Customers.Rows
custPropArray = New String()
{custDataRow("CustomerID"), custDataRow("Name")}
listItem = New ListViewItem(custPropArray)
lstCustomers.Items.Add(listItem)
Next

You set the DataView.RowFilter, however you then use the DataTable itself.
You need to use the DataView for your binding.

Something like:
For Each custDataRow In dsStatementData.Customers.DefaultView

Hope this helps
Jay
"John Wildes" <jo*********@ars.aon.com> wrote in message
news:OJ****************@TK2MSFTNGP11.phx.gbl...
Hello

I have a small program that I've created to generate accounting
statements out of our policy managment system.

The first part of the process is selecting the customer to create the
statement for. In this process the application queries the database,
returns a dataset of just customer names, and their customer code that
is displayed in a list. This results in something like 200 names.

The statements are sent out in billing cycles so not all 200 names are
processed everytime the application is run. There are 4 billing cylces.

The users of this little app have requested that I allow them to filter
based on the customer billing cycle to display only those customers in
the customer list window. This customer list window is a listbox BTW.

I have included some code below, I am not sure why it is not working.
Basically I have a series of case statements that try to apply the
DataView.RowFilter on the Customers table in my dataset before the
listbox is populated with items. This I thought should allow me to
query the database once, get the entire list of names, and then only
show those whos value in the USERFIELD1 was equal to the billing cycle
code either M1,2,3,or 4. This unfortunately doesn't work, as all the
customers are still showing in my list box even after I have changed the
billing cycle code from my drop down box.

Hope this wasn't too long, if anyone has any suggestions for me please
share. I am new to VB.net Programming, and have built this application
from scratch with the help of some more senior developers.
Unfortunately they are no longer available to help me.

Thanks again...
Code samples below..
>>>>

Private Sub cboBillingCycle_SelectedIndexChanged(ByVal sender As
Object, ByVal e As System.EventArgs) Handles
cboBillingCycle.SelectedIndexChanged

'converts selected item to string
billingCycle = CType(cboBillingCycle.SelectedItem, String)

'displays appropriate status
Select Case billingCycle
Case "ALL"
sbPanelBillingCycle.Text = "Displaying all clients"
Case "M1"
sbPanelBillingCycle.Text = "Displaying M1 cycle"
Case "M2"
sbPanelBillingCycle.Text = "Displaying M2 cycle"
Case "M3"
sbPanelBillingCycle.Text = "Displaying M3 cycle"
Case "M4"
sbPanelBillingCycle.Text = "Displaying M4 cycle"

End Select
'runs customer list load where billingCycle is used in case
statements to cause certain billing
'cycles to be filtered and displayed.
LoadCustomerList()

End Sub
>>>>>>>

Private Sub LoadCustomerList()
Dim listItem As ListViewItem
Dim custDataRow As CustomersRow
Dim custPropArray() As String

Select Case billingCycle
Case "All"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = '*' "
Case "M1"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M1' "
Case "M2"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M2' "
Case "M3"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M3' "
Case "M4"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M4' "
End Select

'clear customer list before we reload
lstCustomers.Items.Clear()

Try
For Each custDataRow In dsStatementData.Customers.Rows
custPropArray = New String()
{custDataRow("CustomerID"), custDataRow("Name")}
listItem = New ListViewItem(custPropArray)
lstCustomers.Items.Add(listItem)
Next

If lstCustomers.Items.Count > 0 Then
lstCustomers.Items(0).Selected = True
End If
lstCustomers.Select()
Catch ex As Exception
MessageBox.Show("An error occured while getting customer
list:" & vbCrLf & GetExceptionMessage(ex))
End Try
End Sub


Nov 20 '05 #3
John,
Doh! I meant to add that when you use a For Each over a DataView you are
have DataRowView objects not DataRow objects.

Change the type that custDataRow is.

Hope this helps
Jay

"John Wildes" <jo*********@ars.aon.com> wrote in message
news:OH**************@TK2MSFTNGP11.phx.gbl...
I hate to be a pest. I see the logic behind it, and I have tried that,
but I get a "Specified cast is invalid" when it processes that line
after the cboBillingCycle_SelectedIndexChanged event is fired.

any other ideas, or syntax?

john
Jay B. Harlow [MVP - Outlook] wrote:
John,
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = '*' "


For Each custDataRow In dsStatementData.Customers.Rows
custPropArray = New String()
{custDataRow("CustomerID"), custDataRow("Name")}
listItem = New ListViewItem(custPropArray)
lstCustomers.Items.Add(listItem)
Next

You set the DataView.RowFilter, however you then use the DataTable itself. You need to use the DataView for your binding.

Something like:
For Each custDataRow In
dsStatementData.Customers.DefaultView

Hope this helps
Jay
"John Wildes" <jo*********@ars.aon.com> wrote in message
news:OJ****************@TK2MSFTNGP11.phx.gbl...
Hello

I have a small program that I've created to generate accounting
statements out of our policy managment system.

The first part of the process is selecting the customer to create the
statement for. In this process the application queries the database,
returns a dataset of just customer names, and their customer code that
is displayed in a list. This results in something like 200 names.

The statements are sent out in billing cycles so not all 200 names are
processed everytime the application is run. There are 4 billing cylces.

The users of this little app have requested that I allow them to filter
based on the customer billing cycle to display only those customers in
the customer list window. This customer list window is a listbox BTW.

I have included some code below, I am not sure why it is not working.
Basically I have a series of case statements that try to apply the
DataView.RowFilter on the Customers table in my dataset before the
listbox is populated with items. This I thought should allow me to
query the database once, get the entire list of names, and then only
show those whos value in the USERFIELD1 was equal to the billing cycle
code either M1,2,3,or 4. This unfortunately doesn't work, as all the
customers are still showing in my list box even after I have changed the
billing cycle code from my drop down box.

Hope this wasn't too long, if anyone has any suggestions for me please
share. I am new to VB.net Programming, and have built this application
from scratch with the help of some more senior developers.
Unfortunately they are no longer available to help me.

Thanks again...
Code samples below..

>>>>
Private Sub cboBillingCycle_SelectedIndexChanged(ByVal sender As
Object, ByVal e As System.EventArgs) Handles
cboBillingCycle.SelectedIndexChanged

'converts selected item to string
billingCycle = CType(cboBillingCycle.SelectedItem, String)

'displays appropriate status
Select Case billingCycle
Case "ALL"
sbPanelBillingCycle.Text = "Displaying all clients"
Case "M1"
sbPanelBillingCycle.Text = "Displaying M1 cycle"
Case "M2"
sbPanelBillingCycle.Text = "Displaying M2 cycle"
Case "M3"
sbPanelBillingCycle.Text = "Displaying M3 cycle"
Case "M4"
sbPanelBillingCycle.Text = "Displaying M4 cycle"

End Select
'runs customer list load where billingCycle is used in case
statements to cause certain billing
'cycles to be filtered and displayed.
LoadCustomerList()

End Sub

>>>>>>>
Private Sub LoadCustomerList()
Dim listItem As ListViewItem
Dim custDataRow As CustomersRow
Dim custPropArray() As String

Select Case billingCycle
Case "All"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = '*' "
Case "M1"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M1' "
Case "M2"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M2' "
Case "M3"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M3' "
Case "M4"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M4' "
End Select

'clear customer list before we reload
lstCustomers.Items.Clear()

Try
For Each custDataRow In dsStatementData.Customers.Rows
custPropArray = New String()
{custDataRow("CustomerID"), custDataRow("Name")}
listItem = New ListViewItem(custPropArray)
lstCustomers.Items.Add(listItem)
Next

If lstCustomers.Items.Count > 0 Then
lstCustomers.Items(0).Selected = True
End If
lstCustomers.Select()
Catch ex As Exception
MessageBox.Show("An error occured while getting customer
list:" & vbCrLf & GetExceptionMessage(ex))
End Try
End Sub


Nov 20 '05 #4
Jay,

Thanks for the help, it works great.

john
Jay B. Harlow [MVP - Outlook] wrote:
John,
Doh! I meant to add that when you use a For Each over a DataView you are
have DataRowView objects not DataRow objects.

Change the type that custDataRow is.

Hope this helps
Jay

"John Wildes" <jo*********@ars.aon.com> wrote in message
news:OH**************@TK2MSFTNGP11.phx.gbl...
I hate to be a pest. I see the logic behind it, and I have tried that,
but I get a "Specified cast is invalid" when it processes that line
after the cboBillingCycle_SelectedIndexChanged event is fired.

any other ideas, or syntax?

john
Jay B. Harlow [MVP - Outlook] wrote:
John,
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = '*' "
For Each custDataRow In dsStatementData.Customers.Rows
custPropArray = New String()
{custDataRow("CustomerID"), custDataRow("Name")}
listItem = New ListViewItem(custPropArray)
lstCustomers.Items.Add(listItem)
Next
You set the DataView.RowFilter, however you then use the DataTable
itself.
You need to use the DataView for your binding.

Something like:
For Each custDataRow In
dsStatementData.Customers.DefaultView

Hope this helps
Jay
"John Wildes" <jo*********@ars.aon.com> wrote in message
news:OJ****************@TK2MSFTNGP11.phx.gbl. ..
Hello

I have a small program that I've created to generate accounting
statements out of our policy managment system.

The first part of the process is selecting the customer to create the
statement for. In this process the application queries the database,
returns a dataset of just customer names, and their customer code that
is displayed in a list. This results in something like 200 names.

The statements are sent out in billing cycles so not all 200 names are
processed everytime the application is run. There are 4 billing cylces.

The users of this little app have requested that I allow them to filter
based on the customer billing cycle to display only those customers in
the customer list window. This customer list window is a listbox BTW.

I have included some code below, I am not sure why it is not working.
Basically I have a series of case statements that try to apply the
DataView.RowFilter on the Customers table in my dataset before the
listbox is populated with items. This I thought should allow me to
query the database once, get the entire list of names, and then only
show those whos value in the USERFIELD1 was equal to the billing cycle
code either M1,2,3,or 4. This unfortunately doesn't work, as all the
customers are still showing in my list box even after I have changed the
billing cycle code from my drop down box.

Hope this wasn't too long, if anyone has any suggestions for me please
share. I am new to VB.net Programming, and have built this application

from scratch with the help of some more senior developers.

Unfortunately they are no longer available to help me.

Thanks again...
Code samples below..
Private Sub cboBillingCycle_SelectedIndexChanged(ByVal sender As
Object, ByVal e As System.EventArgs) Handles
cboBillingCycle.SelectedIndexChanged

'converts selected item to string
billingCycle = CType(cboBillingCycle.SelectedItem, String)

'displays appropriate status
Select Case billingCycle
Case "ALL"
sbPanelBillingCycle.Text = "Displaying all clients"
Case "M1"
sbPanelBillingCycle.Text = "Displaying M1 cycle"
Case "M2"
sbPanelBillingCycle.Text = "Displaying M2 cycle"
Case "M3"
sbPanelBillingCycle.Text = "Displaying M3 cycle"
Case "M4"
sbPanelBillingCycle.Text = "Displaying M4 cycle"

End Select
'runs customer list load where billingCycle is used in case
statements to cause certain billing
'cycles to be filtered and displayed.
LoadCustomerList()

End Sub
Private Sub LoadCustomerList()
Dim listItem As ListViewItem
Dim custDataRow As CustomersRow
Dim custPropArray() As String

Select Case billingCycle
Case "All"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = '*' "
Case "M1"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M1' "
Case "M2"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M2' "
Case "M3"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M3' "
Case "M4"
dsStatementData.Customers.DefaultView.RowFilter =
"UserField1 = 'M4' "
End Select

'clear customer list before we reload
lstCustomers.Items.Clear()

Try
For Each custDataRow In dsStatementData.Customers.Rows
custPropArray = New String()
{custDataRow("CustomerID"), custDataRow("Name")}
listItem = New ListViewItem(custPropArray)
lstCustomers.Items.Add(listItem)
Next

If lstCustomers.Items.Count > 0 Then
lstCustomers.Items(0).Selected = True
End If
lstCustomers.Select()
Catch ex As Exception
MessageBox.Show("An error occured while getting customer
list:" & vbCrLf & GetExceptionMessage(ex))
End Try
End Sub


Nov 20 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

19
by: William Wisnieski | last post by:
Hello Everyone, I have a main form with a datasheet subform that I use to query by form. After the user selects two criteria on the main form and clicks the cmdShowResults button on the main...
1
by: diskoduro | last post by:
Hi! I'm trying to get help to an unexpected problem that has appeared while I was writing a new application. I want to opeon a report of product sales by filtering previously from a listbox in a...
7
by: | last post by:
Hello, Does anyone have an idea on how I can filter the data in the gridview control that was returned by an sql query? I have a gridview that works fine when I populate it with data. Now I...
2
by: Gummy | last post by:
Hello All, I have a webpage that has two dropdown listboxes. Based on what is selected in these dropdown listboxes, it filters a DataGrid . That works fine. In the DataGrid , when I go to edit...
2
by: Zlatko Matić | last post by:
Hello. How to reference selected values from a multi-select list box, as a criteria in a query ? Is it possible at all? Regards, Zlatko
2
by: JUAN ERNESTO FLORES BELTRAN | last post by:
Hi you all, I am developping a python application which connects to a database (postresql) and displays the query results on a treeview. In adittion to displaying the info i do need to implement...
3
by: Harry Haller | last post by:
Hello, I want to implement a generic list which will be used to display 7 columns in a GridView. One should be able to sort, filter and page each of the 7 columns. Ideally the filter should be...
2
by: =?Utf-8?B?anAybXNmdA==?= | last post by:
I've got a ListBox on my form with lots of data in it (14000 entries). I have to put a search field on the form. As text is entered into the search field, I want the ListBox to remove entries...
9
by: =?Utf-8?B?YWJjZA==?= | last post by:
I have a list of items. Some of the items are another list and that list item could be another list. Now I want to filter the main list by the inner list item value based on some criteria... My...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
1
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.