 |
 |
Index ‹ DotNet ‹ Microsoft Project
|
- Previous
- 1
- Dotnet >> [ANN] February 8, 2005, "ADO.NET with Visual Basic .NET" chatEvery application uses data. Join members of the Visual Studio Data team
(Steve Stein, Xiang Zeng, Eric Gruber, David Sceppa, Pablo Castro, and Steve
Lasker) for a discussion of the best approaches for working with data in
your applications.
Date:
February 8, 2005
1:00 - 2:00 P.M. Pacific time
4:00 - 5:00 P.M. Eastern time
21:00 - 22:00 GMT
(For a list of the start time in several local time zones, please see
http://www.timeanddate.com/worldclock/fixedtime.html?month=11&day=2&hour=13&min=0&sec=0&p1=234)
Outlook Reminder:
http://msdn.microsoft.com/chats/outlook_reminders/05_Feb8_ADO_VBNET.ics
Location (click the name of the chat to enter the chat room)
http://msdn.microsoft.com/chats
For more information about Visual Basic .NET, see
http://msdn.microsoft.com/vbasic/
To see a list of upcoming chats or set a reminder for this chat, see
http://msdn.microsoft.com/chats.
For archives of previous chats, see
http://msdn.microsoft.com/chats/recent.asp.
Thanks!
Jason Cooke
Visual Basic Team
========
This posting is provided "AS IS" with no warranties, and confers no rights.
You assume all risk for your use.
(c) 2005 Microsoft Corporation. All rights reserved.
- 2
- Net Framework >> Enumerating windows from an NT serviceHi all,
The service I have written can not enumerate the current user's desktop
windows when running as a service.
I read where one solution to this is to install the service with
"SystemAccount" rights and "Allow service to interact with desktop" but I
know it leaves the system vulnerable to maliciousness.
Is there a way to programmatically enumerate through the current desktop
windows when running as a service?
Also, How I can know the name of the user when he logged?
Thanks in advance
- 3
- Winforms >> databinding problems using a datagridI have a datagrid refresh problem. I manually create a datatable, add in the
data rows and bind it to a datagrid. To refresh, I clear the databindings,
remove the datatable from the dataset, recreate the datatable, add the new
rows and bind it to the datagrid.
It works fine when the datatable is created the first time. But when it is
refreshed, the original rows are still displayed in the datagrid.
To demostrate the problem, add a couple of buttons, a datagrid and dataset
to a form, and add the following code to the button click events.
private void button1_Click(object sender, System.EventArgs e)
{
dataGrid1.DataBindings.Clear();
if (dataSet1.Tables.Contains("mytable")) dataSet1.Tables.Remove("mytable");
DataTable dataTable = dataSet1.Tables.Add("mytable");
dataTable.Columns.Add("column1", typeof(string));
dataTable.Columns.Add("column2", typeof(string));
dataTable.Columns.Add("column3", typeof(string));
dataTable.Columns.Add("column4", typeof(string));
dataTable.Rows.Add(new object[]{ "R1C1", "R1C2", "R1C3", "R1C4" });
dataTable.Rows.Add(new object[]{ "R2C1", "R2C2", "R2C3", "R2C4" });
dataTable.Rows.Add(new object[]{ "R3C1", "R3C2", "R3C3", "R3C4" });
dataTable.Rows.Add(new object[]{ "R4C1", "R4C2", "R4C3", "R4C4" });
dataGrid1.SetDataBinding(dataSet1, "mytable");
}
private void button2_Click(object sender, System.EventArgs e)
{
dataGrid1.DataBindings.Clear();
if (dataSet1.Tables.Contains("mytable")) dataSet1.Tables.Remove("mytable");
DataTable dataTable = dataSet1.Tables.Add("mytable");
dataTable.Columns.Add("column1", typeof(string));
dataTable.Columns.Add("column2", typeof(string));
dataTable.Columns.Add("column3", typeof(string));
dataTable.Columns.Add("column4", typeof(string));
dataTable.Rows.Add(new object[]{ "R4C4", "R4C3", "R4C2", "R4C1" });
dataTable.Rows.Add(new object[]{ "R3C4", "R3C3", "R3C2", "R3C1" });
dataTable.Rows.Add(new object[]{ "R2C4", "R2C3", "R2C2", "R2C1" });
dataTable.Rows.Add(new object[]{ "R1C4", "R1C3", "R1C2", "R1C1" });
dataGrid1.SetDataBinding(dataSet1, "mytable");
}
Binding using dataGrid1.SetDataBinding(dataSet1, "mytable"); or
dataGrid1.DataSource = dataSet1; dataGrid1.DataMember = "mytable"; causes
the problem.
Binding using dataGrid1.SetDataBinding(dataSet1.Tables[ "mytable" ], ""); or
dataGrid1.DataSource = dataSet1.Tables[ "mytable" ]; dataGrid1.DataMember =
""; works fine.
Regards,
Phil.
- 4
- Dotnet >> SQL Server does not DELETE rows for realI am developing a ASP.NET application, with C# code-behind classes; with SQL
Server 2000.
All database access is made through stored procedures.
I can insert, select and update in all tables from C# through stored
procedures.
The problem I am having is with delete operation. When a delete-purposed
stored procedure executes, the row is gone when I do a select on that same
table.
But if I check table contents from SQL Server's Enterprise Manager I can
still see the deleted rows. So far, as far the ASP app goes the rows are
deleted, but they are not for real. Any recommendations?
Any help will be appreciated.
Thanks in advance.
- 5
- Visual C#.Net >> control helpI have 10 textboxes on my page, textbox1 - textbox10. Rather than modify
them individually, I would like to modify them with a variable something
like this:
for (int i = 0; i <= 10; i++)
{
textbox[i].text = "some text";
}
Is this possible? Would I need to create some kind of control array?
Thanks,
Dave
- 6
- 7
- Dotnet >> System.Data.DataRowViewWhy when I execute this code, my DropDownList is populated with the value
"System.Data.DataRowView"????
See the code:
cmdCommand.CommandText = "SELECT UsuaNome FROM usuarios"
dapAdapter.SelectCommand = cmdCommand 'dapAdapter is a DataAdapter
dapAdapter.Fill(dtsDataSet, "Usuarios")
drpLigaAten.DataSource = dttUsuarios 'dttUsuarios is a DataTable
drpLigaAten.DataBind() 'drpLigaAten is a DropDownList
Thank's
- 8
- Microsoft Project >> Language mixtureToday I installed english versions of MS Project 2007 and Project 2003 on a
PC, were previously a german version of Project 2003 was installed. Both
english versions are working fine, but the are showing in some menus (e.g.
"Filters" and "Views") elements of the older, not longer existing german
version. This mixed user interface is confusing. How can I remove the old
text elements?
Regards
Claus
- 9
- Microsoft Project >> connect failed to project server from project professionI've installed project server 2003, sql server 2000 on a server running
windows server 2003, now I want to link from a client in the same domain on
which project profession installed to the project server, unexpectedly,the
failuer information prompt:
Connection Failed:
SQLState: 01000
SQL Server Error 1326
[Microsoft][ODBC SQL Server Driver][Named Pipes]ConnectionOpen
(CreateFile())
Connection Failed:
SQLState 08001
SQL Server Error: 1326
[Microsoft][ODBC SQL Server Driver] Client unable to establish connection
Anyone can tell me why and how to solve this problem?
Thanks indeed.
- 10
- ADO >> Filtering Column with type TimeSpanI have DataTable with TimeSpan column named Duration. I am trying to
use Select statment and it complains that operator = can't compare
String and TimeSpan.
I tried the following without success:
Select("Duration = Convert(0, 'System.TimeSpan'). Error: Cannot
perform '=' operation on System.TimeSpan and System.TimeSpan
I tried to define new column DurationStr with expression
"Convert([Duration], 'System.String')". After I add new record (in
memory) I see that DurationStr column contains value "PTOS". That
means that my Select("DurationStr = '00:00:00'") never finds anything.
- 11
- Visual C#.Net >> How to get instance of a container from the control insideI have a class extending PictureBox. I use it as container adding a
Label control inside the PictureBox.
I use this kind of "widget" in another class, and I want to catch the
event on mouse click on the label only. That works.
But in the event function, I want to call a function to modify the
container, but I don't know how to do that.
Example:
namespace xxx
class myPictureBox : System.Windows.Forms.PictureBox
{
private Label txt;
public myPictureBox()
{
txtTab = new Label();
this.Controls.Add(txtTab);
}
public void SetPictureBoxAttributes(//some stuff)
{
//set some stuff
}
public Label GetTabLabel()
{
return txt;
}
}
class myApp
{
public myApp()
{
xxx.MyPictureBox pb = new xxx.MyPictureBox();
pb.SetPictureBoxAttributes(//some stuff);
pb.GetTabLabel().MouseDown += new
System.Windows.Forms.MouseEventHandler(this.pblabMouseDown);
}
public void thetabMouseDown(object sender,
System.Windows.Forms.MouseEventArgs e)
{
Label currentlabel = (Label)sender;
currentlabel.????? // what to call to retreive the container pb
and
// call the function
SetPictureBoxAttributes();
// ???????????????????????
}
}
Thank you
François
*-----------------------*
Posted at:
www.GroupSrv.com
*-----------------------*
- 12
- Winforms >> working with graphicsI am creating an application that has some graphics and text displayed, and
I am not sure the best approach is to handle my requirements.
- There are 2 images that take up 40% of the form and are do not move or
change. All the following items are displayed on top of these 2 images and
are readonly.
- There are 12 peices of text displayed at the same time in separate
controls - Ideally, I just want to see the text and have the background
transparent. The content of the text changes, but the position is static.
- There are 24 status's that are displayed near the text information. The
position of these status stay the same, but some are not displayed in
certain circumstances. Ideally, I want each of the status to be a bar with
the length equal to the value (ie. values of 1-36)
- There is 1 dot that is displayed at any position over the images.
Originally I tried this:
- create 2 picturebox controls and display the images contained in a file
- put 12 labels to hold the text and set the background color to transparent
- put 24 lables to hold the 'status' items with a green background, and set
the width equal to the value
- didn't deal with the dot yet.
My question(s) are:
- considering performance and resources, is the picture box the right
control for the static images? Or should I draw them using GDI+ (they are
pretty simple images that I could create programaticly)?
- The labels' transparent background picks up the color of the form, not the
image. How can I make them pick up the color of the underlying image?
- is the status lables the correct approach?
- What control would be the best to use for the dot that moves around?
Any help with answers or sites with resources I could research would be
appreciated.
Thanks in advance
Derrick
- 13
- 14
- Winforms >> Winform datagrid validationHi
I have created a datagrid in a winform app. The data is
bound to sql datasource. A user can edit the values in the
datagrid.
How do i do validation of the data being entered by the
user on the submit button. The validations i want to check
are Integer, Date and Character.
Thanks
Sonu
- 15
- Dotnet >> Closed Captioning: from a DVD to a StringHello all!
I'm trying (read: becoming frustrated) to write a DVD viewer in VB.NET. I
can embed the DVD picture using DirectX technology, but it seems to be
impossible to obtain closed captioning from the DVD and convert it to a
string. There were a few tips on getting the captioning in the MSDN, I know,
but they were rather cryptic (unusual) and didn't convert the captioning to a
string.
If there is anyone who can help me, or even just tell me what I'm trying is
impossible, I'd be most grateful.
--
Wraith Daquell
...there is only one Daquell.
|
| Author |
Message |
shonanmike

|
Posted: Mon May 09 12:59:32 CDT 2005 |
Top |
Microsoft Project >> Differing task Types
I have an Integrated Plan with approx 20 sub-projects linked into it. I have
noticed that these plans are a mixture of Fixed Unit default task type plans
and Fixed Duration default task type plans. Is this a problem when the
Integrated plan performs its calculations?
DotNet367
|
| |
|
| |
 |
Gérard

|
Posted: Mon May 09 12:59:32 CDT 2005 |
Top |
Microsoft Project >> Differing task Types
Hello Steve,
No problem. These settings are used task by task to drive the way Project
will equilibrate the equation :
Duration x Units = Work
... when you change one of the three members.
Gérard Ducouret
"Steve Scott" <EMail@HideDomain.com> a écrit dans le message
de news:EMail@HideDomain.com...
> I have an Integrated Plan with approx 20 sub-projects linked into it. I
have
> noticed that these plans are a mixture of Fixed Unit default task type
plans
> and Fixed Duration default task type plans. Is this a problem when the
> Integrated plan performs its calculations?
|
| |
|
| |
 |
Mike

|
Posted: Mon May 09 13:00:22 CDT 2005 |
Top |
Microsoft Project >> Differing task Types
Hi Steve,
Welcome to this Microsoft Project newsgroup :)
Not that I'm aware of. It is a task-level setting that Project takes into
account when you change the assignment of resources on that task. Should
you do so, then it could result in a recalculation of all the projects in
your integrated plan depending upon how they're linked. Ditto if you level
resources after making the changes.
FAQs, companion products and other useful Project information can be seen at
this web address: http://www.mvps.org/project/
Hope this helps - please let us know how you get on :)
Mike Glen
MS Project MVP
Steve Scott wrote:
> I have an Integrated Plan with approx 20 sub-projects linked into it.
> I have noticed that these plans are a mixture of Fixed Unit default
> task type plans and Fixed Duration default task type plans. Is this
> a problem when the Integrated plan performs its calculations?
|
| |
|
| |
 |
| |
 |
Index ‹ DotNet ‹ Microsoft Project |
- Next
- 1
- Winforms >> Refresh only the CurrentRow of a DataGridView?I have a DGV that is read only. When selecting a row, the item is edited in
individual controls elsewhere on the form, also bound to the same
bindingsource. The default behavior is that when the value is changed in a
textbox, it only repaints the value in the DGV cell after the textbox commits
the value to the underlying object. I want it to update the DGV cell's
display in real time. To do this, I have code in the textbox's TextChanged
event to update the underlying object's property and refresh the DGV. This
works ok. However, if there are more than a handful of records displayed,
this refresh is slow and distracting.
So two questions:
1) Am I approaching this the correct way? Is there a better way to have the
DGV reflect the changes in real time?
2)If this is the best way, is there any way to refresh/repaint only the
currently selected row?
Thanks for any ideas.
Barry
- 2
- Winforms >> Form control re-build when entering the MDI containerWe have a huge activex control embedded in a Form window. When the Form
has its MDIParent set to a mdi container, the window handle of the Form
is replaced by a new one, and our control has to be InPlaceActivate
twice plus one InPlaceDeactivate( The window handles of the standard
controls within are also replaced ), This causes side effects to our
activex control. The activation involves lengthy initializations such
as downloading data from internet and heavy rendering work, so it is
too expensive to do InPlaceActivate frequently. And our control has
some operations depending on the parent window. Is there any workaround
to avoid frequent inplace activation and window re-building, for
example, creating the mdi child form directly from the MDI container?
- 3
- Winforms >> Please help - how to call a web link in a windows form...Dear Experts,
I am asked to develop a Windows Application that calls to a given web link
(e.g. http://localhost/Test.aspx?id=1234) and catches the returned HTML from
this link (returned from web server of course). I really have no idea on how
to accomplish this. Could you please give me some hints on resolving this or
please indicate any resources/references that I can refer to?
Thanks a lot for your help.
Tigger
--
I am Tigger.
- 4
- Visual C#.Net >> unhandled exception of type 'System.Net.WebException' occurred in system.web.services.dllI have a C# MRS application that uses the ReportingService's Render
method to retrieve a byte array containing a report.
The following error message occurs
An unhandled exception of type 'System.Net.WebException' occurred in
system.web.services.dll
Additional information: The operation has timed-out.
I saw the following post on MSDN
An unhandled exception of type 'System.Net.WebException' occurred in
system.web.services.dll Additional information: The operation has
timed-out.
To avoid this problem, set the timeout value for the XML Web service
call to infinite, as shown in this example:
Service1 obj = new Service1();
obj.TimeOut = -1; // infinite time out.
My question is how do I incorporate the code into my application - I get
a
Invalid token '=' in class, struct, or interface member declaration
Error message
*** Sent via Devdex http://www.devdex.com ***
Don't just participate in USENET...get rewarded for it!
- 5
- Winforms >> Newbie question: how to set focus to a usercontrolI have a usercontrol that contains another usercontrol,
which in turn contains a PictureBox control.
Under a certain condition, I need to set the input
focus on the outermost usercontrol. But once the PictureBox
control (the outermost usercontrol's grandchild) has got
the input focus, I cannot transfer the focus back to the
outermost usercontrol (at least not by simply invoking its
Focus() member function).
Why is this? What can I do to take away the keyboard input
focus from that grandchild, the PictureBox control, and
transfer it back to the outermost usercontrol? (I have tried
to find information about keyboard focus handling that seems
relevant to this question, but what I have found seems rather
far removed from what I need to understand here...)
Note: My application requires very little keyboard input:
mainly a few keyboard-accelerators, and the copy/paste/
cut/delete key. But the copy/paste/cut/delete key must
go to the right usercontrol, because copy/paste/cut/delete
must be handled differently, depending on which usercontrol
has the input focus (or, rather, should have it, from my
point of view). In essence, I am trying to base input
focus on the position of the mouse pointer: if that grandchild
PictureBox control does not have the mouse pointer within
its bounds, it should not receive keyboard input, i.e.
should not have input focus.
Regards and thanks in advance for any enlightenment on
this question,
Christian
- 6
- Visual C#.Net >> Threading problem - Urgent HelpHi,
I have the following problem. I created a
Properties section:
private SerialComm oComm = new SerialComm(); // Wraps a DLL to handle Serial
//comms.
private Thread PrinterThread = null; // Serial Communications Thread
private void Form_load(...)
{
PrinterThread = new Thread(new ThreadStart(StartPrinter));
PrinterThread.Name = "SerialPrinter";
}
// The Thread is started in this procedure
private void button_click(....)
{
if (PrinterThread.ThreadState.ToString() == "Unstarted")
{
try
{
PrinterThread.Start();
Thread.Sleep(0);
}
catch (Exception Ex)
{
//Handle exception
}
}
// This is the procedure the for the Thread
private void StartPrinter()
{
Thread.Sleep(0);
LogInfo("Label Printing: printing thread started");
oComm.sendToPrinter(sFactor,false);
// Calls the serial printing process. It starts its own receiving Thread
within it.
// Returns to this procedure when done. The receiving thread must have
been
//aborted.
if (oComm.lStatus)
this.sMessage.Text = "Printing label has Finished";
// I got an Thread exeption here. After the aborting the receiving
thread
// If this.sMessage.txt is not there, it doesn't happen. Why????
// The exception says: ThreadException found while thread is being
aborted.
// I think it refers to the receiving thread.
this.cmdLabel.Enabled = true;
this.cmdReprint.Enabled = true
}
Thank you,
Carlos
- 7
- Visual C#.Net >> Binding problemHello!
at runtime, when the execution reaches this line:
oGetExpression.DataBindings.Add("Expression",myDataSet,"ADR.Condition");
where: <Expression> is a public property of type string
<myDataSet> is the datasource
<"Adr.Condition"> is the datamember from dataset:
table.tableField
this exception is thrown:
"Object type cannot be converted to target type."
why is this happening?
Thank you.
- 8
- ADO >> One Has Many relation via Dataset to XML questionHi,
I am trying to import/export XML from a database. For the purpose of
this posting I will keep the datastructures as simple as possible. Just
imagine a table 'User' and a table 'Roles', and then a table
'UserHasRole' that specifies what users have what roles (m:n relation).
The idea is that these tables store information about users and the
roles they have got assigned.
--- Tables start
Table User:
UserId
Name
Table Role:
RoleId
Name
Table UserHasRole:
UserHasRoleId
UserId
RoleId
--- Tables end
Now, what I would like is to export data from a database with the above
table layout to XML, let a (rather experienced) user edit the XML file
and then reimport the modified XML file. (Our system has no notion of
deleting users or roles, which significantly simplifies my task) Ideally
I would like to end up with an XML file similar to the following:
--- sample XML file start
<my_xml_io>
<Users>
<User id="1">
<Name>Foo</Name>
<HasRoles>
<Role id="1"/>
<Role id="3"/>
<Role id="4"/>
</HasRoles>
</User>
<User id="2">
<Name>Bar</Name>
<HasRoles>
<Role id="2"/>
</HasRoles>
</User>
</Users>
<Roles>
<Role id="1">
<Name>Admin</Name>
</Role>
<Role id="2">
<Name>Guest</Name>
</Role>
<Role id="3">
<Name>Developer</Name>
</Role>
<Role id="4">
<Name>Manager</Name>
</Role>
</Roles>
</my_xml_io>
--- sample XML file end
I.e. the m:n relation is represented implicitly in the 'User' element.
Now with all the DataSet automation support in VS.NET my first try,
was to visually design some typed datasets, fill them from the db and
then use 'WriteXML'. But the XML I get looks like this (simplified a bit):
--- generated XML file start
<my_xml_io>
<User id="1">
<Name>Foo</Name>
</User>
<User id="2">
<Name>Bar</Name>
</User>
<Role id="1">
<Name>Admin</Name>
</Role>
<Role id="2">
<Name>Guest</Name>
</Role>
<Role id="3">
<Name>Developer</Name>
</Role>
<Role id="4">
<Name>Manager</Name>
</Role>
<UserHasRole id="1">
<UserId>1</UserId>
<RoleId>1</RoleId>
</UserHasRole>
<UserHasRole id="2">
<UserId>1</UserId>
<RoleId>3</RoleId>
</UserHasRole>
<UserHasRole id="3">
<UserId>1</UserId>
<RoleId>4</RoleId>
</UserHasRole>
<UserHasRole id="4">
<UserId>2</UserId>
<RoleId>2</RoleId>
</UserHasRole>
</my_xml_io>
--- generated XML file end
What is the best way to archive my desired XML representation, instead
of the normalized one I currently get?
many thanks in advance,
Andreas
- 9
- ADO >> DataSet diffecencesHello,
is there a simple method to get Rows which differ in their values between
two different DataSets?
Ondra.
- 10
- Visual C#.Net >> Display Linked-List in a DataGridView?How do I set a linked-list as a data source for a DataGridView control?
Should the linked list be a member on a form or its own global class
(or doesn't matter...???) Right now when I set the list as the data
source, the only columns I get are Count, First, and Last. I want data
from the nodes displayed but they are not available as columns to be added.
- 11
- ADO >> How to INSERT pure <NULL> Into SmallDataTime Field (MS SQL Server)I need to insert NULL into the field with SmallDataTime datatype.
In .NET when I tried to use "" or DBNull.Value it insert "" what
will be automatically converted into '1/1/1900' by SQL Server...
I need to have the Insert statement like this:
INSERT tblTest (Name,smDate) Values ('John',NULL)
But using pure NULL without double quotes ("") is not allowed in .NET.
When I use double quotes ("NULL"), .NET interpreted it as
character string and I got the SQL converting error.
Thank you for the help.
Eugene
- 12
- Net Framework >> Memory leak in C#?????I have a button on a form, and when you click the button, it performs
the following:
using (FormMS f = new FormMS())
{
f.ShowDialog();
}
The new form that is shown (FormMS) has a DataGrid that gets bound to
a large DataTable. The DataTable is static so it only gets created
once. So I open FormMS as a dialog and then close it. I continue to
open and close it several times and each time, the memory used by my
application goes up a lot. It doesn't seem to deallocate the memory
needed by the DataGrid. I try calling GC.Collect() after the FormMS
closes and it doesn't do the trick. I tried letting the application
sit overnight to see if it would deallocate the memory and that
doesn't work. I try calling the DataGrid.Dispose method inside my
FormMS.Dispose method and that doesn't work. I have to restart the
application to get it to deallocate the memory. I keep opening it
again and again to see if I must use up all my physical memory before
it deallocates, and that doesn't work either.
Any ideas?
Thanks in advance.
- 13
- Visual C#.Net >> Using C# to create a scheduled jobI need to create an executible that will run on a nightly basis.
The executible is a simple command line statement like:
OSQL -Usa -PmyPasword -n -Q "BACKUP DATABASE msdb TO DISK =
'c:\msdb.dat_bak'"
Is it possible to use C# to create an executible that will run this command
line statement on a scheduled basis?
If so, can anyone give me some general ideas on how to go about this?
- 14
- Visual C#.Net >> Need Help urgentdaer all...
i'm a new comer with C#, but i want to build a mobile application. does any body can tell me, where do i can start ?
what software needed ?
where i can find a good references to learn it ?
i have .Net installed on my PC, but when there is no Mobile Web Application template. Is there some thing missed with it ?
please help.....
best regards....
- 15
- Winforms >> Smart Client - IIS errorI'm writing the download stub for a Smart Client, following the QuickStart
samples that come with the Updater Block 2.0.
Tested against my local IIS, the stub works perfectly, but when I deploy it
to a server, I get "The system cannot find the file specified" in my browser.
Local Machine is IIS 6.0, Remote Server is IIS 5.0
Thanks for your help
|
|
|