Original erstellt von Shade Of Mine:
Doch! Das ist der Sinn von 'Zwischen-Byte-Code' (oder wie man diese Intermediate Language auch immer nennen will)
Glaube ich nicht. Der Sinn ist IMHO nur Entwickler von Java abzuwerben, in dem eine Pseudo-Plattformunabhängigkeit angepriesen wird. Da braucht man sich ja nur diesen Artikel durchlesen, wo z.B. folgendes steht :
Auf die Öffnung des .NET-Framework angesprochen, kündigte Ballmer an, dass es sicherlich eine Common- Language-Runtime-Implementation für Unix geben werde, schränkte diese Entwicklung jedoch als Subset ein, der "nur für den akademischen Einsatz gedacht sei". Überlegungen zur Unterstützung freier .NET-Implementationen wie Mono erteilte Ballmer eine Absage: "Wir haben so viele Millionen in .NET gesteckt, wir haben so viele Patente auf .NET, die wir pflegen wollen."
Hallo Leute,
hab mal wieder ein kleines Problem, und zwar habe ich die Aufgabe zweidimensionale Geometriedaten (Punkte) aus einer Datei entsprechend den Vorgaben in einer weiteren Datei zu manipulieren. Das Programm soll aus einer Datei Punktkoordinaten einlesen. In einer anderen Datei stehen eine Reihe von Transformationsmatrizen (2x2-Matrizen), die ebenfalls eingelesen werden sollen. Eine Auswahl aus den Transformationen soll auf alle Punkte angewendet werden. Die resultierenden Punkte sollen in eine neue Datei geschrieben werden. Außerdem soll das Programm eine Tabelle ausgeben, in der die ursprünglichen (eingelesenen) Punkte neben den transformierten Punkten zeilenweise nebeneinander stehen.
Als Testdaten und für die Erzeugung des auszudruckenden Ablaufprotokolls stehen zwei Dateien (punkte.dat und transformation.dat) zur Verfügung. Zur Erzeugung des Ablaufprotokolls wenden Sie bitte die erste und die dritte Transformation in dieser Reihenfolge auf alle Punkte an! Bitte beachten Sie, daß Ihr Programm die Dateinamen auf jeden Fall von der Konsole einlesen soll und nicht mit festen Dateinamen arbeiten darf! Um die Lösung zu vereinfachen, können Sie davon ausgehen, daß in einer Datei nicht mehr als 100 Punkte (Konstante!!!) bzw. 10 (Konstante!!!) Transformationen abgespeichert sind. Außerdem können Sie davon ausgehen, daß in den Dateien nur "korrekte" Daten stehen. Die Datei "punkte.dat" besitzt folgenden Aufbau: In jeder Zeile stehen genau 2 Werte (vom Typ float). Der erste Wert ist die X-Koordinate, der zweite Wert die Y-Koordinate des Punktes. Die Datei hat maximal 100 Zeilen. Die Datei "transformation.dat" besitzt folgenden Aufbau: Jede Transformation ist gegeben durch eine 2x2-Matrix. Die erste Zeile der ersten Transformation findet sich in der ersten Zeile der Datei, die zweite Zeile der Matrix in der zweiten Zeile. Daran schließt sich in der nächsten Zeile unmittelbar die nächste Transformation an. Wenn die Datei also z.B. 16 Zeilen hat, so stellen die Werte in ihnen 8 Transformationen zu je zwei Zeilen dar. Es handelt sich alles um Werte vom Typ float. Diese Datei hat aufgrund der Vorgaben (s.o.) maximal 20 Zeilen.
Das einlesen der Dateien habe ich soweit geschafft, nun stehe ich aber davor die Transformationen mit dynamischen feldern vorzunehmen. Leider habe ich überhaupt keine Idee, wie diese Funktion aussehen könnte. Könnt ihr mir weiterhelfen?
Juhu!
Danke! Das war schon mal super!!!
Das einzige Problem ist nur noch, wenn ich die Grafik speicher, ist der Hintergrund beim dem Bitmap schwarz. Wie kann ich das ändern?
MfG
Gandi
Hi,
ich hab die Klasse MMenu rausgeschmissen und das Erzeugen der Menüs in den Konstruktor von MainWindow verschoben.
Somit kann man dann in der Click-Methode einfach mit this das MdiParent setzen.
using System;
using System.Windows.Forms;
namespace Edit
{
public class MainWindow : Form
{
public MainWindow()
{
this.Text = "main";
this.IsMdiContainer = true;
MenuItem mItem_File = new MenuItem("&File");
MenuItem mItemFile_New = new MenuItem("&New");
this.Menu = new MainMenu();
this.Menu.MenuItems.Add(mItem_File);
mItem_File.MenuItems.Add(mItemFile_New);
mItemFile_New.Click += new EventHandler(mItemFile_Click);
}
private void mItemFile_Click( object sender, EventArgs e)
{
EditWindow ew = new EditWindow();
ew.MdiParent = this;
ew.Show();
}
public static void Main()
{
Application.Run(new MainWindow());
}
}
public class EditWindow : Form
{
public EditWindow()
{
this.Text = "Edit";
}
}
}
Willst du trotzdem eine eigene Klasse fürs Menü haben, müßtest du MdiParent und die Callbackfunktion z.B. gleich im Konstruktor mitgeben. Hab ich aber noch nicht probiert.
grüße
ms
PS: Wozu brauchst du die Klasse Edit?
Das kann man so nicht sagen. Es gibt etwas weiter unten einen "Java vs C#" Thread, in dem auch ein kleiner Benchmark mit Java, C++ und C# Programm enthalten ist. Das Ergebnis kann man aber nicht wirklich ernst nehmen. Allerdings kannst du daran sehen, dass auch C++-Programme nicht automatisch schnell sind. Das kommt ganz auf den Programmierer an und darauf, ob der Programmierer den gerade benötigten Trick kennt!
Hallo,
ich möchte unter C# eine SQL-Datenbank erstellen, allerdings nicht mit dem mitgelieferten MYSQL Assistenten von .NET sondern aus meinem Quellcode herraus.
Dazu müsste ich ja erstmal eine SQLConnection erstellen und von dieser aus dann die Datenbank generieren, allerdings Funktioniert dies nicht da ich im ConnectionString einen Initial Catalog also Datenbank angeben muss. Möglicherweise ist ja auch mein kompletter Ansatz falsch aber ich hätte keine Idee wie ich das Problem ansonsten angehen könnte.
Wäre dankbar für eure Hilfe.
Danke schonmal im voraus
unter windows würd ich den windows-login-namen auslesen - das ist
relativ sicher (so sicher, wie die windowsanmeldung :),
solange du dich in einem netzwerk bewegt (zB firmennetzwerk).
such dich mal durch die msdn.
Guten Tag !
Ich bin ein Umsteiger aus C/C++ und möchte gerne DirectX-Gehversuche unter C# machen.
DDraw,DSound sowie DirectInput mit der Tastatur sind kein Problem.
Als ich allerdings versuchte, die Maus mit DirectX zu initialisieren
stieß ich auf folgendes Problem:
// Member der Klasse "Input"
private DIPROPLONG MOUSE_BUFFER = new DIPROPLONG();
// DieseAnweisung steht in der Methode "InitDInput"
// von der Klasse "Input" augerufen
// MOUSE_BUFFER wird natürlich intitalisiert.
Mouse.SetProperty("DIPROP_BUFFERSIZE",MOUSE_BUFFER)
Beim Compilieren bekomme ich die Fehlermeldung, der 2.Parameter sei System.IntPtr.
Allerdings kann ich in der MSDN nichts passendes finden, wie ich zb
von DIPROPLONG nach System.IntPtr casten kann.
Vielleicht kann mir jemand etwas Code, bzw Tuts oder ähnliches posten.
Danke !