
Apologies for the shouting but this is important.
When answering a question please:
 Read the question carefully
 Understand that English isn't everyone's first language so be lenient of bad spelling and grammar
 If a question is poorly phrased then either ask for clarification, ignore it, or mark it down. Insults are not welcome
 If the question is inappropriate then click the 'vote to remove message' button
Insults, slapdowns and sarcasm aren't welcome. Let's work to help developers, not make them feel stupid..
cheers,
Chris Maunder
The Code Project Cofounder
Microsoft C++ MVP





For those new to message boards please try to follow a few simple rules when posting your question. Choose the correct forum for your message. Posting a VB.NET question in the C++ forum will end in tears.
 Be specific! Don't ask "can someone send me the code to create an application that does 'X'. Pinpoint exactly what it is you need help with.
 Keep the subject line brief, but descriptive. eg "File Serialization problem"
 Keep the question as brief as possible. If you have to include code, include the smallest snippet of code you can.
 Be careful when including code that you haven't made a typo. Typing mistakes can become the focal point instead of the actual question you asked.
 Do not remove or empty a message if others have replied. Keep the thread intact and available for others to search and read. If your problem was answered then edit your message and add "[Solved]" to the subject line of the original post, and cast an approval vote to the one or several answers that really helped you.
 If you are posting source code with your question, place it inside <pre></pre> tags. We advise you also check the "Encode "<" (and other HTML) characters when pasting" checkbox before pasting anything inside the PRE block, and make sure "Use HTML in this post" check box is checked.
 Be courteous and DON'T SHOUT. Everyone here helps because they enjoy helping others, not because it's their job.
 Please do not post links to your question into an unrelated forum such as the lounge. It will be deleted. Likewise, do not post the same question in more than one forum.
 Do not be abusive, offensive, inappropriate or harass anyone on the boards. Doing so will get you kicked off and banned. Play nice.
 If you have a school or university assignment, assume that your teacher or lecturer is also reading these forums.
 No advertising or soliciting.
 We reserve the right to move your posts to a more appropriate forum or to delete anything deemed inappropriate or illegal.
cheers,
Chris Maunder
The Code Project Cofounder
Microsoft C++ MVP





Once you create a Security Group Object within AD how to update the Service Policy or Application Policy.. I got the Group created ok but now I have to update the properties policies of that Object.





Hi all!
this algorithm written in c# :
// Derived from LINPACK code.
// Initialize.
double[][] A = Arg;
// m = Arg.RowDimension;
// n = Arg.ColumnDimension;
int nu = System.Math.Min(m, n);
double[] s = new double[System.Math.Min(m + 1, n)];
double[][] U = new double[m][];
for (int i = 0; i < m; i++)
{
U[i] = new double[nu];
}
double[][] V = new double[n][];
for (int i2 = 0; i2 < n; i2++)
{
V[i2] = new double[n];
}
double[] e = new double[n];
double[] work = new double[m];
bool wantu = true;
bool wantv = true;
// Reduce A to bidiagonal form, storing the diagonal elements
// in s and the superdiagonal elements in e.
int nct = System.Math.Min(m  1, n);
int nrt = System.Math.Max(0, System.Math.Min(n  2, m));
for (int k = 0; k < System.Math.Max(nct, nrt); k++)
{
if (k < nct)
{
// Compute the transformation for the kth column and
// place the kth diagonal in s[k].
// Compute 2norm of kth column without under/overflow.
s[k] = 0;
for (int i = k; i < m; i++)
{
s[k] = System.Math.Sqrt(s[k] * s[k] + A[i][k] * A[i][k]);
}
if (s[k] != 0.0)
{
if (A[k][k] < 0.0)
{
s[k] = s[k];
}
for (int i = k; i < m; i++)
{
A[i][k] /= s[k];
}
A[k][k] += 1.0;
}
s[k] = s[k];
}
for (int j = k + 1; j < n; j++)
{
if ((k < nct) & (s[k] != 0.0))
{
// Apply the transformation.
double t = 0;
for (int i = k; i < m; i++)
{
t += A[i][k] * A[i][j];
}
t = (t) / A[k][k];
for (int i = k; i < m; i++)
{
A[i][j] += t * A[i][k];
}
}
// Place the kth row of A into e for the
// subsequent calculation of the row transformation.
e[j] = A[k][j];
}
if (wantu & (k < nct))
{
// Place the transformation in U for subsequent back
// multiplication.
for (int i = k; i < m; i++)
{
U[i][k] = A[i][k];
}
}
if (k < nrt)
{
// Compute the kth row transformation and place the
// kth superdiagonal in e[k].
// Compute 2norm without under/overflow.
e[k] = 0;
for (int i = k + 1; i < n; i++)
{
e[k] = System.Math.Sqrt(e[k] * e[k] + e[i] * e[i]);
}
if (e[k] != 0.0)
{
if (e[k + 1] < 0.0)
{
e[k] = e[k];
}
for (int i = k + 1; i < n; i++)
{
e[i] /= e[k];
}
e[k + 1] += 1.0;
}
e[k] = e[k];
if ((k + 1 < m) & (e[k] != 0.0))
{
// Apply the transformation.
for (int i = k + 1; i < m; i++)
{
work[i] = 0.0;
}
for (int j = k + 1; j < n; j++)
{
for (int i = k + 1; i < m; i++)
{
work[i] += e[j] * A[i][j];
}
}
for (int j = k + 1; j < n; j++)
{
double t = (e[j]) / e[k + 1];
for (int i = k + 1; i < m; i++)
{
A[i][j] += t * work[i];
}
}
}
if (wantv)
{
// Place the transformation in V for subsequent
// back multiplication.
for (int i = k + 1; i < n; i++)
{
V[i][k] = e[i];
}
}
}
}
// Set up the final bidiagonal matrix or order p.
int p = System.Math.Min(n, m + 1);
if (nct < n)
{
s[nct] = A[nct][nct];
}
if (m < p)
{
s[p  1] = 0.0;
}
if (nrt + 1 < p)
{
e[nrt] = A[nrt][p  1];
}
e[p  1] = 0.0;
// If required, generate U.
if (wantu)
{
for (int j = nct; j < nu; j++)
{
for (int i = 0; i < m; i++)
{
U[i][j] = 0.0;
}
U[j][j] = 1.0;
}
for (int k = nct  1; k >= 0; k)
{
if (s[k] != 0.0)
{
for (int j = k + 1; j < nu; j++)
{
double t = 0;
for (int i = k; i < m; i++)
{
t += U[i][k] * U[i][j];
}
t = (t) / U[k][k];
for (int i = k; i < m; i++)
{
U[i][j] += t * U[i][k];
}
}
for (int i = k; i < m; i++)
{
U[i][k] = U[i][k];
}
U[k][k] = 1.0 + U[k][k];
for (int i = 0; i < k  1; i++)
{
U[i][k] = 0.0;
}
}
else
{
for (int i = 0; i < m; i++)
{
U[i][k] = 0.0;
}
U[k][k] = 1.0;
}
}
}
// If required, generate V.
if (wantv)
{
for (int k = n  1; k >= 0; k)
{
if ((k < nrt) & (e[k] != 0.0))
{
for (int j = k + 1; j < nu; j++)
{
double t = 0;
for (int i = k + 1; i < n; i++)
{
t += V[i][k] * V[i][j];
}
t = (t) / V[k + 1][k];
for (int i = k + 1; i < n; i++)
{
V[i][j] += t * V[i][k];
}
}
}
for (int i = 0; i < n; i++)
{
V[i][k] = 0.0;
}
V[k][k] = 1.0;
}
}
// Main iteration loop for the singular values.
int pp = p  1;
int iter = 0;
double eps = System.Math.Pow(2.0, 52.0);
while (p > 0)
{
int k, kase;
// Here is where a test for too many iterations would go.
// This section of the program inspects for
// negligible elements in the s and e arrays. On
// completion the variables kase and k are set as follows.
// kase = 1 if s(p) and e[k1] are negligible and k<p
// kase = 2 if s(k) is negligible and k<p
// kase = 3 if e[k1] is negligible, k<p, and
// s(k), ..., s(p) are not negligible (qr step).
// kase = 4 if e(p1) is negligible (convergence).
for (k = p  2; k >= 1; k)
{
if (k == 1)
{
break;
}
if (System.Math.Abs(e[k]) <= eps * (System.Math.Abs(s[k]) + System.Math.Abs(s[k + 1])))
{
e[k] = 0.0;
break;
}
}
if (k == p  2)
{
kase = 4;
}
else
{
int ks;
for (ks = p  1; ks >= k; ks)
{
if (ks == k)
{
break;
}
double t = (ks != p ? System.Math.Abs(e[ks]) : 0.0) + (ks != k + 1 ? System.Math.Abs(e[ks  1]) : 0.0);
if (System.Math.Abs(s[ks]) <= eps * t)
{
s[ks] = 0.0;
break;
}
}
if (ks == k)
{
kase = 3;
}
else if (ks == p  1)
{
kase = 1;
}
else
{
kase = 2;
k = ks;
}
}
k++;
// Perform the task indicated by kase.
switch (kase)
{
// Deflate negligible s(p).
case 1:
{
double f = e[p  2];
e[p  2] = 0.0;
for (int j = p  2; j >= k; j)
{
double t = System.Math.Sqrt(s[j] * s[j] + f * f);
double cs = s[j] / t;
double sn = f / t;
s[j] = t;
if (j != k)
{
f = (sn) * e[j  1];
e[j  1] = cs * e[j  1];
}
if (wantv)
{
for (int i = 0; i < n; i++)
{
t = cs * V[i][j] + sn * V[i][p  1];
V[i][p  1] = (sn) * V[i][j] + cs * V[i][p  1];
V[i][j] = t;
}
}
}
}
break;
// Split at negligible s(k).
case 2:
{
double f = e[k  1];
e[k  1] = 0.0;
for (int j = k; j < p; j++)
{
double t = System.Math.Sqrt(s[j] * s[j] + f * f);
double cs = s[j] / t;
double sn = f / t;
s[j] = t;
f = (sn) * e[j];
e[j] = cs * e[j];
if (wantu)
{
for (int i = 0; i < m; i++)
{
t = cs * U[i][j] + sn * U[i][k  1];
U[i][k  1] = (sn) * U[i][j] + cs * U[i][k  1];
U[i][j] = t;
}
}
}
}
break;
// Perform one qr step.
case 3:
{
// Calculate the shift.
double scale = System.Math.Max(System.Math.Max(System.Math.Max(System.Math.Max(System.Math.Abs(s[p  1]), System.Math.Abs(s[p  2])), System.Math.Abs(e[p  2])), System.Math.Abs(s[k])), System.Math.Abs(e[k]));
double sp = s[p  1] / scale;
double spm1 = s[p  2] / scale;
double epm1 = e[p  2] / scale;
double sk = s[k] / scale;
double ek = e[k] / scale;
double b = ((spm1 + sp) * (spm1  sp) + epm1 * epm1) / 2.0;
double c = (sp * epm1) * (sp * epm1);
double shift = 0.0;
if ((b != 0.0)  (c != 0.0))
{
shift = System.Math.Sqrt(b * b + c);
if (b < 0.0)
{
shift = shift;
}
shift = c / (b + shift);
}
double f = (sk + sp) * (sk  sp) + shift;
double g = sk * ek;
// Chase zeros.
for (int j = k; j < p  1; j++)
{
double t = System.Math.Sqrt(f * f + g * g);
double cs = f / t;
double sn = g / t;
if (j != k)
{
e[j  1] = t;
}
f = cs * s[j] + sn * e[j];
e[j] = cs * e[j]  sn * s[j];
g = sn * s[j + 1];
s[j + 1] = cs * s[j + 1];
if (wantv)
{
for (int i = 0; i < n; i++)
{
t = cs * V[i][j] + sn * V[i][j + 1];
V[i][j + 1] = (sn) * V[i][j] + cs * V[i][j + 1];
V[i][j] = t;
}
}
t = System.Math.Sqrt(f * f + g * g);
cs = f / t;
sn = g / t;
s[j] = t;
f = cs * e[j] + sn * s[j + 1];
s[j + 1] = (sn) * e[j] + cs * s[j + 1];
g = sn * e[j + 1];
e[j + 1] = cs * e[j + 1];
if (wantu && (j < m  1))
{
for (int i = 0; i < m; i++)
{
t = cs * U[i][j] + sn * U[i][j + 1];
U[i][j + 1] = (sn) * U[i][j] + cs * U[i][j + 1];
U[i][j] = t;
}
}
}
e[p  2] = f;
iter = iter + 1;
}
break;
// Convergence.
case 4:
{
// Make the singular values positive.
if (s[k] <= 0.0)
{
s[k] = (s[k] < 0.0 ? s[k] : 0.0);
if (wantv)
{
for (int i = 0; i <= pp; i++)
{
V[i][k] = V[i][k];
}
}
}
// Order the singular values.
while (k < pp)
{
if (s[k] >= s[k + 1])
{
break;
}
double t = s[k];
s[k] = s[k + 1];
s[k + 1] = t;
if (wantv && (k < n  1))
{
for (int i = 0; i < n; i++)
{
t = V[i][k + 1]; V[i][k + 1] = V[i][k]; V[i][k] = t;
}
}
if (wantu && (k < m  1))
{
for (int i = 0; i < m; i++)
{
t = U[i][k + 1]; U[i][k + 1] = U[i][k]; U[i][k] = t;
}
}
k++;
}
iter = 0;
p;
}
break;
}
}
}
algo compute an svd decompostion, first he decompose it into qr, and what's next didn't knew how it do to get eigen values and eigen vectors ?






thank you for you're post, I read all the algorithms, and remain all the same.
I didn't get the idea of what they do, first lines of the loop they decompose it into qr,
the diagonal in s and the super diagonal in e. but after ... too hairy (eigen values, eigen vectors)





Then to be honest, you need to learn some math before you start implementation  if you don't understand an algorithm, you have no idea how to debug it (or even how to test it!)
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!





I want to write one code to fill more comboboxes.
The code is running ok except ' mycbox.Items.Add("een") ' in the final rule.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace FindcboBox
{
public partial class Form1 : Form
{
public ComboBox mycbox;
public Form1()
{
InitializeComponent();
{
Cbo1.Items.Clear();
Cbo1.Items.Add("een");
Cbo1.Items.Add("twee");
}
}
private void Button1_Click(object sender, EventArgs e)
{
GetcboBox("Cbo1");
GetcboBox("Cbo2");
GetcboBox("Cbo3");
}
private void GetcboBox(string cbName)
{
mycbox = new ComboBox();
foreach (Control mycbox in this.Controls)
{
if (mycbox is ComboBox & mycbox.Name == cbName)
{
MessageBox.Show("hallo");
mycbox.Text = "kl";
mycbox.Items.Add("een");
}
}
}
}





Please remember we can't see your screen and we don't have access to your requirements so we don't actually know what you mean when you say that the code runs okay except for the final ComboBox. Are you seeing an exception? Not seeing something you'd expect to see?
This space for rent





while writing the code a red line appears unther the text "Items".
while cursor above this remark:
"control does not contain a definition for 'items' and no extension method 'items' accepting a first argument of type ' control' could be found (are you missing a using directive or an assembly reference?)"





That's because mycbo is a Control, not a ComboBox. Look where you defined mycbo , in the foreach .
System.ItDidntWorkException: Something didn't work as expected.
C#  How to debug code[ ^].
Seriously, go read these articles.
Dave Kreskowiak





Dave's answer is the one you should be following. Just for completeness: The reason why Visual Studio shows a squiggly red line under Items is because mycbox is of the type Control and not ComboBox , and as a Control it doesn't have an Items property. You verified that it actually is a ComboBox but that doesn't "automagically" make the variable mycbox of that type. You would have to cast it to ComboBox before being able to access its Items property:
((ComboBox)mycbox).Items.Add("een");
If you get squiggly red lines place the mouse cursor on it and Visual Studio will (usually) give you a pretty good hint at what's wrong with it in a popuptooltip.
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson






You're welcome and good luck
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson





Why on earth are you adding items to a combo box in a method that is named Getsomething and the method doesn't return anything?
Your GetcobBox method is also naive. It will only look in toplevel controls on a form. If they are in containers, such as a Panel or GroupBox, they won't be found.
You've got a lot of learning to do. You're creating a ComboBox control in your GetcboBox method, then throwing it away. You're also not using a logical AND operator in your if statement, you're using a binary AND operator (&).
Your GetcboBox method should be something more like this:
private ComboBox GetComboBoxByName(string name)
{
foreach (Control control in this.Controls)
{
if (control is ComboBox && control.Name == name)
{
return control;
}
if (control.HasChildren)
{
return GetComboBoxByName(name);
}
}
return null;
}
But, there's an even easier way to do it by having the .NET Framework do the work for you. Since you can't have two controls on the form with the exact same name, this will either return the control you're looking for, return null, or throw an exception because the control that was found isn't a ComboBox:
private ComboBox GetComboBoxByName(string name)
{
Control[] candidates = this.Controls.Find(name, true);
return (ComboBox)candidates.FirstOrDefault();
}
Keep in mind, this is an example and is not meant to by used in a production application.
System.ItDidntWorkException: Something didn't work as expected.
C#  How to debug code[ ^].
Seriously, go read these articles.
Dave Kreskowiak





Thanks David!
I'm just started programming in C# so indeed I have to learn a lot.
These answers help me.
Best regards,
J.Dunnewijk





I have a reportviewer with a column have only two value is BA & FA but when i filter this column by like or = function, it couldn't active, change < or > it will active. when tried with other column,it also active.
Please help me fix this problem, i need filter with that column with like, = function.
i used dataparameter to create expression with these functions.






timer.start and timer.stop is not supported in windows ce





This is not a good question  we cannot work out from that little what you are trying to do.
Remember that we can't see your screen, access your HDD, or read your mind  we only get exactly what you type to work with.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!






Read the following from the CP daily news about C# nullable reference types.
Introducing Nullable Reference Types in C#  .NET Blog[^]
I have got to say that this is one of the best new language features that I have seen in a long time. Last I can recall specifically that I liked was generics in Java  like them but didn't care much for the hacked implementation required to make them 'fit' in java.
But, at least based on this description for the feature above in C#, I like the idea and how they are going to implement it.





Since we were talking about patterns in another thread, I assume you're familiar with the Null object pattern  Wikipedia[^]?
Funny article BTW; I did not expect that a "null reference" needed to be implemented as a feature.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]





I believe I looked at that long ago.
C++ api libraries (standard) have a similar class called auto_ptr. I tried it and didn't find it particularly useful. Probably due to the complexity of usage in some cases. Perhaps the same reason that it is now deprecate in C++ (but to be clear I cannot remember why I didn't like it.)





I would not call the example C# code complex.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]



