Hallo zusammen,
wir nutzen derzeit eine propritäre 2D DirectX Engine um Sprites darzustellen.
Ich suche nun eine Möglichkeit um animierte Sprites schnell zu erstellen bzw. zu ändern.
Aktuell nehmen wir für Sprites einfache Bilder die wir in Tiles unterteilen.
Die Animationen an sich sollen recht einfach sein. So ungefähr wie die Einblendung in TV Nachrichten. Z.B. bei N-TV der Ticker der unten läuft und vielleicht mal zusammenklappt, oder halt auf und zu geht. Alles recht simple Animationen.
Das Problem ist nur das wir immer wieder unterschiedliche Sprites benötigen und ich deshalb die Animationen nur ungern hardcoden wollte.
Ich suche deshalb nach einer Möglichkeit animierte Sprites vllt durch ein Skripting Modul oder externes Tool zu erstellen. Vielleicht geht das mit einem Video Editor Tool von Premiere.
Hat jemand von euch eine Lösung oder Idee parat?
Gruß,
Tom
Hm....
lies doch mal den StandardOutput und StandardError aus.
Gruß,
Tom
Hallo,
bei deinem ersten Codeteil nutzt du @ um Escape Zeichen als strings zu interpretieren.
Deshalb darfst du nicht \\ anstatt \ nehmen.
Bei 'net use' wird dir höchstwahrscheinlich das "" dazwischen funken.
Bei deinem zweiten Codeteil machst du das wieder richtig, aber vor dem /user Argument fehlt ein Leerzeichen.
Gruß,
Tom
Nur mal zur Info.
Folgender Code geht bei mir:
string dt = "05/05/2009 14:29:46";
DateTime MyDateTime;
MyDateTime = new DateTime();
MyDateTime = DateTime.ParseExact(dt, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
Meiner Meinung nach geht das weil InvariantCulture die Trennzeichen / und : kennt.
Gruß,
Tom
Hallo BK01,
setz mal CultureInfo.InvariantCulture beim parsen.
Ich kenn das gar nicht ohne Provider.
Gruß,
Tom
Hallo Steini_666,
du hast kein FtpWebRequest.Method gesetzt.
Beispiele sind zu genüge in der MSDN FtpWebRequest.
Gruß,
Tom
Naja ich hatte das mal vor Jahren probiert und leider keine guten Erfahrungen damit gemacht. Das hatte in meinem Umfeld jede Hardware Firewall geblockt gehabt.
Aber heutzutage geht man da eher auf hole punching.
Gruß,
Tom
Hallo mrdjoker,
mittels Sockets sollte das möglich sein.
Du musst dabei beachten das du SocketType.Raw und ProtocolType.Icmp verwendest.
Das ICMP Paket musst du dann selbst erstellen und kannst somit Nutzlast mitschicken.
Gruß,
Tom
Hallo,
du kannst z.B. mit dem ProcessExplorer von Sysinternals nachschauen welcher Prozess die Datei gesperrt hat. (Menu - Find -> Find Handle or DLL...)
Gruß,
Tom
Das Gerät mag es nicht wenn man es ständig an und ausschaltet.
Da ich es aber zum entwickeln benötige muss ich das aber relativ häufig machen.
Also ich stecks halt so gefühlte 5mal pro Stunde aus und wieder ein?
Ist halt nichts im Gegensatz zu ner Decklink Karte, da merkt man den preislichen Unterschied 😉
Gruß,
Tom
Hallo,
Also mit dem WMC hab ich keine Erfahrung, aber mit dem VLC kannst du DirectShow Devices ansprechen.
Die meisten Grabber solltest du darüber ansprechen können.
Ich hab z.B. den Hama USB 2.0 Video Editor am Rechner und damit klappt das gut. Auch wenn der USB Grabber ab und an abraucht.
Gruß,
Tom
Aber dann hat das ja nichts mit dem Transfer sondern der Verarbeitung der Daten zu tun.
So wie ich das sehe sollte der Scanner, nachdem er die Daten verarbeitet hat, sich bei der Awnendung irgendwie bemerkbar machen.
Hallo,
bei File.Delete musst du direkt die Datei angeben nicht den Ordner.
Leider gehen dabei keine Wildcards, weshalb du dabei eine Schleife verwenden musst.
Alternativ könntest du natürlich auch den Ordner mit Directory.Delete löschen und anschliessend neu erstellen, falls ersteres zu langsam wäre.
Gruß,
Tom
Arbeit doch einfach asynchron und schick eine Nachricht vom Scanner an dein Programm wenn alles abgearbeitet wurde.
Gruß,
Tom
Hallo cordell,
ich habe dir mal einen funktionierenden Ansatz erstellt.
Alle Informationen dazu habe ich der MSDN entnommen, NetworkStream.BeginRead und NetworkStream.EndRead.
using System;
using System.Net.Sockets;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DicaClient dicaClient = new DicaClient();
dicaClient.GetDicaData();
Console.ReadLine();
}
}
public class DicaClient
{
private string _dicaIp = "pop.gmx.net"; // "192.168.2.173";
private int _dicaPort = 110; // 2001; //COM1
private byte[] _bufferData = new byte[1024];
private TcpClient _tcpClient;
public string DicaString = String.Empty;
public void GetDicaData()
{
try
{
_tcpClient = new TcpClient(_dicaIp, _dicaPort);
NetworkStream stream = _tcpClient.GetStream();
stream.BeginRead(_bufferData, 0, _bufferData.Length, OnReadFinished, stream);
}
catch (Exception e)
{
Console.Write(e.Message);
}
}
private void OnReadFinished(IAsyncResult asyncResult)
{
NetworkStream stream = (NetworkStream) asyncResult.AsyncState;
int bytesCount = stream.EndRead(asyncResult);
DicaString = String.Concat(DicaString, Encoding.ASCII.GetString(_bufferData, 0, bytesCount));
while(stream.DataAvailable)
stream.BeginRead(_bufferData, 0, _bufferData.Length, OnReadFinished, stream);
Console.WriteLine(DicaString);
}
}
}
Damit solltest du schon einmal weiter kommen.
Gruß,
Tom
Ich glaub so auf die schnelle wird das nichts was du da umsetzen willst.
Du arbeitest hier synchron. Soll heissen dein komplettes Programm steht wenn nichts geschickt wird. Es wird kein Code ausgeführt.
Du solltest dir aber wirklich die Zeit nehmen um Sachen nachzulesen von denen du offen gestanden nicht weisst was sie bewirken.
Am besten implementierst du den TCPClient asynchron. Dann kannst du auch vernfünftig abbrechen und auf die Daten reagieren.
Nachzulesen im Forum oder in der MSDN 😉
Gruß,
Tom
Was willst du denn jetzt genau machen?
Und hast du dir in der MSDN durchgelesen was Stream.ReadTimeout macht?
Hallo WienX,
du musst dich ans Form.Closed Event dranhängen. Siehe Doku.
Gruß,
Tom
Ja du musst schauen das dein Programm lang genug läuft damit der asynchrone Aufruf auch abgearbeitet werden kann.
Gruß,
Tom
Ähm zommi, er nimmt doch den TCPClient und verbindet sich zur Box.
Bis der Server halt sagt das die Nachricht zu Ende ist. Wenn er das nie sagt dann hockst du da in einer Endlossschleife.
Kannst ja mal zum testen ein Console.Write in die while Schleife reinstellen, dann siehst alles was du bekommst.
Gruß,
Tom
Ausser das die Namensgebung verwirrend ist, müsste es so theoretisch funktionieren.
Aber du nutzt derzeit synchrone Übertragung, soll heissen deine komplette Applikation steht so lange bis Daten von dem Gerät kommen.
Die Frage ist nun ob du evtl noch etwas zum Gerät schicken musst damit es etwas schickt?
Gruß,
Tom
Was nun, TCPClient oder Listener? 😉
Also horchst du, oder willst du dich auf einen verbinden?
Das mit UDP hab ich auch völlig überlesen.
Hallo cordell,
das Problem ist dein Socket.Bind. Das bindet den Socket zu der lokalen IP, und nicht die Remote IP.
Zu dem Thema ist auch [Tutorial] Client-/Server-Komponente über TCP-Sockets sehr interessant.
Gruß,
Tom
Hallo,
ab Vista kann man per SetCurrentConsoleFontEx den Font für die Console setzen.
Aber bei vorherigen Versionen kommt man nur per Registry dran: CONSOLE: howto change console font programmatically
Gruß,
Tom
Hallo,
für einen schnellen Überblick schau ich immer auf SteveX Compiled >> String Formatting in C#.
Gruß,
Tom
Also da muss ich FZelle widersprechen.
Es gibt schon Szenarien wo es sinnvoll ist Entitäten in den Cache zu legen.
Solange du aber kein Performance Problem hast, solltest du den 0815 Stil verfolgen und den SQL Server abfragen.
Man muss halt die Vor- und die Nachteile abwägen. Caching heisst das die Daten sehr schnell zur Verfügung stehen. Das geht aber auch zu lasten des Anwendungsservers.
Ferner musst du dich auch noch um die Datensynchronität zwischen dem Anwendungs- und Datenbankservers kümmern.
Aber bei flachen, gut indizierten Tabellen wirst du kaum einen Performanceschub erleben.
Gruß,
Tom
Hallo,
bei mir geht das einwandfrei. Hast du vielleicht eine Firewall dazwischen?
Kannst du per telnet auf pop.gmx.com zugreifen?
Gruß,
Tom
Hallo,
hab mir jetzt dein Code nicht genauer angeschaut, aber ich vermute mal das die LegalBlocksize zu klein ist?
Schau mal auf CodeProject: All about Cryptography in .NET, da wird das ganze Thema Verschlüsselung recht gut erklärt.
Gruß,
Tom
Hallo KainPlan,
das sollte dir weiter helfen: PRB: Drawing Dimensions Are Inconsistent with Image.Size Property When You Use DrawImageUnscaled() Method
Gruß,
Tom
SHGetFileInfo gab es schon lange vor dem .NET Framework und unsauber ist das in keinster Weise.
Icon.ExtractAssociatedIcon kann halt durchaus andere Ergebnise liefern als vielleicht erwartet (siehe remarks)
Gruß,
Tom
Hallo,
Icon.ExtractAssociatedIcon gibt aber evtl auch die Miniaturansicht der Datei wieder (wenn verfügbar).
Ich geh da über SHGetFileInfo siehe: How to use the SHGetFileInfo function to get the icons that are associated with files in Visual C# .NET
Gruß,
Tom
Hallo,
du kannst dir auch Bibliothek für ID3v1/ID3v2 Tags in mp3-Dateien anschauen.
Und wenn es nicht zum lernen ist, würde ich auf schon bestehende libs zurückgreifen.
Gruß,
Tom
Hallo,
Keine Ahnung ob man die abstellen kann, wieso auch?
Die entsteht durch C++ Projekte, siehe: Managed Extensions for C++-Projekte erstellte Dateitypen
Gruß,
Tom
Hallo MacThemAlll,
und willkommen im Forum.
Siehe: [FAQ] Textbox: Signalton nach drücken der Eingabetaste unterdrücken
Gruß,
Tom
Hier eine Fassung die funktioniert.
class Program {
static void Main(string[] args) {
Connect("localhost");
}
static void Connect(string server) {
int port = 51234;
string saPass = "password";
List<byte[]> cmdList = new List<byte[]>();
cmdList.Add(Encoding.ASCII.GetBytes("sl\r\n")); // Send 1st command twice, because 1st command will throw an error at the server
cmdList.Add(Encoding.ASCII.GetBytes("sl\r\n"));
cmdList.Add(Encoding.ASCII.GetBytes("sel 8767\r\n"));
cmdList.Add(Encoding.ASCII.GetBytes("slogin superadmin " + saPass + "\r\n"));
cmdList.Add(Encoding.ASCII.GetBytes("msg Test\r\n"));
using (TcpClient client = new TcpClient(server, port))
{
using (NetworkStream stream = client.GetStream())
{
byte[] recdata = new byte[client.ReceiveBufferSize];
foreach (byte[] cmd in cmdList)
{
Console.WriteLine("Send " + Encoding.ASCII.GetString(cmd));
stream.Write(cmd, 0, cmd.Length);
if (stream.CanRead)
{
stream.Read(recdata, 0, recdata.Length);
Console.WriteLine("Received " + Encoding.ASCII.GetString(recdata));
}
}
}
}
Console.WriteLine(Environment.NewLine + "Press Enter to continue...");
Console.Read();
}
}
Du hast vergessen die CRLFs mit zu schicken. Du hast auch die Befehle hintereinander geschickt und dann liest du am Schluss 3mal vom Stream was überhaupt kein Sinn macht.
Du solltest ein Befehl abschicken, und anschliessend das Ergebnis vom Server auswerten und entsprechend darauf reagieren.
Gruß,
Tom
Bitte beachte Punkt 5: [Hinweis] Wie poste ich richtig?
Was geht wo nicht? Ich hab kein Zugriff auf ein Teamspeak Server.
Von daher kann ich das auch nicht ausprobieren, deshalb ist es wichtig konkrete und auch verständliche Fehlermeldungen zu posten.
Wo bleibt er hängen, und was spuckt er aus?
Gruß,
Tom
Hallo Theki,
*[FAQ] TcpClient einfaches Beispiel
*MSDN: TCPClient
Gruß,
Tom
Hallo,
das ist die implizierte Konvertierung, er wandelt das Ergebnis deiner Multiplikation in Int32 um, d.h. du musst noch auf short casten.
Siehe:*short (C#) *Umwandlung und Typkonvertierungen *Tabelle für implizite numerische Konvertierungen
Gruß,
Tom
Hallo,
schau mal hier How to implement impersonation in an ASP.NET application und hier How to configure IIS Web site authentication in Windows Server 2003.
Gruß,
Tom
Ah ok jetzt versteh ich dich.
Gut zu wissen!
Gruß,
Tom
Also das mit den DCOMs verstehe ich immer noch nicht.
Wieso verwendest du nicht z.B. MSDN: How to: Read Event Log Entries, oder z.B. hier beschrieben How to manage event logs using Visual C# .NET or Visual C# 2005.
Gruß,
Tom
Hallo ai.se,
das steht auf der Seite die ich weiter oben schon gepostet habe.
CheckedItems ist eine Collection die du durchgehen kannst.
Das sind aber Basics!
Geh doch einfach mal das Beispiel in der MSDN durch.
Gruß,
Tom
Hallo Kaltar,
was genau willst du denn machen, und wieso nutzt du DCOM dafür und nicht die Standard Mittel vom Framework?
Gruß,
Tom
Du erstellst den Client bei dir, und versuchst in mit der IP Adresse 10.10.140.2 und dem Port 21 bei dir lokal zu binden.
Bitte lies dir MSDN: TcpClient und MSDN: IPEndPoint mal durch.
Auch müsstest du mit einer Suche im Forum einiges finden können. FTP Verbindungen sind oft gefragtes Thema 😃
Gruß,
Tom
Hallo tom-essen,
ich hab jetzt da nur so 'Halbwissen' in dem Bereich, aber ich versuch es trotzdem mal.
Soviel ich weiss wird der Zwischenraum als Durchuss bezeichnet. Bei Wikipedia schreiben die auch von 20% und das habe ich auch noch in dunkler Erinnerung.
Aber das solltest du dir am Besten selbst durchlesen 😃*Zeilenabstand *Durchuss *Letter
Gruß,
Tom
Hallo,
an was happert es denn genau? Hast du dir mal die Beispiele in der MSDN: CheckedListBox angeschaut, da greifen die auf die aktivierten CheckBoxen zu.
Was hast du denn bisher probiert?
Gruß,
Tom
Auf genau das wollte ich dich hinweisen.
Gehe nie davon aus, dass der Anwender auch genau das eingibt was du gerne haben möchtest.
Prüfe immer alle Eingaben!
Gruß,
Tom
Hallo TheCoon,
Probier mal folgendes in deinem Programm:
Wieviele URIs möchten sie eingeben?
Fuenf
Bitte eine URI eingeben:
google.de
Gruß,
Tom