|
Hi guys,
I need to give permission to an specific folder to a user using C#. Does anyone ever done that ? Is there any class capable of changing files and folders permissions in .NET ?
thanks in advance
Mauricio Ritter - Brazil
Sonorking now: 100.13560 MRitter
English is not my native language so, if you find any spelling erros in my posts, please let me know.
|
|
|
|
|
No, there are no classes in the .NET base class library that can do this, but there are ways you can P/Invoke the necessary functions. Search the comments for this forum, as I know we've talked about it before. I also remember seeing an article or two here on CP about the topic as well.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
When initially laying out the project, or a portion of the project, is it better to start with the interfaces and save the implementation code until later or just write the classes and then write the code that uses them?
Stated another way, Top down or Bottom up?
Thanks,
Ken Galer
Electrical Engineer
Preferred Utilities Corp.
Danbury, CT 06810
|
|
|
|
|
First, create a good design and then go either way. When it comes to UI logic, though (like handling click events and what-not), it's far easier to design the UI first. I personally like creating all my "utility" classes first, though. But jumping into either the front- or back-end without a good design is like diving into a pool without first checking the depth.
Also, when working with data-driven applications, it's better to develop at least the majority of your database elements (tables, views, stored procs, etc.) first. Creating business objects around these is also helpful, but not always necessary.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
i agree with u Heath Stewart
and i want to say that the analysing phase in so important and evry day in analysing save 5 days in implementaion time, and u can not start the first step in implementaion unless u finished the last step in analysing and design and u r already know what u r going to do till the end
|
|
|
|
|
I understand what both of are saying and agree. I think that I mis-stated the question.
Under the covers of the GUI, when designing whatever custom classes you require and their interfaces, do you normaly design the class:interfaces first and then the classes themselves after you are sure that you can use the classes the why you like?
I'm a C programmer trying to explicitly cast myself as a C# programmer so this is coming from a newbi.
Having just finished the chapter and FINALLY understanding the concept of interfaces ( i hope ) it seems to me that interfaces can act as sort of a prototype for the class.
Do you gyz, as experienced programmers in C#, find this to be useful or does it turn out to be not an issue?
Thanks
Ken Galer
Electrical Engineer
Preferred Utilities Corp.
Danbury, CT 06810
|
|
|
|
|
i have got code that use Microsoft spell checker, but when i tryed to compile it i have got erorr in this line:
////////////////
using Word;
//////////////
the erorr is :-
"The type or namespace name 'Word' could not be found (are you missing a using directive or an assembly reference?)"
so i wanna know how to make my application show word class
and thnx in advance
|
|
|
|
|
using Office = Microsoft.Office.Core;
using Word = Microsoft.Office.Interop.Word;
--Colin Mackay--
"In the confrontation between the stream and the rock, the stream always wins - not through strength but perseverance." (H. Jackson Brown)
Enumerators in .NET: See how to customise foreach loops with C#
|
|
|
|
|
i typed the full path but the code doesn't compile at all
this code is:
private void btn_create_Click(object sender, System.EventArgs e)
{
Microsoft.Office.Interop.Word.Application newApp = new Microsoft.Office.Interop.Word.Application();
l_status.Text+="object instantiated\n";
object Source="c:\\abc\\dat.doc";
object Target="c:\\abc\\Target.rtf";
object Unknown =Type.Missing;
// Source document open here
// Additional Parameters are not known so that are
// set as a missing type
newApp.Documents.Open(ref Source,ref Unknown,
ref Unknown,ref Unknown,ref Unknown,
ref Unknown,ref Unknown,ref Unknown,
ref Unknown,ref Unknown,ref Unknown,
ref Unknown,ref Unknown,ref Unknown,ref Unknown);
l_status.Text+="file opened\n";
// Specifying the format in which you want the output file
object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatRTF;
l_status.Text+="new format created";
//Changing the format of the document
newApp.ActiveDocument.SaveAs(ref Target,ref format,
ref Unknown,ref Unknown,ref Unknown,
ref Unknown,ref Unknown,ref Unknown,
ref Unknown,ref Unknown,ref Unknown,
ref Unknown,ref Unknown,ref Unknown,
ref Unknown,ref Unknown);
l_status.Text+="new file saved \n";
// for closing the application
newApp.Quit(ref Unknown,ref Unknown,ref Unknown);
l_status.Text+="object closed \n";
}
===============================================
the error message is :
An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in code_container.exe
Additional information: The server threw an exception.
|
|
|
|
|
hazzem elrefai wrote:
An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in code_container.exe
Indicates that the code has compiled. You have a runtime error.
What line did this happen on?
--Colin Mackay--
"In the confrontation between the stream and the rock, the stream always wins - not through strength but perseverance." (H. Jackson Brown)
Enumerators in .NET: See how to customise foreach loops with C#
|
|
|
|
|
the error in the main finction line :
and i couldn't get any meaningful data from this erorr
static void Main()
{
Application.Run(new MainForm());
}
|
|
|
|
|
I suspect this is where the exception was CAUGHT. Not where it was generated/thrown.
static void Main()
{
try
{
Application.Run(new MainForm());
}
catch(Exception e)
{
Debug.WriteLine(e.Message);
Debug.WriteLine(e.StackTrace);
}
}
Will write to the output the location that the error was generated. This will help with solving the problem.
--Colin Mackay--
"In the confrontation between the stream and the rock, the stream always wins - not through strength but perseverance." (H. Jackson Brown)
Enumerators in .NET: See how to customise foreach loops with C#
|
|
|
|
|
i used try catch statements and the erorr is comming from this line:
newApp.Documents.Open(ref Source,ref Unknown,
ref Unknown,ref Unknown,ref Unknown,
ref Unknown,ref Unknown,ref Unknown,
ref Unknown,ref Unknown,ref Unknown,
ref Unknown,ref Unknown,ref Unknown,ref Unknown);
plz keep with me and this will be apreciated
thnx another time
|
|
|
|
|
Colin, note that putting a try-catch around Application.Run only works when an exception causes the application message pump to terminate. This is usually not the case. The try-catch should be as local to the problem as possible (like in the original poster's code to create the Word app and open the document). You can also handle the AppDomain.UnhandledException event.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
Heath Stewart wrote:
Colin, note that putting a try-catch around Application.Run only works when an exception causes the application message pump to terminate
True, like happened here. I realise that the try...catch would be better placed else where but trying to help quickly I figured it was easiest to put round the Application.Run .
--Colin Mackay--
"In the confrontation between the stream and the rock, the stream always wins - not through strength but perseverance." (H. Jackson Brown)
Enumerators in .NET: See how to customise foreach loops with C#
|
|
|
|
|
iam so confised now,coz i can not run my application yet
and i do not know what is the problem exactly.
|
|
|
|
|
Well, it looks like your code was copied from the documentation. So I don't see much difference between that and MSDN. Are you using a WordProject?
--Colin Mackay--
"In the confrontation between the stream and the rock, the stream always wins - not through strength but perseverance." (H. Jackson Brown)
Enumerators in .NET: See how to customise foreach loops with C#
|
|
|
|
|
i do not know what is word project exactly
but if it is wizard in vs.net,then i do not use it and it doesn't there
iam using vs.net2003 profissional
thanx
|
|
|
|
|
I'm using VS2003 and Office 2003 (So it might be an office thing) Anyway - I've emailed you the skeleton of the WordProject - it might provide clues to help with your problem. (Its easy for me because it does all the hard work getting everything integrated - You may have to change the project properties because the startup command line may be different in your case)
--Colin Mackay--
"In the confrontation between the stream and the rock, the stream always wins - not through strength but perseverance." (H. Jackson Brown)
Enumerators in .NET: See how to customise foreach loops with C#
|
|
|
|
|
thank u so so so much
and sorry coz i have to go know and c u after little hours
|
|
|
|
|
the erorr message say:
the server threw an exception
and nothing more.
|
|
|
|
|
Hi,
Does anyone know if the .NET framework has any support for easily creating property inspector style windows? Had a quick look through the available Windows Forms controls and components, but couldn't see anything of interest. Anyone any suggestions?
Cheers
Richard
|
|
|
|
|
You mean like the PropertyGrid ? This (or at least a similar control) is what VS.NET uses and it makes full use of the classes in System.ComponentModel so you can make properties with TypeConverter s and editors, as well as control the categories, descriptions, visibility, and other attributes using the attributes in System.ComponentModel . If you don't see the PropertyGrid in your toolbox, right-click on the toolbox and select "Customize toolbox". You'll find the PropertyGrid in there (it's in the System.Windows.Forms namespace).
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
Does anyone know how to make a exe that plays a video file in full screen?
|
|
|
|
|
You should take a look at Managed DirectX 9 (http://msdn.microsoft.com/directx[^]). The managed classes are written from the ground up and are much easier to use (still not a trivial thing to work with, though, so read the documentation!) and offer many features like that.
Otherwise, you'd have to create an interop assembly for something like the Windows Media Player, which should have a method to make it display full-screen (hint, download the small Windows Media Player SDK and see the documentation for player.fullScreen boolean property. This might also be in the MSDN Online Library).
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|