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 san-software
Thema: Excel-Datei aus Debug-Ordner öffnen
Am im Forum: Office-Technologien

Und die Antwort auf Deine 2. Frage:

Ich weiss ja nicht was Du mit deiner Excel-Referenz book noch alles tun möchtest, bzw. tust, aber wenn Du den Zugriff auf Excel nicht mehr benötigst solltest Du natürlich Excel anschliessend wieder schließen, um einen sauberen Zustand im Programm zu haben.

Thema: MSBuild AssemblyVersion AssemblyFileVersion automatisch inkrementieren
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Ich habe mir ein kleines Programm geschrieben, das die Version in der AssemblyInfo.cs nach jedem Build als Release-Version hochsetzt.
Funktioniert für meine Zwecke hervorragend

Thema: UserControl mit Fenstern: Beim Schliessen werden alle Fenster (inklusive UserControl) geschlossen
Am im Forum: GUI: WPF und XAML

Und so wie ich das verstanden habe, möchte er eben nur das Usersteuerelement "schliessen".

Aber ich denke, die Diskussion darüber ist wohl illusorisch :-)

Thema: UserControl mit Fenstern: Beim Schliessen werden alle Fenster (inklusive UserControl) geschlossen
Am im Forum: GUI: WPF und XAML

Er spricht aber vom Close()-Befehl.
Und so wie er es beschreibt, möchte er wohl Usercontrols damit schließen.

Thema: UserControl mit Fenstern: Beim Schliessen werden alle Fenster (inklusive UserControl) geschlossen
Am im Forum: GUI: WPF und XAML

Also, so wie ich das sehe, sprechen wir über Usercontrols, die im Hauptfenster geöffnet werden. Also keine eigenen Fenster.
Wenn dies der Fall ist, dann dürfte der Close()-Befehl hier falsch sein, denn der schließt ja die Form.
Also entweder statt der Usersteuerelemente Fenster (Forms) erstellen, und die dann wieder mit Close() schließen, oder wenn Dir das nicht möglich ist, die Usersteurelemente direkt auf die Form ziehen (und nicht jedesmal neu erzeugen) und dann nur immer sichtbar und unsichtbar machen.

Thema: Problem: Änderungen an Access-Datenbank werden nicht übernommen
Am im Forum: Datentechnologien

Das liegt daran, daß Jet-Engine als Programm im Hintergrund arbeitet, und die Daten oft nicht sofort in die Datenbank schreibt.
Erst nach einer gewissen Zeit (keine Ahnung wann), spätestens nach Programm-Ende und dem Schliessen der DB wird das Ganze dann körperlich geschrieben.
Deswegen findest du erst viel später, bzw. nach Programm-Ende und Neustart die Daten erst wiedere in Access.

Es gibt da zwei Möglichkeiten:

1. Du packst den Speichervorgang in eine Transaction mit anschliessenden Commit. (da schreibt die Engine die Daten sofort)

2. oder, wenn nichts dagegen spricht nimmst Du eine richtige SQL-Datenbank wie z.B. SQLServer, SQLite usw.

Thema: Falsche Version für Office Interop
Am im Forum: Office-Technologien

Das Zauberwort, das Du hier suchst ist Latebinding.
Stelle Dein Anbinden von Office darauf um und dann sollte eigentlich jede Office Version damit arbeiten.

NetOffice arbeitet übrigens auch mit Latebinding.

Thema: Lohnt sich das Dotnetpro-Abo?
Am im Forum: Buchempfehlungen

Ich habe die Dotnetpro schon aboniert, seit es sie gibt.
Für mich ist sie ganz interessant.

Aber rechne doch mal aus:
150,-- € für 1 Jahre = 12 Fachzeitschriften incl. DVD!
Das sind 12,50 @ pro Monat/Zeitschrift.
Das sollte eigentlich kein Problem sein. - Trink halt ein paar Biere weniger im Monat

Wenn Du kein Abo möchtest, dann kannst Du dir die Zeitschrift sicher auch in jedem gut sortiertem Bücherladen kaufen oder bestellen.

Thema: WinForms - Anwendung mit UserObject-Count 10.000 auf TerminalServer stürzt ab
Am im Forum: GUI: Windows-Forms

da muß man eben entscheiden was sinnvoller ist:

- Das Programm in die Hand nehmen und das nötige Budget locker machen und entsprechend umzuprogrammieren

oder

- mit den Abstürzen zu leben

Irgendwann geht das jemanden doch so auf die Nerven, daß dann doch entsprechend Geld fliesst.

Thema: C# System-Event überladen
Am im Forum: Grundlagen von C#

Du kannst Dir aber auch eigene Steuerelement bauen und die von dem original Steuerelement ableiten. Da kannst Du dir dann Deine Events selbst definieren.

Thema: Typ von Excel-Werten feststellen beim Auslesen über DataSet
Am im Forum: Datentechnologien

wünschen kann man sich viel :-)

aber so geht das meines Wissens nach nicht.
Du mußt dann für jeden Typ Deinen eigenen Cast schreiben.

Entweder mit if - elseIf oder mit switch

Thema: Typ von Excel-Werten feststellen beim Auslesen über DataSet
Am im Forum: Datentechnologien

Zum Beispiel:


foreach (DataRow row in dataset.Tables[sheetName].Rows)
 {
    var typ = row[comboBoxEAN.SelectedItem.ToString()].GetType()
    .
    .
    .
   string Ean = row.Field<string>(comboBoxEAN.SelectedItem.ToString());
 }

Thema: Lesen per OleDb aus Excel-Datei: Parameter fehlt Wert.
Am im Forum: Grundlagen von C#

ich vermute da mal, daß Deine Id , die Du in der Select-Abfrage als String definiert hast in Deiner Exceltabelle als Zahl definiert ist.

D.h. Der Typ String und der Typ Zahl passen nicht zueinander.

Da reicht es auch schon, wenn in Excel auch nur eine Zeile falsch formatiert wurde, um diesen Fehler zu erzeugen:

Lösung: In diesem Fall die komplette ID-Spalte in Excel als String formatieren.

Thema: Lesen per OleDb aus Excel-Datei: Parameter fehlt Wert.
Am im Forum: Grundlagen von C#

Also als erstes:

Das was Du als ConnectionString bezeichnest ist kein ConnectionString sondern dein CommandString.

Der ConnectionString ist ein String, der die Connection zur Datenbank öffnet.

Der CommandString den Du hier meinst, ist ein String der eine Anweisung an die Datenbank beinhaltet. Also Etwas was die Datenbank tun soll.

In Deinem Fall eine Select-Anweisung.

Google wird Dir hier bei der Suche nach ConnectionString natürlich etwas anderes bringen.

Deine Fehlermeldung bedeutet hier, daß ein Feld, das Du in dieser Select-Anweisung benutzt (hier Vorname, Nachname, Id) nicht in der Datenbank vorkommt.

Thema: Select-Abfrage einer DataTable nach einem bestimmten Jahr und Monat
Am im Forum: Datentechnologien

Zitat
Bei

C#-Code:

DataRow[] rows = base_db.Ausgaben.Select("Jahr([Datum]) = " + jahr + " UND Monat([Datum]) = " + monat);

bringt er eine"System.Data.EvaluateException" da er Jahr() nicht kennt.

Probier das mal mit Year(Datum) und Month(Datum)
Der Kern von Access spricht englisch. Das ist wie bei jeder anderen SQL-Datenbank.
Zitat
Bei meinem o.g. Versuch bringt die Entwicklungsumgebung

Fehlermeldung:

Ein Ausnahmefehler des Typs "System.FormatException" ist in mscorlib.dll aufgetreten.

Zusätzliche Informationen: Die Zeichenfolge wurde nicht als gültiges DateTime erkannt.

Zwischen den #-Zeichen muß ein komplettes Datum stehen. Hier fehlt doch der Tag. Monat und Jahr ist eben kein gültiges Datum.

Thema: alle Mails in zweitem Postfach abarbeiten
Am im Forum: Office-Technologien

@T-Virus

Bei Office ist schon immer das Problem, daß die Arrays nicht 0-basiert, sondern 1-basiert sind. Die Entwickler von Office kannten wohl eine 0 :-).

Thema: Gibt es eine Datenbank die überall vorhanden ist?
Am im Forum: Datentechnologien

Wenn Du die Access-"Datenbank" nur als Datenbank verwendest, als ohne irgendwelches Oberflächen-Gefrickel, dann benötigst Du auf dem Computer, auf dem Dein Programm dann läuft, gar kein Access (auch keine Runtime).
Das hat Microsoft schon so aufgebaut.
Du benötigst anb Windows 7 einfach nur den Microsoft.ACE.OLEDB.12.0-Provider. Den kannst Du bei MS kostenlos runterladen.
Bei Windows XP wäre das allerdings noch der Microsoft.Jet.OleDB.4.0

Aber ansonsten gebe ich meinen Kollegen Recht: Access solltest Du hier möglichst nicht mehr verwenden.

Thema: Druckprobleme .Net: zweite Seite drucken / fehlenden Zeilenumbrüche
Am im Forum: Rund um die Programmierung

@Herbivore,
stimmt, du hast recht. - wieder was dazugelernt

Thema: Druckprobleme .Net: zweite Seite drucken / fehlenden Zeilenumbrüche
Am im Forum: Rund um die Programmierung

Au mußt natürlich vorher die Anzahl der Zeilen ermitteln, da Du ja die Höhe des Rectangles ermitteln mußt.

D.h. Du mußt einfach für jede Zeile im Array berechnen, auf wieviele Zeilen sie bei einer vorgegebenen Textbreite umbrechen würde. Ist zwar ein bisschen aufwändig, aber geht.

z.B. vom String solange von rechts her Wörter entfernen, bis die ermittelte Textbreite kleiner oder gleich der vorgegebenen Breite ist.
Dann dort einen Zeilenumbruch einbauen.
Den restlichen String immer weiter genauso behandeln, bis nichts mehr übrig ist.

Graphics.MeasureString-Methode (String, Font, Int32)

Thema: Druckprobleme .Net: zweite Seite drucken / fehlenden Zeilenumbrüche
Am im Forum: Rund um die Programmierung

Du hast das schon richtig gelesen.
Du mußt bei Verwendung von den Bordmitteln von C# tatsächlich alles selbst berechnen und positionieren. Auch Zeilenwechsel.

siehe auch:
suche kostenlose report engine für c#


Es gibt einige kostenpflichtige Module die solche Arbeiten für Dich erledigen wie z.B.
crystal Reports
List&Label
DevExpress

Einiges Interessantes findes Du auch unterhttp://www.codeproject.com/KB/printing/

Wenn Du vorwiegend mit Text arbeitest wäre evtl. auch das interessant:http://www.textcontrol.com/en_US/
Das gibts als Freeware in einer Lite-Version, und auch als Kaufversion.

Thema: abgel. Combobox, DataSource im Konstruktor, Fehler dank Designer
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Mal etwas logisch denken!
inflames2k hat doch schon gesagt, woran es liegt.
Die Fehlermeldung sagt doch auch alles.

Du setzt die DataSource im Konstructor des Controls.
Wenn Du dann das Control auf ein Form ziehst, wird eben zuerst die Datasource zugewiesen.

Dann kommt logischweise der Fehler, wenn danach Items.AddRange ausgeführt wird.

Du mußt einfach die DataSource woanders setzen.

Thema: Deinstalliertes Outlook Addin produziert Fehler
Am im Forum: Office-Technologien

ich würde einfach mal die Festplatte nach dem Dateinamen des Add-Ins durchsuchen lassen. Wenn es vom Outlook noch ausgeführt wird, müsste es ja noch irgendwo körperlich vorhanden sein.

Außerdem kannst Du ja auch mal die gesamte Registry danach durchsuchen lassen. Vielleicht steht ja doch noch was irgendwo drin.

Thema: Gelöschte .Config wiederherstellen bzw. erzeugen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wenn ein User an Sachen rumfummelt, die ihn nichts angehen, dann muß er auch die Konsequenzen tragen. Am Besten lernt er es, wenn die Reperatur dann Geld kostet.

Thema: Textdatei Spaltenweise auslesen, obwohl Trennzeichen uneinheitlich verwendet werden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Du kannst bei Split auch ein Array mit verschiedenen Trennzeichen übergeben.
Schau in der Dokumentation nach.

Thema: Ersten Werktag im Monat ermitteln
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

1. Wochentag des ersten des Monats ermitteln
2. Wenn SA SO 1 oder 2 Tage dazu addieren
3. Prüfen ob Feiertag
4. wenn Feuertag dann solange 1 dazu bis kein Feiertag dann wieder Wochentag ermitteln und bei 2. Weitermachen
5. sonst: 1. Arbeitstag gefunden

mist, war zu langsam :-)

Thema: SpreadsheetDocument: Bei Definition einer Zelle zu DataType = CellValues.Date kommt Müll raus
Am im Forum: Office-Technologien

Beim Anlegen eines neuen Sheets stehen alle Formatierungen der Zellen auf Standard. D.h. Excel versucht anhand der Daten, die dann reingeschrieben werden, den Typ zu erkennen.
Dieser Typ wird manmal von Excel her falsch interprtiert. Deswegen passiert of so etwas.

Du mußt einfach die Zelle vor dem reinschreiben als Datum formatieren.

Dann kapiert es auch Excel.

Thema: VS 2005 - Einzel Debugging führt zum Blockieren des Programms
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Dann hast Du möglichweise ein Problem in Deiner Windows-Installation.
Vermutlich blockiert dann ein Gerät, das Du am USB hängen hast deinen Zugriff auf Deine Festplatten. VS will dann wohl so lange warten, bis wieder Daten von der Platte kommen.
Durch das Entfernen des USB-Gerätes wird dann der Plattenzugriff wieder freigegeben, aber VS dann wohl intern schon abgebrochen.

Versuche doch einfach mal zu arbeiten, wenn kein USB-Gerät angeschlossen ist.
Dann müßte das Debugen eigentlich funktionieren.

Wenn das so ist müßtest Du durch probieren einfach mal feststellen welches Gerät den Fehler verursacht. Wenn das eine Festplatte oder USB-Stick ist, dann das Ding mal komplett neu formatieren.

Wenn es dann nicht klappt, dann fällt mir eigentlich nur noch ein, das komplette SYstem platt zu machen und neu hochzuziehen.

Thema: VS 2005 - Einzel Debugging führt zum Blockieren des Programms
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Ich vermute jetzt mal, daß sich Dein Quelltext auf einem USB-Laufwerk befindet.
VS hat manchmal Probleme mit USB. Manchmal werden da auch eingebundene Projekte und Verweise nicht mehr gefunden.

Ich habe meine Projekte prinzipiell immer auf einer eingebauten Festplatte.
Da habe ich keine Problem.

Thema: Software Weiter-Verkauf durch Kunden, Source Codes offenlegen
Am im Forum: Smalltalk

Also ich mache das in der Regel so, daß ich bei Festpreis/Pauschalangeboten keinen Weitervertrieb der von mir erstellten Software zulasse. Hier trage ich ja das finanzielle Risiko (kann ja sein, daß ich mich verkalkuliert habe).

Bei einem Weitervertrieb mache ich das nur auf Stundenbasis. Den eventuellen Gewinn streicht ja dann auch nur mein Kunde ein. Dann muß er auch das finanzielle Risiko tragen. Was er dann mit der Software macht ist seine Sache.

Ich habe allerdings momentan auch ein Programm in Arbeit, bei dem ich eine Partnerschaft eingegangen bin. Ich mache das Programm und mein Partner, der auch die Idee hatte, macht den Vertrieb. Der Gewinn wird geteilt.

Thema: [erledigt] Alle Unterordner außer Hauptordner rekursiv finden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

[offtopic]

Zitat
durch das acht-stündige Programmieren pro Tag kommt man da leicht durcheinander

wenn Du "nur" 8 Stunden progranmmierst ist das schon klar. :-)

Aber Spaß beiseite, da hilft dann nur eins: Das Problem erst mal auf Eis legen, eine Nacht darüber schlafen, und am nächsten Tag weitermachen, dann kommt man schon auf eine entsprechende Lösung.

Bei mir hilft das immer :-)
[/offtopic]