Wenn du unbedingt die Typsicherheit untergraben willst, dann vielleicht notfalls mit dem unsafe-Krams?
Und dir ist klar, dass im Fall von
object a = 1.5;
der Wert geboxt wird? Es ist also nicht soetwas, wie ein void-Zeiger solltest du das denken.
unsafe {
var value = 1.5;
var asBytePointer = (byte*)&value;
}
Arrays oder Teile einer Klasse musst du erst festpinnen, damit es nicht vom GC während deiner Arbeit wild im Speicher rumgeschoben wird und deine Zeiger somit plötzlich ungültig würden:
unsafe
{
var array = new double[50];
fixed (double* address = array)
{
// hier benutzen
}
}
hab mit XDocument selber zwar noch nicht gearbeitet - aber laut msdn duerfte das kein problem sein:
theDocument.Element("root").XXX
(aus er konstruktor anleitung in der msdn gezogen)
@J.Wiegand:
du kannst z.b. ein flow-panel verwenden in das du alle anderen "sub-panels" reinsteckst. dann hast du die im designer getrennt.
wenn im betrieb dann immer nur ein "sub-panel" sichtbar ist dann "verkümmert" das flow-panel quasi zu einem normalen panel.
natürlich musst du im designer den dialog immer noch grösserzeihen um das 2., 3. etc. panel zu sehen, aber zumindest muss man nicht 3 oder 4 panels "übereinanderstacken", was wirklich unzumutbar wäre.
Hi
I think this should not a problem
in the canvas the good thing is that you can work from the bottom left direction and position with the margin property
for me I think this should be possible
Store all ellipses in a list sort like you want
and create a method which shows the rectangles
For example
show()
{
Delete all children in canvas
for each ellipse in ellipseList
Show ellipse with margin
}
Now you react for e mouse wheel event {I think there is one} and on this in-/decrease a "zoom level" - this can be an integer, and in the "show" method, calculate with this "zoomlevel" the new margins and rectangle sizes, for example
elipse.margin = new Thikness(X * zoomlevel, Y * zoomlevel, 0, 0)
the easiest is if you store the ellipses as an own object which contains only the X and the Y coordinates, they you can use in the canvas as the margin, and paint the "point" from this point minus some pixels for the upper left position
show()
{
Delete all children in canvas
for each ellipse in ellipseList
{
Margin = X * zoomlevel, Y * zoomlevel, 0, 0 // position by zoomlevel
ElipseUpperLeft = (X - 5) * zoomlevel, (Y - 5) * zoomlevel // point size by zoomlevel
Show Ellipse "ElipseUpperLeft" with "Margin"
}
}
// just an idea {o;
//edit
please keep in mind that "zoomlevel" should never be zero, because than all points will be paintet in the corner
Hallo Leute,
ich spiele grad bischen mit ODBC in c# rum. Dazu mach ich ne abfrage über ne große datenbank mit OdbcDataReader... gibts da ne Asyncrone Variante?
Hallo Leute,
nachdem ich verzweifelt versucht habe, ein ActiveX in C-Sharp zu programmieren, hab ich mich hier im Forum angemeldet, um euch um Rat zu fragen.
Folgendes Problem:
ich möchte gerne ein ActiveX programmieren, welches mir ermöglicht, die Daten eines Beschleunigunssensors darzustellen. Der Sensor arbeitet in x- und y-Achse. Das ActiveX soll aussehen wie ein Koordinatenkreuz. Das Programm, wo das ActiveX eingebunden werden kann, liefert die Sensordaten. Die Verknüpfung geschieht über eine .ini Datei relativ unspektakulär. Das ActiveX soll am Ende also eine .ocx Datei ergeben.
Ich habe leider überhaupt keine Ahnung in ActiveX Programmierung, kenne mich jedoch in C und C++ aus. Die Grundlage ist also da. Meine Entwicklungsumgebung ist Visual Studio 2005 !
Meine Fragen wären:
- hat jemand ein Beispiel, was dem ähnelt, was ich gerne programmieren würde, sodaß ich mich hier entlang"hangeln" könnte?
- weiss jemand ein gutes Tutorial, wo ich in kurzer Zeit einsteigen könnte?
- kann mir überhaupt jemand noch helfen ...
Das Ding ist übrigens für eine Diplomarbeit. Bitte helft mir ...Danke im Voraus.
The code won't work in VB because `Call` is a reserved word here. Either you change the variable name or you escape it by putting it in braces:
Dim [call] As CallerSpace.Icall
However, I'm not sure if the current version of VBA does support escaping variable names. VB6 didn't (only for Enum constants).
Freax rocks schrieb:
hustbaer schrieb:
Sinnvolle Benchmarks zu schreiben ist nicht einfach, ...
Stimme ich dir vollkommen zu. Bei war es ja auch nur ein Durchlauf und somit keine gemittelten Werte!
Ich hat mich halt kurz interessiert und es dann hier gepostet, weil ich niemandem was vorenthalten will!
Wobei Benchmarks echt ein interessantes Thema wären...
Grüße
Nicht die Benchmarks an sich sind hier das Problem sondern der Jit-Compiler. Je nach Einstellung kann der Properties komplett wegoptimieren, womit dann der direkte Zugrigg auf den Member identisch mit dem Zugriff über Property wäre in solchen Situationen.
Ein solcher Benchmark misst also eher nur einen von vielen Möglichen Fällen. Daraus eine Aussage abzuleiten ist schwer.
Grundsätzlich gilt heutzutage eher das Performance nicht mehr oberstes Ziel ist, sondern Softwarequalität. Was bringt schon ein schnelleres Programm wenn es lediglich schneller Abstürzt? Daraus folgt das man sich nicht mit solcher Micro-Optimierung (auch bekannt als Premature Optimizing) aufhalten sollte. Entscheidend ist die Frage, was zu einer höheren Sourcequalität führt: Direkte Zugriffe auf Memebrvariablen oder der Zugriff über Properties.
Wenn 4GB max. Datenbankgrösse kein Problem darstellt, dann MSSQL Express.
Keine Ahnung ob's von Oracle auch ne kostenlose Version gibt.
MSSQL und Oracle sind PostgresSQL auf jeden Fall weit überlegen.
Zu MySQL kann ich nix sagen.
Für Logging wird aber u.U. auch SQLite reichen. Bei inserts und einfachen Abfragen ist SQLite sehr schnell, Setup und Backup sind trivial, für ausreichend sicher (Datensicherheit) halte ich den auch.
Mit
scheibeKundeZuordnungBindingSource.Filter = "ID > '2' AND ScheibenID = 8";
funktioniert die Sache, wobei ich die Auswahl der Abfrage dann über eine Textbox abfrage und übergebe.
Nun muß ich den Filter noch feststellen, damit ich die ertsen zurückgegebenen Datensätze wiederum filtern und ausgeben kann. Wie wird das realisiert?