|
Why are your textboxes null to begin with? How about if (BP_S != null && BP_D != null) ? Or did you mean that it is ok for the second textbox to be null as long as the first textbox is null as well: if (BP_D != null || BP_S == null) ?
(this is not help, btw, it's a bunch of questions)
|
|
|
|
|
no i mean:
if the user entered BP_S then he MUST enter BP_D
similarly, if the user entered BP_D then he MUST enter BP_S
but user can leave both BP_S and BP_D as NULL
|
|
|
|
|
Ok so more like this: if (BP_S.Text.Length == 0 || BP_D.Text.Length != 0) ?
|
|
|
|
|
yes but this code will force the user to enter one of the textbox.. What if the user wants to leave the null?
|
|
|
|
|
Ok it's quite late here and I'm tired so I could be wrong, but I'm fairly certain that if they are both null, that condition will evaluate to true
|
|
|
|
|
it's ok.. rest now I will also sleep and come back later... it's 1:30am here in Bahrain.. Sweet Dreamz
|
|
|
|
|
Wow, this is probably the first time I've seen a valid use for the EXCLUSIVE OR operator:
if (!(string.IsNullOrEmpty(textBox1.Text) ^ string.IsNullOrEmpty(textBox2.Text)))
{
MessageBox.Show("Valid");
}
else
{
MessageBox.Show("Invalid");
}
You could also do that with && and ||, but this is probably the most succint technique.
|
|
|
|
|
aspdotnetdev wrote: but this is probably the most succint technique
Maybe 2 or 3 characters shorter
|
|
|
|
|
most succinct?
if exclusive OR is what the OP wants, then there is no need for XOR, OR, AND operators!
Mind you, TextBox.Text never returns null.
MessageBox.Show((textBox1.Text.Length==0)==(textBox2.Text.Length==0)?"Valid":"Invalid");
|
|
|
|
|
You fool! It can be MUCH more succint!
MessageBox.Show((textBox1.Text.Length>0)==(textBox2.Text.Length>0)?"Valid":"Invalid");
|
|
|
|
|
Do you mean
MessageBox.Show(((tb1.Text.Length>0)==(tb2.Text.Length>0)?"V":"Inv")+"alid");
?
|
|
|
|
|
Haha, I did exactly that, but then found it to take up more characters than the other method, to be less clear, and to potentially take up more processing time (the strig concatenation). If you make both words lowercase, you can get it down to exactly the same number of characters as the one I posted, but it still has the other issues. But nice try.
|
|
|
|
|
correct.
MessageBox.Show((tb1.Text.Length>0)==(tb2.Text.Length>0)?"OK":"!OK");
|
|
|
|
|
I had a nice long reply I was working on, but my Internet decided to go down just as I posted it. So, lucky for you, you get the short version instead:
((a.L>0)==(b.L>0)).S();
|
|
|
|
|
why would you need a long reply to come up with a succinct code snippet?
Anyway, with a real pre-processor, it is trivial:
T
|
|
|
|
|
If my Internet didn't go down, you'd know.
Why use a letter with such a high ASCII value? This seems more optimal:
A
As a bonus, your left pinky is already on that letter.
|
|
|
|
|
I suspect the energy saving comes from having fewer 1-bits.
|
|
|
|
|
if((!String.IsNullOrEmpty(BP_S.Text) && !String.IsNullOrEmpty(BP_D.Text)) || (String.IsNullOrEmpty(BP_S.Text) && String.IsNullOrEmpty(BP_D.Text)))
Mark as answer if its really satisfies ur query !!!!
modified on Saturday, April 10, 2010 8:52 AM
|
|
|
|
|
Now that's interesting, because that wouldn't allow you to fill in the second textbox if you didn't fill in the first as well - and he never said anything about that. Basically it's the same as aspdotnetdev's, but in the least-succinct way.
|
|
|
|
|
harold aptroot wrote: he never said anything about that
FYI, my impression is that the OP wants either both to be filled in or neither to be filled in. Filling in one without filling in the other is not allowed.
|
|
|
|
|
Ok, I think he just said that he wants a truth table like this:
D S result
0 0 1
0 1 1
1 0 0
1 1 1
IOW "everything is OK except skipping the second textbox after filling in the first"
The smallest formula for that truth table is, AFAIK, (¬D)v S (where v is OR)
Or maybe I'm just taking his explanation too literally..
|
|
|
|
|
The OP said "one textbox is not null then the other should not be null as well". Order of the textboxes is never stated or implied. So "0 1" and "1 0" should have the same result ("0").
|
|
|
|
|
Interpretation.
The OP should reply and clear this up..
|
|
|
|
|
harold aptroot wrote: The OP should reply and clear this up
The OP already did that:
jrahma wrote: if the user entered BP_S then he MUST enter BP_D
similarly, if the user entered BP_D then he MUST enter BP_S
but user can leave both BP_S and BP_D as NULL
Let's break that down...
jrahma wrote: if the user entered BP_S then he MUST enter BP_D
That means:
If the first textbox contains some text, the second textbox must contain some text.
jrahma wrote: if the user entered BP_D then he MUST enter BP_S
That means:
If the second textbox contains some text, the first textbox must contain some text.
jrahma wrote: user can leave both BP_S and BP_D as NULL
That means:
If both are empty, that is fine.
What all of that means:
It is valid for both to be empty or both to contain text, but it is not ok for just one but not the other to contain text.
That is my interpretation. But it is also the correct interpretation. I think the OP has everything he needs, but feel free to ask him if you don't think that's the case.
|
|
|
|
|
Oh lol. I forgot about that post
|
|
|
|