|
"LED8 customer display" means absolutely nothing to anyone but you.
We have no idea what this device is, how it communicates (there is not standard for this!), what the protocol is, what commands it accepts, ... NOTHING.
...and you want help with the very thing you didn't describe to us.
By the way, typing those commands into a CMD Prompt on Windows today does absolutely nothing.
|
|
|
|
|
|
Project
So I have a form with windows media player,and a couple of other stuff on it.
What I want to be able to do is the following.
Using my phone, I would like to be able to control that media player from my browser.(On a local network)
Example.
I am in a other room and I want to skip the current song. I'd go into the browser open a page. Click on skip and the player will skip to the next song in the list.
I'd love if someone could give tips like the following example.
1. Create your application.
2. Create a server.
3. Create an html page.
4. Link the stuff
|
|
|
|
|
1. Create your application.
2. Create a server.
3. Create an html page.
4. Link the stuff What more do you need to know?
You need the app you write to set up something to "Listen" for instructions, or to connect to the web app to get it's instructions from there.
You need the web app (running locally on the LAN) to talk to the app.
3) You need to do this, and also write code-behind code to talk to the player app.
One way to do it is using a Socket - have a look at the Sockets stuff in here: Double Clicking a File in Explorer and Adding It to Your App while it's Running[^] and also here: Socket Class (System.Net.Sockets) | Microsoft Docs[^] for one way to do it. You set up a listener on the player app, and then open a connection on the webserver app to send the commands.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
OriginalGriff wrote: What more do you need to know? THe codez, duh!
Social Media - A platform that makes it easier for the crazies to find each other.
Everyone is born right handed. Only the strongest overcome it.
Fight for left-handed rights and hand equality.
|
|
|
|
|
Sadly, you are likely right.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
So your Windows Forms app is going to have to implement some kind of server so it can listen for commands.
You're going to need a web server running on the same network and a web application to take input from the user and generate commands for your Windows Forms app to process.
From your questions, you have a LOT of learning to do.
You apparently have no idea what HTML is or how to write it,
no idea what javascript is or how to write anything in it,
no idea how to build a web server, configure it,
no idea how to write a web application of any kind,
no idea how to write any kind of server application,
...
There is no way anyone is going to write several books worth of information into a few posts on this, or any other Q&A site.
Did I miss anything?
|
|
|
|
|
Dave Kreskowiak wrote: Did I miss anything?
To quote ZurdoDev:
Quote: THe codez, duh!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
|
Please help me, how can I to open a save file using button. my file save to the path below. Thank you
C:\SAP Scripts\Display Material Serial Number.SAP
|
|
|
|
|
To open a file with the associated application, pass the path to Process.Start :
Process.Start Method (System.Diagnostics) | Microsoft Docs[^]
Process.Start(@"C:\SAP Scripts\Display Material Serial Number.SAP"); This is the same as double-clicking the file in Windows Explorer.
If the file isn't associated with the application, then you'll need to pass the path of the application to Process.Start , and provide suitable command-line arguments to tell it to open the file.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
I am trying to generate pdf files on c# but dont know how to do this? Please tell me the best library app or software available to automate this task.
|
|
|
|
|
|
I'm guessing he's associated with "PDF converter man" who has resurfaced at the same time. A total coincidence, I'm sure ...
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Compilers can do some kinds of optimizations, and even the first fortran compiler included that capability. Function calls mean a little performance hit, so inlining of functions is a possible optimization. The C# compiler can do that, and in case it misses such a possibility, you may use the AggressiveInlining attribute.
I'd like to know when the first compiler with function inlining capability was introduced, and how common it is nowadays beyond the .Net world.
Oh sanctissimi Wilhelmus, Theodorus, et Fredericus!
|
|
|
|
|
Pretty sure inlining is wide-spread, it has been around for decades before .net.
|
|
|
|
|
It was certainly in C++ in the early nineties - there are books from that period which describe it: The Advanced C++ Book, Skinner, M. T. (1992). Silicon Press. ISBN 978-0-929306-10-0.[^]
And I recall an inline keyword in my C compiler from the eighties, though it wasn;t added to the C spec until C99. I know that many compilers do inlining without being prompted (Java for example) but ... it depends on the module type and the function visibility to an extent. If the function is visible outside the module, it's harder to inline as it can't be called from an external app unless it exists as a "proper" function / method.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
By 1984 I was using a "globally optimising" Fortran Compiler at Perkin-Elmer (nee Interdata, later Concurrent). One of its tricks was function inlining fairly early in the compilation process, so redundant code could be stripped and register allocation done smarter.
It was fairly novel for its time and in its application space ("superminis"), but I'm pretty sure it wasn't the first.
Cheers,
Peter
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
It started when "copy and paste" was invented.
It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it.
― Confucian Analects: Rules of Confucius about his food
|
|
|
|
|
Inlining is ages old, but in the old days, there were compilers / debuggers that couldn't handle it properly. If you wanted to step line by line through an inlined function, you had to turn off that feature while debugging. Maybe this applied only to a few compilers. I don't know if the limitation was in the compiler, the debugger or the debug format - it could be either.
There were other optimzing features that you had to turn off while debugging. E.g. an optimizer may detect that you are doing the same calculations twice, arguments being unchanged from the first to the second calculation. So it decides to rather store the first result in a register or temporary variable, and skip the second calculation. Now you set a breakpoint in the middle of second calculation (but not in the first) - but there is no code where the breakpoint can be inserted! It takes some juggling of instructions and breakpoint analysis to handle such situations.
A (true) story from the old days - not directly connected to optimization, but illustrating simlar issues:
This debugger could single step at the function call level (which was more useful than you think - I wish we had it in moder debuggers!), or at the source line level. There was a fatal crash in this 2000 lines(!) function when stepping call by call. When line-level stepping was enabled, the code worked perfectly fine. It took some effort to discover why, and it illustrates the issues when making a debugger:
In line mode, the debugger replaces the first instruction generated by each source line with at BPT instruction, saving the original instruction in its own buffer. When the BPT is reached, the original instruction is re-inserted into the code, the PC decremented to execute the same address again (this time with the original instruction rather than the BPT), the cpu is told to single step at the machine instruction level, and the BPT is re-inserted for the next time this point is reached.
As so often is the case: The culprit was a wild pointer, writing into code memory (the machine did not have separate spaces for code and data), overwriting an instruction. But in line mode, the debugger had a saved copy of the instruction, protected from the wild pointer. So the debugger replaced the destroyed instruction with the correct one; that is why the code didn't crash in line stepping mode.
|
|
|
|
|
Hi I have the following code:
public static string Decrypt(string encrypted)
{
byte[] encryptedbytes = Convert.FromBase64String(encrypted);
AesCryptoServiceProvider aes = new AesCryptoServiceProvider();
aes.BlockSize = 128;
aes.KeySize = 256;
aes.Key = System.Text.ASCIIEncoding.ASCII.GetBytes(Key);
aes.IV = System.Text.ASCIIEncoding.ASCII.GetBytes(IV);
aes.Padding = PaddingMode.PKCS7;
aes.Mode = CipherMode.CBC;
ICryptoTransform crypto = aes.CreateDecryptor(aes.Key, aes.IV);
byte[] secret = crypto.TransformFinalBlock(encryptedbytes, 0, encryptedbytes.Length);
crypto.Dispose();
return System.Text.ASCIIEncoding.ASCII.GetString(secret);
}
When it decrypts the first string decrypts fine but the second string gives the error "The input data is not a complete block" if the second string is in quick procession. Example decrypting a column on a datagridview, Searching online the error brings up forums where people say that padding is needed or that Dispose closes to early. However as you can see padding is set to PKCS7 and the call for dispose is as late as it can be. So I really don't understand why it is giving the error.
Thanks in advance for any help
modified 7-Jan-20 6:34am.
|
|
|
|
|
Setting the padding mode doesn't pad existing data - you need to start by getting the raw encrypted data (before it's translated to Base64 and feeding that into your decryptor.
If that works - and produces an output that is identical to the original input - then do the base 64 conversion each way and check that works. Then compare the Base64 strings against the string passed to your method.
If all of that is right, check the Key and IV byte values against those you used for encryption.
The debugger will give you all that - but we can't do any of that for you - we have no access to any of the information you are passing to the decryptor!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I have found the problem using debug and it was my own silly mistake.
I was using the code:
for(int i = 0; i < DataGridView1.Rows.Count; i++)
{
DataGridView1.Rows[i].Cells[1].Value = Decrypt(DataGridView1.Rows[0].Cells[1].Value.ToString());
}
As you can see each row was getting the value of the first row. So on the first row it was decrypting the string but on the second line it was trying to decrypt the first row that it had already decrypted. Hence the error.
I think I need a break that was quite embarrassing.
Thanks again for your help.
|
|
|
|
|
We all do it - I read what I meant to write all the damn time ...
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|