|
Thanks
|
|
|
|
|
And yes I meant b.toString();
I know nothing , I know nothing ...
|
|
|
|
|
everything you should know about C# is in your C# book, in MSDN, in the C# specification[^], etc.
|
|
|
|
|
Thank you ,
But for a certain things MSDN is Yak !
http://msdn.microsoft.com/en-us/library/ty67wk28.aspx[^]
The conditional operator is right-associative. The expression a ? b : c ? d : e is evaluated as a ? b : (c ? d : e), not as (a ? b : c) ? d : e.<br />
<br />
The conditional operator cannot be overloaded.
I know nothing , I know nothing ...
|
|
|
|
|
You're right, and that's classic Microsoft - technically accurate, entirely useless information!
"A Journey of a Thousand Rest Stops Begins with a Single Movement"
|
|
|
|
|
"you're in an airplane" kind of stuff?
|
|
|
|
|
Exactly!
"A Journey of a Thousand Rest Stops Begins with a Single Movement"
|
|
|
|
|
Where is the Yak point? In all fairness, the first line of the document states;
The conditional operator (?:) returns one of two values depending on the value of a Boolean expression.
Perfect logical KISS.
I are Troll
|
|
|
|
|
I do not understand why you think like that.
|
|
|
|
|
I guess you meant b.ToString there. If you did, you really don't need ternary operator. Convert.ToString would be enough.
|
|
|
|
|
a = b == null ? null : a.ToString();
Means if b equals null then set a = null
else set a = a.ToString()
if code changed to following, I may understand it.
if (b == null)
{
a = null;
}
else
{
a = a.toString()
}
|
|
|
|
|
? operator its like a IF-result statement.
look:
int x = 0;
int y = 1;
if(x > y) ? y++ : y--;
If x>y = true, y++.
If x>y = false, y--;
|
|
|
|
|
I am using FFMPEG for streaming operations.
(https://www.transferbigfiles.com/a3209f95-ffcc-4c82-b722-041a24c26ec1?rid=KsWHbP3Lo/rxGH4YHVVVtA%3d%3d)
I started it using the following program
Process myProcess = new Process();
myProcess.StartInfo.FileName = @"ffmpeg.exe";
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.RedirectStandardInput = true;
myProcess.StartInfo.Arguments = "-i input.avi -vcodec copy -acodec copy output.avi";
myProcess.Start();
StreamWriter myStreamWriter = myProcess.StandardInput;
myStreamWriter.Write("113");
myStreamWriter.Flush();
myStreamWriter.Write('q');
myStreamWriter.Flush();
myStreamWriter.Close();
myProcess.WaitForExit();
myProcess.Close();
My intention is to close the program when I send "q" from the program (I meant a graceful exit without making any error).
But I can't close it by sending 'q' character or its corresponding ascii. When I run the program from the command line and I press q in the keyboard, program immediately gets closed.
Can you pls. help me?
Thank you
regards
anvesh
|
|
|
|
|
|
Thanx for the reply,
Its actually a nice article. But I couldn't solve my issue using it.
A carriage return is not necessary for this application to close. Pressing a 'q' itself (from keyboard) will give give graceful end to the program. I need not press an additional enter key.
And as an additional step of precaution, I made my own console program which requries a 'q' followed by carriage return to close the application, and it worked fine when I use WriteLine from .NET
What might be the issue? Its only for ffmpeg that I can't send input stream to. I am anxious to know what might be the issue?
|
|
|
|
|
I don't know, I'm stumped. But maybe the program reads something internal instead of the input stream.
What is ffmpeg? Maybe I can try it.
|
|
|
|
|
ffmpeg produces libraries and programs for handling multimedia. We can convert media files into different formats using ffmpeg. It can also record live streams from a camera in different formats.
I am attaching the ffmpeg.exe here.
https://www.transferbigfiles.com/a3209f95-ffcc-4c82-b722-041a24c26ec1?rid=KsWHbP3Lo/rxGH4YHVVVtA%3d%3d[^]
Here in my code i just copy the audio and video codecs of a file (input.avi) into another file(output.avi). Different parameters can be added in this command, but I just consider the basic operation here.
Process myProcess = new Process();
myProcess.StartInfo.FileName = @"ffmpeg.exe";
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.RedirectStandardInput = true;
myProcess.StartInfo.Arguments = "-i input.avi -vcodec flv -acodec copy output.flv";
myProcess.Start();
StreamWriter myStreamWriter = myProcess.StandardInput;
myStreamWriter.Write("113");
myStreamWriter.Flush();
myStreamWriter.Write('q');
myStreamWriter.Flush();
myStreamWriter.Close();
myProcess.WaitForExit();
myProcess.Close()
;
If i run the pgm ( ffmpeg.exe should be placed in same foldr) it starts the conversion from avi to flv.
When I press [q] the pgm gets closed gracefully.
But I I am not being able to close it by sending 'q' character or its corresponding ascii.
|
|
|
|
|
anveshvm wrote: WriteLine
Oh, yeah, that may actually send a LINEFEED and a CARRIAGE-RETURN. If so, you would have to set the NewLine property.
|
|
|
|
|
Come to think of it, you may only need to add a CARRIAGE-RETURN character.
|
|
|
|
|
I have a data structure like this:
* country_name
* country_flag (image)
* country_iso_code
* country_weather_code
* country_news_code
I was thinking tosave as XML and deploy with my application but now I want to put in a resource DLL?
is it possible to put such data in resource DLL? how? any sample please?
|
|
|
|
|
Set the build action to Embeded Resource for the xml file. Then you can access the file from within the assembly using:
GetType().Assembly.GetManifestResourceStream
|
|
|
|
|
but will be built separately as DLL? I don't want to embed into my EXE and I also don't want it to be an XML type accessible for anyone via notepad!
|
|
|
|
|
Hi,
I am having problem in displaying report in doc file. the code is
SqlConnection cnx = new SqlConnection(categories.strCnx);
cnx.Open();
string query = @"select * from categories";
SqlCommand cmd = cnx.CreateCommand();
cmd.CommandText = query;
SqlDataReader dr;
HttpContext.Current.Response.Clear(); //clear anything in io buffer
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=categories.doc");
HttpContext.Current.Response.Charset = "";
HttpContext.Current.Response.ContentType = "application/vnd.ms-document";
HttpContext.Current.Response.Write("categories" + '\n');
try
{
i = 0;
dr = cmd.ExecuteReader();
while (dr.Read())
{
s[i]= dr[0].tostring();
i++;
}
for (int j = 0; j<i; j++)
="" {
="" httpcontext.current.response.write(s[j].tostring()="" +="" '\n');
="" }
=""
="" httpcontext.current.response.end();
="" catch(exception="" ex)
="" string="" pt="ex.ToString();
" }
in="" this="" code,="" if="" i="" write="" the="" file="" inside="" while(dr.read()),="" it="" works="" fine="" but="" when="" tried="" to="" for="" loop,="" doesn't="" give="" output.=""
why="" is="" that="" and="" how="" solve="" ??="" any="" idea="" ??
<div="" class="signature">sm
|
|
|
|
|
The following two lines show a fundamental misunderstanding of type:
s[i] = dr[0].ToString();
...
s[j].ToString();
However, the problem you want addressed can be fixed by:
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.Close();
instead of calling end.
|
|
|
|
|
Thanks for the reply but even the following changes did the same output.
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.Close();
suchita
|
|
|
|