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 bredator
Thema: Programmier-Tutorials, mal anders. - Aufbauende Rahmen-Story, Machinima-Style.
Am im Forum: Projekte

An und für sich sind Video-Tutorials nichts schlechtes. Die Video2Brain-Reihe hat teilweise sehr gute Angebote (allerdings auch teilweise fatal schlechte). Bei Youtube habe ich auch schon ein paar gesehen, die von verheerend schlecht bis ziemlich gut gereicht hatten. Allerdings hatte ich auch schon mit einem "Entwickler" zu tun, der sich sein Wissen aus solchen Plattformen zusammengesucht hat. Leider ist dieser in ein Schienendenken verfallen, so dass er nur noch Probleme lösen kann, die explizit schon in einem Tutorial behandelt wurden. Eigenes Denken hat er nicht gelernt. Hier ist es ganz wichtig, die Zuschauer dazu zu kriegen, dass sie neugierig werden und ausprobieren wollen. Durch Ausprobieren lernt man das Verhalten von Komponenten kennen und lernt dadurch erst wirklich. Das ist der Punkt, bei dem ich den größten Nachholbedarf für fast alle Video-Tutorials sehe.

Ähnlich wie hier im Forum: Es ist blöd, fertige Lösungen für Probleme zu bringen. Klar, lässt sich das manchmal nicht vermeiden, aber ein Schubs in die richtige Denkrichtung ist meist sehr viel fördernder und nachhaltiger als das Vorbeten von Lösungen. Wie du dieses Problem in den Griff bekommen willst, würde mich sehr interessieren. Aber ansonsten sehe ich die Idee als nicht per se schlecht an, auch wenn ich mit Büchern meist mehr anfangen kann.

Insofern werde ich das Projekt interessiert weiterverfolgen und mich evtl. auch daran beteiligen.

Thema: Problem beim Zugriff auf die Form von einer Klasse
Am im Forum: Grafik und Sound

Deine Liste ist wohl eine Liste von Objekten. Hier wäre so ein Verhalten ziemlich merkwürdig, also nein, wird nicht so sein.

Thema: Problem beim Zugriff auf die Form von einer Klasse
Am im Forum: Grafik und Sound

Erstelle dir Setter und Getter für den Pen...

Thema: Problem beim Zugriff auf die Form von einer Klasse
Am im Forum: Grafik und Sound

Verstehe das Problem nicht. So wie es jetzt da steht, kann deine Klasse Kurve nicht auf Form zugreifen, da es das Objekt Form nicht kennt. Zudem ist es nicht nur schlechter Stil, sondern das wird dir im späteren Verlauf von größeren Projekten noch um die Ohren fliegen.

Greif zu einem Zeitpunkt X aus Form auf Kurve zu, hol dir dort den Pen und speichere ihn, wie auch immer, ab. Gegebenenfalls musst du dir entweder weitere Objekte erstellen, oder eine eigene Struktur in der du die Properties des Pens ablegst.

Thema: Problem beim Zugriff auf die Form von einer Klasse
Am im Forum: Grafik und Sound

Nun, das liegt daran, dass deiner Klasse Kurve deine Klasse Form nicht bekannt ist. Zudem sollte nicht von anderen Klassen auf Oberflächenelemente zugegriffen werden, dasselbe Prinzip wie bei der Kommunikation zwischen zwei Forms. Das lässt sich sehr viel eleganter lösen.

Wenn überhaupt, dann holt sich Form eine Info aus einem Objekt Kurve, andersherum ist es bestenfalls sehr schlecht gemacht.

Thema: Problem beim Zugriff auf die Form von einer Klasse
Am im Forum: Grafik und Sound

Statt eines so langen Codeabschnittes könntest du doch einfach kurz erklären, was dein Programm tun/tun soll und die dafür relevanten Codeausschnitte anhängen. So macht es keinen Spaß, sich da reinzulesen :(

Thema: Ideeen für Datenaustausch bestimmter Dateien von Kunden-Server zu Entwicklungs-Rechner
Am im Forum: Smalltalk

Hast du auch mal an Dienste wie Dropbox oder ähnliches gedacht?

Thema: Visual Studio 11 Beta ==> Visual Studio 2012 RC ==> Release ==> Updates
Am im Forum: Szenenews

Die Beta kann jetzt heruntergeladen werden, ebenso die Win8 Consumer Preview.

Thema: [erledigt] Leistungsstarker und kostengünstiges Notebook für die Entwicklung
Am im Forum: Smalltalk

@Dolce

Na ja, es ist ein i5 drin. Angenehmes Arbeiten heißt da für mich, dass ich zwar eine gefühlt längere Wartezeit habe als am großen Rechner zu Hause, aber sie dennoch absolut erträglich ist. Es ärgert mich auch nichts mehr, als wenn ich (wie auf der Arbeit) beim switch von Code zu Designer 20-30 Sekunden warten muss bzw. die Kiste einfach mal für ne Minute gar nichts macht. Kam beim ProBook bisher nicht vor.

Thema: [erledigt] Leistungsstarker und kostengünstiges Notebook für die Entwicklung
Am im Forum: Smalltalk

Ich kann für solche Einsätze das HP ProBook 6460b empfehlen. Bei normalem Entwickeln / Schreiben hält mir der Akku im Schnitt 3,5-5 Stunden durch. Ansonsten ist das Gerät sehr robust und hat ordentlich Leistung. Allerdings führe ich trotzdem immer einen Ersatzakku mit mir, falls doch mal was unerwartetes dazwischenkommt.

Das Gerät ist ein 14" Notebook mit einer Bildschirmauflösung von 1600x900 (mattes Display), wodurch ich auch mit Visual Studio angenehm arbeiten kann. Preislich müsste es bei 800-900 Euro sein.

Für mehr Leistung und Auflösung muss ich aber auch immer auf mein 17" NB zurückgreife (auch ein ProBook), allerdings ist das für Zugfahrt ect. eigentlich nicht brauchbar, da doch etwas groß.

Thema: Visual Studio 11 Beta ==> Visual Studio 2012 RC ==> Release ==> Updates
Am im Forum: Szenenews

Überraschend gut. Zudem die Ankündigung des TFS Express -> Wunderbar! Ich bin begeistert und freue mich auf den Release!

Thema: Zelleninhalt von DataGridview abfragen
Am im Forum: GUI: Windows-Forms

Bekommst du eine Fehlermeldung oder etwas in der Art?

Versuche ich dein Beispiel nachzubauen, bekomme ich eine NullReferenceException, was logisch ist. Sind die Felder nicht gefüllt, solltest du auf


DatenTabelle.Rows[i].Cells[0].Value == null
prüfen. Damit konnte ich zumindest dein gewünschtes Ergebnis erzielen, wobei man evtl. noch klären sollte, woher die Daten in deinem GridView kommen, weil dann diese geprüft und geändert werden sollten bzw. formatiert werden sollten.

Thema: Suche gutes Buch fuer C#
Am im Forum: Buchempfehlungen

Wenn du den Forenbereich Buchempfehlungen mal anschaust, wurde deine Frage schon mehrfach gestellt und vor allem beantwortet. Bitte schau erst mal dort nach und, sofern die dort genannten, dir nicht zusagen, präzisiere deine Anfrage und stell sie dann nochmal.

Thema: Array in Datenbank schreiben
Am im Forum: Datentechnologien

Klar, Textfelder in Access sind auf 255 Zeichen begrenzt. Stell das Feld von "Text" auf "Memo" um und du solltest das Problem umschiffen können.

Thema: SQL Abfrage Problem
Am im Forum: Datentechnologien

Ich glaube nicht, dass du da noch groß Code bekommst. In dem verlinkten Artikel steht nämlich der Code ziemlich exakt drin, den man benötigt um mit Parametern zu arbeiten. Mehr geht eigentlich nicht. Code vorbeten ist der falsche Weg.

Thema: Array in Datenbank schreiben
Am im Forum: Datentechnologien

-Datenbankverbindung herstellen
-Schleife erstellen, die dein Array durchläuft.
-INSERT INTO... in der Schleife als Command erstellen
-ExecuteNonQuery() nicht vergessen
-DB-Verbindung schließen

Oder ist das Problem an anderer Stelle?

Thema: Einstieg in C# erleichtern
Am im Forum: Rund um die Programmierung

Es gibt viele Bücher, die dieses Thema mehr als ausreichend abdecken. Mit der Einstellung "Wie am schnellsten" wirst du allerdings nicht weit kommen, da das ganze vom Verstehen abhängt. Irgendwelche Tutorials nachprogrammieren halte ich für ziemlichen Mist, wenn dabei nicht ausreichend erklärt und verstanden wird, was da eigentlich gemacht wird. Galileo OpenBooks bietet Visual C#2010 kostenlos an, was mit Sicherheit schonmal kein Fehler ist. Damit dürftest du fürs Erste ausreichend versorgt sein.

Thema: Projekt für die Abschlussprüfung
Am im Forum: Smalltalk

Das war bei der IHK Ulm, sollte aber auch bei den anderen angeboten werden.

Thema: Projekt für die Abschlussprüfung
Am im Forum: Smalltalk

Prüfer wollen außerdem auch sehen, dass du ein Projekt vernünftig abgrenzen kannst. Wenn also irgendwelche Features zu viel Zeit in Anspruch nehmen, so ist es besser, hier Schnittstellen zu anderen Projekten zu setzen und dich auf den wichtigsten Teil zu konzentrieren. Das ist im Prinzip das, was GarlandGreene vorgeschlagen hat.

Man muss kein Überhammerprojekt fertigstellen, aber man muss ein kleines und umsetzbares Projekt von vorne bis hinten planen und umsetzen können. Da du da auch noch die Datenbank erstellen musst, schätze ich den Zeitaufwand doch höher als 70 Stunden ein, wenn mindestens ein Viertel-ein Drittel davon allein für die Doku gerechnet werden sollte.

Wenn ich mir anschaue, was du alles vor hast... zu leicht ist es wohl auf keinen Fall. Und vom Umfang her, so wie du es hier geschildert hast, ist es viel zu groß.

Die IHK bietet normalerweise auch einen Kurs speziell zur Abschlussprüfung an. Kostete meinerzeit 90 Ocken und hat eigentlich recht gut auf die Prüfung vorbereitet. Projektantrag, Umfang, Doku, wurde alles schön durchgenommen. Dauer war ein Tag direkt bei der IHK.

Thema: Projekt für die Abschlussprüfung
Am im Forum: Smalltalk

Wie schon gesagt wurde: Unterschätze den Dokumentationsaufwand nicht. Ich habe damals von den 70 Stunden allein 30 für die Doku gebraucht.

Thema: Wie bekommt man heraus, welches Zeichen es ist, wenn es nur als Rechteck dargestellt wird?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

?? Wandle es doch in einen Char um, anhand des Charcodes kannst du es dann finden. Einfach mal Textfile einlesen und durchdebuggen, dann ist das schnell passiert.

Thema: [erledigt]DataTable.Select mit Wildcard-Charlists möglich?
Am im Forum: Datentechnologien

Habe nichts konkretes mehr in der Richtung gefunden und es jetzt mit Regex gemacht. Ist ca. 5-6 mal schneller als ständige Access-Zugriffe und funktioniert daher für mich wunderbar. Hier mal der Code, mit dem ich das umgesetzt habe:


     Regex regex = new Regex("^[HNM][AEH][LI1][LI1][O0o]$", RegexOptions.IgnoreCase | RegexOptions.Compiled); //
     DataTable dTableTyp7 = TableStammdaten.Clone();
                    
     for (int j = 0; j < TableStammdaten.Rows.Count; j++)
          {             
              if (regex.IsMatch(TableStammdaten.Rows[j][0].ToString()))
                   {
                       DataRow drow = dTableTyp7.NewRow();
                       drow[0] = TableStammdaten.Rows[j][0].ToString();
                       drow[1] = "7";
                       drow[2] = TableStammdaten.Rows[j][2].ToString();
                       drow[3] = TableStammdaten.Rows[j][3].ToString();
                       dTableTyp7.Rows.Add(drow);
                    }
           }

Im Anschluss habe ich in dTableTyp7 genau das vorliegen, was ein LIKE mit Wildcards gebracht hätte bzw. was das bringt, bei einer Abfrage auf Access.

Thema: [erledigt]DataTable.Select mit Wildcard-Charlists möglich?
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MS Access 97

Hallo zusammen,

ich habe derzeit eine Select-Lösung, bei der ich immer wieder auf eine Access-DB zugreife. Damit geht das gewünschte zwar, ist aber bei vielen Abfragen natürlich relativ langsam. Die Abfragen sehen so aus, dass ich Ergebnisse einer OCR-Operation als Charlisten in die Select-Abfrage einbaue. Also in etwa: SELECT * FROM Stammsatz WHERE strName LIKE '[HNM][AEH][LI1][LI1][O0o]%' -> Ergibt "Hallo" im Stammsatz.

Nun dachte ich mir, dass das doch schneller sein könnte (bin mir nicht sicher), den gesamten Stammsatz auszulesen (was sowieso 1x am Anfang passiert) und dann mit DataTable.Select dieselben Abfragen auszuführen. Allerdings stelle ich hier fest, dass Wildcards hier entweder gar nicht oder nur sehr eingeschränkt funktionieren. Google wollte mir hier nicht weiterhelfen, da ich hier immer nur auf "?" und "%" als Wildcards stoße.

Gibt es dergleichen überhaupt bei DataTable.Select oder kann man das irgendwie erzwingen über einen kleinen Umweg? Ich meine ja, da ich den Stammsatz eh immer komplett in einer DataTable vorhalte, könnte ich durch sämtliche Rows laufen und via Regex vergleichen. Bin mir nur nicht sicher, ob es dadurch nicht langsamer als mit Access wird.

Thema: Software-Lizenzen befristet für einen Auftrag an Freiberufler übertragen?
Am im Forum: Smalltalk

Wobei Adobe seine Lizenzbedingungen z.B. etwas geändert hat. Die stark vergünstigten Educational-Versionen dürfen seither uneingeschränkt auch kommerziell genutzt werden. Die kostenlosen Versionen allerdings weiterhin nicht.

Das beste wird daher tatsächlich sein, beim Lizenzgeber direkt nachzufragen, wie das dort gehandhabt wird.

Thema: Datagridview in xml speichern
Am im Forum: Datentechnologien

Okay, wieder was gelernt :D

Danke für den Hinweis, jetzt gehts ans Refactoring ^^

Thema: Datagridview in xml speichern
Am im Forum: Datentechnologien

Hm, eine GriviewToXML()-Funktion wird es wohl nicht geben, weshalb man das selbst umsetzen müsste. Aber wo genau ist denn das Problem? XmlDocument bietet eigentlich alles, was man braucht (MSDN hilft hier extrem weiter) und das GridView durchlaufen und die Daten in XmlNodes drücken ist doch schnell gemacht. Oder ist das Problem ein anderes?

Thema: Fehlermeldung beim Anzeigen von OpenFileDialog: "Dialoge müssen vom Benutzer eingeleitet werden"
Am im Forum: GUI: WPF und XAML

Kannst du etwas genauer ausführen, was du da eigentlich machen willst bzw. wie deine restliche Anwendung aussieht? Ich sehe da nämlich kein Problem.

Thema: [erledigt] Regex Pattern, der auf einen bestimmen Teil eines anderen Patterns als Input matcht
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo nochmal,

danke für die Hilfe. Ich habe allerdings von Anfang an einen Denkfehler gemacht, da ja die Ausgabe meiner OCR im Prinzip schon mein regulärer Ausdruck ist den ich nun nur noch gegen mögliche gültige Werte matchen muss. Diese möglichen Werte kann ich durch eine Datenbankabfrage, die vorher schon entsprechend vorbereitet wurde, machen. Dadurch habe ich jetzt genau das erreicht, was ich haben wollte und bisherige Tests versprechen da recht viel.

Danke auch für die Anmerkungen von herbivore. Werde mir das im Hinterkopf behalten, falls doch mal Probleme auftreten sollten. Bin momentan jedenfalls begeistert :D Nicht zuletzt, weil ich in letzter Zeit reguläre Ausdrücke als sehr mächtiges Werkzeug kennengelernt habe und ich mich eigentlich lange dagegen gesträubt habe.

Danke nochmal ;)

Thema: [erledigt] Regex Pattern, der auf einen bestimmen Teil eines anderen Patterns als Input matcht
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich habe vorgegeben, das Ergebnis einer OCR-Operation. Um bessere Ergebnisse bei der anschließenden SQL-Suche zu erhalten, werden bei der OCR auch die ersten beiden Alternativ-Chars ausgewertet. Außer bei N, M und H, welche automatisch bei einem der drei erkannten mit eingefügt werden. Dadurch ergeben sich Texte wie folgender:

[HNMRK][aeo][li1][li1][oO0] [WMK][eao][li1][til] [wmx][il1][eao][g9q][til] [53S][0GD][NHMN][G6Q]
(Hallo Welt wiegt 50 mg steht auf dem gescannten Papier, das kann jeder lesen, aber die CPU halt nicht. Drum sollen hier Mustererkennungen durchgeführt werden, um den String entsprechend zu verarbeiten, je nach seinem Inhalt)

Nun soll ich den Text zerpflücken und anhand von SQL Daten möglichst genau herausfinden, was dort steht. Ein wichtiger Teil ist dabei die Gewichtsangabe. Diese kann entweder am Ende oder sonstwo stehen, kann also nicht fest bestimmt werden. Gemein haben sie allerdings, dass sie aus einer Zahl und einer Größe bestehen (meist mg). Nun hatte ich zuerst die Idee, mittels Regex dieses "mg" zu erkennen und damit auf den Block loszugehen, in dem dieses erkannt wurde. Klar, es kann Fälle geben, wo dieses "mg" auch woanders erkannt werden würde, das kann man mit anschließender Zahlprüfung aber dann schnell wieder verwerfen. Das Problem habe ich nun dabei, dass ich nicht weiß, wie ein entsprechender Regex-Ausdruck hier aussehen sollte. Die Blöcke in den Klammern sind leider nicht immer 3 oder 4 Zeichen lang (es können auch mal 2 oder 5 oder sogar mehr sein). Zudem können auch Zahlen drin stehen (wurde halt als Alternativ-Char der OCR geliefert).

Mein Audruck sieht bisher so aus: \[[m|M|\D]{3}\]\[[g|G|\w]{3}\]

Fehler hierbei sind natürlich:
- Längen auf 3 festlegen geht nicht
- m oder M muss im ersten Klammerblock vorkommen, an irgendeiner Stelle, ebenso g oder G im zweiten Block
- die übrigen Zeichen des Blocks können beliebige sein (ich habe nur \D im ersten gewählt, weil Zahlen eher
selten hier als Alternative kommen... )

Alles in Allem bin ich gerade an einem Punkt, wo das Hirn beschlossen hat, erst mal eine größere Kaffeepause zu machen und auf irgendeine Eingebung oder einen Schubser zu warten. Wäre schön, wenn hier jemand so einen Schubser geben könnte ;)

Grüße

Thema: Quellcode dokumentieren [API- und Quellcodedokumentation]
Am im Forum: Rund um die Programmierung

/// <summary>
ist wohl einer der besten Wege die Funktion einer Methode zu dokumentieren. Wird hier alles schön angegeben mit einer kurzen Beschreibung, Parametern und Rückgabewerten, lässt sich damit nämlich mit wenigen Klicks eine komplette Dokumentation erstellen, ganz zu schweigen von den Infos, die die Kollegen dann durch Intellisense schon mitbekommen.