|
It's all in the docs:
MSDN topic of SelectionStart states: "You can programmatically move the caret within the text box by setting the SelectionStart to the position within the text box where you want the caret to move to and set the SelectionLength property to a value of zero (0). The text box must have focus in order for the caret to be moved."
www.troschuetz.de
|
|
|
|
|
Hopefully someone can point me in the right direction...
I need either an algorithm or a component that allows a
program i am writing to have "200 credits" eg: 200 uses.
The credits are activated using a unique code (123456 for
example) but once this code has been used it must not work
again. This way the user purchases a new code each 200 uses
to continue using the software.
Is there an existing algorithm that generates these unique
codes? is there a better way that i should know about?
Any help would be great!
Si
|
|
|
|
|
|
Thanks!
I'll take a look into that, hadnt thought of using a Guid.
Si
|
|
|
|
|
> Guid.NewGuid()
I can see how this generates a unique code, thats the first part
of my question sorted.
But lets say i do use a Guid as the code, how is the application
going to know that *i* have generated the Guid and not someone
else?
Si
|
|
|
|
|
A questionable approach is by hiding a fake dll in the system, having that hold the serialized GUID (serialized as binary so it is hard to read) and creating a regkey buried in some place like file associations where GUID keys abound. So:
System32: holds syscplgpi.dll which holds your GUID.
FileAssoc: If the regkey exists reduce counter. If counter is 0 del key.
If key does not exist then you are out of credits.
Obfuscation of the data and where you get it is the key. Systems written to monitor system changes during install, after install, and after first execution will expose all of it, though.
You probably want to have a registration key that is generated from a GUID and then you can email both the registration key as well as the GUID value. This way your code can do a recalc to see if you come up with the same registration key. For an algorithm, just convert the letters in a GUID into numbers and fold that value into a smaller number.
There are 10 kinds of people in the world.
Those that read binary...
...and those who don't.
|
|
|
|
|
Oops -- folding:
Folding is the mathematical art of making a big number small.
If a GUID that is converted to a number ends up being 16 digits long, for example, you can do an algorithm to fold as follows:
Convert.ToString(first 8 digits + last 8 digits).Substring(0,8)
The Substring ensures that if you roll into a 9 digit number you truncate it back into an 8 digit number. While this algorithm is simple, it is not easily recreated by just comparing the result to the GUID.
There are 10 kinds of people in the world.
Those that read binary...
...and those who don't.
|
|
|
|
|
Hello
i went thru search comments and Option to get idea of overriding some Attachfile event of Outlook but no luck..what I want that i get some method/event for attaching file in already opened New Mail Instance of Outlook,is it possible?any particular method for such task?i coudn`t find one yet
Thanks
-adnan
|
|
|
|
|
I need to insert Help(my own) in a C# windows application, which is accessible through a menuitem called Help.
Does any one have a clue on how to do this?
GaMBiT---> aND ReVeNGe WiLL Be
|
|
|
|
|
Hi,
You can use C# Help class or HelpProvider for providing the help. To provide the help we can use the Help class showhelp and helpindex methods.
Regards
SGS
|
|
|
|
|
Thanks....that's really What I needed!
Thanks again!
GaMBiT---> aND ReVeNGe WiLL Be
|
|
|
|
|
Can anyone tell the diffrence btn. Multithreading and APPDOMAIN, as i know Appdomain is "Application domain is a construct in the CLR that is the unit of isolation for an application." and Mutithreading is " the ability of an operating system to concurrently run programs that have been divided into subcomponents, or threads"
So whats the diff. btn. two and which to be used when?
vipsi
|
|
|
|
|
With multithreading two tasks can run at the same time. E.g. one thread waiting for data coming from the internet and the other one doing immediatly processing what has come so far. This concept is also important if you want to do heavy calculation but the GUI should still be responsible (e.g. for cancelling).
Appdomains are something completely different. With them you can have isolated parts in your app which have no direct way to interact. All communication passes a boundary by remoting constructs in .Net. Appdomains are important when you need several security levels in one application, when dynamically loading and unloading assemblies and in many more situations which I cant remember now .
|
|
|
|
|
Thanx, But is it both interlinked ? like in gotdotnet APPDOMAIN FAQ there is a sample code using Threading class!! What i mean is do we have to uses Thread class for Appdomain ? Also if u know any URL for Thread or Appdomain then please give the link.
// C# Sample Code
// File: HelloWorld1.cs
using System;
using System.Threading;
public class HelloWorld
{
public void SayHello(String greeting)
{
Console.WriteLine("In the application domain: " + Thread.GetDomain().FriendlyName);
Console.WriteLine(greeting);
}
public static void Main( String[] argv )
{
HelloWorld o = new HelloWorld();
o.SayHello("Hello World!");
}
}
vipsi
|
|
|
|
|
If you look closely at that code you posted the only use of the thread class is to use a static helper method GetDomain() - no threads are created at any time.
|
|
|
|
|
using System.Threading;<br />
namespace mynamespace < when this executes it is in an app domain
<br />
{<br />
public class myClass:Forms<br />
{<br />
...<br />
Thread computationalThread;<br />
MyCompute computational = new MyCompute();<br />
computational.DoneEvent+= new DoneEventHandler(newValue);<br />
compuationalThread = new Thread(computational.ComputeData);<br />
compuationalThread.Start(); < now I begin an independant thread in my app domain
<br />
...<br />
public void button_press(sender, eventargs)<br />
{<br />
computational.ValueOne = myForm.Data.Text;<br />
computational.ValueTwo = myForm.DataTwo.Text;<br />
return;<br />
}<br />
public void newValue(..)<br />
{<br />
myForm.DataResult.Text = computational.Result;<br />
return;<br />
}<br />
<br />
Notice that everything in this case is running inside a single app domain. Inside that domain I have 2 threads that I created. (the system probably creates tons) My computational thread runs independantly but due to the limits of Windows form processing I cannot update the screen!!! So it raises an event -- the event enters the message pump -- and my application updates the screen. The window continues to react to all other events during that calculation such as paintovers, mouse moves, mouse clicks, etc.
Go to MSDN and read the tutorials on multi-threading. It really helps to get a handle on things.
There are 10 kinds of people in the world.
Those that read binary...
...and those who don't.
|
|
|
|
|
Hi All
Is it possible to identify the character which gets deleted when the backspace is pressed in a Textbox.
Regards
Deepak.S
|
|
|
|
|
A way is to store the text in the Textbox, when ever the key is stroke. The next time key is up, compare the previous text with the current text.
Another way is to catch the key down event. Check if it's a backspace, then get the last text in the current TextBox.
<italic>Work hard and a bit of luck is the key to success. You don`t need to be genius, to be rich.
|
|
|
|
|
Hi
What u say is right when the user is going to delete the text when the cursor is at the last positon.. what if he places the cursor at some other line in the richtextbox and then do a delete.. this where i am facing the problem how will i know what is he deleting.... i gotta identify that..
|
|
|
|
|
Before Delete the Text Box is before , after delete the Text Box is befre . The idea is to track this changes, compare the first char of both string, then compare the second, the the third, when you compare the fourth it's not a match, so there is a character deleted.
<italic>Work hard and a bit of luck is the key to success. You don`t need to be genius, to be rich.
|
|
|
|
|
I have seen people posting similiar problems but have yet found a solution that solves my issue, so here it goes again.
My windows form app, which utilize Microsoft WSE 2.0 SP1, connects to a web serivce via SSL(https) periodically. It works most of the time however I get follow exception from time to time.
System.Net.WebException: The underlying connection was closed: Unable to connect to the remote server.
at System.Net.HttpWebRequest.CheckFinalStatus()
at System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult)
at System.Net.HttpWebRequest.GetRequestStream()
at Microsoft.Web.Services2.SoapWebRequest.GetRequestStream()
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
...(user code that invokes the web service call)
System config:
XP Pro + SP2
.Net 1.1 + SP1
WSE 2.0 SP1
What causes the problem and how do I fix it? TIA!!
|
|
|
|
|
Does anyone know how to pop up alerts from an icon in the tray ?
|
|
|
|
|
try this
http://www.codeproject.com/cs/miscctrl/RobMisNotifyWindow.asp
|
|
|
|
|
|
Hi,
I'm trying to call a program in a .dll file that is built with C. The .dll program takes a pointer to a structure and then will return that structure with additional information filled in. The .dll program will also return a BOOL if the function was successful or not.
I have no problem calling the function, I'm having a problem building a structure that I can pass with a pointer.
From what I have been reading, I should be able to allocate a chunk of memory for the structure to hold, copy the existing data into the memory area and pass a pointer.
Attached below is my code that I am having a difficult time getting to compile. It starts with line number 265 with unsafe.
<br />
unsafe<br />
{<br />
<br />
IntPtr pCreditCardStruct = Marshal.AllocHGlobal(sizeof(CreditCardStruct));<br />
Marshal.StructureToPtr(CreditCardStruct, pCreditCardStruct, false);<br />
Marshal.Copy(CreditCardStruct, 0, pCreditCardStruct, sizeof(CreditCardStruct));<br />
}<br />
<br />
_ProcAuthorizationWeb(pCreditCardStruct);<br />
The structure looks like this:
<br />
[StructLayout (LayoutKind.Sequential)]<br />
public class CreditCardStruct<br />
{<br />
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 15)] public string strTransType;<br />
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 30)] public string strMerchant;<br />
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 11)] public string strInvoiceNumber;<br />
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 24)] public string strCardNumber;<br />
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4) ] public string strCVV2;<br />
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5) ] public string strExpDate;<br />
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 35)] public string strCardHolderName;<br />
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 25)] public string strStreetAddress;<br />
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 10)] public string strZipCode;<br />
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 9) ] public string strTransAmt;<br />
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7) ] public string strAuthCode;<br />
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 40)] public string strResponse;<br />
[MarshalAs(UnmanagedType.Bool)] public bool bCardPresent;<br />
[MarshalAs(UnmanagedType.Bool)] public bool bCustomerPresent;<br />
[MarshalAs(UnmanagedType.Bool)] public bool bDeferred;<br />
}<br />
The error messages I'm getting are:
q:\mcp\authorization.aspx.cs(268,61): error CS0208: Cannot take the address or size of a variable of a managed type ('MCP.CreditCardStruct')
q:\mcp\authorization.aspx.cs(270,66): error CS0208: Cannot take the address or size of a variable of a managed type ('MCP.CreditCardStruct')
q:\mcp\authorization.aspx.cs(270,6): error CS1502: The best overloaded method match for 'System.Runtime.InteropServices.Marshal.Copy(int[], int, System.IntPtr, int)' has some invalid arguments
q:\mcp\authorization.aspx.cs(270,19): error CS1503: Argument '1': cannot convert from 'MCP.CreditCardStruct' to 'int[]'
q:\mcp\authorization.aspx.cs(273,27): error CS0103: The name 'pCreditCardStruct' does not exist in the class or namespace 'MCP.Authorization'
It appears that I can not use sizeof for the structure since its in "SAFE" code and I have the wrong format for the Marshal.Copy but from what I'm reading in the documentation it should be right.
Any ideas what I'm doing wrong and what is the best way to do this?
Thank you very much,
Glenn
|
|
|
|