|
Pls refer to my earlier post about 10 hrs ago and with same subject
I am still seeking for help.
May be people from other timezone may help.......
Pls take pains to get there
if I copy my earlier message the indents are lost and the code looks rubbish so cant do that
Chaos, panic and disorder - my work here is done.
|
|
|
|
|
Have you considered it using the Process Class? I think since most programs have an Install/Uninstall program you can use Process.Start() to execute these programs to do it and pass the parameters they take to completely uninstall!
I know this sounds too easy but i am not experienced on programming but that is how i would do it at first and then enhance it!
hope it helps!
Luis E Tineo S
|
|
|
|
|
I looked at your earlier post, and it looks about as efficient as it is going to get. As far as finding installer files, good luck with that, because the only way you will be able to do it is to search recursively through the file system. You could install windows components using the winocmgr command, but other than that you can't expect the OS to provide an *easy* way for you to find all install files that have yet to be run. As far as your other questions, I had no answers, which is why I didn't respond to that post either. At least if you are not going to follow the posting guidelines (by posting the same question twice), provide a link to the referenced thread.
Jeff
|
|
|
|
|
Hi Guys
i would like to know how you can create a simple method to return a string in reverse order.
i have the following method
public string myMethod (String myString)
{
.
. //code goes in here
.
return myString
}
i have been trying to use a array to read the string into and try that but this doesnt seem to work
any ideas please??
Cheers
|
|
|
|
|
That was a topic in here some time in the last year, do you want to search for it or shall I?
|
|
|
|
|
last year? thats too long time ago. i go back a lil, but not that far.
could u please search n let me know, that would be v.helpful
Cheers
|
|
|
|
|
|
I must object a little; in C# strings are immutable, so swapping chars isn't the right way...
Luc Pattyn [Forum Guidelines] [My Articles]
this months tips:
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use PRE tags to preserve formatting when showing multi-line code snippets
|
|
|
|
|
|
Yep, just like a similar reverse problem[^] it can be solved with a single line of code,
much shorter than each of the posts/replies in this thread...
Luc Pattyn [Forum Guidelines] [My Articles]
this months tips:
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use PRE tags to preserve formatting when showing multi-line code snippets
|
|
|
|
|
|
|
BTW this is not my Homework, i have written the lines needed to reverse and display the string in the console. but i cant manage to RETURN a REVERSED String!!
Cheers
|
|
|
|
|
If you can reverse the string and display it in a console, then it should be pretty easy to return the reversed string.
My current favourite word is: PIE!
Good ol' pie, it's been a while.
|
|
|
|
|
can anyone help me please ??
Cheers
|
|
|
|
|
Where is this code? You didn't provide it in your original post. If you have already managed to reverse the string and display it, you must have the reversed string in a variable to be returned from your method. The absence of this code suggests that you haven't written it at all and want someone else to do it for you. This isn't how the site works.
Paul Marfleet
"No, his mind is not for rent
To any God or government"
Tom Sawyer - Rush
|
|
|
|
|
OMG...
ok then, i created a char array;
char[] myArray = new char[m]; //m is the length of array
read all the data into the array using;
for (int i =0; i<m; i++)
{
console.writeline..........="" bla="" bla
myarray[i]="Convert.ToChar(Console.Readline());
}
//" display="" in="" reverse
while="" (length="" !="-1)" length="" is="" declared="" elsewhere="" and="" holds="" the="" no.of="" chars
{
console.write(myarray[length];
length--;
}
now="" what="" i="" want="" to="" know="" a="" string="" passed="" into="" method="" resulting="" reversed="" returned?=""
ps="" have="" declaration="" at="" beginning="" of="" this="" thread.
=""
<div="" class="ForumSig">Cheers
|
|
|
|
|
As just stated, if its not homework and you have working code then post it and someone here will explain the use of the return keyword for you.
I still call this out as homework.
|
|
|
|
|
Of course this is homework, no company is going to pay for string reversals.
Maybe class gnirts could help, but sadly it has been postponed till the next
major upgrade of the .NET Framework.
Luc Pattyn [Forum Guidelines] [My Articles]
this months tips:
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use PRE tags to preserve formatting when showing multi-line code snippets
|
|
|
|
|
|
hmmmm... does that sound like a homework question?
you could use a stack to do this:
public void Main()
{
string foo = "i will do my homework on my own";
string blah = reverseString(foo);
Console.WriteLine(foo);
Console.WriteLine(blah);
}
public void reverseString(string Text)
{
System.Collections.Stack st = new Stack();
foreach (char c in Text)
{
st.Push(c);
}
ArrayList l = new ArrayList();
while (st.Count > 0)
{
l.Add(st.Pop());
}
char[] s = l.ToArray(typeof(char)) as char[];
string RetVal = new string(s);
return RetVal;
}
but if you use one of the other 999999999 possibilities to do it it'll be more efficient
|
|
|
|
|
ok this is my method, the loop is not functioning, but i cant see y???
public string Reverse(string WhatToReverse)
{
int lengthOfArray = WhatToReverse.Length;
//char array
char[] myArray = new char[lengthOfArray];
for (int i = lengthOfArray; i < 0; i--)
{
myArray[i] = WhatToReverse[i];
Console.Write(myArray[i]);
}
return ;//still to complete, but the loop dont work
}
Cheers
|
|
|
|
|
hustler2005 wrote: for (int i = lengthOfArray; i < 0; i--)
I is not less than 0 at the start.
|
|
|
|
|
I prefer the following...
public void Main()
{
string str = "I will do my homework on my own";
IntPtr strPtr = Marshal.StringToHGlobalUni(str);
IntPtr resPtr = ReverseString(strPtr);
string res = Marshal.PtrToStringUni(result);
Marshal.FreeHGlobal(strPtr);
Marshal.FreeHGlobal(resPtr);
Console.WriteLine(str);
Console.WriteLine(res);
}
public IntPtr ReverseString(IntPtr strPtr)
{
string str = Marshal.PtrToStringUni(strPtr);
char[] strAsCharArray = new char[str.Length];
for (int i = 0; i < str.Length; ++i)
{
strAsCharArray[i] = str[0];
str = str.Substring(1);
}
StringBuilder sb = new StringBuilder(strAsCharArray.Length);
string res = string.Empty;
for (int i = 0; i < str.Length; i += 2)
{
string next = string.Empty;
for (int j = 1; j >= 0; --j)
{
if (i + j == str.Length)
continue;
char c = strAsCharArray[i + j];
next.Insert(0, c.ToString());
res.Insert(1 - j, c.ToString());
}
sb.Append(next);
}
str = sb.ToString();
IntPtr rval = Marshal.StringToHGlobalUni(res);
return rval;
}
This is O(n), which is as fast as this operation can be done given how strings are implemented in the system (with a double-linked-list, it can be O(1)). Hope this helps.
Jeff
|
|
|
|
|
Since you already optimized the code, more in particular by unrolling the for loop,
it is actually more like O(n/2) which is quite good.
Luc Pattyn [Forum Guidelines] [My Articles]
this months tips:
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use PRE tags to preserve formatting when showing multi-line code snippets
|
|
|
|