|
I stand corrected
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
Cool - but how did my post disappear?
"More functions should disregard input values and just return 12. It would make life easier." - comment posted on WTF
|
|
|
|
|
Whoa, beats me. I saw it myself earlier
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
Today I ran into a problem with arraylists. And I can't seem to get why it doen't work. I have made the following function as below
When I use this function using statement A: result.Add(new string[] {subResult[0], subResult[1], subResult[2]}); I get this:
sr: rupert@doomsday.nl
sr: Rupert
sr: Monkey
sr: test@test.nl
sr: bart
sr: zuidgeest
rupert@doomsday.nl
test@test.nl
when I use statement B I get this output
sr: rupert@doomsday.nl
sr: Rupert
sr: Monkey
sr: test@test.nl
sr: bart
sr: zuidgeest
test@test.nl
test@test.nl
Notice the difference in the last two lines. Somehow when I use statement B I am left with only the second rusult in my arraylist twice instead of two different results. I need statement B because I cannot predict in advance what the amount of elements in each string array will be. Annyone want to tell me what's wrong? (Not that it should matter but this is on mono)
public ArrayList Search(string baseDN, int searchScope, string filter, string[] attributes)
{
ArrayList result = new ArrayList();
if (attributes == null || attributes.Length == 0)
{
return (result);
}
LdapSearchQueue queue = connection.Search ( baseDN, searchScope, filter, attributes, false, (LdapSearchQueue) null, (LdapSearchConstraints) null);
LdapMessage message;
string[] subResult = new string[attributes.Length];
while ((message = queue.getResponse()) != null)
{
if (message is LdapSearchResult)
{
int counter = 0;
LdapEntry entry = ((LdapSearchResult) message).Entry;
LdapAttributeSet attributeSet = entry.getAttributeSet();
foreach (string attributeName in attributes)
{
LdapAttribute attribute = attributeSet.getAttribute(attributeName);
subResult[counter] = attribute.StringValue;
counter++;
//Console.WriteLine("attr: " +attribute.StringValue + counter);
}
Console.WriteLine("sr: " + subResult[0]);
Console.WriteLine("sr: " + subResult[1]);
Console.WriteLine("sr: " + subResult[2]);
// A this works
//result.Add(new string[] {subResult[0], subResult[1], subResult[2]});
// B this doens't?
result.Add(subResult);
}
}
foreach(object a in result)
{
Console.WriteLine(((string[])a)[0]);
}
return(result);
}
|
|
|
|
|
That's not a mystery at all. It's a common mistake, and I believe that making it usually gives a better understanding about how objects and references work.
An ArrayList is a list of references.
With statement A you are creating a new array, and you add the reference to that array to the list. Each item in the ArrayList is a reference a separate array.
With statement B you are adding the reference in the subResult variable. As the variable never changes (only the contents of the array that it refers to), you end up with a list of references to the same single array, and that array happens to contain the last values that you put into it.
---
single minded; short sighted; long gone;
|
|
|
|
|
Ok, I entertained this posibility, But then I could not figure out why this does work:
ArrayList test = new ArrayList();
int[] numbers = new int[] {7,1};
test.Add(numbers);
numbers = new int[] {8,1};
test.Add(numbers);
foreach(object a in test)
{
Console.WriteLine(((int[])a)[0]);
}
this code gives me as result an 7 and then an 8 as I would expect .
But then I looked again and noticed the difference between this and my code is that I never create an new (string) array in my loop I just refill it. I should have noticed this an long time ago . I must realy like recreating objects. Tnanks Guffa for shaking me awake
|
|
|
|
|
hello
how can get pae name from URL
as this http://www.any.com/abc.aspx?ss=4
i want the result to be abc.aspx
????
Palestine
|
|
|
|
|
would that be everything ending at the first question mark, and starting
after the last slash before it ?
the string class has everything you need.
|
|
|
|
|
I'd rather use the Request object and its methods to access the different parts of the URL that do it myself with string operations.
see MSDN HttpRequest class for more information.
-^-^-^-^-^-
no risk no funk
|
|
|
|
|
<br />
Uri mine=new Uri("http://www.any.com/abc.aspx?ss=4");<br />
string path=mine.AbsolutePath
<br />
<br />
string name=mine.Segments[mine.Segments.Length-1];
|
|
|
|
|
how can get the URL from asp.net page ??
Palestine
|
|
|
|
|
if you mean getting the url of current page you can use
Uri pageUri=Request.Url;
if you need mapping or rewriting for url see:
http://www.codeproject.com/aspnet/urlrewriter.asp
http://www.simple-talk.com/dotnet/asp.net/a-complete-url-rewriting-solution-for-asp.net-2.0/
|
|
|
|
|
Hello everybody!!!!
I can find requisite form in my webbrowser.document.
Does anybody know how to submit that?
Please anybody answer me!!!!
|
|
|
|
|
I'm not sure understand what you means but if you filled some fields and want to click on a link or button to send it
it would be like this:
this.webBrowser.Document.All["submit"].InvokeMember("click");
submit is the button name and click is the method
however sometimes it does not work correctly. for that you can use unmanaged HTMLDocument
<br />
<br />
object domElement = this.webBrowser.Document.All["submit"].DomElement;<br />
mshtml.IHTMLElement hElemnt = (mshtml.IHTMLElement)domElement;<br />
hElemnt.click();<br />
<br />
to read a field you can use id of it (just like name or id of a button) and use GetAttribute() method
<br />
foreach (HtmlElement he in this.webBrowser.Document.All["verb[]"].All)<br />
MessageBox.Show(he.GetAttribute("value"));<br />
to write a field you can use id of it (just like name or id of a button) and use SetAttribute() method
for text areas you must use InnerText property instead of GetAttribute() and SetAttribute() Method.
I hope the post going to be useful
good luck
|
|
|
|
|
I make dataset and after that add the column into table in database.
Although I expand dataset with it, app dont recognize added column.
It's haped to me several times.
What can I do to avoid that?
Thanks.
|
|
|
|
|
Hi
Dataset is not manage your data like recordset it is fully offline storage of data. The values in Dataset is same as last hit on your db.
|
|
|
|
|
Hi everybody
I have a class defined as MyClass<T> .
Now in code I'd like to do something like this (Option is of type T ):
if(Option is bool)
return (bool)Option ? "Yes" : "No";
But I'm not able to cast from T to bool . How can I solve this?
regards
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Try bool booleanOption = (bool)Convert.ChangeType(T, typeof(bool)) .
|
|
|
|
|
Thanks, this works
modified 12-Sep-18 21:01pm.
|
|
|
|
|
|
I'am guessing that you return some string representation for other types.
Why not use some helper methods:
string ToString(bool b) { return b ? "Yes" : "No"; }
string ToString(object o) { return o.ToString(); }
...
And call this method from your code. At runtime the correct method is called.
For your own classes, override the ToString method to get the correct string representation.
-^-^-^-^-^-
no risk no funk
|
|
|
|
|
After reading the thread about switching on strings I can't help but present this solution:
if(Option is bool)
switch ( Option.ToString() )
{
case "True" : return "Yes" ;
case "False" : return "No" ;
}
But seriously, you probably need a better design.
|
|
|
|
|
I like switching on strings
PIEBALDconsult wrote:
But seriously, you probably need a better design.
Probably. It's a menu system for a game where you can add any options and switch between them (like: "Multisampling: On|Off"
Usually it's fine to just return the ToString() representation of this object, but in case of a "bool" menu item I don't want to return "True" and "False"
regards
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Why on earth, CheckBoxList in windows form doesn't have datasource property.
i just want to bind my checkboxlist with dataset. How am i suppose to do that?
Thanks
|
|
|
|
|
To ratate a rectangle at an angle where angle would not be referenced from default World Cordinate but custom defined reference point.
SHK
|
|
|
|