|
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.
|
|
|
|
|
I want to see ( view ) some files with different formats like "PDF" or "DOC" or "HTML" , ...
how can I do it?
I`m not a professional programmer so help me in a simple way! Please!!!
Also I don`t know how to use a reference or Dll in C# Project
I need your help immediately
Hello Friends
|
|
|
|
|
Laji59 wrote: I need your help immediately
No can do until you rephrase your question in a manner that is more understandable.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
OK
I ask my question in another way :
I have a listbox that there are some names of different EBook in it. these EBooks have different format like "PDF" , "DOC" , "HTML" , ...
Now I want to bring the text of these EBooks in my C# Project
for example I think I need a PDF viewer or doc viewer; but I don`t know how to use it
thanks in advaced
Hello Friends
|
|
|
|
|
Makes sense now. Very tall order and cannot really be done in a forum post. In short, you'll need code that handles rendering the various formats.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
you can help me by giving a code that handles only PDF format
Hello Friends
|
|
|
|
|
Laji59 wrote: help me by giving a code that handles only PDF format
No. I don't give out code, just suggestions on what to do.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
If you can assume that the Adobe Reader is installed on the target machine, you could use a webbrowser-control to display the pdf, if I'm not mistaken.
Michael.
|
|
|
|
|
It sounds like the OP wants to extract from PDF, and DOC files.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
You can assume that a client machine have installed Acrobat Reader or similar software and use System.Diagnostics.Process.Start(string fileName) method to launch a PDF file.
If you don't want to make such assumptions (and you should not), you can attach to the installator a light-weight PDF viewer like a Foxit Reader[^] (the best PDF viewer I've ever seen). On this[^] page you can also get a Foxit SDK which allows you to render pdfs into bitmaps and then use them in your app. Hope it helps.
Greetings - Gajatko
Portable.NET is part of DotGNU, a project to build a complete Free Software replacement for .NET - a system that truly belongs to the developers.
|
|
|
|
|
Thanks a lot, gajatko
but I want to bring the content of Pdf File or Doc File to my Windows Control Like Textbox or other controls
how can I do it?
thanks away
Hello Friends
|
|
|
|