Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Floste
Thema: Wm 2010 - Seid ihr im WM Fieber?
Am im Forum: Smalltalk

Ich schaue nur fussball wenn deutschland im finale ist oder ich sonst vor langeweile sterbe -> extrem selten

Thema: Drehsinn eines Polygons
Am im Forum: Grafik und Sound

einfachstes verfahren: normalen berechnen und abfragen, ob punktprodukt von normale und einem vektor, der in richtung betrachter zeigt (aus bildschirm raus) größer als 0 ist.

Zitat von DGL-Wiki (Wie berechne ich Normalen?)
Wie berechne ich Normalen?
Normalen sind Flächennormalen. Das heißt, sie stehen senkrecht auf einer Fläche.
Welche Fläche?
Eine beliebige...
Ersteinmal eine kurze Zusammenfassung.
* Flächen bestehen aus Polygonen.
* Polygone bestehen aus n Dreiecken.
* Jedes Dreieck ist definiert durch seine 3 Eckpunkte.
* 3 Punkte liegen immer in einer Ebene

Wenn man nun die Normale eines Dreiecks berechnen will geht man folgenermaßen vor:
1. Einen Eckpunkt als Bezugspunkt (P0) wählen.
2. Die beiden Vektoren v1 = P1-P0 und v2 = P2-P0 bestimmen.
3. Diese beiden Kreuzmultiplizieren v1 X v2. (steht in jedem Tafelwerk unter Kreuzprodukt)
4. Das Ergebnis hat schonmal die richtige Richtung. (Für OpenGl reicht das.)

Thema: SetWindowsHookEx in console application ?
Am im Forum: Rund um die Programmierung

1.)Ein Fehler, mit dem es garnicht gehen kann: du musst eine referenz auf Myclass am Leben erhalten, weil diese das callback und den delegaten enthält. das ist extrem wichtig bei hooks!



            MyClass c = new MyClass();
            Console.ReadLine();
GC.KeepAlive(c);
2.)Wenns ned passt, dann ersetz zusätzlich (Gc.KeepALive muss bleiben) Console.ReadLine durch Application.Run();

Thema: captcha anzeigen?
Am im Forum: Web-Technologien

-Runterladen
-in einen fie oder memorystream kopieren (networkstream direkt verwenden is suboptimal)
-Image.FromStream verwenden (fromfile lockt die datei unnötig lange)
-einem panel als hintergrundbild zuweisen oder in einer picturebox anzeigen

Thema: Das Programmier-Spiel: nette Übungsaufgaben für zwischendurch
Am im Forum: Smalltalk

schade, dass ich anysudoku nicht einreichen kann.

Thema: AnySudoku
Am im Forum: Projekte

gepatchte exe, die sich ohne administratorrechte starten lässt.
sonst keinerlei veränderungen zur obigen version.

Thema: [gelöst] Morié-Effekt bei WPF-Bildern
Am im Forum: GUI: WPF und XAML

Zitat
In dem Fall würde ich sage, es tritt wohl immer auf.
Ist doch auch logisch:
wenn man ein bild von 10 pixeln auf 11 pixel skaliert, dann liegt der mittlere pixel im 11-pixel-bild genau zwischen 2 pixeln im originalbild. an den rändern passen die pixel aber gut aufeinander -> nur in der mitte unscharf.
wenn man jetzt von 20 zu 22 pixeln scaliert, dann hat man genau zwei socher 10-pixelbilder nebeneinander, das dann zu einem wellenmuster der Unschärfe führt. Bei 2d-bildern überlagern sich zwei "unschärfewellen" und das führt zu einem punktemuster.

Es ist also ein grundsätzliches Probklem beim scalieren von bildern.

Mit nearestnighbour wird die unschärfe auf eine pixelzeile bzw spalte "konzentriert" -> linienmuster

Anhang: linkes karomuster wurde von 32 nach 34 pixel scaliert: oben mit bikubischem filter und unten mit nearestneighbour.

Thema: Richtige IPAdresse rausfinden
Am im Forum: Netzwerktechnologien

ping auf broadcast?

Thema: Asymmetrische Verschlüsselung: Mit privatem Schlüssel verschlüsseln, mit öffentlichem entschlüsseln
Am im Forum: Rund um die Programmierung

bei dsa wird aber nicht die nachricht ansich, sondern deren hash verschlüsselt

Thema: Unerlaubte PC Zugriffe überwachen (oder verhindern)
Am im Forum: Rund um die Programmierung

Zitat
Zum Schluss soll das so eine Art Security Tool werden, das heißt: Der Benutzer kann festlegen welche Anwendungen an seinem PC gestartet werden dürfen und welche Aktion ausgeführt werden soll, wird eine Anwendung gestartet die nicht erlaubt ist.

berechtigungen könntest versuchen zu setzen

ansonsten sindkernelmode hooks das einzige, was halbwegs zuverlässifg läuft.
es geht unter umständen auch usermode, aber das hat seit uac ein paar zusätzliche komplikationen und sollte man auf keinen fall in .net machen (habe es versucht mit .net und das prog hat den pc geschrottet, sobald gestartet) : ntcreateprocess hooken, da kann man auch den befehl abfangen

kernelmode geht in x64 nur eingeschränkt, wegen signierung.

Thema: Asymmetrische Verschlüsselung: Mit privatem Schlüssel verschlüsseln, mit öffentlichem entschlüsseln
Am im Forum: Rund um die Programmierung

Wenn der Schlüssel zum Entschlüsseln öffentlich ist, kann doch jeder mit ihm die Daten entschlüsseln.

Wenn jeder die daten sowieso lesen kann, kann man sie auch gleich unverschlüsselt veröffentlichen und DSA signieren, um Manipulation und Fälschung vorzubeugen.

Wenn nur gewollt ist, dass man einen Schlüssel braucht zum entschlüsseln, kann man genausogut ein symmetrisches Verfahren einsetzen.

Wenn man also ein symmetrisches Verfahren (Mars,Twofish,AES,...) mit einer Digitalen signatur kombiniert, kommt das aufs gleiche raus und ist höchstwahrscheinlich sogar performanter, als die gesamte Nachricht komplett mit RSA zu verschlüsseln.

Thema: Für ein Event eine anonyme Methode registrieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat

add.Click += (sender, eventArgs) => MessageBox.Show("Add geklickt");

Sobald man innerhalb der Methode eine lokale variable aus der methode, die das hinzufügen aufruft verwendet, wird intern aber doch eine "anonyme klasse" erzeugt, von der man aber sogut wie nix mitbekommt. (this wird vom compiler durch this.<>n_this ersetzt, was auf die klasse verweist, in der man den lambdaausdruck geschrieben hat.)

auch wenn die lambdasyntax meist praktischer ist, sollte man aber trotzdem die alte syntax kennen, mit der man allerdings keinerlei klassen definieren kann.

Thema: Probleme mit Random auf Multicore
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wer hätte gedacht, das dieses thema dermnaßen viel gesprächsstoff liefern würde
btw: wieviele forenmitglieder braucht man um eine glühbirne zu wechseln?

@winSharp93

Zitat
lieber das Random cachen.
warum nicht zusätzlich im getter cachen?

Thema: String von unmanaged zu managed und zurück C dll
Am im Forum: Rund um die Programmierung

Zitat
Möglichkeit 3
maximale Länge wird so ebenfalls VOR dem aufruf festgelegt.

Thema: String von unmanaged zu managed und zurück C dll
Am im Forum: Rund um die Programmierung

Zitat
liegt der Fehler vlt eher auf der c/c++ Dll-Seite?
pOutput=output ist komplett wirkungslos!

Möglichkeit a. (standard))
du ersetzt die zuweisung durch strcopy(output,pOutput) (parameter vllt vertauschen)
nachteil: du hast eine maximale stringlänge

Möglichkeit b.)

Parameter bekommt ein sternchen: LPCSTR* pOutput
...
*pOutput=output;

nachteil:
1.) deine c- dll muss eine freestring-funktion exportieren, sodass du den string wieder loswirst und diesye funktion musst du selber aufrufen.
2.) du musst dich in c# selbst mit pointern rumschlagen und hast kein automatisches übersetzen nach stringbuilder oder array oder so

Thema: Probleme mit Random auf Multicore
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat
Ähm - jeder Thread sollte sein Random natürlich selber speichern (sonst ist das ja witzlos).
Genau dafür ist threadstatic immernoch besser, als mehrfach ein neues random zu erstellen!
Er will es ja von mehreren stellen aus verwenden.

Thema: String von unmanaged zu managed und zurück C dll
Am im Forum: Rund um die Programmierung

lpcstr ist ein nullterminiertes ansi char array -> byte[]
char[] in c# ist ein unicode array -> ushort[]
in c ist ein char 1 byte. in c# ist ein char 2 bytes. wenn man c# zeichen an c übergibt, wird ein char als 2 chars interpretiert. die lateinischen buchstaben haben aber alle noch die alten nidrigen werde. deshalb enthält das zweite char in c dann den wert 0, also '\0', was in c da<s Ende des strings markiert -> alles wird nach 1 zeichen abgeschnitten!Du
übergibst du faktisch "0\01\02\03\04\0....


        [DllImport(@"E:\Users\Public\CODE\AES\AES.dll", EntryPoint = "ExterneMethodeInC")]
        static extern [MarshalAs(UnmanagedTypoe.Bool)] bool ExterneMethodeInC([MarshalAs(LPStr),In]string input, [MarshalAs(UnmanagedType.LPStr),In,Out]  StringBuilder output);

            StringBuilder b = new StringBuilder(512/*max. länge*/);
            b.Append("0000000000000000");

            if (ExterneMethodeInC("0123456789ABCDEF", b))
                Console.WriteLine(b.ToString());

Thema: Probleme mit Random auf Multicore
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hab nen speedtest gemacht 1000Threads (die threads aber nacheinander, die zeit zwischen den threads nicht gemessen) mit jeweils 100000 aufrufen dauern:
static, lokale variable, klassenvariable: 1,5s
threadStatic: 4,8s
dictionary: 6,7s
winsharp: 414s
static+lock: 7,8s

ergebnisse sind sehr konstant.

Thema: Refactoring: Wann/Wie oft machen? Welche Gründe?
Am im Forum: Rund um die Programmierung

Ich mache mich grade ein bisschen über Refactoring schlau und dachte ich fage einfach mal die Programmierer:
In welchen Situationen ist es nötig und bringt es überhaupt was oder macht es mehr Arbeit als es nützt?
Wann sollte man es (laut Lehrmeineung/Theorie) machen und wie sieht es in der Praxis aus?
Müssen die Verursacher des zu verbessernden/neuzuschreibenden codes Überstunden schieben, oder wie läuft das?

Thema: Probleme mit Random auf Multicore
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

man könnte sich das ganze auch sparen:


[ThreadStatic]
static Random threadRandom=new Random();

Thema: Heute schon mal gegoogelt? (Pac-Man-Spiel auf Google-Startseite vom 21./22. Mai und ähnliches)
Am im Forum: Smalltalk

im quelltext steht was vom killscreen beim 256. level

Thema: Heute schon mal gegoogelt? (Pac-Man-Spiel auf Google-Startseite vom 21./22. Mai und ähnliches)
Am im Forum: Smalltalk

Genial
(hatte grade vor lachen rofl anstatt meines passworts eigegeben)

Thema: Laufen C# Programme auf Windows 98 ??
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Zitat von Wikipedia
Wikipedia]Version 2.0 ist die letzte Version, die Windows 2000, Windows 98 und Windows Me unterstützt.

-> keine funktionen benutzen, die erst ab 3.5 kommen (Linq & co). Selbiges gild für p/invoke

Thema: Opengl: clipping und zbuffer andersrum mit debugger und anycpu
Am im Forum: Grafik und Sound

Zitat von Threadname
opengl:
ich compilier jetzt einfach für x86, da hab ich keine probleme (abjesehen von leicht schlechterer performance)

Thema: Opengl: clipping und zbuffer andersrum mit debugger und anycpu
Am im Forum: Grafik und Sound

Es hat mich eine halbe ewigkeit gekostet, um herauszufinden, was abgeht:

wenn ich mein programm für debug, anycpu kompiliere und gleichzeitig mit debugger starte, wird der Inhalt richtig angezeigt, solange ich clipping=counterclockwise und zbuffer=smallerequal mache.

wenn ich ohne debugger oder mit debugger, aber in x86 starte, muss ich clipping=clockwise und zbuffer=greaterequal machen, damit es richtig angezeigt wird.

WTF!?
Was hat der debugger mit clipping und so zutun? Und warum klappt es in x86?
Fehlermeldungen gibts jeweils keine und auch das setzen der Matrizen und alles funktioniert. Warum kann ich den zbuffer mit dem gleichen wert clearen?
Ich benutze zwar meine eigenen imports, aber an x64-problemen kann es nicht wirklich liegen, da es ohne debugger in anycpu sich genauso wie in x86 verhält.
Zusammenfassung: WTF!?

hat jemand eine erklärung?

Thema: OpenGL: Portale Erzeugen
Am im Forum: Grafik und Sound

stencilbuffer setzen, wiewmatrix auf gewünscghten blickwinkel ändern und fertig.
je nachdem, was du erreichen willst lässt sich das vielleicht auch einfacher erzeugen, um viewmatrix-rumdoktorn kommste aber nich herum.

außer stencilbuffer gibts noch was anderes:
http://wiki.delphigl.com/index.php/Tutorial_Renderpass

Thema: Top-Filme (must-sees!)
Am im Forum: Smalltalk

Zitat
ohne viel Action und Animationen sehen wollen kann ich nur sehr Man from earth ans herz legen, eine der besten Dialoge die ich kenne!

dialog. du sagst es. das ist eigendlich ein hörspiel, bei dem jemand dachte als film verkauft es sich besser (o.ä.). Ttrotzdem sehens äh hörenswert meine ich.

Thema: [erledigt] Der Operator "==" kann nicht auf Operanden vom Typ "X" und "X" angewendet werden.
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

klassen instanzen gibt es jeweils nur einmal im speicher. variablen sind nur refewrenzen. == vergleicht bei klassen die referenzen (also ob auf den gleichen Speicher verwiesen wird)

bei structs mach das aber keinen sinn, da sie dauernd kopiert werden.

wenn du trotzdem vergleichen willst, musst du entweder objekt.equals nehmen (vorsicht, ziemlich langsam) oder dir den operator selbst definieren:

public static bool operator ==(Waypoint A,Waypoint B)
{
   return A.iwas==B.iwas&&...;
}

Thema: Frequenz-Diagramm: (Musik visualisierung)
Am im Forum: Projekte

Danke für das Lob.

Zitat
Leider bekomme ich den Player nicht flüssig zum laufen, obwohl meine CPU lange noch nciht voll ausgelastet ist. (siehe http://www.abload.de/img/spectraljc8i.jpg - Musik kommt ca. in 0,5/1sec. Blöcken an)
Läuft es bei dir flüssig und wenn ja mit welcher Hardware?

Bei mir läuft es flüssig, ich habe aber auch ne Ati hd5750 Graka mit aktuellen Treibern. von der Leistung her sind aber alte Grafikkarten vollkommen ausreichend, da nur minimale Shaderleistung gebraucht wird, man braucht jedoch einen Treiber mit anständigen Opengl-Support.

Dein Verhalten hört sich danach an, dass dein Grafiktreiber zu blöd is, Texturen teilweise zu ersetzen und einfach die gersamten Daten ersetzt.
Zitat
Ich hab hier nen Intel i3 330M (Dualcore mit 2,1GHZ) und 4GB Ram, falls das weiterhilft.
Mein System ist etwas schlechter, was das angeht. Ein kern schafft bei mir locker die Grafikberechnungen und Opengl-Aufrufe. Deshalb bleibt nurnoch ein langsamer Treiber übrig.

Thema: Frequenz-Diagramm: (Musik visualisierung)
Am im Forum: Projekte

Code (wer selbst compilieren will, muss minimp3.dll manuell in den ausgabeordner kopieren).