|
Make what work on FormLoad? And what does any of this have to do with video capture?
There is clearly a bug in your code, but without seeing it no one can guess what you are doing wrong. Please try and explain your problem in proper detail.
|
|
|
|
|
want to click user picture and save it without knowing to user. that can be used for tracking lost laptop.
as I'm new i thought it would work if i copy paste code from btn click to form load.
|
|
|
|
|
Member 11388199 wrote: i thought it would work if i copy paste code from btn click to form load. Programming is, I am afraid, a bit more than that.
|
|
|
|
|
thanks for help !
AND FOR YOUR KIND INFO I MADE IT WORK! THE ISSUE IS ITS JST NOT SAVING THE CAPTURED IMAGE.! it does all in background! see "ctrl c" "ctrl v" works !
|
|
|
|
|
Please do not shout. We are all capoable of reading normal sentences.
|
|
|
|
|
|
On Form Load, the image probably hasn't been loaded into the picture box yet - try in the Form Shown event instead, which occurs once when the form is first displayed.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
What does any of this have to do with "tracking a lost laptop"?
If the laptop is lost or stolen, what does taking a screen shot or video of the screen contents have to do with finding it?
|
|
|
|
|
Well, the thief might be at home and using Google maps...
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
And conveniently holding Google Maps up beside there face with a handy marker labeled "Home" on it.
|
|
|
|
|
Ah, but Herself watches all these US crime documentaries: NCIS, CSI, you know the ones. So all you have to do is take the picture, zoom in on the guys eyeball, isolate the reflection of the computer and you can read the IP address because it's encoded in the screen pixels.
As you well know...
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
If you are chasing a lost laptop, would it not be better to send the location details, IP address, or internet connection in the background. Just how useful do you expect an image to be!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
|
|
I figured out to add a new record to the table, but I can't figure out how to update an existing record.
I'm not sure how to proceed here.
I tried Add again, but it bombed in the entity part.
This is my first time doing this using the DAL without binding, actually I have no clue how to bind it either.
private int data_Save(Guid pValue)
{
int dwRCode = 2;
string m_businessName = BusinessNameTextBox.Text.Trim();
string m_firstName = firstNameTextBox.Text.Trim();
string m_lastName = lastNameTextBox.Text.Trim();
StoreContext context = new StoreContext();
if (Guid.Empty == pValue)
{
Customer c = new Customer
{
BusinessName = m_businessName,
FirstName = m_firstName,
LastName = m_lastName
};
context.Customers.Add(c);
dwRCode = context.SaveChanges();
}
else
{
dwRCode = context.SaveChanges();
}
return dwRCode;
}
|
|
|
|
|
I wrote the delete record, and figured update was similar in code.
I'm sure about the return value from save, it the int is the record added or if 1 = added successfully, and 0 = updated successfully
private int data_Save(Guid pValue)
{
int dwRCode = 2;
string m_businessName = BusinessNameTextBox.Text.Trim();
string m_firstName = firstNameTextBox.Text.Trim();
string m_lastName = lastNameTextBox.Text.Trim();
StoreContext context = new StoreContext();
if (Guid.Empty == pValue)
{
Customer c = new Customer
{
BusinessName = m_businessName,
FirstName = m_firstName,
LastName = m_lastName
};
context.Customers.Add(c);
dwRCode = context.SaveChanges();
}
else
{
var customer = context.Customers.Where(i => i.ID == pValue).FirstOrDefault();
if (customer != null)
{
context.Customers.Attach(customer);
customer.BusinessName = m_businessName;
customer.FirstName = m_firstName;
customer.LastName = m_lastName;
dwRCode = context.SaveChanges();
}
}
return dwRCode;
}
|
|
|
|
|
Never printed graphics before, I am stuck in the beginning.
I've got some graphics elements, like rectangles and circles. They show OK on the screen. Now I need to print them keeping proper scaling: all sizes are in millimetres. And first question is: how do I print a rectangle 100 x 100 mm? What size on paper does this rectangle have:
gr.DrawRectangle(Pens.Black, 100, 100, 100, 100)?
I know it must be linked somehow to default printer's resolution, but I am lost: could not find anything useful in help.
(using C# in Visual Studio 2012)
Thank you
|
|
|
|
|
Set the Graphics.PageUnit[^] to mm:
gr.PageUnit = GraphicsUnit.Millimeter; And all subsequent drawing references will use mm instead of pixels regardless of the device being drawn onto. Note that this won't necessarily be accurate on a monitor, where the system doesn't really know what size it is anyway!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
I have a dialog form, you can add or edit customers, the owner of the project choose to use a Guid value.
How do I write the public dialog function to accept a null value or a valid Guid?
I tried the ?, but got a conversion error, not suite sure what it means.
Then I get Guid is non nullable
public dialog_customerDetails(Guid? position)
{
InitializeComponent();
if (position != null)
{
_position = position;
}
}
Then in the calling form
Guid m_value= new Guid(item.SubItems[0].Text);
dialog_customerDetails dialog_CD = new dialog_customerDetails(m_value);
if (new dialog_customerDetails(null).ShowDialog() == DialogResult.OK)
|
|
|
|
|
Guid is a valuetype, which means that it can't contain a null value - only references can be null .
When you declare it as
Guid? m_value; You are declaring it as a different type altogether, so you can't assign a Guid? type value directly into a Guid - and you can;t convert a null from a Guid? to a Guid value anyway!
Instead of null , use Guid.Empty instead:
public dialog_customerDetails(Guid position)
{
InitializeComponent();
if (position != Guid.Empty)
{
_position = position;
}
} And use Guid throughout instead of Guid?
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
oh It's that simple, I starting to get c# better now.
Guid.Empty
Say, could you look at my previous post below, post 3 on the way I loaded the data from the DAL?
If you have free time.
Just wanted to confirm that I'm on the right track before I write more of it.
|
|
|
|
|
The documentation for this is obscure and all over the place. I'm trying to get the solution open in THIS instance of VS:
using EnvDTE;
using EnvDTE80;
using System;
using System.Windows.Forms;
namespace EnvDTE_Test
{
class Program
{
static void Main(string[] args)
{
EnvDTE80.DTE2 dte2 = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.11.0");
try
{
Project prj = dte2.Solution.Projects.Item(1);
Projects prjs;
string msg, msg2 = "Global Variables:";
msg = "FileName: " + prj.FileName;
msg += "\nFullName: " + prj.FullName;
msg += "\nProject-level access to " + prj.CodeModel.CodeElements.Count.ToString() + " CodeElements through the CodeModel";
prjs = prj.Collection;
msg += "\nThere are " + prjs.Count.ToString() + " projects in the same collection.";
msg += "\nApplication containing this project: " + prj.DTE.Name;
if (prj.Saved)
msg += "\nThis project hasn't been modified since the last save.";
else
msg += "\nThis project has been modified since the last save.";
msg += "\nProperties: ";
foreach (Property prop in prj.Properties)
{
msg += "\n " + prop.Name;
}
foreach (String s in (Array)prj.Globals.VariableNames)
{
msg2 += "\n " + s;
}
MessageBox.Show(msg, "Project Name: " + prj.Name);
MessageBox.Show(msg2);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
I previously opened 2 other instances of VS, and this gives me the first one, not the none this code is running in.
Anyone know what I'm doing wrong?
Thanks
If it's not broken, fix it until it is
|
|
|
|
|
Hi,
I need to create a data structure that is very tree like that operates similar to a directory structure. For example:
/ch - will add "ch" to root
/ch/01/config - will add "01" to ch from above and "config" to 01
/ch/02/insert - will add "02" to ch from first line and "insert" to 02
/ch/01/mix/01 - will add "mix" to 01 from second line and "01" to mix
/config/chlink - will add "config" to root and "chlink" to config
which will result in a Tree layout like:
root->ch ->01 ->config
->mix ->01
->02 ->insert
->config->chlink
I have been playing with this for a while now and just can't get anything I write to function in this way. If anyone could point me in the right direction it would be much appreciated!
|
|
|
|
|
DaveyM69 wrote: If anyone could point me in the right direction it would be much appreciated! You'd need a class that can hold a reference to itself (the parent) and a collection of its childeren. Like below;
using System;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
class Program
{
public class Folder
{
Collection<Folder> _children;
public Folder Parent { get; private set; }
public string Name { get; set; }
public Collection<Folder> Children { get { return _children; } }
private Folder(Folder parent, string name)
{
_children = new Collection<Folder>();
Parent = parent;
Name = name;
}
public static Folder CreateNewRoot()
{
return new Folder(null, "Root");
}
public Folder CreateFolder(string name)
{
var result = new Folder(this, name);
this.Children.Add(result);
return result;
}
public override string ToString()
{
Folder currentFolder = this;
var pathBuilder = new StringBuilder();
while (currentFolder != null)
{
pathBuilder.Insert(0, currentFolder.Name);
pathBuilder.Insert(0, '/');
currentFolder = currentFolder.Parent;
}
return pathBuilder.ToString();
}
}
static Folder CreatePath(Folder startingFolder, string path)
{
string[] pathParts = path.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
Folder currentFolder = startingFolder;
for (int i = 0; i < pathParts.Length; i++)
{
string targetName = pathParts[i];
Folder targetFolder = null;
if (0 != currentFolder.Children.Count())
targetFolder = currentFolder.Children.FirstOrDefault(f => f.Name == targetName);
if (null == targetFolder)
{
targetFolder = currentFolder.CreateFolder(targetName);
}
currentFolder = targetFolder;
}
return currentFolder;
}
static void DumpFolderToConsole(Folder fromWhere)
{
Console.WriteLine(fromWhere);
foreach (Folder folder in fromWhere.Children)
{
DumpFolderToConsole(folder);
}
}
static void Main(string[] args)
{
Folder root = Folder.CreateNewRoot();
CreatePath(root, @"/ch");
CreatePath(root, @"/ch/01/config");
CreatePath(root, @"/ch/02/insert");
CreatePath(root, @"/ch/01/mix/01");
CreatePath(root, @"/config/chlink");
DumpFolderToConsole(root);
Console.ReadLine();
}
} Outputs
/Root
/Root/ch
/Root/ch/01
/Root/ch/01/config
/Root/ch/01/mix
/Root/ch/01/mix/01
/Root/ch/02
/Root/ch/02/insert
/Root/config
/Root/config/chlink Some remarks; the example also creates sub-folders if required, even if the starting list was shorter than the resulting dump. It does not contain provisions for other stuff yet, like files. If you want such a structure (complete with a byte[] for the file-class), then there's an example in an article[^] I wrote.
--edit
You asked for a class, not for code; I'd recommend the TreeNode , as it contains a lot what you'd want out of the box. Another advantage thereof would be that it'd be very easy to visualize in a TreeView .
---- edit
PO'H - I unchecked the "Use Markdown formatting" checkbox for you. This fixed the odd layout issues in your code block.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
modified 14-Apr-15 8:47am.
|
|
|
|
|
Thanks Eddy, I'll try this tomorrow
It's actually to hold and look up against OSC[^] addresses for a particular device. I don't need all the wild card stuff thankfully so with what you've given me I should be close.
Thanks again
|
|
|
|