Diamonddrake 397 Master Poster

Using a csv file would only be a good choice if the program would allow for multiple users, or for multiple sets of data, or on a portable media such as a flash drive and you wanted to be able to save settings and data together for load when necessary.

the C# system settings located in the properties namespace actually saves the preferences in the user folder on the harddrive, C:\Documents and Settings\User\Local Settings\Application Data\programname\exename and identifiing data\buildnumber\user.settings

and is very simple to use, automatically creates the file on run if the system lacks one. and the data stays persistant. So even if it was a standalone app. and you were running it off a flash drive, as long as its used on the same computer and the same user. The settings would load.

So, in most cases. I agree with ddanbe. the properties.settings method is the best and easiest way to go about something simple like this.

ddanbe commented: I'm just a simple guy, your knowhow is unquestionable! +5
Diamonddrake 397 Master Poster

ok, I have edited the example that comes with the download you linked me to to support a background thread that supports cancellation. It works perfect. Turns out with that code several things had to be done, the whole framegrabber object needed to be created in the new thread,(which is what I was trying to get at before) also the paths needed to be passed to the thread by and object. the preview image needed to be passed as a progress object argument and set via the progressed changed event. a check had to be added to the loop that extracts the frames to check for a cancellation. and since cancel and grab will never need to be pused at the same time, I simply added a switch to make them the same button.

This is the entire class from the project edited. replace the entire class in your project with this one, or just edit it to match. If you have any questions just ask. remember to add a background worker and set its event handers to the ones I added to the class.

This code is tested and effective, if you need a VS2008 Example. I have it and can post the finished working code if need be.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using User.DirectShow;

namespace FrameGrabberTester
{
	public partial class Form1 : Form
	{
		//private FrameGrabber fg;
        private string pathFILE;

		public Form1()
		{
			InitializeComponent();
		} …
Ramy Mahrous commented: Done well! perfect. +7
Diamonddrake 397 Master Poster

wow. there are free graph classes out there, tutorials too, if you can't find one, then you aren't looking hard enough. Also, if you found something you can't implement, you are much better off, linking us to your example, posting what you are doing, and letting us show you what you did wrong.

Simple questions get more answers, we are all busy people, we would love to help you out. but not all of us have time to write classes from scratch to answer questions.

ddanbe commented: Well said! +5