|
You're absolutely right. I made a boo boo. My bad.
|
|
|
|
|
Don't worry - That got me when I first used Random as well. A very badly named parameter in my opinion.
ColinMackay.net
"Man who stand on hill with mouth open will wait long time for roast duck to drop in." -- Confucius
"If a man empties his purse into his head, no man can take it away from him, for an investment in knowledge pays the best interest." -- Joseph E. O'Donnell
|
|
|
|
|
Hi, I am currently learning how to use C#. I have encountered a problem however, I want to make a program with features like adobe photoshop's tiny windows(I mean when we create a new image, a small window for image editing will appear) in the actual program. I don't know how to accomplish this task. Does anyone know how? Thanks
|
|
|
|
|
Create a new WinForm class for every different kind of "tiny window" that you'll need. You'll probably want to add public methods so that the main form can control their contents.
In your main form's class, create member variables for every tiny window that you have. Then have your main form display them "modelessly" via Form.Show().
|
|
|
|
|
Greetings All,
Can anybody pls help in the following.
i have written 2 functions getRecordList and GetRowsList. i am getting casting problem vaResultSet = (string[])GetRowsList(ref SqlDataReader, nStart, nrows); in getRecordList function. can anybody pls have a look at my code pls give your valuable suggestions and mistakes in code. its some what urjent and really it will be very greatful for your earliest replies. thanks in advance.
protected string[] getRecordList(StringBuilder vaInput)
{
setCallerDetails();
SqlCommand sqlCommand;
SqlDataReader SqlDataReader;
string[] vaResultSet;
string[] vaOutput = new string[4];
string szSql;
long nStart;
long nrows;
long nRecordCount = 0;
short i;
try
{
if (Information.IsArray(vaInput))
{
szSql = vaInput[0].ToString();
nStart = vaInput[1];
nrows = vaInput[2];
}
else
{
szSql = vaInput.ToString();
nrows = - 1;
nStart = 1;
}
string StrLastSQL = szSql;
if (openDatabase() == C_RET_SUCCESS)
{
if (Information.Err().Number == 0)
{
if (szSql.Length> 0)
{
sqlCommand = new SqlCommand(szSql, sqlConnection);
sqlCommand.CommandTimeout = iCommandTimeOut;
SqlDataReader = sqlCommand.ExecuteReader();
vaResultSet = (string[])GetRowsList(ref SqlDataReader, nStart, nrows);
if (Information.IsArray(vaResultSet))
{
for (i = 0; i <= Information.UBound((System.Array) vaResultSet, 1); i++)
{
if (Information.IsArray(vaResultSet))
{
nRecordCount = nRecordCount + vaResultSet[1];
}
}
}
else
{
nRecordCount = 0;
}
vaOutput[0] = "E" + Information.Err().Number;
try
{
if (Information.IsArray(vaResultSet))
{
if (Information.UBound((System.Array) vaResultSet, 1) == 0)
{
vaOutput[1] = vaResultSet[0][0].ToString();
}
else
{
vaOutput[1] = vaResultSet.ToString();
}
}
}
catch (Exception ex)
{
HandleError(ex, C_CLASS_NAME, true);
}
vaOutput[2] = nRecordCount.ToString();
vaOutput[3] = Interaction.IIf(! Information.IsNothing(vaResultSet), Interaction.IIf(Information.IsArray(vaResultSet), Information.UBound((System.Array) vaResultSet, 1), 0), 0).ToString();
SqlDataReader.Close();
}
else
{
vaOutput[0] = "EC01";
}
}
else
{
vaOutput[0] = "E" + Information.Err().Number;
}
closeDatabase();
}
}
catch (Exception ex)
{
vaOutput[0] = C_RET_FAIL;
HandleError(ex, C_CLASS_NAME, true);
}
return vaOutput;
}
**************************************
protected object GetRowsList(ref SqlDataReader oReader, long nStart, long nRows)
{
int nCols;
long rCnt = 0;
long nbegin = 0;
long nEnd = 0;
ArrayList vaResultSet = new ArrayList();
bool bAll = false;
bool bExit = false;
//sai need to check above 2 variables false or true
try
{
do
{
rCnt = 0;
nCols = oReader.FieldCount;
if (nStart == 1 && nRows == - 1)
{
nbegin = 0;
bAll = true;
}
else if (nStart > 0 && nRows == - 1)
{
nbegin = nStart - 1;
bAll = true;
}
else if (nStart > 0 && nRows > 0)
{
nbegin = nStart - 1;
nEnd = nbegin + nRows - 1;
}
ArrayList vaArray = new ArrayList();
while (oReader.Read())
{
if (! bExit)
{
if (nbegin <= rCnt &&(nEnd >= rCnt || bAll == true))
{
try
{
object[] values = new object[nCols-1];
oReader.GetValues(values);
vaArray.Add(values);
}
catch (Exception ex)
{
HandleError(ex, C_CLASS_NAME,false);
//sai need to check, boolean is true or false
}
}
else if ((bAll == false) &&(nEnd < rCnt))
{
bExit = true;
}
}
rCnt = rCnt + 1;
}
object[] vaOut = new object[] { vaArray, rCnt };
vaResultSet.Add(vaOut);
} while (oReader.NextResult());
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
HandleError(ex, C_CLASS_NAME,false);
}
return vaResultSet;
}
Thanks in advance
Sai
|
|
|
|
|
I see two issues here.
1) Your GetRowsList() method's return type is Object, but it actually returns an ArrayList. You lose type safety because of this. It would be better to make the return type more explicit such as ArrayList or at least ICollection.
2) You're casting the returned ArrayList into a string array, which of course it is not.
Here's a solution. Why not not make the return type of GetRowsList() a string[]? You can then convert the ArrayList to a string array and return that instead. Then you can remove the the cast done in the other function.
protected string[] GetRowsList(ref SqlDataReader oReader, long nStart, long nRows)
{
ArrayList vaResultSet = new ArrayList();
return (string[])vaResultSet.ToArray(typeof(string));
}
|
|
|
|
|
Hi all,
I want to create an application that create a movie (mpeg-2) from seperate images.
please anyone help for an idea, links, component, API or resourcess. Currently im newbie in mpeg-2.
Thanks for your help.
Tutnik,
University of Udayana, Bali, Indonesia
-- modified at 0:44 Monday 16th January, 2006
|
|
|
|
|
Check C# multimedia section.
Just an advice, avoid to write so freely your email if you don't want hundred of spam email into your e-mail.
Bye
|
|
|
|
|
Just as another user of this forum i've a big problem!!
I've a list of custom controls i've to show inside a panel one under the other.
I've created a custom scrollbar made by 3 panels 2 for button up and down the other for the scrolling.
Now i've to add these Controls inside the panel but if they are 1000 i can't put all of these!!
Then ho can i scoll them using my custom scrollbar?
|
|
|
|
|
You really have to rethink your design. You can't put 1,000 controls on a form and expect it to run.
That's 1,000 windows on the form and a window handle to get with each. You're form will take forever to come up while all those controls are just added to the form. That doesn't include drawing them! You might be able to get away with managing to add only the visible controls to the form, but be prepared for a complicated design.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I have to agree with Dave. You should tell us what you want to display. Probably a customized grid control or something like this would fit better in your situation.
If you still want to use controls you will have to make a UserControl, add your scrollbars to it and then manually reposition all controls when your scrollbars are changed.
|
|
|
|
|
the control is made by a panel with an image as background, some label end textbox within.
|
|
|
|
|
Cuold be done by a grid control. Search for Source Grid 3. It's really cool. You surely would have to exchange the scrollbars.
Another idea:
Instead of placing so many of your controls into one panel you could only place as much as fit into it. When the user then scrolls you just need to exchange their content - not actually scrolling them.
|
|
|
|
|
where have i to serch for Source Grid 3? In this forum?
Another thing how i can to exchange the scrollbars?
|
|
|
|
|
1. http://www.devage.com/[^]
2. You will probably have to figure out it yourself. As you can get the whole source code you will just have to find the scrollbar and replace it.
|
|
|
|
|
is it possible to do that using DataGrid or other fully freely controls as Visual Studio are.
i'm forced to wirte their credit in my software
|
|
|
|
|
I'm looking for a way to trace changes in the status of DataGridBoolColumn.
(Checked, Unchecked...)
|
|
|
|
|
Hi,
that's a bit tricky as it is hidden within the class. You could probably do it with reflection but I would recommend taking Reflector, decompiling the whole class and extending the ToggleValue function with a custom event.
|
|
|
|
|
Can you be a bit more specific? Maybe even direct me to an example how to do such a thing?
I have experiance in writing custom controls but I'm not sure that event I need to catch.
|
|
|
|
|
The problem is that you can't modifiy the existing one directly because the needed functions are either internal or protected. Instead of modifying it you could decompile the whole class (you can do this with for example Lutz Röders Reflector) and modify it. You would then have to change the function ToggleValue with some event or whatever suits you best.
When you are finished you would have to add your custom column style instead of the standard one to your grid.
Clear enough?
|
|
|
|
|
Not really. I'm sure there is a much simple solution to this not to complicated problem.
I'll continue look for it.
|
|
|
|
|
Good luck then.
|
|
|
|
|
Hye iam working on a chess game . My selection and movement of pieces in game is dependent upon Mouse Down event as the thingi is being developed in OnPaint event . However , i am working on the idea that if the number of clicks of mouse is 1 it selects the piece and then when i click 2nd time it puts the piece there as in EVEN number of clicks . Naow i have created objects for all squares in the board with their i and j position on matrix BOARD and x and y position signifying coordinates . What i do not figure out is a way IS
1 - When i click in another square i want the piece to disappear from the previous box and redraw in the new box .
2- Wherever i click in the box the piece is put at the exact minimum pixel location rather than missing out the coordinates and being put somewhere on the edge of the square.
3- The declaration of objects of boxes with info on i,j matrix position and the x, y coordinate info should be in
1- MAIN
2- BOARD CLASS (if yes how will it be accessible to mouse down)
3- MOUSE DOWN EVENT
4- The status function which finds out whether there is a piece in that box already or not . Where should this function be and any ideas regarding all of this will be really really really appreciable .
Looking forward to your responses and magnanimous input . REALLY appreciate any help guyz ....... ASAP
|
|
|
|
|
1 - When you click the first time, you store which piece has been clicked on, in memory. When you click, if a piece has been stored to move, you move it.
2 - You store the co-ordinates of each square, and you store the pixel to draw on within that square.
3 - not sure of the question ?
4 - I would have a dictionary which takes a point as a key, and use points that store indexes into the grid. It should be part of the grid class, I reckon, the grid should be responsible for reporting what it can do, and where it is at
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
You might also consider looking at the already published articles[^] about chess game programming.
|
|
|
|