Hallo,
ich hab mir das Video jetzt nicht angesehen weil ich hier keinen Zugriff auf youtube hab, aber ein Schadensmodell könnte man beispielsweise dadurch simulieren, dass man zu jedem Vertex eines Meshes eine Collision Box dazuhängt und das Mesh entsprechend physikalischer eigenschaften deformiert.
Als Physik Engine kannst Du beispielsweise JigLibX verwenden. Die Michigan State University hat einige ziemlich fortgeschrittene Artikel zum Thema XNA, darunter auch einen über Mesh Deformations und Morphings:
http://www.cse.msu.edu/~cse491/Sect001/
(Lecture 12)
Hab ich aber selbst noch nie versucht, ich denk aber mit obiger Kombination müsste sich schon was machen lassen.
Grüße,
Egon
Hallo,
ich kann dir die NetBeans IDE wärmstens empfehlen wenn es um die Entwicklung von C++ geht. Ursprünglich wurde die eigentlich für Java entwickelt, vor einigen Jahren wurde allerdings C++ als offiziell unterstützte Sprache integriert.
Als GUI Framework kannst Du dich entweder für GTK (GTKMM wenn Du Objektorientiert entwickeln willst) oder Qt entscheiden. Beide sind sehr ausgereift und auf einigen Platformen verfügbar. Früher hätte ich dir zu GTK geraten da Qt nur für Open Source Projekte unter der GPL frei verfügbar war, mit dem Kauf durch Nokia wurde aber auch dies fallen gelassen. Qt bietet dir neben dem eigentlichen GUI Framework noch eine Menge drum herum (Thread Management, Networking, Localization, ...)
Grüße,
Egon
/edit: Ach ja, Qt hat nen schönen GUI Designer (Klicksi Bunti) dabei 😃
Außerdem wüsste ich auch hier nicht wie ich das Problem mit der aktuallisierung lösen könnte.
Hallo,
wenn Du XNA in ein Windows Forms Projekt einbindest läuft das mit der aktualisierung ziemlich simpel:
Alles in allem eigentlich genau so wie bei regulärem WinForms 😃
Grüße,
Egon
Hallo,
ein Konverter hat grundsätzlich mal nichts mit OpenGL, DirectX oder irgend einer anderen 3D API zu tun - der konvertiert ja nur von einem Datenformat in ein anderes. Ich denke was Du suchst ist eine möglichkeit mit den in den Geometrie-Files gespeicherten Daten weiterzuarbeiten, oder?
Bin zwar mit OpenGL nicht so fit, doch denke ich dass es sicherlich schon fertige Libraries geben wird welche alle möglichen Formate lesen und das ganze in ein VBO (Vertex Buffer Object) oder eine andere Datenstruktur bringen. Bei einer schnellen Suche nach "OpenGL load OBJ 3DS" in Google habe ich schon eine Menge links entdecken können die dir entsprechende Anhaltspunkte liefern 😃
Wenn Du eine gewisse Herausforderung suchst, kannst Du dir einen entsprechenden Importer für deine Datenstruktur auch mit einem gewissen Aufwand selbst schreiben. Wenn möglich würde ich dann als Ursprungsformat OBJ (also zuerst 3DS/MAX nach OBJ Konvertieren) wählen, da es relativ simpel aufgebaut ist (Vertices, Triangles, Materials, etc.).
Als guten Allround Konverter kann ich "3D Object Converter" empfehlen - der kostet zwar ein paar (wenige) Euros, kann dafür aber mit etlichen hunderten Formaten umgehen: http://web.axelero.hu/karpo/
Grüße,
Egon
Hallo,
früher habe ich die Kostenfreie Variante von Avast benutze, seit einiger Zeit jedoch beinahe ausschließlich Avira AntiVir. Avast machte bei mir den Eindruck als ob es nach einer gewissen Zeit (nicht Laufzeit, sondern Zeit in der es auf dem Rechner installiert ist) das ganze System total bremst.
Allerdings muss ich zugeben dass ich nicht auf allen privaten Rechnern Virescanner benutze. Ich habe eine strikte Trennung zwischen den Geräten auf denen ich im Internet unterwegs bin und den Geräten auf denen ich Entwickle (und auf denen keine Seite im Internet angesurft wird - ausser MS). Auf diesen reicht es mir die Firewall aktiviert und die Patches aktuell zu halten. Da ich lokal auch noch hinter einer simplen (NAT-Router basierten) Firewall bin sehe ich das Risiko schon ziemlich minimiert.
Zum entfernen von eventuell vorhandenener Spyware und ähnlichem, nicht erwünschtem Zeugs benutze ich den Windows Defender in Kombination mit gelegentlichem scannen durch Lavasoft's AdAware.
Grüße,
Egon
Hallo,
Autodesk selbst bietet einen Converter an, der 3DS, OBJ und DXF nach FBX konvertieren kann:
http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=10775855
Grüße,
Egon
Hallo,
für Mathematische Abhandlungen würde ich auf jeden Fall TeX benutzen - ist ein über einige Jahrzente hinweg gereiftes Satzsystem mit dem im Uni Umfeld beinahe alle Wissenschaftlichen Texte verfasst werden.
Wenn Du das ganze auf Windows betreiben willst, kannst Du die MikTex Distribution nehmen, da ist alles dabei was du brauchst. Der von dir genannte Link zu LyX ist ein WYSIWYG Editor welcher dir TeX Files ausspuckt (müssen dann noch durch TeX durchgelassen werden um das Ausgabeformat zu bekommen). Würde dir allerdings empfehlen dich etwas in TeX einzulesen, es ist kein wirklich großer Aufwand und das ergebnis ist allemal besser als das was LyX bietet.
Ein schönes Tutorial zu TeX wird von der Uni-Graz angeboten:
Grüsse,
Egon
Hallo,
das von dir genannte Tool basiert aber auch auf einer anderen Methodik - Manche Applikationen tragen die gespeicherten Passwörter im User/Passwort Dialog tatsächlich ein, nur das Feld (TextBox, Entrytype = Password) verhindert das sehen der PW's mit blossem auge.
Wenn ich nun der Applikation eine Message sende, mit welcher ich zu erst die Klasse des Controls auf TextBox ändere und dann den darin gespeicherten String auslese, so krieg ich das PW in Klartext -> Funktioniert aber nicht bei allen Applikationen da heutzutage normalerweise auf so was aufgepasst wird.
Grüsse,
Egon
Und so kann ich (analog zu unsafe in C#) maschinennäher, schnellere Algorithmen bauen.
Hallo,
ohne dass ich das jetzt böse mein: Aber wenn Du wirklich des Quäntchen Performance dass Du durch nativ kompilierten Code rausholen könntest benötigst (welches schlimmstenfalls ohnehin durch Interop wieder draufgeht), solltest Du dir vielleicht überlegen ob es nicht sinnvoll wäre den Algorithmus effizienter zu gestalten - und dann direkt in einer CLI Sprache implementieren.
Grüsse,
Egon
/edit: Bezüglich deiner Frage zum Interop
1.) Wenn Du C++ mit /CLI kompilierst kriegst du eine Assembly raus -> Die kannst Du dann direkt Referenzieren und deren Klassen benutzen.
2.) Wenn Du nativ kompilierst musst Du deine C++ Klassen mittels COM ansprechen (Forumssuche)
3.) Du könntest als Einsprungspunkt eine C-Funktion schreiben (als C Export deklarieren: __declspec, siehe MSDN) und von dieser dann aus die C++ Klassen benutzen. Die C Funktion rufst du dann über P/Invoke auf.
Reflector
Dieser Artikel soll einen grundlegenden Überblick über das Tool "Reflector" ([1]) und dessen benutzung geben.
Überblick
Der Reflector ist ein Tool, welches von Lutz Roeder (Microsoft) entwickelt wurde. Es handelt sich dabei um einen Inspektor und Analyser für .NET Assemblies. Das hauptsächliche Einsatzgebiet für den Reflector ist, in bestehenden Assemblies für welche kein Quellcode verfügbar ist einen tieferen Einblick zu bekommen - beispielsweise um sich selbst weiterzubilden ("Wie machen andere das") oder um Bugs aufzuspüren und gegebenenfalls um diese "herum" zu programmieren.
Abb. 1: .NET Reflector
Zu den Basisfunktionalitäten gehören unter anderem:*Betrachten der kompletten Struktur der Assembly (Klassen, Methoden, Hierachien) *Dekompilieren von Klassen und Methoden in eine .NET Sprache (C#, VB.NET, MSIL, Delphi, MC++, Chrome)
Der Reflector wurde von anfang an mit einer offenen API ausgestattet, welche es ermöglicht eigene Plug-Ins dafür zu entwickeln. Dies haben auch schon etliche Entwickler gemacht, weshalb es eine relativ große auswahl an Plug-Ins für die verschiedensten Anwendungsbereiche gibt.
Laden und Analysieren von Assemblies
Beim ersten start des Reflectors besteht die Auswahlmöglichkeit welches .NET Framework verwendet werden soll. Dies hat aber im weiteren Betrieb keine besondere Auswirkung, da aufgrund dieser entscheidung nur ein Set von Initial-Assemblys geladen wird, welche zur direkten Betrachtung bereit stehen. Wird beispielsweise eine .NET 3.5 Assembly geladen, welche auf die 3.5er mscorlib referenziert so wird diese automatisch nachgeladen auch wenn Framework 2.0 ausgewählt wurde.
Der Reflector stützt sich selbst auf den Reflectionsmechanismus welcher von .NET zur Verfügung gestellt wird.
Nachdem nun eine Assembly geladen wurde, kann man sich tiefer in deren Struktur einarbeiten. Bei einem Doppelklick auf einen Node wird das Dekompilierungsfenster geöffnet und der Quellcode in der ausgewählten Sprache dargestellt. Falls der entsprechende Node im Quellcode mittels XML Dokumentation dokumentiert wurde, so wird dieser in formatierter Form dargestellt:
Abb. 2: Reflector mit nach C# dekompilierter Methode und deren Dokumentation
Im Quellcodefenster sind Klassen und Methoden Hypertextartig verlinkt, so dass eine schnelle Navigation möglich ist. Ein nachträgliches Umschalten der Dekompilierungssprache ist ebenso möglich, das Ergebnis wird sofort dargestellt. Um sich im Navigationsbaum besser und vor allem schneller orientieren zu können, sind die entsprechenden Nodes mit einem eindeutigen Icon gekennzeichnet, welche den Type des Nodes wiederspiegeln.
Plug-Ins
Wie schon eingangs erwähnt wurden schon eine Unzahl von Add-Ins für den Reflector entwickelt ([2]). Die Gebräuchlichsten werden untenstehend mit einer kurzen Funktionsbeschreibung gelistet:
FileGenerator Schreibt das Dekompilat in ein File
Reflexil Ermöglicht das modifizieren (ersetzen/hinzufügen) von IL Code von Assemblies direkt im Reflector
AutoDiagramer Erzeugt ein Klassendiagramm der Assembly
Die Installation von Plug-Ins läuft grundsätzlich immer nach dem gleichen Schema ab:*Downloaden des Plug-Ins *Entpacken in ein beliebiges Verzeichnis *Hinzufügen im Reflector unter "View->Add-Ins->Add"
Sollte der Installationsweg von diesem Standard abweichen, so stellt der Autor üblicherweise eine gesonderte Anleitung zur verfügung.
Hilfe gegen den Reflector
Wenn man sich zum ersten mal mit dem Reflector beschäftigt wird man feststellen dass dies ein sehr mächtiges, zur gleichen Zeit jedoch gefährliches Werkzeug sein kann, da man damit relativ einfach an interne Strukturen herankommt - was nicht immer gewünscht sein kann. Von diesem Problem sind im allgemeinen beinahe alle verwalteten Sprachen betroffen (so z.b. auch Java) da der Zwischencode (IL) in einer vom ursprünglichen Programmcode relativ unabstrahierten Form vorliegt, sowie zusätzlich noch viele Metadaten in den Assemblies enthalten sind (Dokumentationen, etc.)
Will man die Internas seiner Assemblies nicht preisgeben, so bleibt einem nur der Versuch diese zu verschleiern - für diesen Zweck gibt es Obfuskatoren, welche Klassennamen, Methodennamen und ähnliches so umbenennen dass eine Analyse mit dem Reflector erschwert wird. Einen absolut wasserdichten Schutz gibt es allerdings nicht - man kann nur versuchen die Aufwandsgrenze so weit in die Höhe zu treiben dass es sich nicht mehr lohnt die notwendige Zeit zu investieren.
Referenzen
[1] http://www.aisto.com/roeder/dotnet
[2] http://www.codeplex.com/reflectoraddins
Hallo,
das was Du suchst lässt sich mit der Win32 API Funktion "CreateRemoteThread" realisieren - such mal im Forum hier danach, da gibts was drüber.
Grüsse,
Egon
Hallo,
ich denke mir dass die Moderation in diesem Fall ihre Pflicht tat und dies auch tuen musste. Bei manchen Fragestellungen drängt sich einfach der Verdacht auf, dass das Resultat für etwas zumindest moralisch fragwürdiges benutzt wird - unabhängig davon ob dem wirklich so ist.
Da unser (euer, ich bin Ösi) lieber Gesetzgeber ja im Laufe des Jahres 2007 den "Hackerparagraphen" 202c eingeführt hat, welcher auch die Mithilfe zur Vorbereitung einer Computerstraftat unter Strafe stellt - und dazu gehört leider nun auch einmal das mitteilen offensichtlich entsprechender Informationen - muss in solchen Fällen der Mod einschreiten. Wir wollen doch schließlich nicht wegen einer Sache eventuell das ganze Forum verlieren da die Kripo den Server abholt und die Betreiber einsperrt (vielleicht etwas zu dramatisch ausgedrückt, aber dennoch nicht so realitätsfremd)
Grüsse,
Egon
gibt es sowas auch für .net?
Hallo JAck30lena,
die Komponente hier gibts eigentlich (von mir) nur für Mono, da ich auf die Video4Linux API zurückgreife um an die Bilder der Kamera zu kommen.
Vor einiger Zeit hab ich aber mal einen Wrapper für Video4Windows veröffentlicht (liegt hier irgendwo im Forum unter den Projekten). Vom Prinzip her kannst Du den Algorithmus zur Motion Detection adaptieren (MotionDetection.cs). Da ich ohnehin beinahe nur mit den Rohdaten (RGB) der einzelnen Bilder arbeite ist es ein relativ leichtes diese nicht mehr von einem Gdk.Pixbuf sonder z.b. einem System.Drawing.Image oder System.Drawing.Bitmap zu nehmen.
@Herbivore:
Ja das mit der Helligkeit ist zur Zeit noch eines meiner größeren Probleme. Ich tüftle schon seit gestern rum wie ich Helligkeitsänderungen ignorieren kann - mit mehr oder weniger erfolg zur Zeit. Ich denke dass ich den gesamten Algorithmus zur erkennung von Bewegung anders implementieren werde.
Grüsse,
Egon
Hallo,
für ein Projekt von mir habe ich eine Komponente benötigt welche Bewegungen in einem Video erkennen kann. Das Ergebnis findet Ihr hier 😉
Das ganze basiert auf einer modifizierten Video4Mono Library welche ich schon vor einigen Monaten mal veröffentlicht habe (ist im Source hier inkludiert). Ich verwende einen relativ simplen Algorithmus zur erkennung der Bewegung:* Das derzeitige Bild wird in ein Raster unterteilt
Für jedes Bild des Videos wird ein Array mit Rectangles zurück gegeben in welchem Bewegung festgestellt wurde. Sieht dann so aus wie am beiliegenden Screenshot.
Grüsse,
Egon
Hallo,
ich habe eine Rückmeldung von Galileo Press bekommen - der nette Herr von denen hat das Buch (2005er) unter:
http://download.galileo-press.de/openbook/visual_csharp/galileocomputing_visual_csharp_2005.zip
zum download bereitgestellt.
Grüsse,
Egon
Hallo,
so nun isses so weit. Das Ding hat seinen Geist aufgegeben und seine sterblichen Überreste vegetieren hinter dem Frontpanel dahin.... Kein Schütteln, kein Rütteln hat geholfen. Ich hoffe nur dass es austrocknet und dann runterplumpst.
Inzwischen hab ich auf einigen Seiten von dem Problem gelesen - und man glaubt es kaum: Es handelt sich dabei um einen Produktionsfehler, da normalerweise dieser Bereich absolut dicht sein müsste. Allerdings weigern sich beinahe alle Hersteller das ganze auf garantie zu reparieren.... Also: Ich werd das Teil mit zu nem Freund von mir nehmen der sich damit auskennt und es ihn zerlegen und reinigen lassen 😉
Hab mal ein Foto gemacht wie so was aussieht. Is nicht gut geworden da meine Kamera einen ziemlichen Moire-Effekt in das Bild geworfen hat.
Grüsse,
Egon
Warum ist eigentlich Herbivore nicht auf dem Bild? Als Forums Gott ist man doch schon eine kleine Persönlichkeit, oder? ^^
/edit: Hab eine vier-mal so große version des Bilds gefunden, vielleicht kennt man da noch etwas mehr
Hallo,
ich habe ein unglaubliches Problem. Irgendein so ein abgef****** Insekt ist hinter die Scheibe meines TFT Schirms gekrochen und will da jetzt nimma raus.
Hört sich verwegen an, isses auch. Ich hoffe nur dass das Ding nicht im Schirm verreckt und ich dann permanent nen kleinen "Pixelfehler" im Panel habe.
Hattet ihr so was auch schon mal? Fallen die Dinger runter wenn die den Löffel abgeben? Wie kann man sich helfen? Fragen über fragen....
Grüsse,
Egon
Hallo,
erstelle nur ein Random Objekt und hole dir aus diesem die Zufallszahlen raus. Das Problem ist, dass der Zufallszahlengenerator mit einem Seed gefüttert werden muss damit er anschließend zufällige Zahlen ausspuckt (geschieht automatisch beim instanzieren des Objekts).
Ich weiss jetzt nicht genau mittels welchen Werts Random initialisiert wird, ich denk aber dass es irgendwelche Zeiten sind (z.b. Aktuelle Zeit im MS Takt, etc). Wenn Du also zwei Random Objekte zu schnell hintereinander erstellst, liefern die die gleichen Werte.
Grüsse,
Egon
/edit:
The random number generation starts from a seed value. If the same seed is used repeatedly, the same series of numbers is generated. One way to produce different sequences is to make the seed value time-dependent, thereby producing a different series with each new instance of Random. By default, the parameterless constructor of the Random class uses the system clock to generate its seed value, while its parameterized constructor can take an Int32 value based on the number of ticks in the current time.
Hallo,
genial das Bildchen. Hab noch Wladimir Putin gefunden (sitzt vorne vorm Tisch)
Grüsse,
Egon
/edit: Noch gefunden:
Attilla der Hunne
Mozart
George Washington
Sigmund Freud
Marilyn Monroe
Hallo,
er meint dass es zur Netique gehört dass, wenn man eine Frage im Forum stellt und diese dann aber selber löst auch die entsprechende Lösung posten sollte - damit wenn jemand ein ähnliches Problem hat dieser darauf zugreifen kann.
Grüsse,
Egon
Hallo,
folgender Grund:* Du übergibst eine Instanz vom Typ "Auto" an die Methode "foo" - by Value. Dementsprechend ändert sich die Instanz selbst nicht beim Aufrufer wenn Du ihr ein neues Objekt vom Typ Auto zuweisen würdest (tust du auch nicht, nur der verständnis halber).
Das eine (Ref/Value) hat in deinem Fall eigentlich nichts mit dem Ergebnis zu tun.
Grüsse,
Egon
/edit: Noch was:
Beim Call by Value wird eine Kopie der Referenz auf das eigentliche Objekt übergeben. Das Objekt selbst ("dereferenziertes Objekt") wird NICHT kopiert.
Hallo,
Parameter nur dann als ref (oder out) markieren wenn dies notwendig ist. Ansonsten immer default (by Value) lassen.
Grüsse,
Egon
/edit: Call by Reference kostet ungefähr um Faktor 7 mehr als call by Value. Sollte aber in der Regel nicht auffallen (bei einem Test den ich grad gemacht hab: 10 Mio Method calls by Reference: 3,5 sek - das gleiche by Value: 0,5 sek)
Danke egrath !
trotzdem nervt mich die garbage collection, meinen müll zu hause bring ich auch alleine runter. :evil:
Hallo,
wenn dich ger GC nervt bist Du bei Managed Sprachen eher fehl am Platz.
Grüsse,
Egon
Ich finde diese Optionen irgendwie merkwürdig wenn ich das ganze mit JAVA vergleiche.
Hier gibt es nichts dergleichen und man kann einfach davon ausgehen, dass der JAVA JIT
-Compiler den für die entsprechende Plattform notwendigen Code generiert???
Hallo,
bei Java hast Du aber auch nur deshalb nicht diese entscheidungsmöglichkeit da Du von vornherein überlegen musst welche JRE du auf den Rechner knallst 🙂
Java hat dabei genau das gleiche "Problem". Wenn Du auf ner x64 Maschine ein 64-Bit JRE hast und eine Applikation mittels JNI auf 32-Bit DLL's zugreift gibts auch ärger.
Grüsse,
Egon
Hallo,
IrDA ist das Stichwort. Du musst mittels P/Invoke die Win32 Funktionen nutzen um darauf zuzugreifen. Fernbedienungen schicken die Kommandos mittels eines eigenen Protokolls namens RC5 (oder RC6 bei MCE Fernis).
Im endeffekt musst Du folgendes machen:* Die eingehenden Kommandos der Fernbedienung "lernen" (user drückt die Taste auf der Fernbedienung, dein Programm fängt das ganze ab)
Grüsse,
Egon
Hallo,
weils gut dazu passt.
Grüsse,
Egon
Hallo,
kurz zusammengefasst: Von TabControl erben und die entsprechenden Paint Methoden überschreiben.
Auf CodeProject gibts ne ganze unmenge an Beispielen und Code wie man das anstellt. Ein Bespiel wäre:
http://www.codeproject.com/KB/tabs/flattabcontrol.aspx
Grüsse,
Egon
Hallo,
eines vorweg - du kannst keine selbst gebrannten DVD's in deiner XBox360 benutzen auf denen Programmcode ist. Grund hierfür ist dass die XBox360 überprüft um welchen Medientyp es sich handelt - wird ein nicht gepresstes Medium vorgefunden so findet keine ausführung statt.
In der Homebrew Szene gibts einige Mittel wie man das umgehen kann - weiter gehe ich hier nicht darauf ein.
Grüsse,
Egon
Hallo,
ich muss sagen ich gehöre zur Fraktion welche eigentlich beinahe alles als eBook liest. Bis auf den Grund dass es für die Augen eventuell besser ist gedrucktes auf Papier zu lesen (und über das lässt sich auch streiten) haben e-Books eigentlich nur vorteile.
Vor allem der attraktivere Preis, die Suchfähigkeit und das nicht-verstellen von wertvollem Stellplatz sind die Argumente dafür dass ich in den letzten Jahren nichts gedrucktes mehr gekauft habe.
Bei Safari war ich vor einigen Jahren mal Mitglied, mir hat allerdings das Konzept nicht gefallen dass man für den Zeitraum X nur eine Menge Y an Büchern online lesen konnte und diese nicht (oder nur mit entsprechend viel aufwand) lokal Speichern konnte. Weiss aber nicht ob das jetzt auch noch so ist.
Grüsse,
Egon
Das könnte auch ein Roboter spielen.
Das machen auch viele ^^ nur wenn dich Blizzard erwischt bist halt den Account los 😉
Grüsse,
Egon
Hallo,
was in dem zusammenhang auch noch interessant ist, ist dass das 2005er ZIP ~ 20 MiB groß ist, das 2008er jedoch nur mehr ~13.
Ich werd mal an die netten Leute bei galileo-press ne Mail schreiben und fragen ob die das 2005er nicht auch noch zur verfügung stellen wollen.
Grüsse,
Egon
Hallo,
kann zwar nichts zu deinem konkreten Problem sagen, aber:
Im File XPEHELP.CHM welches bei XP Embedded dabei ist wird genau erklärt wie ein Shell Ersatz zu entwickeln ist und auf was man achten muss. Leider steht der Artikel nicht im MSDN sondern ist nur gesondert bei XPE dabei - welches man aber als Trial von MS bekommt 😉
Grüsse,
Egon
Hallo,
wie talla schon sagte wird dir das OS/400 ohne die entsprechende AS/400 (iSeries) nix bringen. Wenn Du dir das ganze nur anschauen willst, guck auf http://as400.holgerscherer.de/ vorbei, dort gibts gratis Accounts 😉 (5250 Terminal Emulator brauchst noch)
Grüsse,
Egon
Hallo,
du kannst es beispielsweise über die Win32 API machen:* OpenProcess
Die Signaturen der Funktionen kannst Du unter www.pinvoke.net nachlesen.
Grüsse,
Egon
Hallo,
es gibt ne Menge JSON libraries für C#. Irgendwas wird sicher auch für dich dabei sein 😉
http://www.raboof.com/projects/jsonchecker/
http://jayrock.berlios.de/
http://james.newtonking.com/projects/json-net.aspx
http://code.google.com/p/jsonsharp/
http://litjson.sourceforge.net/
http://sourceforge.net/projects/csjson
http://jsonfx.net/BuildTools/
http://code.google.com/p/jsonexserializer/
Grüsse,
Egon
/edit: www.json.org (von dort ist obige Liste)
Hallo,
sicherlich kannst Du eine vorhandene Assembly nehmen. Da du ja nicht nur DLL's als Referenzen benutzen kannst, sondern auch EXE's kannst Du beim kompilieren des Scripts die gerade ausführende Assembly als Referenz mitgeben.
Damit aber der Code des Scripts auf Daten in deiner Applikation zugreifen kann, gibt es zwei wege:* Das schon erwähnte Singleton Pattern
Wenn Du willst kann ich sobald ich daheim bin ein kleines Beispiel erstellen.
Grüsse,
Egon
Hallo,
zusätzlich zu beachten ist auch noch, dass Telnet ein eigenständiges Protokoll ist und dementsprechend Steuerinformationen sendet.
Das entsprechende RFC für Telnet ist zu finden unter:
http://www.faqs.org/rfcs/rfc854.html
Grüsse,
Egon
Hallo,
wenn Du dem Script mehr funktionalität zur verfügung stellen musst, muss es diese ja von irgendwo her bekommen. Du musst dir also eine Assembly erstellen in der die notwendige Funktionalität beinhaltet ist.
Um z.b. auf gemeinsame Resourcen innerhalb der laufenden Applikation zuzugreifen, gehe beispielsweise so vor:* Erstelle eine Assembly mit der Funktionalität
Da das Script eine eigenständige Compile-Unit darstellt (welche erst zur Laufzeit kompiliert und über Late Binding eingebunden wird) sehe ich keinen anderen Weg.
Grüsse,
Egon
Hallo,
im Rahmen des Dream-Build-Play 2008 Wettbewerbs vergibt Microsoft einen zwölfmonatigen Gratiszugang zum XNA Creators Club (wird benötigt um mit dem XNA Game Studio Spiele für die XBox360 zu erstellen).
Weitere informationen unter: www.dreambuildplay.com
Original information: http://blogs.msdn.com/xna/archive/2008/06/08/announcing-dream-build-play-2008.aspx
Grüsse,
Egon
Hallo herbivore,
auch von mir herzlichen Dank für das erreichen (... überschreiten ^^) der 30k Marke. Ohne dich wäre das Forum qualitativ wahrscheinlich nicht das was es ist.
Grüsse
Egon
/edit: Es wäre interessant zu wissen, wieviele MiB an Daten alleine durch die von herbivore geschriebenen Texte in der DB schlummern.
Hallo,
auf die Ausführungsgeschwindigkeit hat es keinen Einfluss welche Variante du einstellst. Es geht im Endeffekt nur darum wie die Assembly geflaggt ist:
Any CPU:
Auf 32-Bit Systemen mit der 32-Bit CLR
Auf 64-Bit Systemen mit der 64-Bit CLR
x86:
Auf 32-Bit Systemen mit der 32-Bit CLR
Auf 64-Bit Systemen mit der 32-Bit CLR
x64:
Auf 32-Bit Systemen gar nicht
Auf 64-Bit Systemen mit der 64-Bit CLR
Die einstellung "Itanium" besagt dass sich die Assembly nur unter der IA64 Platform ausführen lässt.
Tragend wird das ganze hauptsächlich dann wenn Du native Libraries verwendest. Nehmen wir als beispiel an, deine Applikation läuft unter XP x64 Edition. Wenn Du Any CPU geflaggt hast wird die 64-Bit CLR benutzt. Lädst Du nun mittels P/Invoke eine 32-Bit DLL krachts, da man in einen 64-Bit Prozess keine 32-Bit DLL's laden kann. Dementsprechend musst Du in diesem Fall die settings adaptieren (auf x86)
Grüsse,
Egon
/edit: Natürlich kann es sein dass es gewisse (marginale) Performanceunterschiede zwischen der 32- und 64-Bit CLR gibt. Diese kommen normalerweise jedoch nur in bestimmten Situation zu tragen - z.b. wenn riesige Datenmengen verarbeitet werden. Aber die 32-Bit CLR kann ohnehin nur maximal 2GB speicher benutzen 😉
Hallo,
du verwendest in deiner Methode variablen welche nicht existieren. Mach folgendes:
private void DirectoryCopy(object data)
{
string sourceDirName = ( string ) (( object[] ) data )[0];
string destDirName = ( string ) (( object[] ) data )[1];
bool copySubDirs = ( bool ) (( object[] ) data )[2];
.
.
.
}
etwaige Syntaxfehler sind in diesem ungetesteten code selbst zu beheben 🙂
Grüsse,
Egon
Hallo floste,
was mir grad eingefallen ist und was ich persönlich cool finden würde: Ein generisches Netzwerkinterface über das man andere Reversi Applikationen gegen deine Spielen lassen kann - wäre doch eine schöne Challenge hier fürs Forum 😉
Grüsse,
Egon
Hallo,
schau dir mal die Methode Convert.ToDateTime an. Da gibts eine überladung bei der Du einen eigenen Formatter angeben kannst der spezifiziert in welchem Format die eingehenden Daten sind. Als Rückgabe bekommst Du dann eine DateTime Instanz
Grüsse,
Egon
Hallo,
mach z.b:
CasPol.exe -q -m -ag 1.2 -url file:\\meinserver\meinshare\meinpfad\* FullTrust
Grüsse,
Egon
Allerdings darf ich wohl in einem deutschen Forum keinen Code dazu posten, schliesslich kann man damit im lokalen Netzwerk alles mögliche anstellen 😉
Es ist traurig wie weit wir in Europa schon sind (§ 202c)
Hallo nochmal,
ich hab ein kleines Example erstellt, welches zwei Methoden zeigt wie man auf unmanaged code zugreifen kann:* Reine Unmanaged DLL mittels P/Invoke
Anbei die Solution.
Grüsse,
egon