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 Section31
Thema: Prozessstarts steuern (unterbinden)
Am im Forum: Rund um die Programmierung

Hallo,

hast du auf das Setupprogramm Einfluss? Dann prüf da, ob der Nutzer installieren darf oder nicht.

Andernfalls wird es fast unmöglich den Anwender (zumal alle Administratoren auf ihren Rechnern sind) diese davon abzuhalten etwas zu installieren. Selbst mit Berechtigungen auf die entsprechenden Verzeichnisse wirst du nicht weit kommen, denn dann "besorgt" man es sich eben von einem Kollegen, der Zugriff hat. Und alles was du lokal installierst auf dem Rechner der Nutzer kann dieser ja auch wieder (Adminrechten sei dank) deinstallieren.

Grüße
Maik

Thema: Würfel-Zufall macht zu oft "1"
Am im Forum: GUI: Windows-Forms

Ich geb mal einen noch etwas genaueren Hinweis.

Lies dir mal Random.Next-Methode durch und schau mal, wie du die Next-Methode verwendest, dann sollte dir ganz schnell klar, warum du irgendwann nur noch die Eins bekommst.

Grüße
Maik

Thema: Änderung an der Form im Designer wird nicht ins fertige Programm übernommen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

bist du auch sicher, dass Visual Studio dein Programm neu übersetzt hat? Kann nämlich sein, dass irgendwo ein Fehler ist, dann wird nämlich u. U. der letzte lauffähig Stand gestartet.

Gruß
Maik

Thema: c++ code in c# code importieren: Das angegebene Modul wurde nicht gefunden.
Am im Forum: Rund um die Programmierung

Hallo Tom,

schau mal mit dem http://www.dependencywalker.com/ nach, was die DLL überhaupt exportiert.

Gruß
Maik

Thema: Raster-/Pixel basiertes Datenformat
Am im Forum: Rund um die Programmierung

Hallo Merti_berg,

wenn es um größere Datenmengen geht, kann sich auch mal ein Blick auf das HDF5-Format lohnen http://www.hdfgroup.org/. Da kann man so ziemlich alles Speichern, auch Kompression wird unterstützt.

Grüße
Maik

Thema: TimeCode (TC) Struct für Videobearbeitung
Am im Forum: .NET-Komponenten und C#-Snippets

Hallo,

ich denke mal, der Abschnitt


    int s = frames / (int)fps;
    int sRest = s % 60;
    int minutes = ((s - sRest) / 60) % 60;
    int hours = (100 - minutes) / 60;

in der Funktion CalculateDuration müsste eher wie folgt lauten:


    int s = frames / (int)fps;
    int sRest = s % 60;
    int minutes = (s / 60) % 60;
    int hours = s / 3600;


Grüße
Maik

Thema: svn console aus programm aufrufen
Am im Forum: Rund um die Programmierung

Ich glaube, du hast da etwas falsch verstanden oder ich mich nicht richtig ausgedrückt.

Die Befehle move und rename machen schon das, was du möchtest, aber in den Logs des Repositories wird immer ein delete für den alten und ein add für den neuen Namen stehen.

Es wäre, als würde man zuerst z. B. die alte Datei an einen neuen Ort kopieren und diese dann löschen, jedoch mit dem Nachteil, dass in diesem Falle die History verloren geht.

Thema: svn console aus programm aufrufen
Am im Forum: Rund um die Programmierung

Es gibt bei SVN kein explizites MOVE-Kommando. Es wird intern immer über ein Add und Delete gelöst

http://svnbook.spears.at/nightly/de/svn.ref.svn.c.move.html

Thema: [gelöst] Richtextboxcontrol verdreht String
Am im Forum: GUI: Windows-Forms

Hallo Stephan,

erst einmal ist ",".ToString(); Blödsinn, weil "," ja bereits schon ein String ist.

Und das was du suchst ist die Eigenschaft SelectionAlignment.

Gruß
Maik

Thema: Xml lesen: Problem mit XML-Namespace
Am im Forum: Datentechnologien

Hallo Patrick,

gibt dem Namespace http://schemas.datacontract.org/2004/07/Company.Server.Contracts.Config einfach einen beliebigen Namen. Dann sollte es etwa wie folgt funktionieren

XmlDocument xDoc = new XmlDocument();
xDoc.Load(xmlFile);

XmlNamespaceManager mgr = new XmlNamespaceManager(xDoc.NameTable);
mgr.AddNamespace("xmlns:i", "http://www.w3.org/2001/XMLSchema-instance");
mgr.AddNamespace("NameSpace", "http://schemas.datacontract.org/2004/07/Company.Server.Contracts.Config");

string path = "/./NameSpace:Stammdaten/NameSpace:Names/NameSpace:Name";
XmlNodeList xnList = xDoc.SelectNodes(path, mgr); // --> xnList.Count != 0
foreach (XmlNode xn in xnList)
{
    string firstName = xn["FirstName"].InnerText;
    string lastName = xn["LastName"].InnerText;
    Console.WriteLine("Name: {0} {1}", firstName, lastName);
}

Thema: Wie erzeugt man den String, der (aufgrund eines Fehlers) im Desktopsymbol von Gimp angezeigt wird?
Am im Forum: Rund um die Programmierung

Hi,

einfach mal den Dateinamen unter http://www.unicodemap.org/search.asp eingeben.

Maik

Thema: [erledigt] Suche: Empfehlung mobile Datenbank für große Datenmengen.
Am im Forum: Datentechnologien

Für große Datenmengen gäbe es auch noch HDF

Thema: KeyDown wird nicht ausgelöst oder kommt nicht an
Am im Forum: GUI: Windows-Forms

Hallo,

ich hatte bei einem Projekt auch dieses Problem, dass offenbar das KeyDown-Event nicht zuverlässig gefeuert wird.

Bei mir hat dann folgendes geholfen


        protected override bool ProcessDialogKey(Keys keyData)
        {
            if (keyData == Keys.Delete)
            {
                // Aktion
            }

            return base.ProcessDialogKey(keyData);
        }

Du musst dann allerdings prüfen, ob dein Listview gerade aktiv ist, weil du für das gesamte Fenster die KeyDown-Events abfängst.

Gruß
Maik

Thema: Virtuellen ComPort mit C#
Am im Forum: Rund um die Programmierung

Hallo,

über einen kleinen Umweg wäre es evtl. Möglich. Schau dir mal com0com an. Damit kannst du virtuelle COM-Ports einrichten. In deinem Programm könntest du nun alle Daten, die an das andere Programm gehen sollen auf diesen virtuellen COM-Port ausgeben und das andere Programm kann sie einlesen.

Gruß
Maik

Thema: Performance Optimierung beim Schreiben einer Textdatei
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ich würde evtl. die Variable sContent nicht als string, sondern als StringBuilder deklarieren. Im [Artikel] Performant Strings verketten sind einmal die verschiedenen Möglichkeiten Strings zu verketteten gegenüber gestellt. Du machst an zwei Stellen innerhalb von for-Schleifen ein

sContent += string
und das ist doch sehr unperformant.

Grüße
Maik

Thema: RS232 Debug und ATEN HDMI Switch über RS232 Steuern
Am im Forum: Rund um die Programmierung

Hallo,

du kannst die Zuweisung noch weiter vereinfachen, in dem du das Convert.ToByte weg lässt, denn es ist an der Stelle unnötig, denn die Werte sind ja schon Byte-Werte.

Gruß

Thema: Visual Studio 2008 Express zwischen Debug und Release Modus wechseln
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hi,

schau mal, ob unter

Tools -> Options

Hier dann das Häckchen bei "Show all settings setzen"

Und dann unter

Projects and Solutions -> General

ein Häckchen bei "Show advanced build configurations" gesetzt ist. Nu dann kannst du in der Express-Version auch zwischen Debug und Release wechseln.

Grüße

Thema: Subversion: revision löschen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hi,

schau mal in diesem Beitrag [gelöst] SVN: Letztes Changeset löschen wurde das Thema schon mal diskutiert. Es gibt eine Möglichkeit (Export Repo und Import). Aber per default ist ein nicht vorgesehen in Subversion eine Revision zu löschen.

Grüße

Thema: batch-File ausführen
Am im Forum: GUI: Windows-Forms

Hallo,

du könntest aber auch direkt


Process.Start(@"C:\ping.bat");

aufrufen.

Grüße

Thema: Gibt es sowas wie eine Online Subversion?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo #coder#,

muss es unbedingt ein Server und auch Online sein, denn für privat reicht es ja meist auch, wenn man lokal ein eigenes Repository anlegt, ganz ohne Server.

Grüße

Thema: [erledigt] enum wert geben und abfragen
Am im Forum: Rund um die Programmierung

Hallo,

schau dir doch auch mal die BitVector32-Struktur an: http://msdn.microsoft.com/de-de/library/system.collections.specialized.bitvector32%28VS.80%29.aspx
Damit kann man meiner Meinung nach wesentlich einfacher auf solche Strukturen zugreifen.

Ich hab mir die für ein anderes Projekt auch schon mal auf 64-Bit erweitert. Bei Bedarf kann ich das ganze hier auch mal posten.

Grüße

Thema: Shareware in Setupprojekt oder in Ausführerdatei integrieren?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo

Ich würde eine asymmetrisch verschlüsselte Datei verwenden. Den dazugehörigen öffentlichen Schlüssel legst du mit in deinem Programm ab (als Resource) und mit Hilfe des privaten Schlüssels (Natürlich schön sicher aufbewahren) erzeugst du nun entsprechende Lizenzen. So kann zwar jeder jederzeit die Lizenzdatei auslesen, aber halt keine neue generieren. Wie du die unverschlüsselte Datei aufbaust ist dann dir überlassen z. B. halt Benutzername, Firma, Kaufdatum, ... als XML, Text oder binär.
Und dann wie gesagt, ist sie nicht vorhanden oder ungültig -> Demo, wenn gültig -> alles frei.

Wichtig ist allerdings dann auch, dass du deine Anwendung durch einen guten Obfuscator schickst, damit erschwerst du, dass jemand deinen Programmcode einsehen kann. Dazu auch [FAQ] .net Assembly vor Disassembling schützen (Obfuscator)

Grüße

Thema: Shareware in Setupprojekt oder in Ausführerdatei integrieren?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

also ich würde die Eingabe eines Schlüssels bei der Installation weg lassen. Verwende lieber eine Lizenz-Datei. Ist keine vorhanden oder sind die Informationen ungültig, läuft das ganze im Demo-Modus. Ist es vorhanden werden alle Funktionen frei gegeben. Zusätzliche würde ich die Lizenzinformationen irgendwo an prominenter Stelle einblenden, z. B. wenn dein Programm die Möglichkeit bietet Daten zu drucken, einfach dort den Lizenznehmer mit angeben. Sowas schützt meistens auch recht effektiv gegen die Weitergabe der Lizenz, zumindest im Geschäftsumfeld. Im privaten Umfeld wirst du sowas nie ganz verhindern können.

Ansonsten einfach mal ein paar Links, denn das Thema wurde schon sehr oft angesprochen, wie man sowas realisieren kann:
Aktivierungsmanager selbst programmieren
Aktivierungsschlüssel oder nicht?

Und zu .Net Reactor einfach mal hier lesen Erfahrung mit .NET Reactor?
Der Shareware-Schutz beruht nämlich einzig und allein auf der Verschlüsselung und die ist erschreckend einfach zu entfernen, wenn man sich ein wenig näher damit beschäftigt.

Grüße

Thema: [gelöst] Consolenanwendung: PrimzahlenRechner ergibt falsche Primzahlen!
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ändere mal die do-while-Schleife in


while ((p%t != 0) && (t*t < p))

Denn die Schleife soll ja solange wiederholt werden, wie kein Rest entsteht und der Teiler kleiner als die Wurzel der aktuellen Zahl ist.

Des weiteren die auch die nachfolgende if-Abfrage entsprechend anpassen


if((t * t > p) && (p % t != 0))

Denn die Zahl ist ja nur dann prim, wenn ein Rest != 0 aufgetreten ist und der Teiler größer ist als die Wurzel der Zahl.
Und hier liegt auch dein Problem mit der 15. Die do-while-Schleife hat nämlich bei t = 5 abgebrochen und da 5*5 = 25 > 15 ist war die if-Bedingung erfüllt und er hat das ganze als Primzahl ausgegeben.

Allerdings musst du nach den Änderungen noch einen Sonderfall, neben der 2, behandeln, nämlich die 3, aber da kommst du bestimmt von selbst drauf, wo uns wie

Grüße

Thema: [gelöst] Subversion / 1 Datei in 2 Ordnern / ????
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo Pascal,

ab Version 1.6 von SVN sollte das gehen, es gibt aber Einschränkungen. Ansonsten gehen nur komplette Verzeichnisse. Siehe auch http://tortoisesvn.net/docs/release/TortoiseSVN_de/tsvn-dug-externals.html

Grüße

Thema: Gesucht: Syntax Highlighting Control
Am im Forum: GUI: Windows-Forms

Hallo Rocket,

du kannst dir ja auch mal diese Komponente ansehen http://www.digitalrune.com/Products/TextEditorControl/Overview/tabid/597/Default.aspx

Syntax Highlighting für C# ist sogar schon implementiert und für VB Script und SQL sollte es nicht so schwer sein das ganze anzupassen.

Grüße

Thema: [gelöst] SVN: Letztes Changeset löschen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

man kann die letzte Version aber auch komplett entfernen.

In der Kommandozeile folgendes ausführen, um das Repository zu exportieren und zwar nur bis zur vorletzten Versionsnummer.


svnadmin dump "Archivpfad" -r 0:"Vorletzte Revisionsnummer" > dumpfile

Dann ein neues Repository anlegen und mit

svnadmin load "Pfad zum neuen Archiv" < dumpfile

Man muss zwar dann das Projekt komplett neu auschecken, aber die letzte ungewollte Revision fehlt.

Ich geb zu, ist zwar etwas umständlich und dauert bei großen Repositories entsprechend, aber es funktioniert.

Grüße

Thema: dll zur Laufzeit dynamisch laden und ent- bzw nachladen? (ohne neuen appkontext) & variablenzugriff
Am im Forum: Rund um die Programmierung

Hi,

versuchs mal so:


// Funktionen für DLL-Zugriff
[DllImport("kernel32.dll")]
static extern int GetProcAddress(uint libraryHandle, string functionName);
[DllImport("kernel32.dll")]
static extern uint LoadLibrary(string libraryName);
[DllImport("kernel32.dll")]
static extern int FreeLibrary(uint libraryHandle);

// Delegat für die Funktion
public delegate void FunctionDelegate();

// Funktionspointer auf die Funktion
[MarshalAs(UnmanagedType.FunctionPtr)]
public FunctionDelegate Function;

// DLL-Handle holen
UInt32 libraryHandle = LoadLibrary("DLL.dll");


// Funktionspointer holen
functionPointer = (IntPtr)GetProcAddress(libraryHandle, "Function");
// Funktionspointer zuweisen
Function = Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(FunctionDelegate)) as FunctionDelegate;

// DLL wieder frei geben
FreeLibrary(libraryHandle);

Grüße

Thema: Barcode Generator
Am im Forum: Grafik und Sound

Hallo,

für Datamatrix Barcode kann ich noch http://sourceforge.net/projects/iec16022sharp/ empfehlen.

Grüße

Thema: Andere Parameter in IDE bei debuggen als beim Release?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hi,

schau mal, ob unter

Tools -> Options

Hier dann das Häckchen bei "Show all settings setzen"

Und dann unter

Projects and Solutions -> General

ein Häckchen bei "Show advanced build configurations" gesetzt ist. Nu dann kannst du in der Express-Version auch zwischen Debug und Release wechseln.