Laden...

Forenbeiträge von BerndFfm Ingesamt 3.825 Beiträge

23.09.2013 - 15:37 Uhr

Siehe auch :

http://www.seven-c.de/files/datenbankenhowto.htm

Wie ist Dein Connectionstring ? Sicher dass der richtig ist ?

Grüße Bernd

23.09.2013 - 09:51 Uhr

Da wollte ich eine TXT Datei in den selben Pfad wie die EXE hineinpacken

Das ist nicht erlaubt.

Du darfst nur in spezielle Verzeichnisse speichern, schau hier :

File access and permissions in Windows Store apps

Grüße Bernd

23.09.2013 - 09:46 Uhr

Hallo 96,

Hallo, wie kann ich mit der HasChanges() Methoden zählen, wie viele Zeilen geändert wurden und danach nur die geänderten Zeilen Updaten?

wenn Du mit ds.Update() arbeitest, dann macht .NET das für Dich, es werden nur die geänderten und neu hinzugefügten Zeilen übertragen.

Grüße Bernd

12.09.2013 - 13:23 Uhr

Vor dem Druck kannst Du den Namen des Druckers angeben, auf dem gedruckt werden soll :

printDocument1.PrinterSettings.PrinterName = "Epson LQ 800";

Grüße Bernd

06.09.2013 - 14:34 Uhr

Genau !

und dann

... tabControl1.TabPages[i] ...

Grüße Bernd

06.09.2013 - 13:05 Uhr

Probier mal

this.tabControl1.TabPages.Remove(tp);

Grüße Bernd

03.09.2013 - 10:10 Uhr

Oder eine NoSQL-Datenbank ?

Grüße Bernd

02.09.2013 - 12:50 Uhr

Hallo dott,

eine Schleife brauchst Du :

DataTable dt5 = new DataTable();
foreach (TabPage tp in tabControl1.TabPages)
    dt5.Columns.Add(tp.Text, typeof(System.String))

Grüße Bernd

28.08.2013 - 12:45 Uhr

Du musst beim Drucker die Papiergröße einstellen.

Eventuell ein Benutzerdefiniertes Format anlegen.

Das geht bei Windows 7 und 8 unter "Druckserver-Eigenschaften" im Drucker-Ordner.

Windows 8 : Windows-Taste + X, U, Geräte und Drucker

Grüße Bernd

22.08.2013 - 10:14 Uhr

Die Usergroup Frankfurt freut sich, dass wir uns auch in diesem Jahr wieder auf einen spannenden Vortrag von Golo Roden freuen dürfen, für den Du Dich ab sofort anmelden kannst. Also zögere nicht und sei dabei, am

Mittwoch, 18. September 2013 18:30 - 22:00
Was jeder .NET-Hipster über Node.js wissen sollte
Golo Roden (goloroden.de)

Nach dem Webbrowser erobert JavaScript nun auch den Webserver. Das Opensource-Framework Node.js ermöglicht die professionelle Entwicklung von serverseitigen Webanwendungen, deren Hauptaugenmerk auf hoher Leistung und Skalierbarkeit liegt. Da man Node.js außer unter OS X und Linux auch unter Windows ausführen kann, liegt ein Vergleich zu ASP.NET nahe. Wo liegen die jeweiligen Stärken, wo die Schwächen? Und vor allem: Wie wäre es, das Beste aus beiden Welten zu vereinen, und Node.js und .NET miteinander zu integrieren? Golo Roden gibt einen Überblick über Node.js und zeigt verschiedene Wege, wie man es mit .NET unter einen Hut bekommt.
Wir freuen uns, dass wir Golo auch in diesem Jahr wieder mit einem Vortrag bei uns begrüßen dürfen und sind sicher, dass es wie in den Vorjahren ein spannender und unterhaltsamer Abend wird.

Im Anschluss an den Vortrag geht es dann wie gewohnt zum Networking ins Brauhaus. Dort gibt es bei einem kühlen Getränk und leckeren Speisen die Gelegenheit für vertiefende Gespräche und weiteren Austausch.

Der Beginn für das Meeting ist wie gewohnt um 18:30 Uhr. Bitte um 18:15 anwesend sein.

Anmeldung ab sofort unter: http://dnug-frankfurt.de/Event/tabid/119/ID/78/Default.aspx


Im Zuge dessen möchte ich Dir auch noch weitere erfreuliche Mitteilungen machen:
• Das Portal der User Group läuft jetzt wieder stabil und ist ab sofort und künftig unter folgender Adresse zu erreichen: http://www.dnug-frankfurt.de
• Unsere Treffen bei Microsoft in Bad Homburg sind für das aktuelle Microsoft Finanzjahr gesichert und so werden wir uns auf jeden Fall bis zum Juni 2014 in der bekannten Location treffen
• ... die .NET User Group Frankfurt bleibt damit auch weiterhin eine der aktivsten und größten Communities ihrer Art!


Außerdem möchte ich noch kurz auf zwei Konferenz Highlights der zweiten Jahreshälfte hinweisen:

  1. Vom 23. bis zum 27. September findet in Mainz wieder die BASTA! statt. Diese unabhängige Entwicklerkonferenz für Microsoft-Technologien bietet auch in diesem Jahr über 120 Sessions, Power Workshops und Keynotes. Vielleicht ist ja etwas für Dich dabei, dann findest Du alle Infos und die Anmeldung unter http://basta.net/
  2. Am 10. und 11. Oktober veranstaltet der Just Community e.V. die NRW Conf 2013 (http://www.nrwconf.de) in Wuppertal. Als Community Konferenz bietet sich hier die Gelegenheit von viel Content und Know-How für wenig Geld. Mit dem Workshoptag am 10. Oktober und dem Konferenztag am 11. Oktober ist das Format unverändert und die Details zum Programm werden in den kommenden Wochen online gehen. Eine Anmeldung für den Konferenztag und die ersten zwei Workshops ist jetzt schon möglich. Alle Infos gibt es unter http://www.nrwconf.de

Zum Schluß folgt noch der Aufruf für unser Cool Tips Camp 2013:
Am 24. Oktober wollen wir, wie in den vergangenen Jahren, wieder einen kompletten Abend mit (Kurz-)vorträgen von Mitgliedern der User Group gestalten. Das Format war aus meiner Sicht in den letzten Jahren immer ein großer Erfolg und ich würde mich freuen, wenn sich auch in diesem Jahr genügend Meldungen für ein spannendes Programm ergeben. Solltest Du also Zeit und Lust haben einen Beitrag für diesen Abend zu leisten, dann melde Dich bitte unter dnugffm@justcommunity.de mit Deinem Vorschlag. Bitte sende mir diese Info auch, wenn Du schon Bereitschaft signalisiert hast!
Ein Beitrag sollte zwischen 10 und 25 Minuten liegen und dabei ein (fast) beliebiges Thema kompakt vorstellen. Ich bin gespannt auf Deine Idee und freue mich über jede Email.


Ich würde mich freuen Dich bald wieder bei der .NET User Group Frankfurt begrüßen zu können und wünsche noch ein paar schöne Sommertage.
Viele Grüße
Kostja - Lead .NET User Group Frankfurt

26.07.2013 - 10:19 Uhr

Hallo Tamer,

ich benutze Report Builder 3.0, damit der Anwender seine Berichte selbst erstellen und verändern kann. Dieser kann kostenlos bei MS heruntergeladen werden :

Microsoft SQL Server 2008 R2 Report Builder 3.0 aus dem Microsoft Download Center herunterladen

Ich darf ihn mit meiner MSDN Action Pack Lizenz an meine Anwender weitergeben, ob Du das darfst musst Du selbst klären.

Die Berichte, die mit dem Report Builder erstellt wurden müssen nur von .rdl nach .rdlc umbenannt / kopiert werden, dann können sie mit dem Report Viewer Control angezeigt werden.

Die beiden Report-Generatoren, die Fzelle genannt hat, habe ich auch im Einsatz, die sind auch sehr gut.

Grüße Bernd

22.07.2013 - 15:02 Uhr

Hallo Simon,

  1. SQL-Statement dynamisch erstellen
    Ich erstelle aus allen ausgewählten Filtern ein SQL-Statement und lade die Daten entsprechend.
    "SELECT * FROM PERSON WHERE (Geschlecht = 'm') AND (Krankheitsbild = 'A' OR Krankheitsbild = 'B') AND (Schweregrad = 1 OR Schweregrad = 2)"
    Erscheint mit allerdings Fehleranfällig und ist auch mit viel Schreibarbeit verbunden, gefällt mir daher weniger.

Das ist die richtige Methode, lass den SQL-Server für Dich arbeiten.
Benutze auf jeden Fall Parameter : [Artikelserie] SQL: Parameter von Befehlen
Wenn möglich benutze Entity Framework oder einen anderen ORM.

Ich mache das z.B. genau so, bei mir sieht das so aus (mit selbstgeschriebenem ORM und Fluent Interface) :

clsDataQuery qry = new clsDataQuery();
if (such_lp_nr.Text != "") qry = qry.lp_nr().IsEqual(sys.SuchfeldDouble(such_lp_nr)).And();
if (such_lp_datum.Text != "") qry = qry.lp_datum().IsEqual(sys.SuchfeldDate(such_lp_datum)).And();
if (such_lp_arnr.Text != "") qry = qry.lp_arnr().IsLike(sys.SuchfeldStringExakt(such_lp_arnr)).And();
if (such_lp_lager.Text != "") qry = qry.lp_lager().IsLike(sys.SuchfeldString(such_lp_lager)).And();
if (such_lp_bemerkung.Text != "") qry = qry.lp_bemerkung().IsLike(sys.SuchfeldString(such_lp_bemerkung)).And();
if (such_lp_adnr.Text != "") qry = qry.lp_adnr().IsEqual(sys.SuchfeldDouble(such_lp_adnr)).And();

qry = qry.OrderBy();
if (such_lp_nr.Text != "") qry = qry.lp_nr();
if (such_lp_datum.Text != "") qry = qry.lp_datum();
sys.Suchen(qry);
  1. DataTable.Select()-Methode verwenden
    Im Grunde nicht viel anders wie die 1. Variante, allerdings mit dem Unterschied, dass die Daten erst einmal komplett in die DataTable geladen werden müssen und anschließend mit der DataTable.Select()-Methode gefiltert werden. Ist zusätzlich mit größerem, programmiertechnischem Aufwand verbunden...

Schlechte Idee. Langsam und zuviel Programmierung.

  1. DataReader verwenden
    Die letzte Methode, die ich im Sinn habe, wäre es, einen DataReader zu erstellen, die Filter über Parameter zu bestimmen und anschließend Zeile für Zeile durchzugehen und zu prüfen, ob die aktuelle Zeile den Filtern entspricht.
    Dies scheint mir als perfomanteste und (verwaltungstechnisch) einfachste Methode. Die Filter würden über Listen an die Methode bzw. Klasse übergeben werden und anschließend über eine Schleife durchlaufen. Würde dann ebenfalls schon mit geladenen DataTables funktionieren, da das Prinzip dasselbe wäre.

Noch schlechtere Idee, auch langsam und noch schwieriger zu programmieren.

Ich habe unten einen [Suchen] Button mit dem der Anwender suchen kann.
Ich lese die Daten mit einem DataReader und zeige Sie in einem virtuellen ListView an, das geht auch bei sehr großen Datenmengen sehr schnell.

Grüße Bernd

19.07.2013 - 09:06 Uhr

Alles Gute zum Jubiläum !

Tolles Forum und tolle Community.

Grüße Bernd

18.07.2013 - 15:30 Uhr

aber ich habe auch gelesen, dass wiederum zuviel indexen den datenbank verlangsammen

Langsamer wird nur das Ändern, Einfügen und Löschen von Tabellenzeilen.
Das reine Lesen wird durch mehrere Indexe nicht langsamer.

Um welche Datenmengen geht es denn ?

Grüße Bernd

15.07.2013 - 11:47 Uhr

SQL Compact ab Version 4.0 könnte man auch nehmen.

Grüße Bernd

10.07.2013 - 10:09 Uhr

Hallo,

wir möchten Dich gerne zum nächsten Treffen der .NET User Group Frankfurt einladen, welches am 18.07.2013 in Bad Homburg als Gemeinschaftstreffen mit der PASS Regionalgruppe Rhein/Main durchgeführt wird. Leider muss der ursprünglich geplante Vortrag kurzfristig ausfallen. Wir bemühen uns aber um einen Ersatztermin zum Thema CQRS. Für das Treffen in diesem Monat haben wir hoffentlich einen spannenden Ersatz gefunden und würden uns freuen, wenn Du Lust hättest dabei zu sein, am

Donnerstag, 18. Juli 2013 18:30 - 22:00
StreamInsight: Complex Event Processing by MicrosoftConstantin "Kostja" Klein (kostjaklein.wordpress.com)

Eine ständig wachsende Anzahl an Sensoren, bringt uns dem "Internet der Dinge" kontinuierlich näher. Anwendungen, die eine große Menge an Daten aus Ereignisströmen verarbeiten müssen, sind eine logische Konsequenz. Vielen Entwicklern ist daher die Reactive Extensions (Rx) Bibliothek ein Begriff. Microsoft stellt mit StreamInsight aber eine weitere mächtige Plattform für Applikationen zur Verfügung, die sich mit der umfangreichen Verarbeitung von real-time Event Strömen befassen.
Dieser User Group Abend stellt StreamInsight als eine großartige Erweiterung Ihrer Toolbox für die Entwicklung von Anwendungen vor, die mit der Verarbeitung komplexer Ereignisse (CEP- Complex Event Processing) betraut sind. Sie sehen außerdem, wie der Einstieg in diese Technologie gelingt und wie einfach er für .NET Entwickler ist.
Wir freuen uns bei dieser Gemeinschaftsveranstaltung zusammen mit der PASS Regionalgruppe Rhein/Main auf einen spannenden und informativen Abend.

Im Anschluss an den Vortrag geht es wieder zum Networking ins Brauhaus. Dort gibt es dann bei einem kühlen Getränk die Gelegenheit für vertiefende Gespräche und lockeren Austausch.

Der Beginn für das Meeting ist wie gewohnt um 18:30 Uhr, bitte um 18:15 erscheinen.

Anmeldung ab sofort unter: http://www.dnug-frankfurt.de/Event/tabid/119/ID/77/Default.aspx


Für Kurzentschlossene möchten wir außerdem auch noch einmal auf den SQLSaturday 230 hinweisen, der am kommenden Wochenende in Sankt Augustin stattfindet. Diese großartige Communityveranstaltung bringt zahlreiche MVPs und Größen der europäischen SQL Server Szene nach Deutschland und verspricht mit 30 Sessions ein spannendes Programm.
Einen guten Überblick bietet die Eventbroschüre: http://www.yumpu.com/en/document/view/17402577/sqlsaturday-230-rheinland
Diese ist auch als .pdf zum Download verfügbar: http://ssis-components.net/wp-content/uploads/2013/07/SQLSaturday_230.pdf
Eventwebsite und Anmeldung für den kostenfreien Konferenztag (Samstag, 13.07.2013): http://www.sqlsaturday.com/230/eventhome.aspx
Anmeldung und Infos zu den kostenpflichtigen Pre-Con Workshops (Freitag, 12.07.2013): http://sqlsaturday230.eventbrite.de


Viele Grüße
Deine .NET User Group Frankfurt

09.07.2013 - 09:39 Uhr

XML wäre eine gute Wahl, die Du ja schon gesagt hast.

Als Embedded Database kann ich auch SQL Compact empfehlen.

Wenn Du lernen willst kannst Du auch einen SQL Server Express Edition verwenden, der ist allerdings etwas oversized.

Schau hier : http://www.seven-c.de/files/datenbankenhowto.htm

Grüße Bernd

05.07.2013 - 07:45 Uhr

Das habe ich auch :

Form (Winform) mit Tabcontrol, Tabpage und darauf eine Groupbox.

Diese wird beim öffnen im Designer immer kleiner.

Meine Bastel-Abhilfe : Im Load-Ereignis wieder auf die richtige Größe stellen.

Sehr nervig das Ganze.

Grüße Bernd

28.06.2013 - 14:36 Uhr

Du kannst die Eingabe doch direkt in eine IP-Nummer wandeln.

Siehe Punkt 3 :

IP Address in a MaskedTextBox?

Grüße Bernd

27.06.2013 - 12:30 Uhr

Zum Thema "c# input mask ip number" finde ich eine Menge Google-Einträge.

Diese hier sind interessant :

IP Address in a MaskedTextBox?

C# Using TextBox over MaskedTextBox for IP input. Masking Issues

C# Masked text box input as IP

Grüße Bernd

25.06.2013 - 13:16 Uhr

Hallo zerberos,

eine Tabelle im Bericht muss zu einem Dataset gehören, und dieses muss einen Namen haben. Der fehlt wohl.

Schau Dir die Tabelleneigenschaften an oder schau direkt im Sourcecode der RDL-Datei, der ist ja gut lesbar.

Grüße Bernd

20.06.2013 - 15:28 Uhr

Dich werden auch die folgenden Methoden interessieren :

if (amount.StartWith("€") || amount.EndsWith("€")) ...
if (amount.StartWith("$") || amount.EndsWith("$")) ...
amount = amount.Replace("€","");
amount = amount.Replace("$","");

Grüße Bernd

20.06.2013 - 11:17 Uhr

Eine erforderliche Komponenten wurden nicht gefunden

Diese Fehlermeldung hatte ich beim Erstellen eines Setup-Projektes auch schon mal. Hat ziemlich lange gedauert bis ich rausbekommen hatte was da genau gefehlt hat.

Liest hier jemand von MS mit ? Bitte aussagekräftigere Fehlermeldungen !

Grüße Bernd

19.06.2013 - 09:33 Uhr

Das Problem ist nur, ich weiss nicht wie ich Mono so einrichten kann, dass ich es in Visual Studio benutzen kann um dann mit MonoDevelop auf Linux kompillieren zu können. Wenn du mir sagen könntest, wie du das damals gelöst hast, wäre ich sehr dankbar.

Ich habe das damals überhaupt nicht neu kompiliert, sondern einfach die Exe auf den Linux-Rechner kopiert.

Einfacher ist es natürlich wenn man die Exe direkt aus VS heraus mit Mono starten kann, was anderes macht das Add-In ja auch nicht ("Run with Mono").

Wenn das Add-In nicht klappt kann man das sicher auch selbst erstellen.

Mit Mono-Develop habe ich überhaupt nicht gearbeitet, das braucht man eigentlich auch nicht wenn man VS hat.

Grüße Bernd

18.06.2013 - 15:52 Uhr

Ich habe früher Visual Studio benutzt, um auch für Mono zu entwickeln. Add-Ins oder so waren nicht notwendig, die erzeugte Exe lief sofort unter Mono.

Das war damals noch das Framework 2.0.

Man musste nur einige Dinge beachten, siehe

Mono Platformübergreifend?

Den aktuellen Stand von Mono kenne ich nicht.

Grüße Bernd

17.06.2013 - 13:02 Uhr

Hallo Hades,

Die naive Lösung ist natürlich die Datasets bei jeder Methode in der Informationen aus der Datenbank gebraucht werden erneut durch den TableAdapterManager zu füllen, was bei vielen Daten und vor allem wenn die Datenbank nicht lokal verfügbar ist, sehr lange dauert und nicht praktikabel ist. Also würde ich jetzt die Datasets (oder ab jetzt vielleicht das eine Dataset) in einem Hintergrundthread komplett füllen.

ja, das ist naiv und keinesfalls empfehlenswert.

Du solltest immer nur genau die Daten aus der Datenbank laden die Du gerade brauchst und auch möglichst schnell wieder speichern.

Mit Datasets meinst Du sicher typisierte DS. Diese werden nicht mehr so gerne genommen. Ich benutze entweder untypisierte DS oder gleich einen O/R-Mapper.

da mehrere Clients auf die Datenbank zugreifen können und auch verändern können. Vielleicht gibt es dafür ja schon Mechanismen mit denen einige von euch Erfahrung haben.

Ja, schau nach "Optimistic und Pessimistic Locking".

Grüße Bernd

11.06.2013 - 16:29 Uhr

Ja, eine erste Spalte mit der Breite 0 anlegen und die Checkbox in die 2. Spalte.

Grüße Bernd

10.06.2013 - 13:58 Uhr

Mit dem Event ColumnHeaderMouse Click kann ich mir aufjedenfalle die Spalte jedes mal in einer Variable speichern, dazu bräuchte ich dann aber auch jedes mal auch ASC oder DESC, was ich ebenfalls in einer Variable speichern könnte.

Genau so !

Gibt es nicht vielleicht einen viel einfacheren Weg?

Wozu, das ist doch schon recht einfach :

public static int SortColumn = 0;
public static bool ReverseSort = false;

private void lviSysListe_ColumnClick(object sender, ColumnClickEventArgs e)
{
	if (SortColumn == e.Column) ReverseSort = !ReverseSort;
	else ReverseSort = false;
	SortColumn = e.Column;
	// ImageListe Index 0 = Pfeil hoch, ImageListe Index 1 = Pfeil runter
	foreach (ColumnHeader ch in lviSysListe.Columns) ch.ImageIndex = -1;
	if (ReverseSort) lviSysListe.Columns[SortColumn].ImageIndex = 1;
	else lviSysListe.Columns[SortColumn].ImageIndex = 0;
	...
}

Grüße Bernd

10.06.2013 - 10:07 Uhr

Wir freuen uns auf das nächste Treffen der .NET User Group Frankfurt in Bad Homburg am Donnerstag diese Woche. Aufgrund der mittlerweile bekannten Probleme mit unserem Portal ist auch diesmal wieder eine Anmeldung per Antwort auf diese Einladung möglich. Wir freuen uns gleich zwei Sprecher aus der Schweiz mit einem sehr spannenden Thema bei uns begrüßen zu können. Melde Dich jetzt an, wenn Du Zeit und Lust hast, dabei zu sein, am

Donnerstag, 13. Juni 2013 18:30 - 22:00
Application Lifecycle Management und verteilte Versionsverwaltung mit Team Foundation Server 2012
Daniel Marbach und Thorsten Ruf (bbv Software Services AG)

Dieser zweiteilige Vortrag zeigt Application Lifecycle Management mit Team Foundation Server 2012. Nach einem ALM Überblick zeigen wir Euch im ersten Teil detailliert wie man mit TFS Arbeitspaketen umgeht, im Agilen Umfeld Sprints plant und falls (im seltenen Fall 😉) mal Bugs auftreten diese mit Änderungen im Sourcecode wieder zurückverfolgt werden können.
Im zweiten Teil zeigen wir Euch wie wir die gezeigten Vorteile vom Team Foundation Server 2012 mit den Vorzügen einer verteilten Versionsverwaltung kombinieren können.
Am Beispiel von Git, das seine Stärken in der offline Anwendung und bei verteilten Teams hat, erklären wir tägliche Arbeitsabläufe wie zum Beispiel Merging und Branching in Zusammenarbeit mit dem TFS 2012.
Dabei lernst Du die Grundlagen, die wesentlichen Begriffe und Anwendung der verteilten Versionsverwaltung Git. Anhand des Open-Source Tools Git-Tf bauen wir eine Brücke zum Team Foundation Server 2012 und ermöglichen damit das offline und teamübergreifende Arbeiten über die Grenzen der Möglichkeiten von TFS 2012.
Erweitere mit uns Deine Arbeitsabläufe und tauche ein in die verteilte Versionsverwaltung und deren Fähigkeiten als Ergänzung zum Team Foundation Server 2012.

Wir freuen uns auf den Besuch von Daniel und Thorsten, die Euch mit diesem interessanten Thema sicher begeistern werden.

Im Anschluss an den Vortrag geht es wie gewohnt zum Networking ins Brauhaus. Dort gibt es dann bei einem kühlen Getränk die Gelegenheit für weitere Gespräche und lockeren Austausch.

Der Beginn für das Meeting ist wie üblich um 18:30 Uhr (erscheinen bitte um 18:15 Uhr).
Anmeldung ab sofort unter: http://dnug-frankfurt.de/Event/tabid/119/ID/76/Default.aspx

Oder per Email: dnugffm (ät) justcommunity.de


Wir möchten außerdem noch auf den nächsten App-Hackathon hinweisen. Am 15.06.2013 findet eine solche Veranstaltung wieder in Pforzheim unter dem Motto "Windows 8 App Publishing-Fest" statt.
Alle Details und die Anmeldung findest Du hier: https://msevents.microsoft.com/cuI/eventDetail.aspx?EventID=1032553534&Culture=de-DE&community=0


Zu guter Letzt ist auch die Anmeldung für den .NET Open Space Süd in Karlsruhe inzwischen geöffnet. Noch sind einige wenige Plätze verfügbar. Also melde Dich schnell über Eventbrite an und gebe bitte bei "Menge eingeben (€)" den BETRAG ein den Du spenden möchtest und nicht die Anzahl Karten: http://dotnet-openspace-sued-ka.eventbrite.de
Die restlichen Infos gibt es auf der Website: http://karlsruhe.netopenspace.de/2013/


Viele Grüße
Deine .NET User Group Frankfurt

25.05.2013 - 20:39 Uhr

Das klappt gut, mach ich auch so.

Mach es abschaltbar für Anwender die mit Terminal Service arbeiten.

Grüße Bernd

24.05.2013 - 10:52 Uhr
Environment.GetCommandLineArgs()[0]
Application.ExecutablePath
System.Reflection.Assembly.GetExecutingAssembly()
Assembly.GetExecutingAssembly().Location
new FileInfo(Assembly.GetExecutingAssembly().Location).Name
System.AppDomain.CurrentDomain.FriendlyName
Process.GetCurrentProcess().ProcessName

Zeigen den Namen der eigenen Exe.

Ausgabe :

C:\net\Quasar3\bin\Debug\Quasar3.vshost.exe
C:\net\Quasar3\bin\Debug\Quasar3.EXE
Quasar3, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
C:\net\Quasar3\bin\Debug\Quasar3.exe
Quasar3.exe
Quasar3.vshost.exe
Quasar3.vshost

Siehe auch hier :

[FAQ] Pfad zur eigenen Anwendung (EXE) ermitteln

Grüße Bernd

21.05.2013 - 16:35 Uhr

Hallo,

das weiß man leider nicht so genau.

Ich habe schon ein nackiges Windows XP bei einem Kunden erlebt da war überhaupt kein Framework installiert.

Grüße Bernd

15.05.2013 - 13:17 Uhr

Hallo,

tolles Projekt !

Beim Start erhalte ich allerdings nach längerer Laufzeit den Fehler

Fehlermeldung:
System.ArgumentException wurde nicht behandelt.
HResult=-2147024809
Message=Die Bildabmessungen befinden sich außerhalb des vom Codec unterstützten Bereichs.
Source=SharpDox.Build
StackTrace:
bei SharpDox.Build.Context.BuildContext.BuildDocumentation()
bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
InnerException: System.Runtime.InteropServices.COMException
HResult=-2003292335
Message=Die Bitmapgröße liegt außerhalb des gültigen Bereichs. (Ausnahme von HRESULT: 0x88982F51)
ErrorCode=-2003292335

Grüße Bernd

15.05.2013 - 11:55 Uhr

Datenbankdatei im debug-Verzeichnis finde ich nach wie vor keine gute Idee.

Grüße Bernd

15.05.2013 - 09:03 Uhr

Hallo Dott,

Wie sieht es mit den sqlite Abfragen aus? Sind die kompatibel zu einem mysql server z.b.? oder zu anderen?

Ja und Nein.

Siehe http://www.seven-c.de/files/datenbankenhowto.htm#10 Kapitel 11

und http://sqlzoo.net/

Ich würde mit einer Émbedded Datenbank wie SQLite oder SQL Compact oder mit einem kleinen Datenbankserver wie SQL Express beginnen und dann schauen wie sich das Projekt entwickelt.

Der spätere Wechsel auf ein anderes Datenbanksystem ist nicht so schwierig.

Grüße Bernd

14.05.2013 - 13:43 Uhr

Das nächste Treffen findet bereits an diesem Donnerstag in der Microsoft Geschäftsstelle in Bad Homburg statt. Leider gibt es immer noch Probleme mit unserem Portal - daher ist eine Anmeldung auch gerne per Antwort auf diese Email möglich. Wir freuen uns sehr, dass wir mit Andre Krämer und Saqib Javed diesmal zwei aktive Mitglieder der User Group als Vortragende bei uns begrüßen dürfen. Wir hoffen, dass das Thema Dein Interesse weckt und die Sprecher mit einem großen Publikum für ihr Engagement belohnt werden. Melde Dich daher schnell an, für unser Treffen, am

Donnerstag, 16. Mai 2013 18:30 - 22:00
C#: Monaden und Project Roslyn
Andre Krämer und Saqib Javed

In letzter Zeit tut sich viel im Umfeld von Programmiersprachen. Viele moderne Sprachen, die neue Ideen und Konstrukte in den Mainstream einfließen lassen, ändern unseren bisherigen Blick auf die Sprache C#. Bestimmt hätte jeder gerne das eine oder andere neue Feature in C# integriert. Damit wir nicht auf die nächste C#-Version warten müssen, um enttäuscht festzustellen, dass der eigene Wunsch doch nicht Bestandteil der Spracherweiterung war, können wir die Sprache selbst erweitern - nämlich mit Roslyn oder Monaden. Dem Wunsch, ein höheres Maß an Ausdrucksstärke und Kompaktheit gerecht zu werden, begegnen diese beiden Technologien auf unterschiedliche Art und Weise.
Monaden in C#
Falls man überhaupt etwas über Monaden hört, so sind es Vorurteile: Monaden sind komplex, verwirrend, unverständlich und (in Folge) nur eine theoretische Spielerei. Das dies nicht richtig sein kann, lässt sich ganz leicht wiederlegen: Täglich nutzen tausende von Entwicklern Monaden, wenn sie LINQ-Querys schreiben. Wir möchten jedoch die Kernkonzepte von Monaden losgelöst von LINQ beleuchten, um mit Hilfe dieses Paradigmas ganz neue Wege für die Entwicklung von Frameworks und Bibliotheken zu entdecken. Damit dies kein leeres Versprechen bleibt, zeigen wir den Einsatz verschiedener Monaden wie z.B. eines selbst entwickelten ASP.NET MVC-Validierungframeworks, das wir bereits erfolgreich in der Praxis eingesetzt haben.
Codename: Roslyn (C#)
Roslyn welches die Lücke zwischen Softwareentwickler und Compiler verringern soll, bietet Programmierschnittstellen für die syntaktische und semantische Analyse, sowie für die Transformation von Quellcode. Für den Vortrag werden ausschließlich Funktionen der Compiler API für die Syntax- und Semantikanalyse verwendet. Die Schnittstellen ermöglichen unter anderem die Erstellung von Syntaxbäumen die modifiziert oder sogar ausgestauscht werden können. Bevor man aber vor lauter Bäumen den Wald nicht mehr sieht, möchte ich dies an einfachen und für die Praxis tauglichen Beispielen zeigen als auch erläutern.

Wir freuen uns, dass wir mit Andre und Saqib zwei aktive Mitglieder unserer User Group gefunden haben, die für Euch diesen Abend gestalten werden. Wir freuen uns auf viele Teilnehmer und aktive Diskussionen.

Im Anschluss an den Vortrag geht es wieder zum Networking ins Brauhaus. Dort gibt es dann bei einem kühlen Getränk die Gelegenheit für vertiefende Gespräche und lockeren Austausch.

Der Beginn für das Meeting ist wie üblich um 18:30 Uhr (bitte um 18:15 erscheinen).
Anmeldung ab sofort unter: http://dnug-frankfurt.de/Event/tabid/119/ID/75/Default.aspx
Oder per Email: dnugffm (ät) justcommunity.de
Viele Grüße
Deine .NET User Group Frankfurt

12.05.2013 - 15:20 Uhr

Das darf man hier zwar nicht schreiben ...

... aber probier mal ein Application.DoEvents() nach Deinem Befehl.

Grüsse Bernd

12.05.2013 - 13:06 Uhr

Hallo Leute,

seit kurzem bin ich Besitzer eines Lenovo Tablet 2 mit Windows 8 Pro.

Hardware : Atom-CPU, 2 GB RAM, 64 GB SSD, 64 GB SD-Card, UMTS.

Neben der Touchbedienung ist auch ein Pen dabei, so dass man, wenn man genau zielt, auch Desktop-Anwendungen bedienen kann. Bisher bin ich echt zufrieden mit dem Tablet, Akkulaufzeit ist auch sehr gut (mit 10 Stunden angegeben).

Da ich (noch nicht) so der Touchfreund bin hab ich zusätzlich Tastatur und Minimaus dabei, so kann man auch längere Texte tippen (so wie diesen hier).

Ich benutze das Tablet bisher für Internet, Email, Anzeige topographische Karten, GPS-Auswertung von Garmingeräten (fürs DRK), Anzeige und Kopieren von Fotos, Anschauen von Videos.

Meine Frage : Würdet ihr auf dem Tablet Visual Studio installieren ? Professionel-Version oder kleiner ?

Ich habe da Bedenken dass das ganze Tablet dann langsamer wird. Wenn ich es installiere kann man es dann wieder restlos deinstallieren ?

Entwickeln möchte ich Windows 8 Store Apps und event. Desktop-Apps.

Hat jemand schon Erfahrung mit VS 2012 auf dieser Hardware ?

Grüße Bernd

11.05.2013 - 20:48 Uhr

Hallo Oldschool,

ein Stackoverflow kommt meistens nicht wenn die Datenmenge zu gross ist sondern wenn irgendwo eine Endlosschleife aufgerufen wird.

Achte auch darauf dass Du deine connections richtig verwendest : Bei using brauchst du kein conn.Close, bei conn.Open muss danach ein conn.Close kommen.

Grüsse Bernd

08.05.2013 - 13:20 Uhr

Wie würdet Ihr es angehen?

Ganz klar Version 1 !

Grüße Bernd

06.05.2013 - 14:55 Uhr

Cooles Projekt.

Hab gleich mal das r-Pentomino ausprobiert :


XX
 XX
 X

Wenn ich das Control-Panel auf den zweiten Monitor schiebe und dann das Spielfeld auf Vollbild stelle kann man das Control-Panel nicht mehr bedienen.

Grüße Bernd

06.05.2013 - 11:45 Uhr

Hallo MVP,

(heißt diese Abkürzung nicht auch etwas anderes ?)

Wenn Du die Zeilen aus einer Datenbank holst und in einer Liste anzeigen willst dann bestimme die Reihenfolge im SQL-Statement (order by).

Hinweis : Der SQL-Server kann soweit ich mich erinnere nicht nach bool sortieren. Manche nehmen stattdessen ein Integerfeld mit den Werten 0 und 1.

Wenn der Anwender die Reihenfolge durch Klick auf die Listenspalten selbst bestimmen können soll dann erstelle für die Liste eine IComparer-Schnittstelle, das ist auch nicht schwierig :

Gewusst wie: Sortieren von ListView-Elementen

Grüße Bernd

06.05.2013 - 08:34 Uhr

Hallo Dux,

der Reportviewer kann zwar SQL-Kommandos ausführen, aber ich lade die Daten immer in ein Dataset und übergebe das an den Reportviewer.

Grüße Bernd

06.05.2013 - 08:31 Uhr

Meine Anwender arbeiten viel mit Tastenkürzeln. Ich merke das an den Reaktionen, wenn bei einem Button oder Menüpunkt der Hotkey fehlt.

Damit man sieht welche Tasten als Hotkey genutzt werden können muss man das in Windows unverständlicherweise erst einschalten :

Unter Windows XP:
Systemsteuerung -> Darstellung und Design -> Anzeige -> Darstellung -> Effekte: [ ] Unterstrichene Buchstaben für Tastatur Navigation ausblenden (mit ALT-Taste einblenden)

Unter Windows Vista / Windows 7 / Windows 8:
Systemsteuerung -> Erleichterte Bedienung -> Center für erleichterte Bedienung -> Bedienung der Tastatur erleichtern:
[X] Tastenkombinationen und Zugriffstasten unterstreichen

Grüße Bernd

04.05.2013 - 17:04 Uhr

Es gibt schließlich noch andere Peer To Peer Programm die auch funktionieren ohne das der User irgendwas am Router umstellen muss.

Ich kenne keine Peer-To-Peer-Programme, die ohne Server funktionieren, die funktionieren ohne dass man Router / Firewall entsprechend konfiguriert.

Grüße Bernd

04.05.2013 - 17:00 Uhr

Hallo Dux,

Beispiele wie Du SQL-Befehle absetzt findest Du in vielen Grundlagen, Stichwort ADO.NET.

Zum Beispiel hier : http://www.seven-c.de/files/datenbankenhowto.htm

Dort findest Du auch ein Beispiel mit SQL Compact.

Ein Join-Befehl sieht z.B. so aus :

select * from adressen left join anrede on anrede = anrede_kurz where ...

Grü0e Bernd

03.05.2013 - 15:31 Uhr

Geht das überhaupt im Designer oder muss selbst Code geschrieben werden?

Das geht beides. Ich würde wohl lieber 2 Zeilen Code schreiben. Oder vielleicht doch ein join im SQL-Befehl.

Hinweis : Wenn Du einen Join-Befehl einbaust dann sieht der Reportviewer nur eine Tabelle, nur mit ein paar Spalten mehr. Eine Verknüpfung anlegen wie bei Crystal Reports geht leider nicht.

Grüße Bernd

30.04.2013 - 14:45 Uhr

So kannst Du Tables als Datasource benutzen :

string dat = "Kunden;Lieferanten;Artikel";
ReportDataSource src = new ReportDataSource();
foreach (string dat2 in dat.Split(';'))
{
	src = new ReportDataSource(dat2, ds.Tables[dat2]);
	if (!reportViewer1.LocalReport.DataSources.Contains(src)) reportViewer1.LocalReport.DataSources.Add(src);
}

Grüße Bernd

30.04.2013 - 12:08 Uhr

Hallo,

in dem Video wird eine Datenbankdatei im Projektverzeichnis erstellt.

Das ist keine gute Idee, denn die Datenbankdatei wird dann schnell man neu ins bin-Verzeichnis kopiert.

Erstelle die Datenbank mit SQL-Management Studio.

Deine C# Applikation muss sich nur mir dem SQL-Server verbinden, sie muss nicht wissen wo die MDF-Dateien physikalisch liegen.

Grüße Bernd

26.04.2013 - 13:34 Uhr

Ich habe das Lumia 800 und das Omnia 7, meine Freundin hat das Nokia 920.

Die Handy laufen gut und ich würde immer wieder ein Smartphone mit Windows Betriebssystem nehmen.

Im Vortrag in der .NET Usergroup Frankfurt vorgestern haben wir gelernt, wie man Apps plattformübergreifend entwickeln kann und was dabei zu beachten ist (Phone / Tablet).

Wenn man selber Software für das Phone entwickeln will und schon mit Visual Studio arbeitet ist das Windows Phone wohl die beste Wahl.

Grüße Bernd