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 rasepretrep
Thema: VS: Quellcode und generierte Dateien sauber trennen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

http://geekswithblogs.net/jolson/archive/2006/03/11/72061.aspx

geht wohl nur vernünftig mit msbuild. Ist bei mir aber auch nie soo relevant gewesen.
Was ich immer ganz gerne mache ist allerdings vor release versionen alle obj files zu löschen und mit msbuild nen rebuild zu machen. das habe ich mit einem kleinen Batch file gelöst:

@echo off
rem alle obj verzeichnisse eintfernen
for /F %%s in ('dir obj /A:D /s /b') do rmdir %%s /S /Q
rem mein build dir entfernen
rmdir output /s /q
rem msbuild mit  Framework 2.0 aufrufen
%SYSTEMROOT%\Microsoft.NET\Framework\v3.5\msbuild.exe /p:Configuration=Release /tv:2.0 /m

Thema: DataSet verschwindet
Am im Forum: Datentechnologien

Ich sag immer nur "verschlimmbessert" ;)

Thema: suche fertiges Datagridview mit Filtermöglichkeiten
Am im Forum: GUI: Windows-Forms

Das devexpress XtraGrid Wäre jetzt auch meine Empfehlung gewesen. Der Einarbeitungsaufwand ist zwar recht hoch, aber dafür hat man ein Grid das (fast) alles kann, inkl. automatischer Filteroptionen usw.

Thema: Abfragen eines Geräts/Schalters im Millisekunden-Intervall
Am im Forum: Rund um die Programmierung

Argh. höre ich da rs232 ?

Schau dir mal die SerialPort Schittstelle in c# an, das kann man doch ganz komfortabel über Events regeln.

Die seriellen Schnittstellen in PCs lösen schon seit gefühlten Jahrhunderten Interupts aus, wenn Daten anliegen. In c# läuft das dann auf Events heraus.

Selbst auf Embedded Prozessoren gibts für sowas Interrupts. Pollen über rs232 ist schon seit 2400 Baud Modems out ;)

Thema: [gelöst] VS Projekt mit verschiedenen Konfigurationen erstellen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

hehe.. Für ganz Faule wie mich einfach die enstprechende .csproj Datei unter anderem namen im gleichen Verzeichnis ablegen, dan mit nem texteditor ein paar Build Pfade abändern und in ter solution einbinden.

Thema: [gelöst] Alle Form-Objekte/Instanzen einer Anwendung behandeln
Am im Forum: GUI: Windows-Forms

Also ich habe bei mir alle Forms in der Anwendung von einer eigenen abstrakten Klasse Baseform abgeleitet, die wieder von form erbt.

Damit bin ich bis jetzt gut gefahren (mit Standardfunktionen wie drucken, (de)serialisieren etc. in der Baseform, die dann überladen werden können) .
solche Änderungen wie das Icon lassen sich damit dann auch recht einfach ändern, da sie nur in der baseform erfolgen müssten.

Du musst dann natülich einmal heftigst refactoren um das umzusetzen, dafür hast Dus in zukunft aber einfacher...

Thema: Externes Programm mit bestimmter Fenstergröße starten
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich glaube da fehlt noch ein "public" bei static class Win32.
Ausserdem lief der Teil doch schon bei Dir, oder?

WS_SIZEBOX und WS_MAXIMIZEBOX musst Du natürlich auch wieder analog zu HWND_TOP in deiner Hilfsklasse registrieren.

Um die entsprechenden werte rauszufinden einfach mal googlen, das kriegst Du schon hin ;)

Thema: Externes Programm mit bestimmter Fenstergröße starten
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

nach dem starten vom prozess ist das mainwindowhandle höchstwahrscheinlich erstmal nicht gesetzt. Versuch mal erstmal mit sleep() ein bischen zu warten, bis sich das Fenster geöffnet hat und das Mainwindowhandle gesetzt ist.

dann bei Setwindowpos() unbedingt beim 2. Paramerter HWND_TOP eingeben (wie schon vorher gesagt) sonst wird das fenster von allen anderen überdeckt.

Thema: Name eines Prozesses ändern
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

Merk dir doch die Process id, die ist immer unterschiedlich.

Thema: DirectoryInfo, FileInfo mit anderen Benutzerdaten?
Am im Forum: Rund um die Programmierung

schau mal hier

http://www.codeproject.com/KB/cs/zetaimpersonator.aspx

damit kannst du temporär unter einem anderen useraccount operationen ausführen.
Der Aufruf geht denkbar einfach mit z.B.


using (new Impersonator("username", "domainname", "userpw"))
                {
                    string[] files = Directory.GetDirectories(@"\\test\test");
                    foreach (string s in files)
                        Console.WriteLine(s);
                }

Thema: Firefox Useragent-Angabe auslesen?
Am im Forum: Rund um die Programmierung

das kann man als Anwender auch recht leicht herausfinden, wenn mann about:config als url eingibt und dann nach useragent sucht. Oder meinst du was anderes?

[edit]
Hmm about: reicht wohl auch aus und dann Bei Build Identifier gucken

Thema: An welcher Stelle Exception bei mehreren Forms fangen?
Am im Forum: GUI: Windows-Forms

Das Phänomen mit den nicht gefangenen Exceptions kommt mir irgendwie bekannt vor.

Ich habe in meiner Applikation folgende Exceptionhandler vor das Application.Run
gesetzt:

//exception handling
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(getUncaughtGUIThreadException);

//gui thread exception handling
          Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
            AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(getOtherUncaughtException);

Das funktioniert soweit ganz gut, ich nutze das aber nicht generell fürs Exception Handling (Ist meistens wie schon gesagt besser in der Form selbst) sondern nur für die wirklich unerwarteten Fälle. Bei meiner Implementierung kommt dann nur noch ein Fenster "A critical error has occured, please restart app and ask you admin" oder sowas und das ganze wird noch in einer Textdatei fürs nachverfolgen festgehalten.

Thema: Regex oder String Methoden: Was ist besser um bestimmte Teile aus HTML-Code zu extrahieren?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Naja, dann haben wir ja mal 2 unterschiedliche Ansätze mit entsprechenden Argumenten für den Thread Ersteller, um das Problem zu lösen. =)

Thema: Regex oder String Methoden: Was ist besser um bestimmte Teile aus HTML-Code zu extrahieren?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

@Herbivore


Das mag ja sein, dass Regex Wissen nie weg ist und sich viele Probleme damit lösen lassen. Aber in diesem fall würe ich auch zu dem Agility Html parser raten und mit "Kanonen auf Spatzen schiessen". Html zu parsern ist genau so ein Anwendungsfall wo regex oft versagt.

Selbst diese (einfache) hier gepostete Aufgabenstelleung ist für Regex nicht besonders geeignet. Die Attribute kann man ja wie bei XML z.B. beliebig vertauschen, dann gibts so lustige Sachen wie invalides Html, das trotzdem von allen Browsern gutmütig geparst wird usw...

Thema: Rückgabetyp = Typ der aktuellen Klasse: ohne Generics?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Stimmt, hast recht. Schade dass man nicht sowas wie

public class Base<T> where T : Base<T>, protected new()

schreiben kann ;)

Thema: Rückgabetyp = Typ der aktuellen Klasse: ohne Generics?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hmm, habe mal das Beispiel von MarsStein etwas umgebaut. So würde es auch gehen


public class Base<T> where T : Base<T>
    {
        protected Base()
        {
        }

        public static T Create()
        {
            if (SomeCondition())
                return (T) Activator.CreateInstance(typeof(T),true);
            return null;
        }
    }

    public class A : Base<A> // <- <A> nur bei Klassendeklaration nötig
    {
        protected A()
        {
        }
    }


So kann man kein

A = new A() 

schhreiben, sondern muss auf A.Create() ausweichen...

Thema: Rückgabetyp = Typ der aktuellen Klasse: ohne Generics?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hmm ganz nett, aber auch beim letzten Ansatz von MarsStein hast Du das Problem dass du einen public Konstruktor in den Klasssen A,B ,C haben musst.
Deshalb hält es keinen unwissenden Programmierer davon ab einfach

a x = new A();

zu schreiben und das wars dann mit der netten Create() Methode.
Ich würde hier eher zu Interfaces tendieren und wenn Du schon eine extra Create Methode hast die Konstruktoren auf protected aetzen, damit keiner new() verwenden kann.

Thema: Anwendung minimiert sich automatisch
Am im Forum: GUI: Windows-Forms

Hmm hatte mal ein ähnliches Phänomen mit einer externen Anwendung, die meine aufruft. Nach viel herumprobiere hat dann bei mir folgendes funktioniert:


//falls jemand das fenster minimiert hat, wieder auf normal stellen
 if (MainForm.WindowState == FormWindowState.Minimized)
                    ShowWindowAsync(MainForm.Handle,9);
//Hauptfenster wieder als vordergrund Fenster setzen
SetForegroundWindow(MainForm.Handle);

Benötigte DllImports:

[DllImport("user32.dll")]
private static extern bool SetForegroundWindow(IntPtr hWnd);

[DllImport("user32.dll")]
private static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); 

vielleicht hilfts ja...

Thema: Textboxeingabe beenden
Am im Forum: GUI: Windows-Forms

Hmm also ich mache das seit dieser Thread gestartet wurde (vor über einem Jahr.. lol)
immer über einen ValidateChildren() Aufruf in der Form befor ich irgendwelche Daten speichere oder sonstwie weiterverarbeite.

das löst auf jeden Fall das oben beschriebene Problem recht gut und funktioniert generell bei Databinding auch ohne Datasets.

Thema: Wrapper zum bereitstellen einiger Funktionen als COM-Schnittstelle
Am im Forum: Rund um die Programmierung

Zum Testen von eigenen COM Kreationen geht auch vbscript ganz gut.
Einfach ne Textdatei aufmachen, testaufruf ähnlich wie unten einfügen und in .vbs umbenennen und ausführen:

Set mycomtest= CreateObject("csfp.system5")
mycomtest.HelloWorld()

Thema: Aus einer GUID mehrere GUIDs erzeugen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Oops sorry, Thread nicht zu Ende gelesen und gleich gepostet ..
Genau das meinte ich.
MD5 gilt zwar nicht (mehr) als Kollisionssicher, aber ich glaube für diesen Zweck kann man das bequem ignorieren.

Thema: Aus einer GUID mehrere GUIDs erzeugen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Also Ich fand Deinen Vorschlag mit einer Guid und dem Int32 als Zähler und anschliessendenm Md5 ganz gut, nur würde ich den Zählerwert nicht auf die Guid aufaddieren, sondern den md5 string aus beiden Werten (also 20 bytes) nehmen.

Auf meinem guten alten Windows NT 4 war das immer so, dass sich die Guid aus der Mac Addresse + irgendwas anderes statisches + Zähler zusammensetzte, mittlerweile scheint Microsoft sich da was besseres überlegt zu haben (MD5? ;)).

Thema: [erledigt] XML Attrbiute enthält { => UTF-8 Encoding?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Umm Dein Beispiel ist gar kein Xml Dokument.

meinst Du in der 2. Zeil vielleicht sowas wie

<Id name="ident{0}"/>

Thema: Trackbars nivellieren
Am im Forum: GUI: Windows-Forms

Änderung um den Wert X bei einer Trackbar

verursacht Y = X / (AnzTrackbars-1)

Änderung bei allen anderen Trackbars (natürlich mit unweigerlichen Rundungsfehlern)

Meinst Du sowas ?

Thema: PDF erstellen über PrintPage
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wenn Du schon bestehende Routinen auf basis von Graphics hast, kann ich Dir auch PdfSharp empfehlen.

Diese PDF Bibliothek ist unabhängig vom Acrobat und zeichnet in PDFs mit einer Graphics ähnlichen API, nennt sich dann nur XGraphics, XPoint, Xfont ....

Thema: Liste serialisieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Der Vollständigkeit halber hier mal meine Variante des Serializers:


public static void Serialize(Object obj,String strFileName) {

            if (!Directory.Exists(Path.GetDirectoryName(strFileName)))
                Directory.CreateDirectory(Path.GetDirectoryName(strFileName));

            XmlSerializer xs = new XmlSerializer(obj.GetType());

            XmlWriterSettings settings = new XmlWriterSettings();
            settings.Indent = true;
            settings.Encoding = Encoding.UTF8;
            using (XmlWriter xmlWriter = XmlWriter.Create(strFileName, settings))
            {
                xs.Serialize(xmlWriter, obj);
            }
  }


public static T DeSerialize<T>(String strFileName)
{
            T retVal;

            using (FileStream fs = new FileStream(strFileName, FileMode.Open))
            {
                XmlReader reader = new XmlTextReader(fs);
                XmlSerializer xs = new XmlSerializer(typeof(T));
                retVal = (T)xs.Deserialize(reader);
            }
            return retVal;
 }

Thema: Liste serialisieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Inflames2k,

Klar geht natürlich auch deine Variante und kommt aufs gleiche raus, aber das Serialisieren als List<T> wird auch schon ab der Frameworkversion 2 unterstützt.

Die Rückwärtskompatibilität zu 1.0 oder 1.1 habe ich schon längst abgeschrieben, da gibts ja nicht mal Generics.

Thema: XML Crypt
Am im Forum: .NET-Komponenten und C#-Snippets

Schon krass was für einen sowohl semantisch als auch logisch fehlerhaften Schrott man manchmal in der MSDN findet..

Thema: Liste serialisieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hmm verstehe ich nicht den Workaround mit dem Array.
man kann doch Listen serialisieren. einfach

typeof(List<MyType>) beim serialisieren

und als Rückgabe beim deserialisieren List<MyType> nehmen.

Thema: Seite einer eigenen Webanwendung direkt in pdf umwandeln - ohne Druckfunktion
Am im Forum: Rund um die Programmierung

Hallo,

die von dir genannten Bibliotheken (gibt übrigends auch noch PdfSharp, nicht zu verwechseln mit SharpPdf ;) können ohne Druckertreiber ein Pdf erstellen oder bestehende pdfs importieren und modifizieren.
Was die alle NICHT können ist direkt Html in ein Pdf zu konvertieren. Falls Du das erreichen willst, bist Du mit einer Reporting Software besser bedient, falls es überhaupt eine gibt, die vernünftig Html in Pdf umwandeln kann.

Problematisch sind da auf jeden Fall immer die Seitenwechsel, da html ja kein Druckformat ist. Die sauberste Lösung wäre auf jeden Fall Druck Ansichten unabhängig vom Html Code zu generieren.