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 holliesoft
Thema: Cefsharp Deployment Files
Am im Forum: Rund um die Programmierung

Zitat
Eventuell sieht das mittlerweile auch anders aus.
Wäre cool, wenn man die Runtime als normales Package (noch mehr Dateien) mit liefert kann bzw. die Option dazu hat.

Ich habe diese Woche erfolgreich ein älteres Projekt von mir vom alten Webbrowser-Control auf WebView2 migriert und habe daher recht "frische" Erfahrungen damit.

WebView2 ist ab Windows 11 im Betriebssystem vorhanden. Unter Windows 10 kann die Runtime nachinstalliert werden (sogar ohne Adminrechte). Die Runtime wird regelmäßig automatisch aktualisiert.

Es ist aber auch möglich, eine fixe Runtimeversion mit auszuliefern, z.B. in einem Unterverzeichnis Deiner Anwendung. Da müsstest Du Dich selbst dann um die Aktualisierung kümmern.

Weitere Infos gibt es bei Microsoft

Thema: Community Edition im Unternehmen nutzbar oder nicht?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

es gibt auch immer noch VS 2017 Express für Desktop. Auf der Seite nach unten scrollen zur Überschrift "Möchten Sie immer noch Visual Studio Express?". Die Express ist zwar nicht ganz so komfortabel wie die Community aber vielleicht reicht sie aus. Dafür darf sie meines Wissens auch in größeren Firmen eingesetzt werden.

Viele Grüße
Patrick

Thema: Absolute Sekunden aus Timespan erhalten
Am im Forum: Grundlagen von C#

Vielleicht hilft das?

public static class TimeSpanTools
{
	public static TimeSpan ExactDuration(TimeSpan from, TimeSpan to)
	{
		var diff = to.Subtract(from);
		if (diff.TotalMilliseconds < 0)
		{
			return new TimeSpan(1,0,0,0).Subtract(diff.Duration());
		}
		return diff;
	}
}

Thema: string.replace funktioniert nicht (=>falscher Umgang mit Strings)
Am im Forum: Grundlagen von C#

Hallo,

wie BhaaL schon geschrieben hast, musst Du das Ergebnis von row.Replace() der Variablen row wieder zuweisen.

Anders sieht es beim StringBuilder aus, dort kann man mit Replace() direkt den Inhalt vom StringBuilder manipulieren.

Die if-Abfrage kannst Du Dir übrigens sparen. Wenn es nichts zu ersetzen gibt dann passiert auch nichts.

Gruß
Patrick

Thema: Fehler per Exception abfangen oder per if ausschliessen?
Am im Forum: Grundlagen von C#

Hi,

dass Goto böse ist ist ja bereits geklärt ;-)

Zu Deinen Exception-Behandlungen: lieber vorab prüfen, ob das Verzeichnis (cfgpfad) existiert und ggf. erstellen:

if (!Directory.Exists(cfgpfad))
{
   Directory.Create(cfgpfad);
}

Dasselbe in grün gilt für die FileNotFoundException.

Statt dem stillen Behandeln der InvalidOperationException würde ich den User auf jeden Fall über den Fehler informieren und die nicht ladbare XML umbenennen, bevor sie gelöscht und neu erstellt wird.

Für die Zugriffsverweigerung würde ich ebenfalls eine sinnvolle Meldung an den User ausgeben, die auch den Inhalt von Exception.Message enthält.

Pfade sollte man übrigens mit Path.Combine() verknüpfen, da man sich dabei um evtl. fehlende Backslashes nicht kümmern muss.

Gruß
Patrick

Thema: Coding Styles Horror
Am im Forum: Smalltalk

Warum kompliziert:

 private bool isIn( char ch ) {
			switch ( ch ) {
				case 'ö':
					return true;
				case 'Ö':
					return true;
				case 'ü':
					return true;
				case 'Ü':
					return true;
				case 'ä':
					return true;
				case 'Ä':
					return true;
				case 'ß':
					return true;
				case '§':
					return true;
				case '²':
					return true;
				case '³':
					return true;
				case 'µ':
					return true;
				default:
					break;
			}
			return false;
		}

wenns auch einfach gehen würde:

private bool isForbidden( char ch )
        {
            string forbiddenChars = "öÖüÜäÄߧ²³µ"; //oder besser noch als Konstante auf Klassenebene
            return forbiddenChars.Contains(ch);
        }

Thema: Coding Styles Horror
Am im Forum: Smalltalk

Eben in einem MSDN Forum gefunden:

private void button2_Click(object sender, EventArgs e)
        {
            timer1.Interval = Convert.ToInt32(1000);
        }

Thema: ComboBox, ausgewählten Wert nach bestimmten Wort filtern
Am im Forum: GUI: Windows-Forms

Hallo,

was Du suchst, ist die Methode


string.Contains();

also für Deine Combobox:


if (CbBezeichnung.Text.Contains("Boat")

Gruß,
Patrick

Thema: Mehrere Aktionen zeitverzögert in button1_Click ausführen [==> stattdessen Timer verwenden]
Am im Forum: GUI: Windows-Forms

Hallo,

da fehlt ein Sleep in der for-Schleife. Zudem wird die Variable i im Kopf der for-Schleife initialisiert, eine Initialisierung außerhalb der Methode ist daher unnötig.


        private void button1_Click(object sender, EventArgs e)
        {
            label1.Text = "hallo welt";
            Thread.Sleep(1000);
            label1.Text = "";
            for (i = 3; i ≤ 7; i++)    
            {
                label1.Text += i + "\n";
                Thread.Sleep(1000);
             }
        }

Gruß
Patrick

Thema: Buch "C# für IT-Berufe" und andere Anfängerbücher
Am im Forum: Buchempfehlungen

Hallo,

das beste Buch, das ich zu C# gekauft habe, ist Visual C# 2010 - Grundlagen und Profiwissen von Walter Doberenz und Thomas Gewinnus. Das Buch behandelt so ziemlich alles, und ist gut verständlich geschrieben.

Gruß
Patrick

Thema: Was hat man im Produktmanagement so für Aufgaben?
Am im Forum: Smalltalk

Hallo,

ich selbst arbeite bei einem großen Finanzdienstleister in der IT in der Abteilung Produktmanagement und bin dort für den Teilbereich fachliche QS zuständig.

Aufgabe des Produktmanagements bei uns ist es u.a., Anforderungen zu erfassen, zu spezifizieren, für ein Release einzuplanen und nach Umsetzung fachlich abzunehmen.

In der Regel (oder zumindest bei uns ist es so), dass die Teilaufgaben beim Produktmanagement aufgeteilt sind. Wir haben einen Gruppenleiter für das Produktmanagement, der u.a. Entscheidungen fällt, die alle Teilbereiche des Produkts betreffen. Dann gibt es für verschiedene Bereiche des Produkts eigene Abteilungen, die jeweils ein Produktmanager als Abteilungsleiter betreut. Der Abteilungsleiter koordiniert die Arbeiten seiner Requirements Engineers (Anforderungs-Erstellung), der Qualitätssicherung und kommuniziert mit den anderen Teilbereichen sowie mit dem Development.

Ich gehe mal davon aus, dass Deine Hauptaufgabe die Spezifikation von neuen Features sein wird, dazu gehört auch u.a. die Erstellung von Use Cases, also Anwendungsfällen, die dann wiederum der Qualitätssicherung als Basis für die Abnahmetests dienen.

Gruß,
Patrick

Thema: Form auf Desktop in Hintergrund "festhalten"
Am im Forum: GUI: Windows-Forms

Hi,

AFAIK wird beim Ausführen der Funktion "Desktop anzeigen" mit [WIN]- lediglich das Listview des Desktops in den Vordergrund geholt. Daher kommen auch keine Nachrichten über den Vorgang bei Deiner Anwendung an.

Gruß
Patrick

Thema: Setup für Win7 mit Visual Studio und WIX 3.5 automatisch als Admin ausführen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

AFAIK wird der Dialog der UAC automatisch aufgerufen, wenn der Name der aufgerufenen Datei "Setup" oder "Install" enthält.

Thema: die nächste Windows Version (8?) wird wohl für nicht nur X86 Prozessoren verfügbar sein
Am im Forum: Smalltalk

Zitat von Khalid
Ist genau wie die Win32 API. Die wird es immer geben, ausser MS entwickelt Windows von Grund auf neu. Die API rückt nur immer weiter in den Hintergrund, bis man meint, es gibt diese nicht mehr. Und dann kann man vielleicht drüber nachdenken diese komplett verschwinden zu lassen. Das wird aber auch noch Jahrzehnte dauern.

Jahrzehnte? Das glaube ich eher nicht... Windows 95 kam vor gut 15 Jahren raus, damit wurde Win32 für den Konsumentenmarkt eingeführt. Mit 64bit-Windows-Versionen wurde dann begonnen, die Unterstützung für Win16 aus Windows "rauszuschmeißen" - keine 15 Jahre nach Einführung der neuen API (Windows NT mal außen vor gelassen). Ich denke, allerspätestens in 20 Jahren gibt es keine Win32 API mehr.

Thema: die nächste Windows Version (8?) wird wohl für nicht nur X86 Prozessoren verfügbar sein
Am im Forum: Smalltalk

Zitat von chaossurfer
Und es gibt noch so viel Software welche nicht auf .NET (oder Java) läuft... bzw. sogar bei .NET Programmen werden viele, viele alten COM Objekte verwendet welche ja dann auch nicht mehr laufen.

Für Windows Mobile 6.x gab / gibt es auch viele Software, die nicht .net kompatibel ist. Trotzdem hat Microsoft den Schritt gewagt.
Zitat von Hajoseb
Na, dann wäre es ja jetzt an der zeit alles sauber aufzuarbeiten :-)

Genau, das kurbelt die Wirtschaft an und schafft und sichert Arbeitsplätze

Thema: die nächste Windows Version (8?) wird wohl für nicht nur X86 Prozessoren verfügbar sein
Am im Forum: Smalltalk

Ich vermute, dass hier lediglich die Runtime angepasst werden muss, und das macht ja Microsoft, die liefern die Runtime dann denke ich mal gleich mit dem neuen Windows aus (so wie schon .net 3.0 bei Vista und .net 3.5 bei Windows 7).
Wer also jetzt schon auf .net setzt, hat alles richtig gemacht :-) Ich selbst bin nun ganz froh, dass ich neue Projekte nicht mehr nativ mit Delphi, sondern mit .net umsetze...
Ich denke mal, damit beginnt das, was Microsoft schon vor einigen Jahren angekündigt hat: die Ablösung der Win32 API durch das .net Framework.
Mit Windows Phone 7 ist der Schritt, die native Entwicklung nicht mehr zu unterstützen, ja bereits schon einmal vollzogen worden. Irgendwo hatte ich die Tage gelesen, dass Adobe keine Extrawurst bekommt und nun seine Software für Windows Phone 7 mit .net umsetzen muss

Thema: C# Kalenderblatt erzeugen
Am im Forum: Rund um die Programmierung

Kleiner Tipp für die Berechnung der Wochentage:
http://de.wikipedia.org/wiki/Wochentagsberechnung
Das sollte das Schwierigste an der Aufgabe sein. damit kannst Du die Wochentage ohne die DateTime-Klasse berechnen. Wenn Du konkrete Fragen zur Umsetzung hast, dann melde Dich hier in diesem Thread zurück.

Btw:
Ich selbst hatte vor 17 Jahren mal eine Wochentagsberechnung in dBase III umgesetzt, nur anhand der Berechnungsformel, die ich in unserer Stadtbücherei nachgeschlagen hatte. Internet für jedermann gab es damals noch nicht. Manchmal beneide ich die Jugend von heute ;-)

// Edit: Warum hier eigentlich double?

double jahr = 0.0;
double monat = 0.0;
double tag = 0.0;


Viel Erfolg!

Gruß,
Patrick

Thema: Fokusweitergabe nach Eingabetaste
Am im Forum: GUI: Windows-Forms

Hi,

ich hänge mich an diesen älteren Thread mal dran, da ich vor dem selben Problem stehe. Ich prüfe im KeyPress meiner NumericUpDown-Controls auf die Enter-Taste und führe bei Enter eine Berechnungsmethode aus.

Zitat von Darth Maim
Und wenn du das KeyDown-Event nimmst und e.Handled auf true setzt?

Das (bzw. die Variante im KeyPress-Ereignis, die laut o.g. FAQ-Eintrag die korrekte Stelle wäre) habe ich ohne Erfolg probiert. Beim Durchsteppen wird "e.Handled = true" aufgerufen.

Hat jemand eine Idee?

Danke und viele Grüße,
Patrick