|
Are you saying to keep placing this flowcontrol dynamically or do you place it many times on the form
and call the control to it???
|
|
|
|
|
Research the flowcontrol, you will find you place 1 FC and add your UCs to it, the FC manages your positioning (according to your settings) and scrolling.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
thanks Ill take your advice and give it a go
cheers
ideasman
|
|
|
|
|
I am relatively new to C#.
Very generally, how would you implement an authentication system?
You would have a user input form where the user puts username and password.
I suppose a database table would store a permission set?
Suppose you wanted to take the permission and disable some controls on forms.
|
|
|
|
|
|
Is it a web or windows application?
You can´t manage new logins without a database.
Make SQL store procedures for to add,delete logins, to login and to logout.
For security, let only your users execute your written store procedures, (don´t let then type sql for exemple).
|
|
|
|
|
Dear All,
I would like to import excel file to my datatable and i want to connect to excel 2007 using this string.
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=my.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";
but i am getting this exception
"could not find installable ISAM"
you are really appreciated to assist me in solving this problem.
Abdul Rahaman Hamidy
Senior Student Student in Computer Science
Kabul, Afghanistan
Software Developer
|
|
|
|
|
Abdul Rahman Hamidy wrote: Provider=Microsoft.ACE.OLEDB.12.0;Data Source=my.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";
I can't help you with this approach, but i've always used this when I use Excel.
Cheers,
|
|
|
|
|
Hello C# programmers,
I currently dabble in programming with regular expressions. My problem is that I don't know, how I can extract a match if the programm finds one in a string. I already googled, but I couldn't found a site that could explain me how to manage it. I already tried Match and MatchCollection but it did not work. My previous source is following:
string test = "gjhsdjfjhfsdfjhsdf\ntztrzrtz\n\"http://screenshots.filesnetwork.com/68/potd/t_1215615627_85.jpg\"\nggdgfdg56ggdg";
string pattern = @"|.+\""http\://screenshots\.filesnetwork\.com/68/potd/t_[0-9]+_[0-9]+\.jpg\"".+|""";
Regex re = new Regex(pattern,RegexOptions.Multiline);
I am helpless with the rest, even though I know that it won't be that difficult.
I'm looking forward to your answers.
Best regards
MyPiano
modified on Sunday, August 3, 2008 8:52 AM
|
|
|
|
|
Your pattern is broken and you're confusing Multiline and Singleline.
I suggest you play with Expresso[^] ( it's free )
----------------------------------
Be excellent to each other
|
|
|
|
|
Thanks for the answer. The tool is great, but it does not tell me, how I can extract the Matches.
The new pattern:
string pattern = ".+(\"http\\://screenshots\\.filesnetwork\\.com/68/potd/t_[0-9]+_[0-9]+\\.jpg\").+";
By the way, the real string I am searching in looks so:
...
src="http://screenshots.filesnetwork.com/68/potd/t_1215615627_85.jpg" alt="Knights of the Old Republic 2" width="160" height="120"
...
EDIT:
I made a little progress:
Match m = re.Match(webSource);
richTextBox1.Text = m.Value;
I get an extract from the whole html document now, but it is still to big. All I want to extract is this part, which my pattern shell find:
http:
EDIT II: I think I got it now. The mistake was the .+ at the start and at the end.
If someone finds more mistakes or has tipps for me, I would be glad to read them.
Best regards
Joris
|
|
|
|
|
The Value property of the Match object contains the entire string that was matched. The Groups collection contains the values from the groups that you specified in the pattern, in this case the group matching the url.
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
Okay, thank you very much.
|
|
|
|
|
Hello
I am using Visual Studio 2005 and C# to develope a Windows application.
I have a DataGridView and when the clicks on a cell a UserControl is create and displayed on the DataGridView at the position of the cell and with the size of the cell. When I scroll the DataGridView the position of the UserControls are also recalculated to still be displayed on the original cell where the user clicked. In other words the UserControls are scrolled with the cells that they are on. When the cell is scrolled off the screen (cell.Displayed = false) then the UserControl is also not displayed.
I am using the DataGridView.Scroll event for this. The problem is when the cell is scrolled back onto the screen it does not disply the UserControl, because the Scroll event fires at the beginning of the scroll before the specific cell has been scrolled back into view.
Is there a way of detecting when the scrolling has completed so that I can then call the method to reposition the UserControls?
Thanks.
Kobus
|
|
|
|
|
kbalias wrote: at the position of the cell and with the size of the cell
Can you not add the UC into the cells control collection! If possible this may solve your scroll issue!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
I need the UC to be able to be resized so that it can span more than one Cell if needed. I do not think that I'll be able to do that if the UC is part of the Cell.
The closest example of what I am trying to do is the Calendar in Microsoft Outlook where an appointment can span many time slots. I am using the UserControls like the appointments.
Kobus
|
|
|
|
|
kbalias wrote: Calendar in Microsoft Outlook
Hmm if the UC us occluding multiple sells I would think you would need to close the UC to see the underlying cells. It should be reasonable that if the user scrolls the row out of view it reverts to it's closed state.
Sorry I'm not being an use at all here, I have absolutely no idea how you are going to achieve what you want to do I hope someone else can be more useful.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Well I hope its a challenge or i'm going to look stupid...
I've got some code (below) that is looking really ugly, but i'm not sure how ot simplify it. Ive posted a small portion of it, but there are approx 20 of these "if" blocks.
The variable "record" is a structure (and all its members are strings), and Fields in an enum (int). (If you need it, grid is a 2D object array, and fields is a dictionary)
Anyone have any idea's on how to compact this code?
<br />
char value;<br />
if (this.fields.TryGetValue((int)Fields.COMPANY, out value)) <br />
record.company = grid[1, (int)value - 64].ToString();<br />
<br />
if (this.fields.TryGetValue((int)Fields.EMAIL, out value))<br />
record.email = grid[1, (int)value - 64].ToString();<br />
<br />
if (this.fields.TryGetValue((int)Fields.FAX, out value))<br />
record.fax = grid[1, (int)value - 64].ToString();<br />
<br />
if (this.fields.TryGetValue((int)Fields.FIRSTNAME, out value))<br />
record.firstName = grid[1, (int)value - 64].ToString();<br />
<br />
Cheers,
|
|
|
|
|
Oh for a preprocessor...
How about this:
static Dictionary<Fields, Action<Record, string>> sLinks;
static void InitLinks()
{
sLinks = new Dictionary<Fields, Action<Record, string>>();
sLinks.Add( Fields.COMPANY, ( record, value ) => record.company = value );
sLinks.Add( Fields.EMAIL, ( record, value ) => record.email = value );
sLinks.Add( Fields.FAX, ( record, value ) => record.fax = value );
sLinks.Add( Fields.FIRSTNAME, ( record, value ) => record.firstName = value );
...
}
char value;
foreach ( var link in sLinks )
{
if ( fields.TryGetValue( ( int ) link.Key, out value ) )
link.Value( record, grid[ 1, ( int ) value - 64 ].ToString() );
}
----------------------------------
Be excellent to each other
|
|
|
|
|
You are sending a copy of the record structure to the actions, so the original will remain unchanged.
It's a bit uglier to use the record variable directly in the actions, but it might at least work....
[Edit: removed the code, it wasn't correct anyway, and suffered from the lack of html coding in the forum...]
Despite everything, the person most likely to be fooling you next is yourself.
modified on Sunday, August 3, 2008 8:52 AM
|
|
|
|
|
doh
delegate void LinkDelegate( ref Record t, string v );
static Dictionary<Fields, LinkDelegate> sLinks;
static void InitLinks()
{
sLinks = new Dictionary<Fields, LinkDelegate>();
sLinks.Add( Fields.COMPANY, ( ref Record r, string v ) => r.company = v );
sLinks.Add( Fields.EMAIL, ( ref Record r, string v ) => r.email = v );
sLinks.Add( Fields.FAX, ( ref Record r, string v ) => r.fax = v );
sLinks.Add( Fields.FIRSTNAME, ( ref Record r, string v ) => r.firstName = v );
...
}
char value;
foreach ( var link in sLinks )
{
if ( fields.TryGetValue( ( int ) link.Key, out value ) )
link.Value( ref record, grid[ 1, ( int ) value - 64 ].ToString() );
}
----------------------------------
Be excellent to each other
|
|
|
|
|
Thanks Nick,
I'll give it a go.
Cheers,
|
|
|
|
|
So you have a 2D grid of values, a struct to hold the values from one row, and an enumeration to map columns in one to fields in the other.
And you fill a Dictionary with the enumeration values.
1) Why is the key type of the Dictionary int rather than Fields?
2) Why is the value type of the Dictionary char rather than int?
3) Why do you protect yourself against missing values in the dictionary?
4) What's with the -64 ?
If the Dictionary is set up properly you should be able to do:
record.firstName = grid [ 1 , fields [ Fields.FIRSTNAME ] ].ToString() ;
The question is; how much control do you have over these details?
In fact, the grid would be more useful as object[][] rather than object[,] .
The possibilities are endless.
|
|
|
|
|
PIEBALDconsult wrote: 1) Why is the key type of the Dictionary int rather than Fields?
2) Why is the value type of the Dictionary char rather than int?
3) Why do you protect yourself against missing values in the dictionary?
4) What's with the -64 ?
1. Good point .
2. Because it is importing data from an Excel spreadsheet, the char is the user defined column where the field is located
3. Above.
4. To convert the ASCII letter to its appropriate index in the object array
PIEBALDconsult wrote: The question is; how much control do you have over these details?
In fact, the grid would be more useful as object[][] rather than object[,].
Your a bright man . My code needs to be re-thought a bit here to clean it up.
Thanks for your help.
|
|
|
|
|
I would still handle 2, 3, and 4 when I create the Dictionary, rather than later.
MarkBrock wrote: Your a bright man
And don't you forget it.
|
|
|
|