Laden...

Forenbeiträge von c#atriga Ingesamt 34 Beiträge

10.10.2020 - 09:10 Uhr

Ausgangssituation:

1 Window mit GUI.

Auf dieser gibt es einen Button mit "?", welcher folgende Informationen anzeigen soll: Version, Copyright und kurze Beschreibung was das Tool macht.

Lasse ich diese Informationen jetzt in einer MessageBox ausgeben, oder ist ein besserer Stil ein eigenes Window dafür zu verwenden?

10.10.2020 - 09:07 Uhr

OK, dann habe ich mein Problem anscheinend falsch beschrieben.

Habe zur Zeit, 1 MainWindow und ein weiteres Window was über das erste durch einen Button aufgerufen wird.

In der App.xml wollte ich in den Ressourcen festlegen, das alle Windows welches jemals in der App geöffnet werden, die gleiche Hintergrund Farbe haben werden.

09.10.2020 - 21:35 Uhr

In der Application Ressource wollte ich allen Windows die gleichen Styles mitgeben, doch schon beim Background scheitere ich.

<Application.Resources>
        <Style TargetType="Window">
            <Setter Property="Background" Value="GreenYellow"/>
        </Style>
    </Application.Resources>

Wo liegt mein Fehler? Der Code ist doch richtig?

Edit. Noch eine Frage.

Um Information (Version, Copyright, kurze Beschreibung was Tool macht) anzeigen zu lassen, ist es besser eine MessageBox zu nehmen, oder lieber ein neues Fenster erstellen?

29.09.2020 - 19:18 Uhr

Habe dazu mal eine kleine Frage, hoffe das ist erlaubt.

Bei Buttons verwendet man allerdings weiter ein Click Event, oder?

20.09.2020 - 20:31 Uhr

Kleine Verständnisfrage hätte ich da mal.

In einem Projekt habe ich eine Methode geschrieben, welche in einem String, nach jedem 3. Zeichen ein "#" einsetzt.

Jetzt ist meine Überlegung, ob ich diese Methode ein bisschen verallgemeinere, sodass ich so vlt. auch später mal für anderen Formatierung Zwecke nutzen kann.

Wäre dies sinnvoll? Und wenn ja, müsste ich darauf doch eine Klasse erstellen, oder?

PS: Gibt es schon eine Funktion in C# welche nach einer bestimmten Zeichenanzahl einen bestimmten Wert einfügt?

30.06.2020 - 13:39 Uhr

Welche Möglichkeiten habe ich um auszulesen welche Monitore am System angeschlosen sind, welcher der aktive ist und welche Bildschirmausrichtung diese haben (Hoch/Querformat)

Im Netz hab ich immer nur Beispiele für WinForms Anwendungen gefunden. Vielleicht habe ich ja auch nur die falschen Suchworte.

08.06.2020 - 19:08 Uhr

Gibt es die Möglichkeit über die Konsole folgende Einstellung auszulesen und zu ändern.

"Monitor Anzeige -> Anzeige und Skalierung ->Ausrichtung"

09.04.2020 - 21:28 Uhr

Habe folgende Textbox:

<TextBox  Name="anzahl"  Height="20"  Width="50" Margin="2" Text="10"/>

Mithilfe einer Methode überprüfe ich nun ob nur Zahlen in der Textbox sind. Sollte dies nicht der Fall sein, so kommt eine Messagebox und eigentlich sollte dann der Focus auf die Textbox fallen. Dafür übergebe ich den Namen der Textbox in der Methode mit.

Wo liegt jetzt mein Fehler, da mir Focus als Eigenschaft gar nicht angezeigt wird.

Methodenaufruf:

            CheckIsOnlyNumbers(anzahl.Text, anzahl.Name) ;


 private void CheckIsOnlyNumbers(string text , object name   )
        {
                     
            for (int i = 0; i < text.Length; i++)
            {
                if (!char.IsNumber(text, i))
                {
                    MessageBox.Show("Im Feld sind nur Zahlen erlaubt, bitte koorigieren");
                    
                    return;
                }
            }
        }
13.02.2020 - 14:54 Uhr

Hätte da mal eine Verständnisfrage:

Folgende Ausgangslage:

WPF Anwendung mit 3 Combo Boxen. Via Schaltfläche sollen zusätzliche ComboBoxen hinzugefügt werden. Jede Combo Box soll immer die 10 gleichen Items haben.

Ist es der beste Weg eine neue Klasse die von ComboBoxen erbt zu erstellen, welche gleich von Anfang die Items haben?

Hab ich das so richtig verstanden oder denke ich in die falsche Richtung?

12.02.2020 - 20:18 Uhr

Hin und wieder kommt es vor, dass ich manchmal nur eine kleine Frage habe. Diese besteht meist aus einem Satz und ist innerhalb weniger Sekunden eigentlich geklärt.
Irgendwie möchte ich nun nicht jedes mal einen neuen Thread aufmachen hier im Forum.
Gibt es da andere Möglichkeiten? So eine Art Chat zum Thema C#?

16.05.2019 - 17:54 Uhr

Ok jetzt hab ich es soweit verstanden. Gibt es zufällig ein gutes Buch welches ihr mir zum Thema empfehlen könntet. Auch über Tutorials zum Thema wäre ich dankbar.
Im Netz gibt es zwar viel zu lesen, doch zweifel ich manchmal an der Seriosität der Quellen.

Zu meinem Projekt:
Ich möchte für mein Hobby Tool schreiben, welche verschiedene Verschlüsselungen ver-und wieder entschlüsselt. Ab und an braucht man dies auch mal unterwegs.

Könnte ich schon anfangen die Klassen in C# zu schreiben, welche die Funktionen dann auf dem Server ausführen oder doch anders ran gehen?

Anfangs dachte ich an eine Desktop Anwendung und dann zusätzlich das ganze als App umzusetzen.
Der Gedanke mit dem Netz würde natürlich viel besser passen.

16.05.2019 - 11:48 Uhr

So langsam verstehe ich gar nichts mehr.

Folgendes verstehe ich zur Zeit bzw. denke ich das ich es verstehe:

Ich schreibe in C# (oder Java ) eine Anwendung welche auf einem Applikation Server im Netz läuft. Diese bekommt Anfragen von Clients welche er auswertet/berechnet und eine Antwort zurückliefert. (aber in welcher Form, schon als HTML oder nur via String,int...?)

Als Client habe ich (Desktop Anwendung oder APP) eine Oberfläche wo ich z.B. in ein Formular eintrage und an den Server sendet. Dieser werdet es aus und schickt die Antwort zurück welche ich mir anzeigen lassen kann?

Oder wie soll ich mir das vorstellen?

Nein, so funktioniert i.d.R. keine Serverseitige Anwendung.

Serverseitig:
Du schreibst eine Webanwendung, die auf einem Server läuft, und HTML ausliefert, die von einem Browser angefragt werden kann.

Wie soll ich mir das vorstellen? Stell mir das gerade so vor wie als würde das Programm auf meinem Desktop laufen, nur halt irgendwo auf einem Server.

Clientseitig:
Du schreibst eine JavaScript(*) Anwendung, die HTML-Code in Form von HTML-Komponenten erzeugt und vom Browser dargestellt werden kann.
Dynamische Informationen müssen zB. via REST von einer Serverseitigen Anwendung geliefert werden.

Könnte ich auch eine Desktop Anwendung schreiben, welche sich die Daten vom dem Server holt?
Damit könnte ich das "berechnen" den Server machen lassen und bräuchte ich nur einzelne Clients schreiben. Somit müsste ich die Algorithmen nur einmal entwerfen in einer Sprache und nicht für jedes einzelne neu.

15.05.2019 - 21:47 Uhr

Also lohnt es sich gar nicht mehr, sich mit WPF und nativer Client Anwendungen zu beschäfitgen? Irgendwie sehe ich da gerade keinen Sinn drin.

Bisher verstehe ich folgendes bei den Web Applikationen:

Ich schreibe eine ASP.NET Anwedung welche dann im Netz auf einem Server läuft?
Anschliesend kann ich ein Client schreiben (auch mit html,css und javascript) und dann via Browser aufrufen und benutzen als wenn es ein nativer Client wäre?

Könnte also auch einen Client mit Swift schreiben, welcher auf den Server zugreift und mit diesen kommunizieren kann. Und das ganze dann via IOS Gerät nutzen?

Was würdet ihr mir als Einsteiger empfehlen. Gar keine WPF Anwendungen mehr schreiben und gleich ins ASP.NET eintauchen?

15.05.2019 - 19:26 Uhr

Hat es dann überhaupt noch Sinn native Client Anwendungen unter Windows mithilfe von Wpf zu schreiben? Rede da nicht im Enterprise Sequemt sondern eher kleinere Unternehmen und private Programme.

Wenn man eine Web App schreibt, läuft diese dann doch im Browser vom Smartphone, oder?
Soll es sich wie eine native App verhalten, geht dies auch oder nur via Browser?

15.05.2019 - 17:48 Uhr

So langsam komme ich immer mehr in die Materie C# rein und bin dabei die letzten Tage über WebAssembly gestossen. Nachdem ich mich ein wenig eingelesen habe, hätte ich noch ein paar Frage dazu.

Bisher habe ich normale Client Anwendungen mitGUI (WPF) erstellt.
Könnte ich die Klassen (außer dem GUI) dann später umwandeln und dann nur noch via Html und CSS das GUI dazu basteln? Sicherlich muss ich ein paar kleine Veränderungen vornehmen, aber doch nicht alles oder?

Lohnt es sich derzeit noch normale Client Anwendungen zu schreiben (wohlgemerkt ich bin noch in der Anfangsphase) oder gleich auf die Webgeschichte stürzen?

23.01.2019 - 00:11 Uhr

Nabend,
habe eine Programm welches eine xml Datei einliest, doch bekomme ich jetzt den Fehler:

Fehlermeldung:
Informationen über das Aufrufen von JIT-Debuggen
anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.

************** Ausnahmetext **************
System.InvalidOperationException: Fehler im XML-Dokument (90208,23). ---> System.FormatException: Die Eingabezeichenfolge hat das falsche Format.

Kann mir jemand sagen worauf sich die Zahlen in den Klammern beziehen? Auf die xml Datei oder den Quelltext?

12.09.2018 - 07:58 Uhr

BinaryFormatter bei XML? 👶
Was soll das für ein Tutorial sein, in welchem Kontext?

Habe nur nach Serialisierung C# gegoogelt und da kam dies bei zwei Videos.

Ok, dann weis ich das ich weiter suchen muss

11.09.2018 - 17:33 Uhr

Habe mir das ganze ja mal in verschiedenen Tutorials angeschaut. Da taucht jedes mal "Binary Formatter" auf.
In deiner Anweisung kann ich davon jetzt aber gar nix erkennen. Oder bin ich im falschen Video?

11.09.2018 - 14:48 Uhr

Uff.... das ganze ist doch schwieriger als ich anfangs dachte, aber muss ich jetzt durch.
Werde mich mal durch google versuchen weiter zu bilden.

Empfehlungen mit direkten Links für Programieranfänger nehme ich trotzdem noch gern entgegen.

11.09.2018 - 13:46 Uhr

@LaTino

Ich weis auch nicht wie ich nun auf die einzelnen Elemente zugreifen kann.
Wie würde ich vorgehen wenn ich die xml aber importieren will, wenn das Programm Lauffähig ist?

Außerdem verstehe ich nicht was genau da gemacht wird, daher wäre es super wenn mir vlt. Lektüre dafür empfehlen kannst bzw. Stichworte wo ich selbst suchen kann.

PS: Ist das ganze mit meinem Anfänger Grundwissen überhaupt machbar bzw. welche Basics sollte ich schon beherrschen?

11.09.2018 - 12:07 Uhr

So sehen die xml Dateien aus, sind eigentlich gpx Dateien.

<gpx xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="1.0" creator="GSAK"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd http://www.groundspeak.com/cache/1/0/1 http://www.groundspeak.com/cache/1/0/1/cache.xsd"
xmlns="http://www.topografix.com/GPX/1/0">
 <desc>Geocache file generated by GSAK</desc>
 <author>GSAK</author>
 <email>support@gsak.net</email>
 <time>2018-09-11T10:08:56Z</time>
 <keywords>cache, geocache, groundspeak</keywords>
 <bounds minlat="51.592861" minlon="9.36191" maxlat="51.592861" maxlon="9.36191"/>
 <wpt lat="51.592861" lon="9.36191">
  <time>2017-12-28T08:00:00Z</time>
  <name>GC7GE5J</name>
  <desc>Ranzenplatz by ManrodeCacher (1,5/2) Ranzenplatzc</desc>
  <url>http://www.geocaching.com/seek/cache_details.aspx?guid=643f622e-1811-4501-b37c-53deed88e1c1</url>
  <urlname>Ranzenplatz by ManrodeCacher</urlname>
  <sym>Geocache</sym>
  <type>Geocache|Traditional Cache</type>
  <groundspeak:cache id="6543810" available="True" archived="False" xmlns:groundspeak="http://www.groundspeak.com/cache/1/0/1">
   <groundspeak:name>Ranzenplatz</groundspeak:name>
   <groundspeak:placed_by>ManrodeCacher</groundspeak:placed_by>
   <groundspeak:owner id="21439226">ManrodeCacher</groundspeak:owner>
   <groundspeak:type>Traditional Cache</groundspeak:type>
   <groundspeak:container>Micro</groundspeak:container>
   <groundspeak:attributes>
     <groundspeak:attribute id="1" inc="1">Dogs</groundspeak:attribute>
     <groundspeak:attribute id="7" inc="1">Takes less than an hour</groundspeak:attribute>
     <groundspeak:attribute id="8" inc="1">Scenic view</groundspeak:attribute>
     <groundspeak:attribute id="13" inc="1">Available at all times</groundspeak:attribute>
     <groundspeak:attribute id="15" inc="1">Available during winter</groundspeak:attribute>
     <groundspeak:attribute id="32" inc="1">Bicycles</groundspeak:attribute>
     <groundspeak:attribute id="37" inc="1">Horses</groundspeak:attribute>
   </groundspeak:attributes>
   <groundspeak:difficulty>1.5</groundspeak:difficulty>
   <groundspeak:terrain>2</groundspeak:terrain>
   <groundspeak:country>Germany</groundspeak:country>
   <groundspeak:state>Nordrhein-Westfalen</groundspeak:state>
   <groundspeak:short_description html="True"> </groundspeak:short_description>
   <groundspeak:long_description html="True">&lt;p&gt;Dieser Cache führt zum Ranzenplatz bei Manrode. Von hier aus hat man einen guten Ausblick bis zum Reinhardswald. &lt;/p&gt;

&lt;p&gt;Bitte einen Stift mitbringen!&lt;/p&gt;

&lt;p&gt;Viel Spaß beim Suchen&lt;img alt="smiley" src="https://www.geocaching.com/static/js/CKEditor/4.4.0/plugins/smiley/images/regular_smile.png" style="height:23px; width:23px" title="smiley" /&gt;?!&lt;/p&gt;</groundspeak:long_description>
    <groundspeak:encoded_hints>Ich liege an der Bank in einem PETling.</groundspeak:encoded_hints>
   <groundspeak:logs>
  </groundspeak:logs>
   <groundspeak:travelbugs>
   </groundspeak:travelbugs>
</groundspeak:cache>
</wpt>
</gpx>

10.09.2018 - 23:03 Uhr

Ich habe eine xml Datei, welche ich gern einlesen würde.
Einzelne Werte kann ich via folgendem Code schon einlesen:

XmlReader reader = XmlReader.Create(@"C:\Users\User\Desktop\textdaten.xml");

while (reader.Read())
{
	if (reader.NodeType == XmlNodeType.Element && reader.Name == "beschreibung")
	{
		string tmp = reader.ReadElementContentAsString();
		Console.WriteLine(tmp);
	}
}

Console.ReadKey();

Folgende Fragen hätte ich jetzt:

  1. Es sind über 40 Elemente vorhanden. Müsste ich für jedes Element den obigen (abgewandelten) Code nutzen, oder geht es einfacher? Ich möchte mit den einzelnen Elementen am Ende arbeiten können.
  2. Ist XML Reader überhaupt der richtige Einstiegspunkt? LINQ gibt es ja auch noch, oder?

Dies gehört vielleicht nicht in dieses Forum, aber vlt. kann doch wer helfen.
3. Kennt jemand ein gutes Tutorial welches das ganze XML einlesen und schreiben richtig gut erklärt. Gern auch eine Buchempfehlung

02.09.2018 - 23:11 Uhr

Danke für die Antwort.

Gibt es noch einen eleganteren Weg zwei txt Dateien einzulesen als zwei Instanzen von Streamreader zu nutzen?

02.09.2018 - 23:09 Uhr

So richtig verstanden habe ich es jetzt zwar noch nicht, warum immer nur soviele Zeilen abgefragt wurden wie SuchStrings vorhanden sind, allerdings war dies die Lösung.

Das ganze mit dem using werde ich mir bei Gelegenheit mal anschauen, das haben wir im Kurs (noch) nicht durchgenommen.

02.09.2018 - 22:08 Uhr

Habe gleich noch ein weiteres Problem, wo ich gern wüsste wo hier mein Denkfehler ist.

Eine Datei wird Zeilenweise eingelesen (ursprung.txt) .
Dann wird via Streamreader solang gelesen bis sie zu ende ist und via einer if Abfrage soll geprüft werden ob die Zeile vorhanden ist.
Mit dem ersten Wert geht es auch, doch der zweite wird gar nicht erst überprüft.

List<string> ausgabe = new List<string>();

			string datei = @"C:\Users\User\Desktop\Programme\ursprung.txt";
			StreamReader streamreader = new StreamReader(datei);
			string[] suche = new string[] { "wert1", "wert2" };

			while (!streamreader.EndOfStream)
			{
				foreach (string item in suche)
				{
					if (streamreader.ReadLine() == item)
					{
						ausgabe.Add(item);
					}
				}
			}

			

			foreach (string item in ausgabe)
			{
				Console.WriteLine(item.ToString());
			}


			streamreader.Close();

			Console.ReadKey();
		}
02.09.2018 - 21:08 Uhr

Versuche via Streamreader mehrere Dateien gleichzeitig einzulesen aber er liest nur die erste Datei ein.

Kann ich für die zweite nicht die gleiche Instanz nutzen? Muss ich eine neue erstellen?

Besten Dank

string datei = @"C:\Users\User\Desktop\Programme\anfang.txt";
			StreamReader streamreader = new StreamReader(datei);

			while (!streamreader.EndOfStream)
			{
				Console.WriteLine(streamreader.ReadLine());
			}
			datei = @"C:\Users\User\Desktop\Programme\ende.txt";

			while (!streamreader.EndOfStream)
			{
				
				Console.WriteLine(streamreader.ReadLine());
			}
			streamreader.Close();

			Console.ReadKey();
03.06.2018 - 19:55 Uhr

Ich möchte im Hauptcode Checkboxen anzeigen lassen. Wenn 4 Mitarbeiter sind, sollen es 4 werden, bei 5, 5 Checkboxen usw.

Nun habe ich eben die Mitarbeiter angelegt im Hauptcode via neue Instanz und den passenden Parametern und wollte nun zeitlich zählen lassen wieviel Checkboxen nun angezeigt werden sollen.

Hoffe das es verständlich war, was ich wollte.

02.06.2018 - 23:56 Uhr

Klassen nutzt man doch hauptsächlich wenn man den Quelltext übersichtlich gestalten will.
Daher habe ich folgende Klasse erstellt.

class Mitarbeiter
	{

		// globale Variablen
		string vorname;
		string nachnahme;
		int alter;
		string schule;

		public Mitarbeiter(string vorname, string nachnahme , int alter, string schule) {
			this.vorname = vorname;
			this.nachnahme = nachnahme;
			this.alter = alter;
			this.schule = schule;
		}

		public void anzahlMitarbeiter() {

		}
	}

In Form1 rufe ich 8 Instanzen wie folgendermaßen auf.


Mitarbeiter name = new Mitarbeiter("Name", "Vorname", 1,"schule");
Mitarbeiter name2 = new Mitarbeiter("Name", "Vorname", 1,"schule");
Mitarbeiter name3 = new Mitarbeiter("Name", "Vorname", 1,"schule");
Mitarbeiter name4 = new Mitarbeiter("Name", "Vorname", 1,"schule");

In "public void anzahlMitarbeiter() " wollte ich jetzt eine Methode schreiben die mir die Instanzen zählt welche ich aufgerufen habe.
Kann mir da jemand helfen wie ich da verfahren soll?

31.05.2018 - 18:30 Uhr

Bin gerade dabei ein kleines Programm zu entwickeln und derzeit auch sehr glücklich damit.
Nun würde ich dies gern auch der rbeiten öffentlichkeit zur Verfügung stellen, allerdings sind noch ein Fragen offen.

  1. Nach neuer DSGVO müsste ich ausser Impressum und Datenschutzvereinbarung noch etwas beachten?
  2. Wordpress reicht doch zum erstellen vorerst aus?
  3. Was sollte ich noch beachten? Gibt es irgendwo noch weitere Informationen?

Besten Dank

27.05.2018 - 20:19 Uhr

Genau genommen wird ein Control ja immer zur Laufzeit erzeugt. Nur schreibt in einem Fall der Designer den Code für dich und im anderen Fall schreibst du ihn selbst. Es gibt also keinen gravierenden Unterschied.

Wenn man es so betrachtet klingt dies natürlich besser, werde ich es also weiterhin so machen.
Hatte nur den Spruch unserer Lehrers im Hinterkopf welcher meinte: "Profis erstellen die Controls selbst ohne den Baukasten."

26.05.2018 - 21:20 Uhr

Ich stehe gerade noch am Anfang von C# und habe schon einiges gelernt.
Controls habe ich bisher mit der Toolbox einfach ins Form geschoben und plaziert. Ich weis allerdings auch wie man dies zur Laufzeit erstellt.

Was würdet ihr raten, wie ich weiter vorgehe? Nutze ich weiterhin die Toolbox oder mache ich es gleich zur Laufzeit?

26.05.2018 - 21:10 Uhr

Habe jetzt für das ganze eine "Liste" benutzt wo es viel besser geht.

22.05.2018 - 19:02 Uhr

Meine TXT ist mit folgenden Text aufgebaut:

Ort1, Code1, Beschreibung1, Datum1
Ort2, Code2, Beschreibung2, Datum2 usw..

Ich möchte also nun nur die Orte ausgeben lassen und diese sollen gleich sortiert sein.
Daher wollte ich das gesamte Array 'bar' sortieren und dann nur 'bar[0]' (also die Orte) in die Listbox schreiben.

21.05.2018 - 22:48 Uhr

Via Streamreader lese ich die Zeilen einzeln ein aus einer csv Datei welche die Daten via "," trennt.
Das ganze übergabe ich in ein Array (bar)
Ich möchte gern nun gern den ersten Index(also 0) sortiert haben und ausgeben lassen.
Aber irgendwie habe ich einen Denkfehler und komme nicht weiter.

private void button1_Click(object sender, EventArgs e)
        {
            StreamReader streamreader = new StreamReader("geo.txt");
            
            
            while (!streamreader.EndOfStream)
            {
                string foo = streamreader.ReadLine();
                string[] bar = foo.Split(',');
                Array.Sort(bar);
                           
                lstGeochecker.Items.Add(bar[0]);
            }
            

            streamreader.Close();
        }