|
No, but if you display a popup window you can specify that the toolbar should not appear. See the documentation for window.open (or any other various methods). If someone could do this to the browser, what's to stop them doing other malicious things?
Also, next time please post in the appropriate forum, like the Web Development forum. Your question has nothing to do with C#.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
How search all files named MyFileName*.* in a specified folder.
For example, there are 5 files
MyFileName1.s
MyFileName2.s
MyFileName3.s
Otherfile1.s
Otherfile2.s
How can I find the first 3 files?
Thank you very much.
vigorous
|
|
|
|
|
The following code should help:
System.IO.DirectoryInfo di = new DirectoryInfo(@"C:\MyDir");
System.IO.FileInfo[] files = di.GetFiles("MyFileName*.*");
"You can have everything in life you want if you will just help enough other people get what they want." --Zig Ziglar
Coming soon: The Second EuroCPian Event
|
|
|
|
|
It's quite simple
<br />
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(folderPath);<br />
System.IO.FileInfo[] files = dir.GetFiles("MyFileName*.*"); <br />
|
|
|
|
|
Hi,
I want to ask
1. what is the good instructions to close the Thread?
set it to null or using Thread.Abort()?
2. how about aborting the thread?
3. how can I prevent if the thread is in Sleep state, can I also close it
or abort it??
I have one class which contains one Thread, if I wnat to re-create a new class, like this.Threadclass = new BThreadClass();
should I close the Thread inside the class again?
Thanks for help
|
|
|
|
|
Setting the thread to null does not stop it
If you don't want to use Thread.Abort, use a bool variable:
<br />
private void MyThreadMethod(){<br />
<br />
isRunning = true;<br />
while(isRunning){<br />
<br />
doSomething();<br />
Sleep(xyz);<br />
<br />
}<br />
}<br />
Set isRunning=false, and the thread stops without an exception.
|
|
|
|
|
this is true, you have to let a thread stop itself,
thread.abord() just raises an exception in the thread to stop it. Problem with this exception is that you cant handle it and the entire app will stop.
www.agilis.be
|
|
|
|
|
You can handle it with the AppDomain.UnhandledException or, if applicable, Application.ThreadException event.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Am trying to update the system time using c#. Have a bit of code written in VB.NET that I’ve plundered ( from Alastair Dallas) , which works. The VB code is:
<structlayout(layoutkind.sequential)> _
Public Structure SYSTEMTIME
Public wYear As Int16
Public wMonth As Int16
Public wDayOfWeek As Int16
Public wDay As Int16
Public wHour As Int16
Public wMinute As Int16
Public wSecond As Int16
Public wMilliseconds As Int16
End Structure
Private Declare Function GetSystemTime Lib "kernel32.dll" (ByRef stru As SYSTEMTIME) As Int32
Private Declare Function SetSystemTime Lib "kernel32.dll" (ByRef stru As SYSTEMTIME) As Int32
Public Shared Sub SetWindowsClock(ByVal dt As DateTime)
'Sets system time. Note: Use UTC time; Windows will apply time zone
Dim timeStru As SYSTEMTIME
Dim result As Int32
timeStru.wYear = CType(dt.Year, Int16)
timeStru.wMonth = CType(dt.Month, Int16)
timeStru.wDay = CType(dt.Day, Int16)
timeStru.wDayOfWeek = CType(dt.DayOfWeek, Int16)
timeStru.wHour = CType(dt.Hour + 2, Int16) ' used to verify system time is actually changed
timeStru.wMinute = CType(dt.Minute, Int16)
timeStru.wSecond = CType(dt.Second, Int16)
timeStru.wMilliseconds = CType(dt.Millisecond, Int16)
result = SetSystemTime(timeStru)
End Sub
**************************************************
Have converted this to C# as follows:
[StructLayout(LayoutKind.Sequential)]
public struct SYSTEMTIME
{
public Int16 wYear;
public Int16 wMonth;
public Int16 wDayOfWeek;
public Int16 wDay;
public Int16 wHour;
public Int16 wMinute;
public Int16 wSecond;
public Int16 wMilliseconds;
}
[DllImport("kernel32.dll")]
public static extern int SetSystemTime(SYSTEMTIME lpSystemTime);
public static void SetWindowsClock(DateTime dt)
{
SYSTEMTIME timeStru;
int result;
timeStru.wYear = ((Int16)dt.Year);
timeStru.wMonth = ((Int16)dt.Month);
timeStru.wDay = ((Int16)dt.Day);
timeStru.wDayOfWeek = ((Int16)dt.DayOfWeek);
timeStru.wHour = ((Int16)dt.Hour);
timeStru.wMinute = ((Int16)dt.Minute);
timeStru.wSecond = ((Int16)dt.Second);
timeStru.wMilliseconds = ((Int16)dt.Millisecond);
result = SetSystemTime(timeStru);
}
The C# code crashes on the SetSystemTime(timeStru). While tracing, the only thing I noticed which was different between the 2 was the way C# handles structures is different to VB.
Anyone have a clue?
benny
|
|
|
|
|
I don't know anything about VB but you don't have the equivalent to the CType function call in the c# code. Is that necessary?
|
|
|
|
|
Pulled this description of CType from a .NET forum:
Q: What are the differences between Ctype and (cint,cstr,cool,etc...)
S: VB.NET
A: The Ctype keyword is used to perform an explicit conversion also known as casting, the Ctype keyword when used will also check for a valid destination data type or an error will occur, such as converting a long to integer. The other keywords Cint, Cbool,etc do not check for valid data types and they are about 3 times faster than Ctype because the code is included in the MSIL.
i think it is not relevant to the problem. SetSystemTime has one parameter sent to it and it is a datatype which is the structure which the program defined as SYSTEMTIME. When i trace the code stopping at the
"result = SetSystemTime(timeStru);" statement in both VB and C#, i can see the data that is parsed to it. The actual time and date fields are the same. The top level of the structures are a little different though. it is easy to test my code as i pasted most of it. Only needs a few using statements and a small wrapper to get it going. i'll supply the whole lot if asked for.
benny
|
|
|
|
|
You have to ref the SYSTEMTIME structure. VB is passing a reference to it, but you're passing its value. The SetSystemTime API requires a SYSTEMTIME* (pointer to a SYSTEMTIME struct), so your P/Invoke declaration should look like:
[DllImport("kernel32.dll")]
private static extern bool SetSystemTime(ref SYSTEMTIME systime); Also, you do not typically make P/Invoke methods public because it creates holes in your application that could be used to corrupt the system or your application. Besides, do you want to create that struct every time you want to call it? A better method would be to expose a public method that takes a DateTime , does the conversion and calls the private P/Invoke method above. You've already done this, but you should make your P/Invoke method private, not public. It's all about encapsulation.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Thanks Heath,
Had totally missed the ref bit. Changed the declaration to what you suggested and then there were compile errors on the SetSystemTime call. Changed it to ” result = SetSystemTime(ref timeStru);” and also changed the result from int to bool. It works now. The reason for P/Invoke being public was that I cut and pasted it from a forum. My technique in building applications is to write and test little functions separately before moulding them into the final source. So these little stubs are often a bit sloppy.
Thanks again
benny
|
|
|
|
|
Hey guys,
I would like to know if there is any way by which I can capture the output of an console application before it exits.
I have an console application which runs continuously and never exits unless killed. While running it generates output on the action done on a perticular file. That is it keeps a watch on a perticular file. I want to capture those console outputs real time.
But the problem is StandardOutput property of the System.Diagnostics.Process class doesn't work till the called process exits from the Main.
If anybody has any solution then please let me know.
thanks in advance...
Aryadip Guha Niyogi
Cheers !! and have a Funky day !!
|
|
|
|
|
You can always use good old redirection (i dunno if process supports this however) eg my.exe >> myexe.log, and then use a 'tail' util to monitor the output.
|
|
|
|
|
Hi Leppie,
Thanks man...
I made it possible, actually there was some problem with the invoked application.
thanks again.
regards,
Aryadip
Cheers !! and have a Funky day !!
|
|
|
|
|
Hi everyone, i'm having a bit of an architectural crisis.
I want to start an application that is layered. I cannot use datasets, only an object model. I want the following layers: DAL, Common, Services, facade(not nessessary), and web/webservices.
Where do i put the object model (objects like customer, questionlists, employees,...). In the common layer so i can get filled employee's out of the DAL or do i put the OM in the services layer and fill them there?
The first has the advantage that i only need my update delete and insert take 1 parameter (employee) otherwise with the OM in the services layer i need my DAL funtions to take all the parameters.
What do you do?
Thank you
Jan Vercauteren.
OVERVIEW
-----------------------------|---------------|
| DAL | |
-----------------------------| |
| SERVICES | COMMON |
|----------------------------| |
| FACADE | |
|----------------------------| |
| GUI (web) | |
|----------------------------|---------------|
www.agilis.be
|
|
|
|
|
Hmmm...4 tier architecture? What is facade layer, anyways?
Jan Vercauteren wrote:
want to start an application that is layered. I cannot use datasets, only an object model. I want the following layers: DAL, Common, Services, facade(not nessessary), and web/webservices
What do you mean by common layer??
Well, you could use the collection objects in your services. You can combine objects and services in the service layer.
WEB -- Front End | WEB -- FACADE | WEB -- SERVICES | COMMON | WEB -- Front End |
|
|
|
|
|
Hmmm...4 tier architecture? What is facade layer, anyways?
Jan Vercauteren wrote:
want to start an application that is layered. I cannot use datasets, only an object model. I want the following layers: DAL, Common, Services, facade(not nessessary), and web/webservices
What do you mean by common layer??
Well, you could use the collection objects in your services. You can combine objects and services in the service layer.
|
|
|
|
|
Facade layer is a sort of "grouping" layer.
Lets say you have a customer and a orderEmployee.
A customer can add an order
a orderEmpoyee can add an order and approve orders.
You have an order object wich has the 2 functions + a couple of internal ones.
You create a customer facade with only te first operation in it and a orderEmployee facade with both in it.
This makes an application easier to secure and to understand for other people.
This looks not nessessary but if you have 10+ roles and 50 objects and then times the amount of functions witch are not all to be exposed to the client...
jan
www.agilis.be
|
|
|
|
|
Hello Jan.
The major reason for a DAL is data abstraction; it should deliver data to your application in a data source-independant way. Your OM contains the data transport classes that the DAL uses to deliver data to the service layer, so the OM should rest inside the DAL. The DAL should also contain factory/accessor classes that connects to data sources, obtains data, instantiates OM classes and fills them with the data and delivers them to the service layer.
The "Common" is not needed.
Regards,
Björn Morén
Stockholm, Sweden
|
|
|
|
|
Hi Björn
Thank you for the reply.
I asked this because msdn is screaming black and white about the subject of custom objects.
The say put the creation static in the objects, who then ask the dal to create them. Or put the objects in the DAL like you do. Or use a common layer.
Do you have an example or uml scheme?
Another question: Insert update and delete, are those methods inside the custom object?
Thank you
(to respond the the question above this post: a common layer holds classes that can be used in all layers)
www.agilis.be
|
|
|
|
|
The deal with statics that's been on the MSDN site for a while is for a provider pattern. Basically, you have an abstract class with a static method that reads providers from, say, a .config file and creates instances of those classes (that derive from the abstract base class) and return the instance as an abstract base class, something like the following pseudo-code:
public abstract class DataProviderBase
{
public static DataProviderBase GetProvider()
{
return GetProviderFromConfig();
}
} There is an article posted recently on MSDN that goes into greater depth: Provider Model Design Pattern and Specification, Part 1[^].
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I just want to know where to put the object model (the classes like customers, orders, ...) in the n-tier model.
Common , Data or business layer. (on msdn they put datasets is the common.
thanks
Jan
www.agilis.be
|
|
|
|
|
I'd prefer to put the object model you refer to in the DAL and use the provider pattern for those objects to get/set data in a data source (such as a database), effectively splitting up the data layer into two tiers (although that depends on your scope of a tier). The business layer typically defines how those objects interact with each other. Again, depending on your view of what comprises a tier, you might consider that those objects are either in the business layer or the data layer. Also keep in mind that N-tier isn't limited to 3 tiers.
For example, our next major version of our application that is currently being sketched out consists of many layers, such as a presentation layer, a business layer, a data objects layer coupled with a data provider layer, with a server layer to provide remotable data services for our implementation (while other companies can choose to override or replace whatever layer they want). It's a pretty fractured design, but a pretty big N-tier model allowing for maximum (IMO) extensibility.
Microsoft MVP, Visual C#
My Articles
|
|
|
|