|
You can use a Generic List or a Collection instead of an array and then use its Add method.
mprice214 wrote: can a function return different data types eg. string, double, etc.
A single method, no. You can have out parameters to return multiple values from a method.
|
|
|
|
|
I'm not familiar with that, but will look into it.
|
|
|
|
|
mprice214 wrote: return that array
Don't. Create a List and use its AsReadOnly property to return an IList.
|
|
|
|
|
PIEBALDconsult wrote: Don't. Create a List and use its AsReadOnly property to return an IList.
Can you elaborate as to why this would be better?
|
|
|
|
|
|
In two sentences or less?
|
|
|
|
|
I googled and binged and asked, but could not a find a perfect example on how to do this.
So, I gave it all I had.
I am trying to watermark a FLV video. I came across a forum that said you can use ffmpeg to do it. So, I looked around and got an idea of what I was going to do to get this to work.
The problem is that the below code does not work. Meaning that it does not watermark an image.
Process process = new Process();<br />
process.StartInfo.UseShellExecute = false;<br />
process.StartInfo.RedirectStandardInput = true;<br />
process.StartInfo.RedirectStandardError = true;<br />
process.StartInfo.CreateNoWindow = true;<br />
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;<br />
process.StartInfo.FileName = "C:\ffmpeg\ffmpeg.exe";<br />
process.StartInfo.Arguments = "ffmpeg -y -i ‘C:\video.flv’ -vhook ‘C:\ffmpeg\ffmpeg.exe' -f C:\Image.gif";<br />
process.Start();<br />
Thanks,
Harsimran Singh
1) The good news about computers is that they do what you tell them to do. The bad news is that they do what you tell them to do. - Ted Nelson
2) Why is it drug addicts and computer afficionados are both called users? - Clifford Stoll
3) The real danger is not that computers will begin to think like men, but that men will begin to think like computers. - Sydney J. Harris
(Computer code: 00001111 - translation: Hello! :P )
REMEMBER:
"Computers are made for us, we are not made for th
|
|
|
|
|
Hi,
That look's to be a very strange set of arguments. Does it work from the command prompt, i.e. this command line
C:\ffmpeg\ffmpeg.exe ffmpeg -y -i ‘C:\video.flv’ -vhook ‘C:\ffmpeg\ffmpeg.exe' -f C:\Image.gif
Alan.
|
|
|
|
|
hello i have tried but it gives this output
C:\Documents and Settings\jay>D:\Data\Project\Project\Builds\ffmpeg-r25512\bin\f
fmpeg.exe ffmpeg -y -i 'D:\Data\Project\Project\Builds\ffmpeg-r25512\bin\Demo.mp
4' -vhook D:\Data\Project\Project\Builds\ffmpeg-r25512\bin\ffmpeg.exe'-f D:\Data
\Project\Project\Builds\ffmpeg-r25512\bin\tttt.jpg
FFmpeg version SVN-r25512, Copyright (c) 2000-2010 the FFmpeg developers
built on Oct 18 2010 04:06:45 with gcc 4.4.2
configuration: --enable-gpl --enable-version3 --enable-libgsm --enable-pthread
s --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libmp3lame --
enable-libopenjpeg --enable-libschroedinger --enable-libopencore_amrwb --enable-
libopencore_amrnb --enable-libvpx --arch=x86 --enable-runtime-cpudetect --enable
-libxvid --enable-libx264 --extra-libs='-lx264 -lpthread' --enable-librtmp --ext
ra-libs='-lrtmp -lpolarssl -lws2_32 -lwinmm' --target-os=mingw32 --enable-avisyn
th --cross-prefix=i686-mingw32- --cc='ccache i686-mingw32-gcc' --enable-memalign
-hack
libavutil 50.32. 3 / 50.32. 3
libavcore 0. 9. 1 / 0. 9. 1
libavcodec 52.92. 0 / 52.92. 0
libavformat 52.83. 0 / 52.83. 0
libavdevice 52. 2. 2 / 52. 2. 2
libavfilter 1.52. 0 / 1.52. 0
libswscale 0.12. 0 / 0.12. 0
Unable to find a suitable output format for 'ffmpeg'
so what is it ?
please help me
|
|
|
|
|
Hi All,
I have a very basic windows applications form working.
I would like to add this public function so that I can call it in the form code.
public static DateTime PauseForMilliSeconds( int MilliSecondsToPauseFor )<br />
{<br />
<br />
<br />
System.DateTime ThisMoment = System.DateTime.Now ;<br />
System.TimeSpan duration = new System.TimeSpan( 0, 0, 0, 0, MilliSecondsToPauseFor ) ;<br />
System.DateTime AfterWards = ThisMoment.Add( duration ) ;<br />
<br />
<br />
while ( AfterWards >= ThisMoment )<br />
{<br />
System.Windows.Forms.Application.DoEvents() ;<br />
ThisMoment = System.DateTime.Now ;<br />
}<br />
<br />
<br />
return System.DateTime.Now ;<br />
}<br />
<br />
Where do I paste this function so I can call it on the windows form.
How do I add files with functions to my code.... do I have to encapsulate them in a class?
Thanks in advance
Joe
|
|
|
|
|
What is that code supposed to do? Disable the form for a certain duration? Instead, set "this.Enabled = false;" and create a timer that sets "this.Enabled = true;"
You can create a button on your form, double click it (that will create a button click event handler), then call the code you have above from that method.
joey_go wrote: How do I add files with functions to my code.... do I have to encapsulate them in a class?
Sounds like you have some reading/Googling to do.
|
|
|
|
|
My application writes some text to a textbox then I will call a 1 second delay (1000 millisecond) then write different data to the textbox.
I'm probably lacking the fundamentals on how to call functions (methods) in C# and where to locate it in the files/classes.
In C I would create the function prototype and the function and then call this function within main().
Calling the function on the form isn't the issue... it's how do I add this function (method) in to my Visual studio 2008 C# Windows form application.
Any clues would be appreciated.
Joe
|
|
|
|
|
joey_go wrote: Calling the function on the form isn't the issue... it's how do I add this function (method) in to my Visual studio 2008 C# Windows form application.
Hi Joe,
I'm still pretty wet behind the ears, but thought I could take a swing. If you select the "view code" button under the Solution Explorer (2nd from right) in the form [design] view or just double click the header of the form, you'll see the code for the form. You have a namespace and then under that probably "public partial class "formName" : Form, followed by an open curly bracket. Your function needs to be somewhere in between the open and closed curly brackets. You can then call it in Form_Load, button_Click, etc.
Please be gentle if I've just wasted your time reading this....
|
|
|
|
|
To answer your direct question, in C# all methods (functions in C) have to be within a class or struct.
To look at a couple of other points, Application.DoEvents is rarely the correct solution. Here you are trying to keep your UI active when in reality it's busy in your while loop.
The correct way to achieve this is to start another thread and do the pause on that, when it completes it can use a callback (event in C#) so it can be acted upon. There are a few controls such as System.Windows.Forms.Timer that have the threading taken care of for you invisibly - it has a property called Interval (measured in milliseconds!) and a Tick event.
using System;
using System.Windows.Forms;
public partial class FormMain : Form
{
private Timer timer;
public FormMain()
{
InitializeComponent();
timer = new Timer();
timer.Enabled = true;
timer.Tick += new EventHandler(timer_Tick);
}
void timer_Tick(object sender, EventArgs e)
{
}
public void Pause(int duration)
{
timer.Interval = duration;
timer.Start();
}
} Inside your form call Pause(...) . If you want the timer to stop after each pause, call timer.Stop(); in the Tick event handler.
Alternatively you could create a thread yourself and implement what you want, something like:
using System;
using System.Threading;
using System.Windows.Forms;
public partial class FormMain : Form
{
public event EventHandler<PauseEndedEventArgs> PauseEnded;
public FormMain()
{
InitializeComponent();
PauseEnded += new EventHandler<PauseEndedEventArgs>(FormMain_PauseEnded);
}
void FormMain_PauseEnded(object sender, PauseEndedEventArgs e)
{
}
public void BeginPause(int duration)
{
Thread thread = new Thread(new ParameterizedThreadStart(DoPause));
thread.IsBackground = true;
thread.Start(duration);
}
private void DoPause(object obj)
{
int duration = (int)obj;
Thread.Sleep(duration);
EndPause();
}
private void EndPause()
{
if (InvokeRequired)
Invoke(new MethodInvoker(EndPause));
else
OnPauseEnded(new PauseEndedEventArgs(DateTime.Now));
}
protected virtual void OnPauseEnded(PauseEndedEventArgs e)
{
EventHandler<PauseEndedEventArgs> eh = PauseEnded;
if (eh != null)
eh(this, e);
}
}
public class PauseEndedEventArgs : EventArgs
{
private DateTime endDateTime;
public PauseEndedEventArgs(DateTime endDateTime)
{
this.endDateTime = endDateTime;
}
public DateTime EndDateTime
{
get { return endDateTime; }
}
}
Inside your form you can call BeginPause(...) and it will do what you want.
DaveIf this helped, please vote & accept answer!
Binging is like googling, it just feels dirtier. (Pete O'Hanlon)
BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
modified on Saturday, April 24, 2010 4:14 AM
|
|
|
|
|
Just create a new static class to hold all your static methods. I often have a class called Globals that serves this purpose.
.45 ACP - because shooting twice is just silly ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001
|
|
|
|
|
OK... it's not very good C# code but I ended up using the following code in a console application.
starttime = DateTime.Now.Second;
while (starttime == DateTime.Now.Second) { }
Regs
Joe
|
|
|
|
|
Let me start by saying...I am somewhat new to C# and WPF.
I'm writing an application in C# using WPF and I'd like to have a DLL that contains all of my icons and images. I've read several things about using embedded resources and some other stuff about URIs. I'm a bit confused and don't know which is the best and easiest method to use. Can anyone provide some explanation and maybe an example?
Thanks,
Sam.
|
|
|
|
|
Here are two links that should help you.
Embedding and using resources in C#[^]
Resource only DLL[^]
The first one covers ground that you may already have visited in your own research but I think it explains how to discover the correct Resource name rather well.
The second explains, briefly, how to create a resource only DLL. It discusses using XML and XSD files but all you have to do is substitute your Images and Icons and away you go.
Hope this helps.
Henry Minute
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”
|
|
|
|
|
I want to develop a win form application for sending and receiving SMSs to and from a mobile phone. I have found great articles but i do not have a modem to test my application. Is there a tool that would work like a virtual modem instead of a real one?
Wamuti: Any man can be an island, but islands to need water around them!
Edmund Burke: No one could make a greater mistake than he who did nothing because he could do only a little.
|
|
|
|
|
Please tell us more information about the mobile phone you will use.
Does the mobile phone have a a serial port or USB connection?
General information on GSM/3G AT commandset is available here
http://www.developershome.com/sms/howToUseHyperTerminal.asp[^]
For Serial port operations in C# look up SerialI/O in MSDN
Reg
Joe
|
|
|
|
|
i have made this piece of code, to a checkbox on the header:
wel not realy on the headr, but situated there.
(class ColumnHeader doesn't provide much, like for example: OnpaintEvent.
but i need some help with the special effects.
if you hoover the mouse over the header, the mousehover effect of the header hides the checkbox, bringing it to the background.
i would like to have the checkbox ontop @ all time.
using windows 7.
<code>
using System;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace Listview_Colum_header_checkbox
{
class CCehckBox : CheckBox
{
public CCehckBox()
{
Width = 14;
Height = 14;
}
protected override void OnPaint(PaintEventArgs pevent)
{
Invalidate();
base.OnPaint(pevent);
}
}
class CListViewHeader : ColumnHeader
{
void CListViewHeader()
{
}
}
class CListview : ListView
{
private readonly CCehckBox _cCehckBox = new CCehckBox();
private readonly ColumnHeader _header1 = new ColumnHeader();
private readonly ColumnHeader _header2 = new ColumnHeader();
private readonly ColumnHeader _header3 = new ColumnHeader();
#region PInvoke Declarations
[DllImport("user32")]
private static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
#endregion
public CListview()
{
View = View.Details;
_header1 = Columns.Add("Name");
_header1.Width = (Location.X + 5) + 6;
_header1.AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
_header1.Name = "CheckBox";
_header1.DisplayIndex = 0;
_header2 = Columns.Add("bah");
_header2.Width = (Width - 20) - 50;
_header3 = Columns.Add("boh");
_header3.Width = 50;
var wijd = _cCehckBox.Width;
var hoog = _cCehckBox.Height;
_cCehckBox.Location = new Point(Location.X+ 5, Location.Y + 5);
}
protected override void OnColumnWidthChanged(ColumnWidthChangedEventArgs e)
{
if(e.ColumnIndex == 0)
{
_header1.Width = (Location.X + 5) + 6;
_cCehckBox.BringToFront();
}
base.OnColumnWidthChanged(e);
}
protected override void OnHandleCreated(EventArgs e)
{
SetParent(_cCehckBox.Handle, Handle);
base.OnHandleCreated(e);
}
}
}
</code>
Bad = knowing 2 much
|
|
|
|
|
Imho, your best bet would be to use a class derived from ColumnHeader [^].
/ravi
|
|
|
|
|
i tried that, but it doesn't look 'ColumnHeader' it provides me the nessesary properties to do this.
Bad = knowing 2 much
|
|
|
|
|
I would like to know how to convert this function from vb.net to c# : "vb.timer ()"
|
|
|
|
|
I don't know a vb.timer function.
I do know .NET offers several Timer classes, and they work equally well in VB.NET and in C#.
Have a look at System.Windows.Forms.Timer (for GUI oriented work) or System.Threading.Timer (for server-oriented stuff).
|
|
|
|