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 Sarc
Thema: Zeitschaltplan: Ermitteln, ob ein Zeitpunkt innerhalb eines Zeitraums liegt
Am im Forum: Rund um die Programmierung

Hallo,

du kennst ja das Interval aus der DB. Dann reicht es doch aus zu prüfen, ob der Eingang der Nachricht (DateTime.UtcNow) in diesem Interval liegt.
Ich schreibe explizit vom Datum in UTC, da du es auch in UTC in der DB speichern solltest, um Probleme bei der Zeitumstellung zu vermeiden.
Den aktuellen Wochentag erhälst du ebenfalls über die DateTime-Klasse.

Thema: "WHERE" Befehl zum auslesen einer bestimmten Zeile in einer Datei?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wenn die Dateien nicht zu groß sind, kannst du alle Zeilen auf einmal einlesen und dann einfach fiiltern:

var filteredLines = File.ReadAllLines("test.txt").Where(line => line.StartsWith("01.01.2013"));

Thema: Performance-Problem in MouseMove Event vermeiden
Am im Forum: GUI: Windows-Forms

Hallo,

dein Code macht doch momentan immer das gleich, also unabhängig von der Mouse position. Hast du da nicht eine Prüfung vergessen?

Thema: BizSpark - Was passiert nach Ablauf des Programms mit den Lizenzen?
Am im Forum: Smalltalk

Ok, hat sich erledigt. Ich habe die Antwort grad auf der deutschen Microsoft Seite entdeckt:
Microsoft BizSpark FAQ: Wie lange kann ein Startup an BizSpark teilnehmen, und was passiert anschließend?


Laut der Seite darf man die Software also nach dem Ablauf weiterhin kostenlos nutzen. Gut zu wissen.

Thema: BizSpark - Was passiert nach Ablauf des Programms mit den Lizenzen?
Am im Forum: Smalltalk

Hallo,

hat jemand von euch Erfahrungen mit BizSpark bzw. kann mir sagen was nach Ablauf des BizSpark-Programms (spätestens nach 3 Jahren) mit den Lizenzen passiert?
In der FAQ finde ich dazu nichts konkretes: Frequently Asked Questions: Microsoft BizSpark: How long can Startups participate in BizSpark and what happens afterwards?

Laut einem Kommentar (BizSpark - Free Software and Production Licenses for Startups in the Startup Phase) scheint es so zu sein, als dürfte ich die Produkte dann nicht mehr nutzen. Das heisst ich müsste dann z.B. das darüber bezogene Windows OS, Visual Studio etc. deinstallieren?

Über Erfahrungen mit dem BizSpark Programm wäre ich sehr dankbar.

Gruß
Sarc

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

Zitat von Mandy
Bin gespannt, was euch dazu einfällt...
Google :P
Mathe-Board: Knobelecke: Gesucht wird eine Zahl...

Thema: Dekomprimieren mit GZipStream funktioniert im Debugger aber ohne Debugger nicht
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Also manchmal sollte man bestimmte Warnung auch ignorieren. Obige gehört für mich dazu.
Der modifizierte Code würde meiner Meinung nach die Lesbarkeit/Verständlichkeit des Codes verschlechtern. Siehe dazu auch als Beispiel auch CA2202, how to solve this case.

Zitat
It's really bad to create ugly code just to comply with a warning that should be suppressed.

Thema: Dekomprimieren mit GZipStream funktioniert im Debugger aber ohne Debugger nicht
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ich kann leider auch nicht sagen was da schief läuft, aber folgendes funktioniert einwandfrei (egal ob Debug oder nicht): (Compress/Uncompress Methoden entnommen von String compression using GZipStream)

[TestClass]
public class UnitTest1
{
	[TestMethod]
	public void Test_Success()
	{
		var s = Compress("Hello World");
		Assert.AreEqual("Hello World", Decompress(s));
	}

	public static byte[] Compress(string text)
	{
		using (var ms = new MemoryStream())
		{
			using (var zip = new GZipStream(ms, CompressionMode.Compress))
			using (var writer = new StreamWriter(zip))
				writer.Write(text);
			
			return ms.ToArray();
		}
	}

	public static string Decompress(byte[] compressed)
	{
		using (var ms = new MemoryStream(compressed))
		using (var zip = new GZipStream(ms, CompressionMode.Decompress))
		using (var sr = new StreamReader(zip))
		{
			return sr.ReadToEnd();
		}
	}

}

Thema: Wie handhabt man reine Datencontainer, wenn es keine "friend" Klassen gibt?
Am im Forum: Rund um die Programmierung

Hallo,

reicht die internal Sichtbarkeit für dich evtl. aus?
Dann könntest du die setter internal machen und sie sind somit nur von deiner Logik Klasse setzbar, da sich diese in der gleichen Assembly befindet (ich nehme an, die GUI ist in einer separaten Assembly).

Thema: ResourceDictionary aus fremder Assembly laden / nutzen
Am im Forum: GUI: WPF und XAML

Hallo,

du kannst in einer Class library schon ein ResourceDictionary erzeugen.
Ich hab dir mal ein beispielprojekt angefügt, das ein ResourceDictionary aus einer Class library einbindet.

Thema: SevenZipSharp Fehler: library is invalid
Am im Forum: Rund um die Programmierung

Hallo,

also bei mir funktioniert es einwandfrei:

var filename = @"F:\tmp\test.zip";
SevenZip.SevenZipCompressor.SetLibraryPath(@"C:\Program Files\7-Zip\7z.dll");
var extractor = new SevenZipExtractor(filename);
extractor.ExtractArchive(@"F:\tmp");
extractor.Dispose();
Ich habe 7-zip in der 64-bit version installiert und wenn ich in VS als Target auch 64-bit wähle, dann passt alles. Wenn ich allerdings AnyCpu wähle, bekomme ich die gleiche Meldung wie du.
Sprich: Stell sicher, dass deine platformen zusammen passen.

Thema: SevenZipSharp Fehler: library is invalid
Am im Forum: Rund um die Programmierung

Ja, RAR sollte schon funktionieren. Schonmal im Netz nach dem Fehler gesucht?
Das sieht ganz passend aus: How would i use Sevenzipsharp with this code?

Thema: SevenZipSharp Fehler: library is invalid
Am im Forum: Rund um die Programmierung

Wenn ich das richtig verstanden habe, dann musst du in SetLibraryPath den Pfad zu der 7-zip dll angeben. Die SevenZipSharp dll musst du ja ohnehin schon referenziert haben, sonst würdest du die Typen (z.B. SevenZipExtractor) ja gar nicht kennen.

Thema: Best practice für das Verwenden von externen Prozessen
Am im Forum: Rund um die Programmierung

Hallo,

das klingt für mich nach einem Pfad-Problem. Bist du dir sicher, dass du den Pfad korrekt angibst? Füg doch vor dem Process.Start() einfach mal ein File.Exists() ein, und schau ob der von dir verwendete Pfad als Datei überhaupt existiert. Dann weisst du wenigstens schonmal ob es daran liegt.

Thema: Sortieren von Listen anhand mehrerer Kriterien *über mehrere Objekte*
Am im Forum: Rund um die Programmierung

Hallo ModelViewPresenter,

ok, jetzt verstehe ich deine gewünschte Sortierung (hoffentlich) ;)
Ohne voriges tagging könntest du auch die zwei Teil-Listen sortieren (zahlen ohne false und zahlen mit false) und später wieder mergen. Ist zwar nicht elegant, aber du ersparst dir das tagging.

static void Main(string[] args)
{
	var foos = new List<Foo>();
	foos.Add(new Foo(2001, 1, true));
	foos.Add(new Foo(2002, 1, true));
	foos.Add(new Foo(2002, 2, true));
	foos.Add(new Foo(2003, 2, true));
	foos.Add(new Foo(2013, 2, false));
	foos.Add(new Foo(2013, 3, true));
	foos.Add(new Foo(2001, 2, true));
	foos.Add(new Foo(2013, 2, true));
	foos.Add(new Foo(2002, 2, true));
	foos.Add(new Foo(2013, 3, true));
	foos.Add(new Foo(2014, 3, true));

	var ints = foos.Where(f => !f.BoolValue).Select(f => f.IntValue).Distinct().ToArray();
	var resultList = foos.Where(f => !ints.Contains(f.IntValue)).OrderBy(f => f, new FooComparer()).ToList();
	resultList.AddRange(foos.Where(f => ints.Contains(f.IntValue)).OrderBy(f => f, new FooComparer()));
}

Thema: Sortieren von Listen anhand mehrerer Kriterien *über mehrere Objekte*
Am im Forum: Rund um die Programmierung

Hallo,

der Vorschlag von Abt ist genau das was du brauchst. Z.b.:

class Program
{
	static void Main(string[] args)
	{
		var foos = new List<Foo>();
		foos.Add(new Foo { Year = 2013, IntValue = 2, BoolValue = true });
		foos.Add(new Foo { Year = 2013, IntValue = 3, BoolValue = true });
		foos.Add(new Foo { Year = 2013, IntValue = 2, BoolValue = false });

		foos.Sort(new FooComparer());
	}
}

public class Foo
{
	public int Year;
	public bool BoolValue;
	public int IntValue;

	public override string ToString()
	{
		return string.Format("{0}, {1}, {2}", this.Year, this.IntValue, this.BoolValue);
	}
}

public class FooComparer : IComparer<Foo>
{
	public int Compare(Foo x, Foo y)
	{
		if (x.Year < y.Year)
			return -1;
		else if (x.Year > y.Year)
			return 1;

		if (x.IntValue < y.IntValue)
			return -1;
		else if (x.IntValue > y.IntValue)
			return 1;

		if (x.BoolValue != y.BoolValue)
			return x.BoolValue ? 1 : -1;

		return 0;
	}
}

Thema: WPF: Fehler beim Suchen nach Resourcenverzeichnis
Am im Forum: GUI: WPF und XAML

Hallo,

du schreibst oben "Dicitionarys", aber verweist auf ein "Dicitionary"-Verzeichnis. War das nur ein Tippfehler?

Thema: Objekt auf ein generisches Interface casten, ohne den Typparameter zu kennen?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

hier kommt zum Tragen, dass für Wertetype wie int, double etc. keine Varianz unterstützt wird, sondern nur für Referenztypen. Lies dir am Besten mal die FAQ zu Co- und Contravariance durch:
Covariance and Contravariance FAQ

Thema: UserControl (XAML) -> Methoden nutzen
Am im Forum: GUI: WPF und XAML

Ok, dann habe ich deine Frage falsch verstanden.
Du schreibst ja:

Zitat
denn ich möchte nicht mit View und ViewModel arbeiten
aber scheinbar ja doch mit ViewModel?!

Bei der momentanen Fragestellung verstehe ich leider nicht was du möchtest.

Thema: UserControl (XAML) -> Methoden nutzen
Am im Forum: GUI: WPF und XAML

Hallo Cannon,

du vergibst einfach einen Namen für dein Control, danach kannst du auch drauf zugreifen, z.B.:

<mycontrols:MyUserControl x:Name="myctrl">
Wobei ich für "x" hier vom Standard xml namespace ausgehe, der im Root Knoten definiert ist:
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Thema: Klasse mit Timer - wie Unittesten?
Am im Forum: Rund um die Programmierung

Hallo yngwie,

du könntest diesen "Verzögerungstimer" erstmal kapseln und dann unabhängig von deinem ItemVisitor testen, z.B. so:

public class DelayTimer
{
	private System.Timers.Timer timer;
	private Action callback;

	public DelayTimer(Action callback, TimeSpan delay)
	{
		this.callback = callback;
		this.timer = new System.Timers.Timer(delay.Milliseconds);
		this.timer.Elapsed += timer_Elapsed;
	}

	void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
	{
		this.Stop();
		this.callback();
	}

	public void Restart()
	{
		this.Stop();
		this.timer.Start();
	}

	public void Stop()
	{
		this.timer.Stop();
	}
}
Und so könnte dann ein Test aussehen:

[TestMethod]
public void Test_Success()
{
	var count = 0;
	var timer = new DelayTimer(() => ++count, TimeSpan.FromMilliseconds(200));
	timer.Restart();
	Thread.Sleep(100);
	Assert.AreEqual(0, count);

	timer.Restart();
	Thread.Sleep(250);
	Assert.AreEqual(1, count);
}

Thema: SQL in Linq
Am im Forum: Datentechnologien

Hallo,

so wie ich das sehe sind ja in TeamHandler.ActiveItems schon alle Einträge aus der DB enthalten. Das ist ja das eigentliche Problem und nicht die zwei for-schleifen zum filtern. Du solltest bei der DB-Selektion der Einträge schon darauf achten, dass du nur die relevanten Einträge holst.

Thema: Visual Studio 2012 Studentenversion kommerziell verwenden?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo GeneralKampfKeks,

wie du weiter vorgehst ist letztendlich deine Entscheidung, die dir hier niemand abnehmen kann.
Es kommt ja, wie herbivore gesagt hat, darauf an ob von Anfang an eine kommerzielle Absicht bestand. Wenn es z. B. im Rahmen eines Studienprojektes entstanden ist und du es jetzt mit Express weiterverfolgst, sehe ich kein Problem.

Wenn es aber von Anfang an nicht für einen akademischen Rahmen gedacht war, dann hättest du ja zum jetztigen Zeitpunkt eh schon gegen die Richtlinien von Microsoft verstossen. Ob es da ratsam ist Microsoft zu kontaktieren ist fraglich.

PS: Bin auch kein Anwalt.

Thema: Per SMTP Email versenden
Am im Forum: Netzwerktechnologien

Probiers mal mit Port 587 (Sending email via GMail in .NET)

Thema: Per SMTP Email versenden
Am im Forum: Netzwerktechnologien

Hallo,

du hast da einen Zahlendreher in der Portnummer. Das müsste Port 465 und nicht 456 sein.

Thema: Linq-Abfrage zur Rückgabe des immer ersten Datensatzes aus einer Gruppierung
Am im Forum: Datentechnologien

Hallo,

also der code von unconnected sieht gut aus. Habs eben auch mal (ohne dataset) getestet und der code sollte schon das machen was du willst.

Hier mein Test:

static void Main(string[] args)
{
	var items = new List<dynamic>();
	items.Add(new { Zeichnungsnummer = "ABC", Auftragsnummer = 1 });
	items.Add(new { Zeichnungsnummer = "XYZ", Auftragsnummer = 1 });
	items.Add(new { Zeichnungsnummer = "ABC", Auftragsnummer = 2 });

	var res = items.GroupBy(f => f.Zeichnungsnummer).Where(f => f.Count() == 1).SelectMany(f => f).ToArray();
}
Hier krieg ich das item mit der Zeichnungsnummer "XYZ", und auch nur das eine.

Thema: MoonPdf - PDF Viewer Control und PDF Viewer
Am im Forum: Projekte

MuPdf ist ja in C geschrieben. Meine Komponente bringt quasi einen Teil der Funktionalitäten von MuPdf nach .NET.
Meine Komponente ist rein für die Darstellung von PDF Dateien da. MuPdf bietet darüber hinaus noch weitere Features, z. B. Textsuche o. ä.

Thema: MoonPdf - PDF Viewer Control und PDF Viewer
Am im Forum: Projekte

Hallo zusammen,

MoonPdf ist ein momentanes Projekt von mir. Es umfasst ein PDF Viewer Control (MoonPdfLib) und einen beispielhaften Einsatz dieses Controls in Form eines PDF Viewers (MoonPdf).
Beide Komponenten sind WPF-basiert.

MoonPdfLib setzt auf der Rendering Engine von MuPdf auf und hat daher auch keine weiteren Abhängigkeiten wie z.B. zum Adobe Reader.

Beide Komponenten lassen sich hier herunterladen:
https://sourceforge.net/projects/moonpdf/files

Am Besten den MoonPdf PDF Viewer herunterladen um direkt PDFs zu öffnen.
Das Projekt ist noch relativ am Anfang daher bin ich für Feedback aller Art dankbar.

Wer sich für die Implementierung interessiert, der kann sich den dazugehörigen CodeProject Artikel ansehen:
MoonPdfPanel - A WPF-based PDF viewer control

Gruß

Edit: Link zum entsprechenden CodeProject Artikel hinzugefügt

Thema: Form2 wird gezeichnet aber nicht angezeigt
Am im Forum: GUI: Windows-Forms

Hallo,

was erhoffst du dir von dem w.Dispose()? Du benötigst das Fenster zu diesem Zeitpunkt doch noch.

Thema: Anwendung "klaut" Konsolenfenster?
Am im Forum: Rund um die Programmierung

Hallo,

Zitat von lot2learn
Lasse ich die Anwendung aber über die Mess-Software starten, dann stürzt meine Anwendung ab.
Was ist denn die Fehlermeldung die beim Absturz deiner Anwendung auftritt? Wenn in der von dir ermittelten Zeile eine Exception geworfen wird, dann setzt doch ein try-block darum, und lass dir im Catch-Block die Exception ausgeben.
Dann weisst du warum die Anwendung abschmiert.