|
You want code snippet.
OK. Here is a code snippet.
if (knowledge < 0)
{
MessageBox.Show("Google is my friend");
}
Henry Minute
If you open a can of worms, any viable solution *MUST* involve a larger can.
|
|
|
|
|
It's all done in the designer. Drop in the Datagridview, edit the Columns collection in the properties view, set the ColumnType to DataGridViewComboBoxColumn, then edit the Items collection.
You can also set the combobox items in code or use a datasource to fill the combo box.
SS => Qualified in Submarines
"We sleep soundly in our beds because rough men stand ready in the night to visit violence on those who would do us harm". Winston Churchill
|
|
|
|
|
At our software company, we use Vista x64 machines for programming.
We have a network share where we put some of our dll's for 'global' usage.
The permissions on this network share are set to: 'Everyone Full Control' and 'Security: Domain Users Full Control'.
In our Visual Studio Team System 2008 IDE we CAN reference the dll's in all our assemblies.
BUT, when we create a Test Project with Unit Test classes, and we reference the dll's on this share, we get the following error when we start the test runs:
Failed to queue test run 'xxxxx': Test Run deployment issue: The location of the file or directory '\\xxxxx\Binaries\xxxxx.xxx.dll' is not trusted.
On all the websites I found with this error message, the solution is:
for x86
c:\Windows\Microsoft.NET\Framework\v2.0.50727\CasPol -m -ag 1.2 -url \\xxxxx\Binaries\* FullTrust
for x64
c:\Windows\Microsoft.NET\Framework64\v2.0.50727\CasPol -m -ag 1.2 -url \\xxxxx\Binaries\* FullTrust
But this does not work.
I downloaded the SDK, and tried to do the same with the .NET Framework 2.0 Configuration wizard.
>> Console Root >> .NET Framework 2.0 Configuration >> My Computer >> Runtime Securyti Policy >> Machine >> Code Groups >> All_Code >> New >> Name: xxx, Description xxx >> Type: URL: \\xxxxx\Binaries\* >> FullTrust
But still nothing is trusted....
I even set (on the server) >> System Properties >> Advanced >> Performance Settings >> Data Execution Prevention >> Turn on DEP for essential Windows programs and services only (that's how desperate we are).
|
|
|
|
|
Good Afternoon All
i have the Following code that retrieve the file names from the Certain Directory and bind it to the Dropdownlist. like this
DirectoryInfo dir = new DirectoryInfo(@"C:\DATABASES\");
FileInfo[] files = dir.GetFiles();
foreach (FileInfo file in files)
{
cmbrestore.Items.Add(Convert.ToString(file));
}
The code is working, but now if there is a File with same name , it will display them all.
How can i make sure that it will show the File names Distinctively ?
How can i exclude certain File extension from being displayed from the Dropdownlist ?
Thank you
Vuyiswa Maseko,
Few companies that installed computers to reduce the employment of clerks have realized their expectations.... They now need more and more expensive clerks even though they call them "Developers" or "Programmers."
C#/VB.NET/ASP.NET/SQL7/2000/2005/2008
http://www.vuyiswamaseko.tiyaneProperties.co.za
vuyiswam@its.co.za
|
|
|
|
|
Vuyiswa Maseko wrote: The code is working, but now if there is a File with same name , it will display them all.
You can't have two files with the same name in the same directory so, if you are just adding from one directory, this isn't a problem.
Vuyiswa Maseko wrote: How can i exclude certain File extension from being displayed from the Dropdownlist ?
Before you call Items.Add, check the file extension. One way to do this would be:
if (Path.GetExtension(file.FullName) != ".cs")
{
cmbRestore.Items.Add(file.Name);
}
|
|
|
|
|
When i mean same File with the same name from the Directory , i meant same file with the same name but diffent extension i have done the Following so far
DirectoryInfo dir = new DirectoryInfo(@"C:\DATABASES\");<br />
<br />
FileInfo[] files = dir.GetFiles();<br />
<br />
foreach (FileInfo file in files)<br />
{<br />
if (file.Extension != ".mdf" && file.Extension != ".ldf")<br />
{<br />
<br />
cmbrestore.Items.Add(Convert.ToString(file.Name));<br />
}<br />
}
Thank you
Vuyiswa Maseko,
Few companies that installed computers to reduce the employment of clerks have realized their expectations.... They now need more and more expensive clerks even though they call them "Developers" or "Programmers."
C#/VB.NET/ASP.NET/SQL7/2000/2005/2008
http://www.vuyiswamaseko.tiyaneProperties.co.za
vuyiswam@its.co.za
|
|
|
|
|
With a bit of Linq, you can retrieve distinct filenames quite easily and exclude other values at the same time. Try this one out for size:
List<string> extensions = new List<string>();
extensions.Add(".xls");
extensions.Add(".zip");
FileInfo[] di = new DirectoryInfo(sampleDirectory).GetFiles();
var query1 = (from d in di
let ShortName = Path.GetFileNameWithoutExtension(d.Name)
where !(extensions.Any(n => n == Path.GetExtension(d.FullName)))
select new { ShortName }).Distinct();</string></string>
|
|
|
|
|
Pete O'Hanlon wrote: so, if you are just adding from one directory, this isn't a problem.
Even if he isn't adding from one folder, GetFiles returns the fully qualified path of each file, so every entry in the returned array is technically going to be unique.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
John Simmons / outlaw programmer wrote: GetFiles returns the fully qualified path
Not quite.
Directory.GetFiles() returns a string[] including full paths,
DirectoryInfo.GetFiles() which the OP was using returns a FileInfo[] for which MSDN says:
"... there are cases where the string returned by the ToString method does not represent the fully qualified path. For example, when you create a FileInfo object using the GetFiles method, the ToString method does not represent the fully qualified path."
Luc Pattyn [Forum Guidelines] [My Articles]
I use ListBoxes for line-oriented text output (not TextBoxes), and PictureBoxes for pictures (not drawings).
modified on Friday, June 10, 2011 12:21 PM
|
|
|
|
|
To ignore file with certain extensions you can check the fileinfo.Extension. One way to ignore duplicates would be to use cmbrestore.Items.Contains() before adding.
Hope this helps
Bob
Ashfield Consultants Ltd
Proud to be a 2009 Code Project MVP
|
|
|
|
|
Vuyiswa Maseko wrote:
How can i make sure that it will show the File names Distinctively ?
As Pete said, if you're not listing recursively, this can't happen. But you can use a HashSet (.NET 3.5) or check with List.Contains if the item already exists before adding it.
Vuyiswa Maseko wrote: How can i exclude certain File extension from being displayed from the Dropdownlist ?
if(file.EndsWith(".ext") ...
our use a regex.
regards
modified 12-Sep-18 21:01pm.
|
|
|
|
|
In addition to what the others have said, if you simply wish to exclude all .CS files, you have to use Directory.GetFiles(yourDir, "*.cs"). This actually gives you a list of all .CS files, so you have to use Directory.GetFiles(yourDir) and exclude all matches from the first call, from the matches from the second call. I'd be interested to know if there's a better way of doing it, though.
Cheers,
Vıkram.
I don't suffer from insanity, I enjoy every moment of it.
|
|
|
|
|
Vikram A Punathambekar wrote: I'd be interested to know if there's a better way of doing it, though.
This would require two runs. I don't think it's a good idea performance-wise.
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Umm, yes, I said it takes two runs, which is exactly why I'm interested in knowing if there is a better way to enumerate all files in a folder except ones that match a pattern.
Cheers,
Vıkram.
I don't suffer from insanity, I enjoy every moment of it.
|
|
|
|
|
Hi,
IMO it would be faster to interrogate the file system only once (with the most restricting filter that still passes everything of interest) and then either modify the collection (by removing the unwanted entries, or creating a new one that only contains the wanted ones, i.e. applying a software filter once),
or best of all performance-wise just use the one collection and skip the unwanted files while enumerating.
Also going to the file system twice may return inconsistent information, in between the two calls some files may have been added and removed!
Luc Pattyn [Forum Guidelines] [My Articles]
I use ListBoxes for line-oriented text output (not TextBoxes), and PictureBoxes for pictures (not drawings).
modified on Friday, June 10, 2011 12:21 PM
|
|
|
|
|
Smashing, Luc. Your last point is excellent; I hadn't thought of it.
Yep, getting all files and deleting the ones you don't need directly from the collection returned is likely the best way to do it.
Cheers,
Vıkram.
I don't suffer from insanity, I enjoy every moment of it.
|
|
|
|
|
If only .NET allowed passing regexes for the search pattern... ( I know it uses FindNextFile internally, just wishing )
|
|
|
|
|
S. Senthil Kumar wrote: If only .NET allowed passing regexes
Wouldn't interest me; I'm not that fond of regex stuff: it gets very complex and slow pretty soon.
Here are three things I would appreciate:
1. getting the results from GetFiles() and the like one by one, without needing the possibly huge
array to hold the collection. Most of the time it is GetFiles() followed by foreach anyway.
2. passing a filter delegate to some of those GetMany methods.
3. if they have to return everything at once, get it in a real collection (say a List) rather than an
array, so we can operate on them (mostly remove some!).
Luc Pattyn [Forum Guidelines] [My Articles]
I use ListBoxes for line-oriented text output (not TextBoxes), and PictureBoxes for pictures (not drawings).
modified on Friday, June 10, 2011 12:21 PM
|
|
|
|
|
Luc Pattyn wrote: if they have to return everything at once, get it in a real collection (say a List) rather than an
array, so we can operate on them (mostly remove some!).
That will be available in .Net Framework 4.0
|
|
|
|
|
i was able to ignore certain Files but i have a problem with Duplicates. My code looks like this
DirectoryInfo dir = new DirectoryInfo(@"C:\DATABASES\");<br />
<br />
FileInfo[] files = dir.GetFiles();<br />
<br />
foreach (FileInfo file in files)<br />
{<br />
<br />
if (file.Extension != ".mdf" && file.Extension != ".ldf")<br />
{<br />
<br />
cmbrestore.Items.Add(Convert.ToString(file.Name));<br />
}<br />
}
Thanks
Vuyiswa Maseko,
Few companies that installed computers to reduce the employment of clerks have realized their expectations.... They now need more and more expensive clerks even though they call them "Developers" or "Programmers."
C#/VB.NET/ASP.NET/SQL7/2000/2005/2008
http://www.vuyiswamaseko.tiyaneProperties.co.za
vuyiswam@its.co.za
|
|
|
|
|
cmbrestore.Items.Add(file.Name.ToString().Remove(LastIndexOf(file.Extension))
Pseudocode, so won't compile - but you get the general idea
I are troll
|
|
|
|
|
You might also consider creating your own List<> descendant class that does not allow duplicates, override the Add , Insert methods etc., load your files into an instance of your List<> class and set that as the DataSource to your dropdown.
Henry Minute
If you open a can of worms, any viable solution *MUST* involve a larger can.
|
|
|
|
|
Thanks i was able to remove the Duplicates with the Following Code
private static void RemoveDuplicateItems(DropDownList ddl)
{
for (int i = 0; i < ddl.Items.Count; i++)
{
ddl.SelectedIndex = i;
string str = ddl.SelectedItem.ToString();
for (int counter = i + 1; counter < ddl.Items.Count; counter++)
{
ddl.SelectedIndex = counter;
string compareStr = ddl.SelectedItem.ToString();
if (str == compareStr)
{
ddl.Items.RemoveAt(counter);
counter = counter - 1;
}
}
}
}
Thank you
Vuyiswa Maseko,
Few companies that installed computers to reduce the employment of clerks have realized their expectations.... They now need more and more expensive clerks even though they call them "Developers" or "Programmers."
C#/VB.NET/ASP.NET/SQL7/2000/2005/2008
http://www.vuyiswamaseko.tiyaneProperties.co.za
vuyiswam@its.co.za
|
|
|
|
|
Hi All,
Can You help me to set the paper size on crystal report."Avery Labels L 7160(63.5*38.1*21)" at design time.Is this Possible?
Thanks
|
|
|
|
|