Laden...

Forenbeiträge von BerndFfm Ingesamt 3.825 Beiträge

13.08.2016 - 15:50 Uhr

Willst Du einen Master-Detail-Report anzeigen ?

Das ist leider umständlich im Report Viewer.

Hier sind die 2 Möglichkeiten dargestellt :

http://gotreportviewer.com/masterdetail/index.html

Grüße Bernd

09.08.2016 - 15:59 Uhr

Hallo CWolle,

an C# liegt es nicht, denn diese Kombination läuft hier öfter.

Liegen Datenbank und C# Applikation auf dem gleichen Rechner ?

Kannst Du mit SQL Management Studio auf den SQL Server zugreifen ?

Data Source ist bei mir 'localhost\SQLExpress'.

Starte Deine Anwendung als Administrator, geht es dann ?

Benutze mal SQL Server Authentifizierung mit User und Kennwort statt Windows Authentifizierung.

Grüße Bernd

04.08.2016 - 13:43 Uhr

FxCop gibt es leider nur für das Framework 2.0.

Grüße Bernd

04.08.2016 - 13:02 Uhr

Stell mal dein eigenes System auf Englisch um und prüfe deine Datumsroutinen. Sie sollten dann auch funktionieren.

Wir hatten mal bei Installation auf einem Apple Computer merkwürdige Datumseinstellungen im Windows.

Grüße Bernd

26.07.2016 - 15:42 Uhr

Zum Beispiel habe ich noch die Arbeit mit einer Anwendung im Hinterkopg (welche weiß ich nicht mehr), wo alles ein Fenster war - auch die verschiedenen Dokument, an denen ich in der Anwendung gearbeitet habe. Diese Dokumenta waren im Prinzip eigene Fenster innerhalb des Haupt-Fensters.

MDI ? Das ist sehr altmodisch und auch sehr unpraktisch finde ich.

Grüße Bernd

25.07.2016 - 12:00 Uhr

Ich öffne ein neues Fenster mit Show() über dem Hauptfenster. So kann der Anwender, wenn er will, mehrere Fenster öffnen.

Schaltet der Anwender auf Vollbild werden die Unterfenster auch im Vollbild geöffnet. So kommen auch Anwender, die Fenster nicht kennen, mit der Anwendung zurecht. So wie MS-DOS früher 😉

Ich würde die Vorgehensweise von den Anwendern abhängig machen und von den Funktionen , die in den Unterfenstern angeboten werden.

Grüße Bernd

28.06.2016 - 12:16 Uhr

Hallo Jesfreric,

Deine Aufgabenstellung kann von so ziemlich jeder Datenbank erledigt werden.

Ich empfehle Dir den Microsoft SQL Server 2016 Express Edition. Das SQL Management Studio gleich dazu installieren.

Die Datenbankdateien werden nicht im Netzwerk freigegeben, sondern ausschließlich vom SQL Server verwaltet. So verhindert man Datenverluste und erhöht Sicherheit und Geschwindigkeit.Der Client oder die Middleware kommuniziert dann mit dem SQL Server per TCP/IP, Named Pipes oder Shared Memory.

Der SQL Server sollte auf einem zentralem Server installiert werden, nicht auf einem Arbeitsplatz.

Hinweis zur Installation : Gemischte Authentifizierung = Ja, TCP/IP überall einschalten, SQL-Browserdienst Startart automatisch, Windows Firewall erstmal ausschalten.

Eine ausführliche Installationsanleitung zur Installation eines SQL Servers in einem Netzwerk stelle ich gerne zur Verfügung.

Grüße Bernd

21.06.2016 - 13:25 Uhr

chilic : Doch, es kann passieren wenn Rundungsfehler in float auftreten. Hatte ich auch schon.

Einen eindeutigen Schlüssel braucht man natürlich, darf auch veränderbar sein.

SQL-Kommando ansehen :

string sql = da.UpdateCommand;

"da" ist der DataAdapter.

Grüße Bernd

20.06.2016 - 22:51 Uhr

Hallo roadrunner,

die Fehlermeldung besagt dass der Datensatz, der geändert werden soll, nicht gefunden wird. Das kann passieren wenn der Datensatz inzwischen von einem anderen Benutzer geändert wurde. Das kann aber auch passieren wenn Rundungsfehler in float Spalten auftreten. Schau Dir mal das erzeugte SQL Update Kommando an 😉

Eine Lösung ist es auf optimistic locking umzustellen :

DbCommandBuilder cb = new SqlCommandBuilder();
cb.ConflictOption = ConflictOption.OverwriteChanges;

Jetzt musst Du aber selbst dafür sorgen dass kein anderer Benutzer den Datensatz inzwischen geändert hat, sonst werden dessen Änderungen überschrieben.

Grüße Bernd

13.06.2016 - 15:01 Uhr

Syntax Highlighting heißt das Stichwort, wenn die Hervorhebung über eine Farbe erfolgt.

Ich benutze dazu dieses Projekt :

http://www.codeproject.com/Articles/161871/Fast-Colored-TextBox-for-syntax-highlighting

bzw.

https://github.com/PavelTorgashov/FastColoredTextBox

Grüße Bernd

13.06.2016 - 09:28 Uhr

Hallo mrHJS,

Du kannst auch in den Eigenschaften des Forms einstellen :

AutoSizeMode = None

Grüße Bernd

08.06.2016 - 10:15 Uhr

Lass diese Schleife weg, sie hat keine Funktion :

for (int i = 0; i < 20; i++)

Ergänze deine Fehlermeldung um den genauen Grund des Fehlers :

 MessageBox.Show("Ein Fehler ist aufgetreten : " + ex.Message);

Unter Windows statt \n besser \r\n oder Environment.NewLine.

Jetzt das Ergebnis nur noch drucken !

Du kannst das Ergebnis auch in ein DataSet laden, hier siehst Du wie Du ein DataSet als Tabelle ausdruckst :

http://www.gotreportviewer.com/

Grüße Bernd

07.06.2016 - 11:11 Uhr

Ich installiere den SQL 2016 gleich mal. Wie bekomme ich die Version "With Tools" mit SQL Management Studio ? Als Media-Download ?

Wie kann ich die 32-Bit-Version downloaden auf einem 64-Bit-System ? Gibt es die denn noch ?

Grüße Bernd

06.06.2016 - 15:34 Uhr

Für das Drucken gibt es mehrere Möglichkeiten :

  • PrintDocument : Du musst alles selber machen

  • PrintForm : Ein Form wird gedruckt

  • Reportbuilder : Komfortabel und hübsch

  • Andere Reportgeneratoren (SAP Crystal Reports, FIY Reporting bzw. der Nachfolger NReports etc.)

Jede Methode hat so ihre Vor- und Nachteile.

Grüße Bernd

02.06.2016 - 11:57 Uhr

Beispiel zu 1. bis 3. :

Mit If-Abfrage :

cmd.CommandText = "SELECT * FROM Member WHERE";
string vorname = txtB_Vorname.Text;
if (vorname != "") cmd.CommandText += " Vorname LIKE @Vorname AND";
...

Oder SQL Server machen lassen :

cmd.CommandText = "SELECT * FROM Member WHERE (Vorname LIKE @Vorname OR @Vorname = '') AND ...";

Grüße Bernd

02.06.2016 - 09:40 Uhr

Wie schon gesagt brauchst Du zum Lesen der Daten einen DataReader oder ein DataSet. Wenn Du die Daten auch ändern und zurückspeichern willst dann nimm gleich ein DataSet.

Beispiele findest Du hier :

http://download.seven-c.de/files/DatenbankenHowTo.htm#6

Das Beispiel aus "Daten ändern" kannst Du auch zum Daten lesen verwenden.

Benutze auf jeden Fall auch Parameter.

Grüße Bernd

30.05.2016 - 16:50 Uhr

Ich habe das Lumia 930 und hatte vorher das 700, 800 und 920. Und davor das Samsung Omnia 7 mit Windows Phone 7.

Bisher war ich mit den Phones sehr zufrieden. Akkulaufzeit, Bedienung und Stabilität waren sehr gut.

Da aber jetzt Paypal, Here Maps und Music für das Windows Phone eingestellt wird habe ich mich schon gefragt wann das Windows Phone selber eingestellt wird.

Und für mich eine Katastrophe : Wer ist auf die Idee gekommen die Phone-App zu minimieren wenn man jemanden angerufen hat ? Jetzt kann ich beim Telefonieren nicht mehr so einfach Auflegen, laut- oder stummschalten. Anstatt Aufzulegen lasse ich ein Gespräch einfach weiterlaufen bis der andere auflegt. Pech wenn der auch ein Windows Phone hat, dann bleibt die Verbindung ewig bestehen. Dieses Ärgernis wäre für mich fast ein Grund gewesen auf ein anderes Betriebssystem umzusteigen.

Da ich nun 2 Apps brauche die es auf Windows Phone nicht gibt werde ich wohl nach Android wechseln müssen.

Schade !

Grüße Bernd

19.05.2016 - 11:14 Uhr

Das SQL-Kommando muss auch ausgeführt werden.

Hier findest Du die drei möglichen Befehle in ADO.NET dazu :

http://download.seven-c.de/files/DatenbankenHowTo.htm#8 (Kapitel 8)

Hinweis : cmd.ExecuteScalar() gibt ein object zurück, dass könnte auch ein string sein.

Grüße Bernd

18.05.2016 - 14:38 Uhr

Wäre es nicht besser eine Textbox oder ein Label einzufügen und das dann mit dem Text zu füllen ?

textBox1.Text = "Windows Forms Demo";

Wenn Du mehrere Schriftarten und Farben braucht dann eine RichTextBox.

Grüße Bernd

11.05.2016 - 13:09 Uhr

Hallo BatTaste,

bei Winforms kannst Du bei jedem Control in der Eigenschaft "AutoScaleMode" einstellen wie das Control angepasst werden soll. Mit der Einstellung "None" wird keine Änderung vorgenommen.

Grüße Bernd

26.04.2016 - 09:24 Uhr

Wenn die Benutzer die Daten nur lesen brauchst Du keine besonderen Vorkehrungen.

Wenn mehrere Benutzer gleichzeitig Daten ändern sollen dann musst Du mit Sperren arbeiten :

Speichern von unveränderten Daten

Die Exe-Datei deiner Client Anwendung kannst Du lokal auf jedem Rechner installieren oder auf einem Netzwerklaufwerk, das scheint wohl Geschmackssache zu sein.

Grüße Bernd

04.04.2016 - 21:31 Uhr

Ich habe früher mal mein Projekt nach Mono portiert :

Das Projekt basierte auf dem Framework 2.0 und Winforms.

Es funktionierte erstaunlich viel.

Was läuft :

  • Winforms
  • CHM-Hilfe
  • ADO.NET
  • printDocument
  • FIY-Reporting

Was nicht läuft :

  • WPF
  • ADO.NET CommandBuilder
  • Transparenz bei Winforms
  • SQL Compact
  • Reporting Services
  • Crystal Reports
  • Math.Round

Siehe : Mono Platformübergreifend?

Grüße Bernd

29.03.2016 - 09:30 Uhr

Eine kleine Datenmenge kann man auch als XML-Datei speichern. Diese Datei könnte man dann auch an andere Benutzer weiterschicken.

DataSet ds = new DataSet();
...
ds.WriteXml("Products.xml", XmlWriteMode.WriteSchema);

Grüße Bernd

29.03.2016 - 09:23 Uhr

Was passiert wenn Du nach dem Kopieren etwas wartest ?

Oder das Öffnen der Datei weglässt ? Ist sie dann auch kleiner ?

Grüße Bernd

24.03.2016 - 13:47 Uhr

trib : Bei Waren-Eingang und -Ausgang habe ich keine Sperren, nur Transaktionen.

Wenn ein Eingang und ein Ausgang exakt gleichzeitig gebucht wird dann muss der, der als zweiter dran kommt eben 2 Sekunden länger warten, da die Transaktionen nacheinander ausgeführt werden.

Die Sperre tritt nur dann in Kraft wenn jemand den Datensatz auf dem Bildschirm ändert und gerade neue Werte in die Maske eingibt.

Der zweite Anwender muss den Datensatz nicht erneut laden, die inzwischen gemacht Änderungen werden automatisch geladen.

Grüße Bernd

24.03.2016 - 12:57 Uhr

Da kann zwar immer noch einiges schief gehen, wenn im Zeitablauf 2 User zufällig gleichzeitig sperren

Nein, kann es nicht. Der zweite bekommt die Meldung "Datensatz gesperrt".

Wenn das Sperren aus mehreren Aktionen besteht dann diese in eine Transaktion packen.

Grüße Bernd

24.03.2016 - 10:52 Uhr

Hallo Carl,

in meiner Anwendung sperre ich einen Datensatz wenn ein Benutzer ihn bearbeitet. Ein zweiter Benutzer, der den gleichen Datensatz bearbeiten möchte, bekommt die Meldung "Datensatz ist in Bearbeitung von Benutzer XY".

Das nennt man "Pessimistic Locking" oder "Pessimistic Row-Locking".

Welches die beste Art ist gleichzeitige Änderungen zu verarbeiten ist sehr umstritten, da gibt es lange Diskussionen drüber, auch in diesem Forum.

Bei deiner Lösung würde meine Anwender nach einer Änderung immer "Ja" drücken bei der Frage "Möchten Sie fortfahren und speichern ?". Somit wären Änderungen eines anderen Benutzers überschrieben.

Schau auch hier : http://www.codeproject.com/Articles/114262/ways-of-doing-locking-in-NET-Pessimistic-and-opt

Grüße Bernd

24.03.2016 - 10:31 Uhr

Hallo,

ja, SQL Kommandos schreiben ist lästig, zeitraubend und fehleranfällig.

Ich lasse das den CommandBuilder von .NET machen :

SqlConnection conn = new SqlConnection(...);
SqlCommand cmd = new SqlCommand(...);
SqlDataAdapter da = new SqlDataAdapter(cmd);
SqlCommandBuilder cb = new SqlCommandBuilder(da);    // Hier werden SQL Kommandos für Insert, Update und Delete erzeugt

DataSet ds = new DataSet();
...
ds.Tables["Customers"].Rows.Add(...);
conn.Open();
da.Update(ds, "Customers")
conn.Close();

Intern arbeitet .NET auch mit Parametern, man kann sich die erzeugten SQL-Befehle anschauen.

Beispiele dazu findest Du im Netz oder in dem Text in meiner Signatur.

Wenn Du überhaupt nichts mehr mit SQL zu tun haben willst dann benutze ein ORM wie Entity Framework oder ein Micro ORM wie Dapper oder PetaPoco.

Ich benutze ein eigenes ORM, da würde das so aussehen :


DataObjectsAddresses ad = new DataObjectsAddresses();
ad.number = 10000;
ad.name = "Fritz GmbH";
ad.city = "Frankfurt";
ad.InsertRow();

Hinweis : In deinem Code wandelst Du alle Werte in String um. Das geht spätestens bei Datum, Zeit und numerischen Werten schief wenn der SQL Server auf englisch steht. Du musst Objekte übergeben und dann den Parameter mit dem richtigen Typ übergeben.

Grüße Bernd

02.03.2016 - 13:36 Uhr

Click Once kann nicht eingesetzt werden, denn da müssen ja alle Anwender selber ihre Software aktualisieren. Was passiert wenn die Anwender die Software nicht aktualisieren ?

Welchen Vorteile hat Clickonce gegenüber xcopy ?

Das Netzwerklaufwerk ist bei uns genauso sicher wie das lokale Laufwerk.

Wenn man kein Zugriff auf das Netzwerklaufwerk bzw. auf das Netzwerk hat kann eh nicht gearbeitet werden. Jedenfalls bei unseren Anwendern.

Ich finde jede Methode hat Vor- und Nachteile, man sollte immer die beste verfügbare Methode für den jeweiligen Fall benutzen.

Grüße Bernd

02.03.2016 - 13:13 Uhr

Vielleicht bin ich da etwas altmodisch. Ich sehe auch keinen Nachteil das Programm auf dem Netzwerklaufwerk zu starten. Außer dass alle Benutzer das Programm verlassen müssen wenn eine neue Version kopiert wird.

Pinki : Das machen wir bei einem VPN mit langsamer Verbindung so (Starter, der neuere Dateien auf das lokale Laufwerk kopiert und dort startet). Hat im Netzwerk aber keinerlei Vorteile, eher Nachteile.

Grüße Bernd

02.03.2016 - 11:43 Uhr

Schreibrechte im Programmverzeichnis sollten nicht sein.

Aber ich habe z.B. ein Verzeichnis für Log-Dateien. Oder man legt ein Verzeichnis \User mit Schreibberechtigung an, in das man bei Programmstart eine Datei anlegt und bei Programmende wieder löscht. Wird ein Programm auf einem Rechner zweimal gestartet sollten auch 2 Dateien angelegt werden.

Grüße Bernd

02.03.2016 - 10:36 Uhr

Hallo _Cashisclay,

ich mache das genauso. Wenn das Programm gestartet ist ist die Exe-Datei seit Windows 7 in Benutzung, kann also nicht geändert oder überschrieben werden.

In meinem Programm schreibe ich einen Datensatz bei Programmstart mit IP-Nummer, Usernamen und Computernamen. Bei Programmende lösche ich das. So kann man sich immer eine Liste ausgeben lassen wer gerade das Programm benutzt.

Wenn das Programm allerdings beim Start abstürzt ist die Exe manchmal blockiert ohne dass ein Datensatz angelegt wurde. Dann muss man in der Liste der Prozesse suchen oder den Arbeitsplatz-Rechner neu starten.

Grüße Bernd

24.02.2016 - 15:02 Uhr

Mailto funktioniert zwar, hat jedoch viele Nachteile.

Besser Du benutzt Mapi, damit kannst Du den Text auch formatieren :

Mail mit vordefinierten Werten und Anhang per MailTo-Cmd erstellen

Grüße Bernd

29.01.2016 - 09:44 Uhr

Hallo Herbivore,

die Steuerkommandos hatte ich mir früher mal ausgedacht als es noch kein HTML gab.
Hätte ich mir vielleicht patentieren lassen soll 😉

Ich hatte überlegt sie zu ändern, aber wenn ich sie so lasse kann ich sie gut mit einem HTML- oder RTF-Editor bearbeiten. Also bleiben sie so.

Wenn ich HTML-Tags nehmen würde dann müsste ich zum Editieren einen Texteditor benutzen.

Mit Word arbeite ich nicht. Aber in TextControl könnte man auch Textmarkierungen definieren. Und sogar auch Sachen selber programmieren und einbauen.

WYSIWYG benutze ich zur Zeit beim Schreiben des Hilfetextes überhaupt nicht, wäre aber möglich.

Grüße Bernd

28.01.2016 - 09:29 Uhr

Hallo herbivore,

die Anzahl der Ebenen im Inhaltsverzeichnis sind eigentlich unbegrenzt. Man kann das Inhaltsverzeichnis auch vergrößern (SplitContainer).

Die Markierungen im Text sind wie folgt :

[i1] = Überschrift Kapitel 1. Ebene
[i2] = Überschrift Kapitel 2. Ebene
[s:..] = Stichwort
[m:...] = Hilfe zu Menü
[f:...] = Hilfe zu Feld
[b:...] = Bildschirm oder Grafik

Ja, Webbrowser-Control. Das klappt gut außer dem Zoom-Befehl, da wird die Schrift holprig.

Eine Offline-Lösung, die genau zu der eingesetzten Version passt, finde ich langfristig auch besser. Jetzt, wo ich erstmal noch viel Text schreiben muss lass ich es erstmal Online. Das Umschalten ist keine große Sache, eher die Verteilung bei Installation und Updates.

Grüße Bernd

27.01.2016 - 22:27 Uhr

Ich bin kein guter Verkäufer.

Ich kann nur die Sachen verkaufen von denen ich selber zu 100% überzeugt bin.

Die Killer-Funktion wäre es den Handbuchtext auf Knopfdruck zu erzeugen 😉

Grüße Bernd

27.01.2016 - 20:14 Uhr

Nach vielen Forschungen im Internet und im realen Leben habe ich nun folgendes gemacht :

Ein eigenes Online Handbuch programmiert, das kann folgendes :

  • Resize und Vollbild
  • Kontext-sensitiv
  • Kann wie ein E-Book oder ein echtes Buch Kapitel für Kapitel gelesen werden
  • Inhaltsverzeichnis mit 3 Ebenen
  • Stichwortverzeichnis
  • Suche
  • Verweise im Text auf andere Textstellen möglich
  • Bildschirm-Printscreens können einfach eingebunden werden

Das Design ist praktikabel konservativ wie meine Software halt so ist.

Der Test selbst wird mit einer Textverarbeitung erstellt wie Word, Wordpad oder TextControl.

Die Texte werden zur Zeit Online geladen, eine lokale Version die von CD oder Festplatte läuft ist möglich.

Könnte man sowas einzeln verkaufen ? Gefunden habe ich sowas nicht.

Grüße Bernd

21.01.2016 - 09:31 Uhr

Oder die Anwendung in der DOS-Box starten. dann siehst Du die Meldungen.

Grüße Bernd

16.01.2016 - 18:12 Uhr

Den Wert auf jeden Fall intern als int speichern und verarbeiten.

Nur zur Anzeige nach string wandeln.

int t2int = (int)dt.Rows[t2int][0];

Der Wert in der Datenbank kann auch NULL sein, das musst Du vorher abfragen wenn dieser Wert vorkommen kann.

Grüße Bernd

15.01.2016 - 17:11 Uhr

Wie kann ich aber jetzt die Tabelle zu meiner lokalen DB fügen

Das kannst Du z.B. mit dem SQL Management Studio machen.

Ein kurzes Tutorial findest Du hier : http://download.seven-c.de/files/DatenbankenHowTo.htm

Grüße Bernd

15.01.2016 - 10:27 Uhr

Hallo Elias,

Wenn Du Width und Height veränderst dann verändert sich die Größe des Bitmap rechts und unten (Location 0,0 ist oben links).

Wenn Du Width und Location.X gleichzeitig ändert dann änderst sich der rechte Rand.

Grüße Bernd

04.01.2016 - 21:08 Uhr

Es gibt folgende Möglichkeiten :
*SQL Server Express installieren *SQLite verwenden *SQL Compact verwenden

Die beiden letzten sind Embedded Database Server die keine eigene Installation benötigen, es genügt 1 oder 2 oder 11 DLL's mitzugeben.

Siehe auch http://download.seven-c.de/files/DatenbankenHowTo.htm#10 Kapitel 10

Grüße Bernd

01.01.2016 - 16:13 Uhr

Hallo,

ich wünsche auch allen Mitgliedern von myCSharp ein Frohes Neues Jahr mit wenig Bugs und wenig Timeouts !

Grüße Bernd

27.12.2015 - 17:36 Uhr

Hallo gokho87,

deine Daten kannst Du in SQLite, SQL Compact, SQL Express, XML oder in einer Konfigurationsdatei speichern.

Hier eine kurze Einführung : http://download.seven-c.de/files/DatenbankenHowTo.htm

Grüße Bernd

22.12.2015 - 11:19 Uhr
using (DataSet ds1 = ds.GetChanges())
    {
    }

Ist überflüssig. Beim Update werden sowieso nur die geänderten Zeilen benutzt.

Ich weiß, dass kann ich möglicherweise durch parametrisierte Befehle (sofern Gupta keinen Fehler hat) lösen.

Nein, die Parameter werden den Fehler nicht lösen. Aber sie haben andere Auswirkungen.
Ich finde auch zu beachten dass Sonderzeichen in Stringwerten wie ' oder " beim Gefrickel immer zu Problemen führen, bei Datumswerten werden Monat und Tag schnell verwechselt.

Wenn es nicht um Performance geht kannst Du auch alles per DataSet machen und nur den einen Wert per SQL-Kommando updaten :

update {db_DBKOMMPROTOKOLL} set {f_ANLAGEN} = ... where ID = @ID ...

Grüße Bernd

22.12.2015 - 10:11 Uhr

Hallo René,

Gupta gibt das Mapping von ihrem Datentyp Long Varchar mit char[] in .NET ab, probier das doch erstmal.
char[] wird in .NET nicht automatisch in string gecastet, deshalb die Fehlermeldung wenn Du das probierst.

char[] val = "Test".ToCharArray();
ds.Tables[db_DBKOMMPROTOKOLL].Rows[0][f_ANLAGEN] = val;

Meiner Meinung nach ist die Verwendung von DataSet und DataTable OK, ist ja so in .NET vorgesehen.

Es ist auch möglich dass der ADO.NET Treiber von Gupta Fehler enthält und ein Update von Long Varchar nicht funktioniert. Frag mal im Gupta Forum nach.

Probier mal den Datentyp Long Varchar nur zu lesen und beim Update wegzulassen.

Wenn das alles nicht geht dann musst Du das Update-Kommando selber bauen. Bitte mit Parametern.

Grüße Bernd

07.12.2015 - 10:15 Uhr

Hallo Renato,

einen Bildlauf zum Cursor erreichst Du mit

textBox1.ScrollToCaret();

Ob damit der aktuelle Text sichtbar wird der sich vielleicht unter dem virtuellen Keyboard befindet kann ich Dir nicht sagen. Eventuell die Textbox verkleinern so dass kein Bereich abgedeckt wird.

Grüße Bernd

03.12.2015 - 09:48 Uhr

Ein Antivirenprogramm durchsucht typischerweise die gesamte Festplatte bzw. alle lokalen Festplatten nach allen ausführbaren Dateien. Dauert etwas, ist aber das sicherste.

Grüße Bernd

01.12.2015 - 09:57 Uhr

Hallo Timiboy,

Du weist die Daten einmal 'report' und einmal 'lr', das ist einmal zuviel.

'report' benutzt Du um den Report zu testen und anzuzeigen ?

Wieso schreibst Du dann diesen Report nicht in das PDF ?

byte[] bytes = report.LocalReport.Render("PDF", deviceinfo, out mimeType, out encoding, out extension, out streamids, out warnings);
FileStream fs = new FileStream(PdfDatei, FileMode.Create);
fs.Write(bytes, 0, bytes.Length);
fs.Close();

Es könnte am *using' liegen, dass der 'lr' am Ende nicht mehr verfügbar ist. Lass das mal weg.

Grüße Bernd

30.11.2015 - 11:05 Uhr

Hallo,

wir laden Dich zum letzten User Group Meeting in diesem Jahr nach Bad Homburg ein. Bei unserem hoffentlich schönen Jahresausklang dreht sich diesmal alles um die Verarbeitung von Datenströmen. Wir freuen uns, wenn Du Lust hast, dabei zu sein, am

Mittwoch, 16. Dezember 2015 18:30 - 22:00
Daten in Echtzeit – Datenstromanalyse mit Azure Stream Analytics
Constantin "Kostja" Klein (http://kostjaklein.wordpress.com/)

Eine ständig wachsende Anzahl an Sensoren bringt uns dem „Internet der Dinge“ kontinuierlich näher. Anwendungen, die sehr schnell eine große Menge der erzeugten Daten verarbeiten, analysieren und mit Vorhersagemodellen kombinieren müssen, sind eine logische Konsequenz. Daraus ergeben sich aber eine Reihe von Fragen: Welche Herausforderungen verbergen sich in der Verarbeitung von Datenströmen? Welche Alternativen bietet der Microsoft-Kosmos zur In-Flight Datenverarbeitung und wie gelingt der Einstieg? Diesen Fragen wollen wir in dieser Session auf den Grund gehen und zusätzlich sehen wie mit Azure Stream Analytics ein neuer Cloud-Service bei dieser Problematik weiterhilft.
Wir freuen uns auf das letzte User Group Meeting in diesem Jahr. Es wird sicher ein schöner Jahresabschluss, welchen Ihr nicht verpassen solltet.

Im Anschluss an den Vortrag geht es 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 immer um 18:30 Uhr. Bitte um 18:15 anwesend sein.
Eine Anmeldung ist erforderlich, da die Plätze begtrenzt sind.
Anmeldung ab sofort unter: http://dnug-frankfurt.de/Event/tabid/119/ID/100/Default.aspx

Deine .NET User Group Frankfurt