|
"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
|
|
|
|
|
Please edit your question, and use the "Code block" widget to preserve the formatting. In addition, tick the checkbox marked 'Encode "<" (and other HTML) characters when pasting' and re paste your sample code. At present, your code cannot be fully read as the HTML is swallowing the for loop condition!
Did you know:
That by counting the rings on a tree trunk, you can tell how many other trees it has slept with.
|
|
|
|
|
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();
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 the while(dr.read()), it works fine but when i tried to write it inside the for loop, it doesn't give the output.
Why is that and how to solve it ?? Any idea ??
suchita
|
|
|
|
|
No, not quite.
Place the "code block" around your code, not your existing message. It does this:
while (dr.Read())
{
s[i]= dr[0].tostring();
i++;
}
And use the "Encode" option so that the HTML doesn't swallow < and > characters!
for (int j = 0; j Is not as helpful as
for (int j = 0; j < i - 17; j+= 123) Use the preview button to see what is happening.
Did you know:
That by counting the rings on a tree trunk, you can tell how many other trees it has slept with.
|
|
|
|
|
Thank you. I never used code block before. anyway it makes easy to read the code.
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();
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();
}
Thanks
suchita
|
|
|
|
|
Firstly, change your code so it compiles - dr[0].tostring() won't - it needs to be ToString().
Then I suspect it fails and throws an exception for some reason. Start by putting a breakpoint on both the
dr = cmd.ExecuteReader(); and
string pt = ex.ToString(); lines. Run your program. when you hit the first breakpoint, single step the code through - I suspect that at least one of the dr.Read elements is throwing an exception.
Did you know:
That by counting the rings on a tree trunk, you can tell how many other trees it has slept with.
|
|
|
|