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 GMLOD
Thema: Bubblesort mit generics
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ist ja ok, wenn du durch die Implementierung deiner Algorithmen lernen willst. Aber denke dran, dass du, wenn du ein Produkt erstellen willst, besser auf Array.Sort zurückgreifst.

Thema: Select statement
Am im Forum: Datentechnologien

Den jüngsten Eintrag bekommst du mit der max Funktion:

select max(date_column) from tbl;

Thema: Select statement
Am im Forum: Datentechnologien

1.

select min(date_column) from tbl;

2. Um die Anzal der Reihen zu bekommen:
select count(*) from tbl where ...

Thema: Bubblesort mit generics
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Du kannst auch auf die Methode eine Einschränkung setzen:

public static void BubbleSort<typ>(typ[] feld) where typ : IComparable
{
     //code
}

Thema: Sorted Dictionary löscht ersten Eintrag nicht
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Warum dann nicht eine List<KeyValuePair<string,string>> nehmen? Spielt Performance eine derart große Rolle?

Thema: Sorted Dictionary löscht ersten Eintrag nicht
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Das Problem ist dein Comparer. Der weiss nämlich nicht, wann ein Item "kleiner" ist. Du brauchst auch gar kein SortedDictionary - wozu auch - du willst alles ja in der ursprünglichen Reihenfolge. Ausserdem hast du ja keinerlei richtiges Sortierkriterium, das was du machst, ist ja so nicht beschreibbar.

Worauf willst du hinaus? Für dich tut es doch auch ein normales Dictionary.

Thema: Gibt es für C# Software Architekten eine Art Weiterbildung?
Am im Forum: Smalltalk

Achso. Ich mach nur Trinksport. Golf wird überbewertet.

Thema: Gibt es für C# Software Architekten eine Art Weiterbildung?
Am im Forum: Smalltalk

Zitat von FZelle
Hatte mal einen im Flight ( hoch/mittel/Tief), der sagte "Einen einstelligen Programmierer
würde er niemals einstellen.
Der würde ja neben der arbeit auch noch Zeit fürs Golfen haben."

Was ist bitte ein "einstelliger" Programmierer?

BTW: Es gibt von Microsoft eine Elite-Zertifizierung zum Architect, aber die bekommt man nur durch die Einladung eines Mentors, der selber dieses Zertifikat hat.

Thema: Insert Select From - dublikate verhindern
Am im Forum: Datentechnologien

Da finde ich es wesentlich einfacher zu lesen:

insert into tbl a 
select * from tbl2 b 
where not exists 
( 
select 1 from tbl a
where a.Schlüsselkriterium1 = b.Schlüsselkriterium1
and     a.Schlüsselkriterium2 = b.Schlüsselkriterium2
-- asf.
)

Thema: Eigenschaften einer Exe-Datei auslesen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

using System;
using System.Reflection;

[assembly: AssemblyTitle("C#")]
[assembly: AssemblyDescription("C# Language")]

namespace AttributeExample
{
public class Program
{
public static void Main()
{
Assembly SampleAssembly = Assembly.Load(Assembly.GetExecutingAssembly().Full Name);

foreach (Attribute a in SampleAssembly.GetCustomAttributes(true))
{
if (a is AssemblyTitleAttribute)
Console.WriteLine("Assembly Title: " + (a as AssemblyTitleAttribute).Title);

if (a is AssemblyDescriptionAttribute)
Console.WriteLine("Assembly Description: " + (a as AssemblyDescriptionAttribute).Description);
}
}
}
}

Quelle: http://bytes.com/groups/net-c/276704-how-read-assemblyinfo-cs

Du willst das AssemblyProductAttribute auslesen.

Thema: [erledigt] property grid oder listview?
Am im Forum: GUI: Windows-Forms

Ich denke, ein PropertyGrid wäre hier besser geeignet, bei der Form, die du anstrebst.

Dafür musst du natürlich eine Klasse haben, die diese Properties besitzt. Sowas ist doch aber schnell gebaut.

Thema: Insert Select From - dublikate verhindern
Am im Forum: Datentechnologien

Ich kenne den SQLServer nicht, aber unter Oracle würdest du bei so einem Trigger vermutlich eine Mutating Tables Exception bekommen.

Ausserdem ist bei vielen Datensätzen (not) exists gegenüber (not) in vorzuziehen, das ist in der Regel wesentlich schneller. Im Regelfall kann hier von Indizes besser Gebrauch gemacht werden. In schlägt exists von der Performance her eigentlich nur bei kleinen Listen, aber nicht bei großen subselects.

Thema: throw oder return false
Am im Forum: Rund um die Programmierung

Ich persönlich kann diese Variante gar nicht leiden. Meines Erachtens ist diese Methode unnötig kompliziert geschrieben. Die Fehlerbehandlung sollte nicht über ErrorCodes im Caller gemacht werden, sondern direkt im try-catch Block. Viele Return-Statements machen den Code meines Erachtens schwer zu lesen und der Caller muss auch wissen, was die Magic Values die du da zurücklieferst eigentlich bedeuten.

Genaugenommen würde ich hier die meiste Fehlerbehandlung gar nicht in der Methode selbst machen, sondern eher im (geschäftslogischen) Kontext, in dem die Exception auftritt und in dieser Methode gar nicht abfangen.

Just my 2 cents.

Thema: Custom Constraints
Am im Forum: Datentechnologien

Zitat von Xynratron
huhu,

hmm, irgendwie etwas dünne Doku^^ Aber ich denke dass eine Constraint immer so arbeitet wie man es von Constrints z.B. am SQL Server erwartet: Sie werfen eine Exception wenn etwas nicht passt. Leider fehlt eben in der MSDN hier der Verweis, ob und welche Exceptions geworfen werden.

[..]

ok, MassDownloader nehmen, ForeignKeyConstraint.cs angucken:

throw ExceptionBuilder.ForeignKeyViolation(..)

:-)

Xynratron

Danke für den Hinweis! Werde mir die Sources mal angucken. Habe ich gestern auch schon übers VS versucht, aber irgendwie wollte das nicht so ganz klappen. Jetzt probier ichs nochmal mit dem NetMassDownloader.

Thema: Custom Constraints
Am im Forum: Datentechnologien

Hallo,

weiss jemand, was man tun muss, wenn man eigene Constraints, abgeleitet von System.Data.Constraint, erstellen will?

Irgendwie gibt es da nur eine Methode namens CheckStateForProperty, die aber void zurückliefert. Wie implementiert man da einen eigenen Constraint?

Thema: [gelöst] SQL - Abfrag besonderes Between?
Am im Forum: Datentechnologien

Und wo liegt nun das Problem? Between ist doch sehr einfach zu benutzen. Zeig doch mal deine bisherigen Versuche.

Thema: Auto_Increment in DataGridView zählt weiter obwohl kein Datensatz erstellt wurde
Am im Forum: GUI: Windows-Forms

Du arbeitest wohl mit DataSets/DataTables, oder?

Ruf beim Verlassen ohne zu Speichern für die entsprechende DataRow mal die RejectChanges Methode auf. Wenn das nicht funktioniert, musst du wohl manuell den Start zurücksetzen.

Thema: Problem mit Realisierung von einem Broadcast
Am im Forum: Rund um die Programmierung

Das ist gar nicht toll, meines Erachtens. Baue eine ChatKomponente, kapsele darin deine Chatklasse und den Thread, instanziiere beim Connect eines Clients diese Komponente und starte sie, vergiss aber nicht sie vom Server in irgendeiner Liste abzulegen. Die Chatklasse sollte auch eine Referenz auf den Server enthalten.

Den Broadcast selber würde ich über ein Eventsystem steuern, also der Server wirft den Broadcast Event und die Chatklassen können diesen abbonieren.

Fraglich ist auch, ob so viele Threads gut sind. Ich würde lieber einen custom ThreadPool verwenden, wie du ihn bei codeproject findest.

Thema: Problem mit Realisierung von einem Broadcast
Am im Forum: Rund um die Programmierung

Halte dir doch lieber die ChatKlassen oder die Sockets in einem Array anstatt den Threads?

Oder wieso baust du keine Komponente, die sowohl den Thread als auch die ChatKlasse beinhaltet?

Thema: Programm als Desktop- *und* Web-Client schreiben
Am im Forum: Rund um die Programmierung

WCF wäre durchaus eine Option. Hier könntest du die Geschäftslogik einheitlich für beide Frontends in einer Service Schicht realisieren.

Zudem würden dann Anpassungen an der Logik nicht zwangsweise ein neues Deployment des Desktop-Clients erfordern.

Ein weiterer Vorteil wäre auch, dass sich die Authentifizierung besser handhaben lässt.

Ein Nachteil ist allerdings, dass du dir unter Umständen ein Bottleneck schaffen kannst. Ob du das einsetzt, hängt also auch von der verfügbaren Infrastruktur ab.

Zitat
Eine Geschäftslogik programmieren und dann das jeweilige Frontend ändern?

Grundsätzlich sollte die Geschäftslogik IMMER unabhängig vom UI sein. Wenn du einen Fat Client für den Desktop willst, wirst du aber wahrscheinlich stellenweise nicht drumrum kommen, auch einen Teil der Geschäftslogik dort abzulegen.

Thema: Vom DHCP Server Neue IPs erhalten
Am im Forum: Netzwerktechnologien

Hallo, benutzte folgende Funktionen aus der WinAPI:

NotifyIpInterfaceChange oder NotifyAddrChange

Diese findest du in der Iphlpapi.dll.

Edit:
Achso, du willst feststellen, wann der DHCP Server das macht. Ich denke, dafür müsstest du mit einem "promiscuous" Interface einfach allen Traffic abhören und auf die entsprechenden Pakete reagieren. Näheres dazu in der Spec: http://www.ietf.org/rfc/rfc2131.txt

Thema: YAPPS goes Beta
Am im Forum: Projekte

Zitat von herbivore
Hallo Kovu,
Zitat
... also seit nicht enttäuscht wenn noch nicht so viel da ist
Keine Angst! Release Early, Release Often ist ein Ansatz, der schon Linux erfolgreich gemacht hat.

herbivore

... und den den Ruf von Netscape ruiniert hat.

Thema: Projekt: PursuitDrift (2D-Autorennspiel)
Am im Forum: Projekte

Zitat von Tomot
Nur mal so als Frage, wie kann der Rennwagen 100% Grip haben, was ja schon das Maximum darstellt, und der Jeep 300%? Dann doch eher

Jeep 100%
Rennwagen 100/3 %

Damit sollen ja nur Verhältnisse ausgedrückt werden, wobei der Rennwagen halt die Referenzwerte hat.

Thema: google meldet alle Seiten als "Diese Website kann Ihren Computer beschädigen"
Am im Forum: Smalltalk

[offtopic]Rein subjektiv kommen mir die Ergebnisse meiner Suchanfragen bei Google besser vor. Habe ich mich nun schon so an die Suchmaschine angepasst, dass ich mit den anderen nicht mehr optimal umgehen kann oder ist Google einfach so viel besser? Ich mein, msn kann man ja z.B. total vergessen[/offtopic]

Thema: google meldet alle Seiten als "Diese Website kann Ihren Computer beschädigen"
Am im Forum: Smalltalk

[offtopic]Danke, [Gott/Satan/Buddha/Shiva/Ganesh/Konfuzius/Flying Spaghetti Monster/Xena/Alien Invaders/other][/offtopic]

Thema: google meldet alle Seiten als "Diese Website kann Ihren Computer beschädigen"
Am im Forum: Smalltalk

[offtopic]http://www.youtube.com/watch?v=s5ul6iz_lCU[/offtopic]

Wie das wohl zustande gekommen ist? Fehler beim Deployment? Wurde ein falscher Query abgesetzt? Was meint ihr?

Thema: google meldet alle Seiten als "Diese Website kann Ihren Computer beschädigen"
Am im Forum: Smalltalk

ZOMG! GOOGLE FUNKTIONIERT NICHT MEHR!






























DAS ENDE IST NAH!

Thema: YAPPS goes Beta
Am im Forum: Projekte

Was macht ihr denn genau? Welche Features hat die Software? Welche Zielgruppe habt ihr? Welche Arten von Projekten kann man damit managen? Unterstützt ihr oder haltet ihr euch an Projektmanagement Standards wie PMBOK?

Thema: Was bei größerem Projekt beachten? (Am Beispiel des Spiels "Risiko")
Am im Forum: Rund um die Programmierung

Gut, ich kenne MVVM nicht, und er will mit WPF ran.

Ich habe mir darüber noch keine detaillierten Gedanken gemacht, finde aber, dass man prinzipiell nicht auf WPF angewiesen sein sollte, sondern auch einfach zwischen graphischen Frontends switchen können sollte, deswegen wäre ich gedanklich erstmal so naiv an die Sache rangegangen, das würde auch prinzipiell funktionieren.

Thema: Was bei größerem Projekt beachten? (Am Beispiel des Spiels "Risiko")
Am im Forum: Rund um die Programmierung

Erstmal vorneweg: Threads halte ich für nicht so wichtig.

Die Logik vom GUI abzutrennen ist nicht besonders schwer. Am einfachsten wäre, "abstrakte" Logikklassen zu erstellen (Spiel, Spielfeld, Spieler, Einheit etc.) und dann GUI-Komponenten zu erstellen welche die jeweilige Logik-Klasse kapseln. Es sollte auch ein EventSystem geben, das es den einzelnen Bausteinen ermöglicht miteinander zu kommunizieren.

Dann brauchst du natürlich ein Grundgerüst, welches das "abstrakte" Spiel ablaufen lässt, also die Moves ausführt und zeichnet, weswegen du hier noch eine Schnittstelle einführen solltest, welche den Renderer repräsentiert.

Der Renderer nimmt dann deine Spielklasse, kapselt in seinem Subsystem die entsprechenden GUI-Klassen und stellt alles wie gewünscht dar. Für das RendererSubsystem und die Instanziierung der einzelnen GUI-Komponenten würde sich das Abstract Factory pattern anbieten.