|
|
For an app I'm working on, I want the user to be able to include wildcards when specifying the files to open from the command line, e.g. myapp C:\projects\*.cs .
But that causes trouble when I try to extract the path and filename (filespec) with System.IO.Path -- the wildcard characters cause Exceptions.
As a work around, I'm using the following, which works OK, but I doubt it's very robust:
private void
OpenFiles
(
string[] Paths
)
{
foreach ( string path in Paths )
{
int off = path.LastIndexOfAny ( new char[] { '\\' , ':' } ) + 1 ;
string p = off==0 ? ".\\" : path.Substring ( 0 , off ) ;
string f = path.Substring ( off ) ;
foreach ( string fn in System.IO.Directory.GetFiles ( p , f ) )
{
OpenFile ( fn ) ;
}
}
return ;
}
Does anyone here have a better solution to this?
|
|
|
|
|
That is basically it, I created this just the other day:
string folder="";
int i=pattern.LastIndexOf(@"\");
if (i>=0) {
folder=args.Substring(0,i);
pattern=pattern.Substring(i+1);
}
string[] files=Directory.GetFiles(folder, pattern);
Mind you it only accepts wildcards in the fillname itself, not in the folder path. If you need that, you'd have to code a recursive scan.
|
|
|
|
|
I think yours trims off the last backslash, which could be a problem if the only backslash is the first character e.g. \*.cs .
Luc Pattyn wrote: not in the folder path
Right, I don't need that (at this time). But I'm thinking about it.
P.S. What about C:*.cs ?
|
|
|
|
|
PIEBALDconsult wrote: What about C:*.cs ?
I don't care about that, I consider it a bad path, it should have a \ in there.
|
|
|
|
|
|
Not for me it isn't.
|
|
|
|
|
Well, I don't often use it myself, but it's easy enough to handle.
|
|
|
|
|
OK OK! I powered up an ALphaServer...
DIR SYS$SYSTEM:*.COM
|
|
|
|
|
Is it running Mono yet?
|
|
|
|
|
No; you know that OpenVMS is immune to virus.
And here's another example:
JB> def/sys/tra=(con,ter) C BADGER$DQA1:[000000.USERS.badger.]
JB> dir c:*.c
|
|
|
|
|
Message Removed
modified 10-Mar-12 10:10am.
|
|
|
|
|
See the 3rd reply on this[^] page.
/ravi
|
|
|
|
|
thanks , It's a good Lesson !
|
|
|
|
|
I created a RelayCommand:
public class RelayCommand<T> : ICommand
{
readonly Action<T> _execute = null;
readonly Predicate<T> _canExecute = null;
public RelayCommand(Action<T> execute)
: this(execute, null)
{
}
public RelayCommand(Action<T> execute, Predicate<T> canExecute)
{
if (execute == null)
throw new ArgumentNullException("execute");
_execute = execute;
_canExecute = canExecute;
}
public event EventHandler CanExecuteChanged;
public bool CanExecute(object parameter)
{
return _canExecute == null ? true : _canExecute((T)parameter);
}
public void Execute(object parameter)
{
_execute((T)parameter);
}
}
I have 2 questions:
I'm trying to have the command pass an enum to the action method:
private ICommand _PerformanceCommand;
public ICommand PerformanceCommand
{
get
{
if (_PerformanceCommand == null)
{
_PerformanceCommand = new RelayCommand<ViewCategory>(p => buttonClicked(ViewCategory.Peformance));
}
return _PerformanceCommand;
}
}
private ICommand _SettingsCommand;
public ICommand SettingsCommand
{
get
{
if (_SettingsCommand == null)
{
_SettingsCommand = new RelayCommand<ViewCategory>(p => buttonClicked(ViewCategory.Settings));
}
return _SettingsCommand;
}
}
and then
private void buttonClicked(ViewCategory args)
{
}
The code throws an exception in the command class on
public void Execute(object parameter)
{
_execute((T)parameter);
}
1) Not sure why it's null if the command is passing an enum value.
2) How can I refactor the relay command so that it can take a type, or not take a type. In other words
public class RelayCommand : ICommand
public class RelayCommand<T> : ICommand
Would I need to separate classes for this?
Thanks
Everything makes sense in someone's mind
|
|
|
|
|
search item from listview with id for exemple
in C#
|
|
|
|
|
Yeah, you're going to have to explain a bit more about what you're doing and why in order for us to help you. We have no idea what you're trying to do.
|
|
|
|
|
Just search through the underlying datasource using LINQ.
|
|
|
|
|
Hi All ,
how can I streaming video using c# ?? what library do I need to do this ?
Thank you
|
|
|
|
|
DirectShow.Net[^] can help you capture and stream video.
There are a number of other third party tools available.
|
|
|
|
|
could you suggest to me a library to do that,. Iam a new in C# .
Thank you
|
|
|
|
|
Hi, I have a problem with my homework assignment.
I am able to access the database and insert new customer but it doesn't work when i try to update any record.
if anyone can tell me what is wrong with my code.
thank you so much
this is all my code
protected void btnUpdate_Click(object sender, EventArgs e)
{
<big>
if (Request.QueryString["id"] != null)
{
SqlConnection Conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MyLocal"].ConnectionString);
Conn.Open();
string sql = "UPDATE [Customer] SET [FirstName] = @FirstName, [LastName] = @LastName, [Email] = @Email, [Password] = @Password, [Address1] = @Address1, [Address2] = @Address2, [City] = @City, [State] = @State, [zip] = @zip, [Phone] = @Phone, [Fax] = @Fax WHERE CustomerID=@CustomerID";
SqlCommand cmd = new SqlCommand(sql, Conn);
cmd.Parameters.AddWithValue("@CustomerID", CustomerID);
cmd.Parameters.AddWithValue("@FirstName", txtFirstName.Text);
cmd.Parameters.AddWithValue("@LastName", txtLastName.Text);
cmd.Parameters.AddWithValue("@Email", txtEmailA.Text);
cmd.Parameters.AddWithValue("@Password", txtPasswordA.Text);
cmd.Parameters.AddWithValue("@Address1", txtAddress1.Text);
cmd.Parameters.AddWithValue("@Address2", txtAddress2.Text);
cmd.Parameters.AddWithValue("@City", txtCity.Text);
cmd.Parameters.AddWithValue("@State", txtState.Text);
cmd.Parameters.AddWithValue("@Zip", txtZip.Text);
cmd.Parameters.AddWithValue("@Phone", txtPhone.Text);
cmd.Parameters.AddWithValue("@Fax", txtFax.Text);
cmd.ExecuteNonQuery();
Conn.Close();
Response.Redirect("Customers.aspx");
}
modified 9-Mar-12 12:04pm.
|
|
|
|
|
It would help you cut this down to relevant code to your problem.
What line is the error ocurring?
What is the actual error that you are getting?
Why is common sense not common?
Never argue with an idiot. They will drag you down to their level where they are an expert.
Sometimes it takes a lot of work to be lazy
Individuality is fine, as long as we do it together - F. Burns
|
|
|
|
|
<b<big>i want to create notification in desktop application how can i create it for example when i click in button show me the notification???>
modified 9-Mar-12 7:57am.
|
|
|
|
|
If all you want is an indication that the button has been pressed, then:
MessageBox.Show("Please do not press this button again"); Will do the job...
Ideological Purity is no substitute for being able to stick your thumb down a pipe to stop the water
|
|
|
|