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 tom-essen
Thema: Gibt es eine Möglichkeit Linien in einem Foto zu erkennen?
Am im Forum: Grafik und Sound

Hallo,

eine andere Möglichkeit wäre die Nutzung der von Amazon, Google oder Microsoft angebotenen Online Services. Diese sind für einfache Testprojekte auch kostenfrei nutzbar und bieten u. a. OCR.

Zumindest für Microsoft gibt es auch vorgefertigte C#-Samples für die Cognitive Services.

Thema: Definition wird nicht gefunden, ist jedoch in der AppDomain gelistet
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

es gibt doch in jeder AppDomain-Instanz ein Event AssemblyResolve. Dieses kannst du abbonieren, und dann bei den gennanten Assemblies den korrekten Verweis zurück geben.

Thema: Database-Explorer
Am im Forum: Projekte

Hallo zusammen,

ich habe nun eine aktuelle Version hochgeladen (64-bit), der Link ist im ersten Beitrag. Voraussetzung ist mittlerweile .NET 4. In der neuen Version ist der Zugriff auf SharePoint enthalten, an der CRM-Integration arbeite ich noch, bzw. habe diese noch nicht "Database-Explorer"-kompatibel.

Thema: Vor jedem Druck via Dialog SW oder Farbe auswählen, dann versand an anderen Drucker
Am im Forum: Rund um die Programmierung

Hallo Janserino,

ich habe aktuell ebenfalls das Problem, Printer++ nicht unter Windows 8 zum Laufen zu bekommen. Könnest du verraten, was du gemacht hast, damit Printer++ unter Windows 8 funktioniert?

Thema: EWS - Freigegebener Kontakt Ordner
Am im Forum: Office-Technologien

Hallo,

es scheint dass man explizit angeben muss, von welchem Account die Freigaben abgefragt werden sollen:

Im folgenden Beispiel rufe ich den freigegebenen Ordner "Meine Kontakte" des Accounts mit der E-Mail "Name@Domain.de" ab:


FolderId rfRootFolderid = new FolderId(WellKnownFolderName.Root, "Name@Domain.de");
FolderView fvFolderView = new FolderView(1000);
SearchFilter sfSearchFilter = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, "Meine Kontakte");
FindFoldersResults ffoldres = service.FindFolders(rfRootFolderid, sfSearchFilter, fvFolderView);

Damit komme ich zumindest an die Kontakte. Hier muss allerdings beachtet werden, dass es sich beim gefundenen Ordner nicht zwingend um einen "ContactFolder" handelt, sondern meistens einen "SearchFolder".

Ich habe bisher leider noch nicht rausgefunden, wie man nach den freigebenden Accounts suchen kann.

Thema: Gibt es webbasierte Passwortmanager?
Am im Forum: Smalltalk

Hallo,

wir setzen bei uns seit kurzem Passwordstate ein. Ich weiß nicht, wie teuer das war/ist, aber von der Funktionalität her ist es ganz gut, und kann sher detailliert eingestellt werden, sogar eine API ist dabei.

Thema: Wie kann man feststellen, wer im Netzwerk gerade mein Programm nutzt?
Am im Forum: Netzwerktechnologien

Hallo,

ich habe mir einen zentralen Admin-Server geschrieben, welcher u.a. für die zentrale Speicherung der Konfiguration, für Updates, Lizensierung, ... geeignet ist.

Die Clients suchen sich per Broadcast beim Start den Admin-Server und halten i.d. Regel die Verbindung bis zur Beendigung des Programms.
Sobald das Programm beendet wird (oder abstürzt), wird ja auch die Verbindung zum Server getrennt.
Ich kann somit zu jeder Zeit feststellen, welche Anwendung wann wo läuft.

Um klein anzufangen: Beim Start einen Background-Thread starten, welcher per Broadcast einen Server sucht, sich gegen diesen verbindet, seine Daten sendet (wer bin ich, ...) und die Verbindung offen hält.
Erweitert kann der Thread dann noch regelmäßig Nachrichten senden (z.B. einmal pro Minute), quasi als Lebenszeichen (heartbeat). Bleibt die Meldung längere Zeit am Server aus, kann dieser annehmen, dass das Programm nicht mehr läuft bzw. hängt, und die Verbindung selbst abbauen.

Thema: Schnellste Möglichkeit Excel zu lesen
Am im Forum: Office-Technologien

Hallo,

bei mir dauert eine 15 GB-Excel-Datei mit einer Tabelle ca. 24 Sekunden, bis die DataTable vollständig geladen wurde, würde bei einer 24GB-Datei also ebenfalls in den von dir genannten Bereich fallen.
Ich mach's allerdings komplett ohne Excel oder Interop-dll's, sondern nur über die Standard-.NET-Typen.

EDIT: Sorry, hatte mich vertippt: Ich meinte in beiden Fällen MB, nicht GB! Sonst wär das eine geniale Performance gewesen

Thema: C# RichTextBox SelectionStart
Am im Forum: GUI: Windows-Forms

Hallo,

Zitat von Csharper.1
funktioniert das alles nicht mehr
Das hilft uns nicht viel weiter.
Was genau funktioniert nicht (Cursor wird nicht gesetzt, Text wird falsch eingefügt, falscher text markiert, wird eine Exception geworfen, wenn ja welche .....)?

Mit dieses Informationen können wir die Ursache bestimmt besser eingrenzen.

@nicky: Es soll wohl der markierte Text durch ein öffnenes und schließendes HTML-Tag ersetzt werden.

Thema: Eigener SQL Server einrichten incl. Hardware
Am im Forum: Smalltalk

Hallo,

Zumindest was die Zwangstrennung und die wechselnde IP-Adfresse angeht, dafür gibt es ja die DynDns-Dienste, auch kostenfreie, wo man dann nur einmal im Monat bestätigen muss. Die meisten Router bieten dafür ja auch bereits Support.

EDIT: Ich habe selbst auch einen eigenen Webserver auf meinem NAS laufen, wo ich einfache Dienste für meine eigenen Zwecke und einge wenige Bekannte und Verwandte zur Verfügung stelle. Bei Massennutzung, sprich wenn eine unbestimmte Anzahl externer Benutzer Zugriff erhält, gebe ich herbivore recht, dass es dann schnell zu Beeinträchtigungen kommen kann.

Zudem muss man sich bei öffentlich zur Verfügung gestellten Diensten auch immer mit einer möglicherweise garantierten oder zumindest erwarteten Erreichbarkeit auseinander setzen, auch rechtliche Aspekte sind dann evtl. zu beachten.

Thema: kleincodiert.at sucht Unterstützung
Am im Forum: Smalltalk

@p!lle, @wirago:

Sorry, hab die Smileys irgendwie heute nacht nicht wargenommen, und dadurch die Ironie in der Frage nicht bemerkt.

Thema: Eigener SQL Server einrichten incl. Hardware
Am im Forum: Smalltalk

Hallo,

bei den Homepages kommt es noch darauf an, welche Plattform du verwenden möchtest (IIS oder XAMPP). Für zweiteres kann man auch ein ggf. vorhandenes NAS entsprechend einrichten.

Für einen SQL-Server (selbst wenn es nur die Express-Edition ist) sollte man min. 4 GB RAM haben, aber dann ist gleichzeitiges arbeiten geschweige den entwickeln schon nicht mehr schön. Besser wären hier 8 GB, die max. Speichernutzung kann man im Server einstellen, damit der sich z.B. nicht mehr als 2 GB nimmt. Man muss dann aber auch bedenken, dass damit keine großen Datenmengen ausgewertet werden sollten (darunter fasse ich mal alles ab 100.000 Datensätzen zusammen, je nach Art und Komplexität der Abfragen evtl. sogar weniger).

Aber das sind alles nur ganz grobe Richtwerte, gibt ja noch mehr Rahmenbedingungen (CPU, Festplatte, ...)

Thema: Database-Explorer
Am im Forum: Projekte

Hallo,

da ja bald der 5. Geburtstag des DBE ist (zumindest was den Threadstart angeht), wollte ich mal kurz informieren, dass die Entwicklung natürlich immer weiter gegangen ist.

Ich werde demnächst eine neue Version hochladen, welche dann zahlreiche Neuerungen mitbringen wird (u.a. SharePoint-Support über die Webservices, komplexe SQL-Abfragen auch für Nicht-SQL-Datenquellen, also z.B. CSV-Dateien, und viele kleine Anpassungen, Fehler-Korrekturen, ...).

EDIT: Zudem alles auf .NET 4 umgestellt.

Arbeitet jemand mit dem Microsoft Dynamics CRM? Hier könnte ich demnächst ein paar Tester brauchen (aktuell teste ich sowohl mit v4 und 2011 onPremise, langfristig sollen aber auch 2013 onpremis und online sowie CRM 365 unterstützt werden).

Thema: MSSQL Abfrage der letzten 20 Items
Am im Forum: Datentechnologien

Hallo,

unabhängig von der o.g. Lösung möchte ich noch den Hinweis auf ROW_NUMBER (Transact SQL) geben, welches Zeilennummern zu einem Abfrageergebnis hinzufügt, welche dann in einer übergeordneten Abfrage z.B. über

RowNr ≥ (max(RowNr)-20)
verwendet werden könnten.

Thema: kleincodiert.at sucht Unterstützung
Am im Forum: Smalltalk

Hallo Wirago,

MSDN steht für "MicroSoft Developer Network" (https://msdn.microsoft.com/de-DE/) und ist die erste Anlaufstelle u.a. für Fragen zu .NET-Klassen und Methoden (z.B. System.Console.WriteLine ).
Die sollte jeder .NET-Programmierer kennen und nutzen.

Zitat von Abt
Ich zB hab bei meinem Blog das Feedback bekommen, dass die Leute gar keine größeren Anleitungen wollen, sondern eher gezielte Snippets zu akuten Problemen.

Die Gefahr, dass Du hier sehr viel Zeit rein steckst, ohne Deine gewünschte Zielgruppe zu erreichen; die schätze ich als relativ hoch ein.
Hierzu gab es letztens in der c't 22/15, Artikel Erfolgreich bloggen (der Link zeigt nur den ersten Absatz, der Artikel kostet 2,49 €, für die ohne Abo) einige Hinweise, wie man genau der von Abt angesprochenen Gefahr (in der Masse unter zu gehen) begegnen kann

Thema: Zugriff auf Sharepoint Document Library über C#
Am im Forum: Web-Technologien

Hallo,

evtl. noch ein Hinweis:
Wenn man den Zugriff komplett über die Webservices abwickelt, benötigt man die Assemblies nicht, und ist (zumindest bei den einfachen Dingen wie z.B. Abfrage eines Elements) relativ versionsunabhängig.

Ich benutze für den Zugriff auf SharePoint-Versionen zwischen 2007 und 2013 in den meisten Fällen denselben WebService (abfragen, erstellen, aktualisieren, Up- und Download von Dokumenten).

Thema: Sharepoint: Volltextsuche von ausgeblendetem Text
Am im Forum: Office-Technologien

Hallo,

dieses Verhalten hängt mit dem für diesen Dateityp verwendeten Such-Provider in SharePoint zusammen und kann so leider nicht geändert werden. Dieses Verhalten ist somit ein (vermutlich) von Microsoft gewünschtes Verhalten. Ich kann hier allerdings nur für SP 2007/2010 sprechen, bzgl. 2013 habe ich dies noch nicht getestet.

Thema: [Projekt] YouViewer - Ein umfangreicher Youtube- und Twitch-Client
Am im Forum: Projekte

Hallo UZI,

ist das Projekt noch aktuell?

Klingt für mich sehr interessant. Ich höre auf der Arbeit auch gerne Musik über Youtube, aber bei Telefonaten muss ich dann immer erst das Fenster suchen (falls es im Hintergrund gelandet ist) und die Weidergabe stoppen. Über eine eigene Anwendung könnte ich das dann automatisieren.

Thema: Standardverhalten eines Interfaces in einer Basisklassen implementieren: Ist das ok/sinnvoll?
Am im Forum: Rund um die Programmierung

Hallo zusammen,

ich danke euch für die interessante Diskussion meines "Problems".
Ich denke, ich werde die abstrakten Hilfsklassen weiter verwenden, und habe ja auch für die weitere Verwendung ein paar Hinweise erhalten, die beachtet werden sollten.

Thema: TAPI - Nummer auslesen
Am im Forum: Rund um die Programmierung

Hallo zusammen,

muss mich beruflich nun auch mit dem Thema befassen, in meinem Fall wird primär erstmal der TAPI-Treiber der Firma Swyx verwendet.

Ich habe mir nun als erstes mal die kostenfreien Beispiele angeschaut:


Beim 2. gab' es noch einen klassischen Fehler (threadübergreifende UI-Aktualisierung), aber dieser war schnell behoben.

Die ersten beiden dienen prinzipiell erstmal nur zur Signalisierung eingehender Rufe und zum Wählen einer Telefonnummer, beim 2. hat man zusätzlich noch die Möglichkeit, eingehende Rufe an eine vorgegebene Nummer weiterzuleiten.
Das dritte Beispiel ist sehr viel umfangreicher, hier gibt es mehrere separate Beispiele (u.a. für eingehend, ausgehend, DTMF, ...). Hier muss man zunächst die Samples separat entpacken und dann in den Projekten die dll neu hinzufügen, anschließend liefen aber auch diese Beispiele
anstandlos.

Noch ein selbst gefundener Link der Vollständigkeit halber:
http://www.traysoft.com/
Kosten: $399 pro Entwickler.

Zu den anderen geposteten Links:
Mein erstes Fazit:
Bis auf den zuvor erwähnten kleinen Fehler beim 2. und die manuelle Nacharbeit beim 3. Beispiel haben alle freien Lösungen auf Anhieb funktioniert.
Für einen ersten Einstieg sind diese Lösungen absolut ausreichend. Hiermit kann man die ersten Erfahrungen sammeln und dann bei Bedarf die Trials testen, bevor man Geld ausgibt (wenn dies dann überhaupt noch notwendig ist).

Thema: Standardverhalten eines Interfaces in einer Basisklassen implementieren: Ist das ok/sinnvoll?
Am im Forum: Rund um die Programmierung

Hallo zusammen,

ich habe mir in letzter Zeit etwas angewöhnt, wo ich mir nicht sicher bin, ob dies richtig ist.

Ich habe ein Interface, welches von mehreren Klassen implementiert wird. Das Interface enthält einige Properties und eine überschaubare Menge an Methoden (bis zu 5).


public interface IStep
{
    ReadOnlyList<object> Connectors { get; }

    bool Apply(object data);
}

public class Destination : IStep
{
    public ReadOnlyList<object> Connectors { get; private set; }

    public Destination()
    {
      Connectors = new List<object>();
    }

    public bool Apply(object data)
    {
      return false;
    }
}

Nun habe ich in einigen Fällen eine abstrakte Klasse von diesem Interface angeleitet und davon wiederum die o.g. Klassen.


public interface IStep
{
    ReadOnlyList<object> Connectors { get; }

    bool Apply(object data);
}

public abstract class StepBase : IStep
{
    public ReadOnlyList<object> Connectors { get; private set; }

    public StepBase()
    {
      Connectors = new List<object>();
    }

    public virtual bool Apply(object data)
    {
      return false;
    }
}

public class Destination : StepBase
{
}

Ich kann dadurch viele Dinge bereits in der Basisklasse durchführen (Einrichten der Properties, Standardverhalten der Methoden) und muss nur noch die Zusatzfunktionen in der abgeleiteten Klasse implementieren. Erweiterungen im Interface muss ich primär ertmal nur in der abstrakten Basisklasse implementieren, für die abgeleiteten Klassen kann ich dies nach und nach einzeln implementieren, testen und z.B. in Subversion committen.

Mein persönlicher Eindruck ist allerdings, dass ich dadurch das Prinzip der Interfaces etwas verwässere, weil die Zwischenstufe mit der abstrakten Klasse zwischen dem Interface und dem letztendlichen Abonennten liegt.

Wie seht ihr das.

Thema: Globalen Mausklick erkennen (WndProc)
Am im Forum: GUI: Windows-Forms

Hallo,

@Dani432123:
Man sollte sich schon alles anschauen.
Deine Anwendung reagiert erstmal nur auf Ereignisse innerhalb der eigenen Fenster.

Um nun globale Maus- oder Tastaturereignisse abzufangen, muss man etwas mehr Aufwand betreiben, und sollte dabei auch keine Fehler machen, denn sonst funktioniert ggf. die Maus oder Tastatur nicht mehr korrekt (spätestens bis zum Neustart).

Für das von dir gewünschte Verhalten muss man Windows zunächst mitteilen, dass man über alle Ereignisse der Maus / Tastatur benachrichtigt werden möchte, und Windows dann auch eine entsprechende Routine mitteilen. Das alles ist in dem o.g. Projekt erklärt.

Thema: IMAP "Framework"
Am im Forum: Netzwerktechnologien

Hallo,

In wiefern Mailsystem.NET für Mono geeignet ist, kann ich nicht sagen, aber ich benutze es selber, auch für den von dir genannten Zweck und bin ganz zufrieden. Es ist schnell eingebunden und Postfächer sind mit wenigen Befehlen abgefragt.

Es gibt bisher nur die folgenden Dinge, die mich stören:
- Es wurde ein eigenes Message-Objekt eingeführt
- Ausgelesene Mails werden automatisch als gelesen markiert
- Das Verbinden dauert etwas länger, weil direkt alle Ordner einlesen werden
- EDIT: Bzgl. Verbinden habe ich mittlerweile eine weitere Methode entdeckt, welche das komplette EInlesen verhindert, dadurch geht's erheblich schneller

Thema: C# Datagrid drucken ab zeile X neue Seite
Am im Forum: Rund um die Programmierung

Hallo Maffi1986,

wenn du druckst, hast du ja in den Eventargumenten eine Eigenschaft MorePages (oder so ähnlich). Diese muss auf true gesetzt werden, wenn noch weitere Seiten zu drucken sind. Du musst dir in einer internen variable merken, welche Zeile du zuletzt gedruckt hast, und dann beim nächsten Aufruf diese als Basis für die weiteren Zeilen nehmen.

Am Rande bemerkt, ist Drucken auch nicht gerade das beste Thema, um in C# einzusteigen, da es doch ein sehr komplexes Thema ist.

Thema: System-Menue erweiterbar?
Am im Forum: GUI: Windows-Forms

Hallo Brainwave,

auch wenn es eine (Kunden-)Anforderung ist, die evtl. sogar im Kontext Sinn machen könnte, gebe ich Lars recht, dass solche Einträge stark vom Standard abweichen und man zumindest entsprechend darüber informieren sollte.

Der einzige Grund, welcher mir einfällt ist, dass so wenig Platz in der Form ist, dass dieses Vorgehen notwendig ist.

Thema: Sharepoint soll Datenbank bereitstellen / Zugriff auf Database
Am im Forum: Office-Technologien

Hallo zaimen,

was genau willst du einbinden, den gesamten Content?
Oder willst du im SharePoint eine Textbox haben, wo du einen Query eingibst, welcher dann ausgeführt und das Ergebnis als Tabelle angezeigt werden soll.

Ersteres geht - wie du schon angemerkt hast - über Access, dabei wird dann für jede Tabelle einie eigene Liste in der neuen Website angelegt.

Zweiteres geht zumindest nicht mit Bordmitteln. Ggf. mit einer eigenen Erweiterung (ist dann allerdings eine Menge an Aufwand) oder über ein DataViewerWebPart, damit aber auch nur begrenzt dynamisch, sprich keine direkte Eingabe der Query, höchstens Vorgabe der Felder und Filterwerte.

Thema: SyncQueue <T> - Eine praktische Job-Queue
Am im Forum: .NET-Komponenten und C#-Snippets

Hallo,

Zitat von herbivore
Zitat:
Zitat von ErfinderDesRades
Diese Queue reagiert darauf, indem die Quit-Nachrichten übersprungen werden, falls noch weitere (ordentliche) Items drin sind.
Es kann zwar Fälle geben, in denen es sinnvoll ist, die Quit-Nachricht ans Ende zu verschieben, aber ich halte es nicht für ausgemacht, dass das immer oder auch nur meistens das Gewünschte ist. Deshalb lasse ich meine Queue so wie sie ist. :-)

Für diesen Fall könnte man SyncQueue um die Eigenschaft IsEmpty erweitern, welche bei einem Quit-Objekt prüft, ob die Queue leer ist. Falls nicht, wird das Objekt einfach wieder in die Queue gelegt, d.h. hier wären die Consumer wieder in der Pflicht.

Thema: "Sprechende Linknamen" automatisch einfügen, auch bei externen Links
Am im Forum: Wünsche und Kritik

Hallo,

z.B. für den Firefoc habe ich mal eine Erweiterung gesehen, welche beim Rechtsklick in einer Seite die Option angeboten hat, direkt einen Link im BB-Code in die Zwischenablage zu kopieren. Finde aber den Namen nicht mehr. Wenn ich es später nochmal wiederfinde, poste ich die Infos hier.

Thema: Arbeitsplatz zu Hause: Fluch oder Segen?
Am im Forum: Smalltalk

Hallo,

Zitat von Sebastian.Lange
Martin Fowler hat es mal so beschrieben: Jeder Entwickler hat pro Tag eine gewisses Mana(Zauberkraft) Nach 8-10 Stunden ist diese Kraft verbraucht, sobald er angefangen hat seine Kraft zu nutzen, dies schliesst Pausen ausdrücklich ein, ist die Kraft verbraucht.
Gerade die Argumentation mit den Pausen kann ich nicht nachvollziehen. In Pausen hat man doch die Möglichkeit, sich zu entspannen, mit anderen mal zu diskutieren, ... Das würde für mich dann eher bedeuten, dass man (um in der Metapher zu bleiben) die Zauberkraft wieder aufgeladen wird.

Und hier liegt auch - meiner Meinung nach - das größte Potential aber auch die größte Gefahr der Heimarbeit. Man kann seine Pausen frei gestalten, mal komplett abschalten, sich vielleicht sogar ein paar Minuten hinlegen und dann wieder frisch ans Werk gehen.
Aber man muss auch genug Selbstdisziplin haben, dass die Pausen nicht irgendwann überhand nehmen.

Ich persönlich habe kein Problem, den ganzen Tag vor dem Rechner zu sitzen und zu programmieren, jede Aufgabe ich für mich eine Herausforderung. Aber ich mache auch viele Pausen (wodurch ich oft auch mal 10-12 Stunden im Büro bin).
Heimarbeit fände ich persönlich interessant, hab's noch nie über einen längeren Zeitraum getestet, aber ich weis auch genau, dass bei mir die Ablenkungsgefahr sehr groß ist.

Ich kann mir aber auch gut vorstellen, dass es Menschen gibt, die in einer bestimmten Zeit ihre Arbeit erledigen, aber danach einfach komplett Abstand vom Job nehmen wollen. Für diese wäre Heimarbeit dann eher Fluch.

Thema: Zugriff auf Sharepoint Document Library über C#
Am im Forum: Web-Technologien

Hallo KPhoenix,

der Zugriff auf SharePoint über das Objektmodell ist keineswegs veraltet. Die Assemblies findest du auch jedem SharePoint-Server im GAC, sofern du auf deinem Entwicklungssystem also einen SharePoint installiert hast, kannst du diese Assemblies einfach in einem Visual-Studio-Projekt einbinden.

Ansonsten musst du dir die Assemblies rauskopieren und manuell in dein Projekt einbinden. Die anfängliche Entwicklung mit dem Objektmodell sollte anfangs allerdings besser auf einem SharePoint-Server erfolgen, denn nur dann funktioniert auch das debugging.

Zudem kann ich dir nicht sagen, ob man mit dem Objektmodell auch auf SharePoint-Server im Netz zugreifen kann, ich verwende das aktuell nur lokal auf einem SharePoint-Server.

Sowohl auf den Microsoft-Seiten (z.B. SPSite Class) als auch im Netz finden sich zahlreiche Beispiele, wie man z.B. eine Datei in SharePoint hochlädt.