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 Automatinator
Thema: Liste List<T> bestehende Elemente editieren
Am im Forum: Grundlagen von C#

Hallo zusammen

Ich weiss wie man Listen editiert, welche das Objekt/Element davon nur ein Feld hat.

Aber wie kann ich in einer Liste bei bestehenden Elementen, gewisse Felder editieren?


Ich habe ein Liste mit Aufbau wie folgt:

- 5 Felder

Toyota, Siemens, Weidmüller, 10, 20


Wie finde ich den index heraus, wenn nur die ersten drei Felder (hier Toyota, Siemens, Weidmüller) relevant sind und mir die Zahlen (hier 10, 20) unbekannt sind und ich diese editieren möchte?

Das geht ja mit IndexOf() Methode nicht, oder?

Mit FindIndex() Methode? Aber wie? habe im internet recherchiert aber ohne erfolg, bzw. ich habe diese Artikel nicht verstanden.


Vielen Dank schon im Vorraus!

Thema: String-Aufbau: KeyWord=Value1, Value2, Value3 - Umformatieren
Am im Forum: Grundlagen von C#

Ich weiss, das ich nicht immer die eleganteste Lösung programmiere, aber ich hab nur begrenzt zeit und es muss funktionieren.

KeyWords komm niemals in den Values auch als substring nicht vor

Entweder versteh ich das Dictonary nicht oder es kann zu wenig für meine Anwendung. X(

Thema: String-Aufbau: KeyWord=Value1, Value2, Value3 - Umformatieren
Am im Forum: Grundlagen von C#

Vielen Dank
herbivore
Palladin007
Abt

Ich habe eure Tips ausprobiert hier meine funktionierende Lösung:


        public string[] SearchTrimSplitString(string sInputString, string sKeyWord)
        {
            string[] asRetValColumnData;

            //search match for KeyWord
            if (sInputString.StartsWith(sKeyWord))
            {
                //Remove blank space via Trim
                string sTrimmedInputString = sInputString.Trim();

                // Remove Keyword
                string sShortedInputString = sTrimmedInputString.Replace(sKeyWord, null);

                //Split
                asRetValColumnData = sShortedInputString.Split(',');

            }
            else
            {
                asRetValColumnData = null;
            }

            return asRetValColumnData;
        }


Das ',' bewusst alles fixes Split-Symbol

Thema: String-Aufbau: KeyWord=Value1, Value2, Value3 - Umformatieren
Am im Forum: Grundlagen von C#

Hallo zusammen

Ausgangslage
Ich habe folgender String-Aufbau:

KeyWord=Value1, Value2, Value3, ...

Beispiele:
Auto=Toyota, 4, 2
LKW=2
Velo=1, 2, 0, 1, 2


Meine Fragen:
1) Das ist doch eine spezielle bekannte Anordnung der Daten, weiss jemand wie das Konzept heisst?

2) Weil es ein bekannter (normierter?) Aufbau ist, gibt es da schon eine Klasse die mit diesen Daten hantiert?


Mein Ziel:
Ich würde gerne auf eine elegante Art die Werte (Value1,2 usw.) in einen Array of String eintragen. Wobei die Anzahl Werte beliebig (<100) sein können.
Velo=1, 2, 0, 1, 2

wird zu

myStringArray[0]=1
myStringArray[1]=2
myStringArray[2]=0
myStringArray[3]=1
myStringArray[4]=2

(ohne Symbole und Leerzeichen)

Vielen Dank für die Tips und Infos, ich erwarte hier logischerweise keine fertigen Lösungen.
Nur wie dieser Textdaten-Aufbau in Fachkreisen genannt wird (damit ich danach googlen kann)
Und ob es schon eine Klasse oder Bibliothek gibt, die diese elegant Behandelt.

Gruss
Marc

Thema: Wie kann ich Text in einer TextBox anzeigen?
Am im Forum: GUI: Windows-Forms

Zitat von Th69
Ich hatte dir doch schon in Wie kann ich über einen Button eine Methode starten? passende Links gegeben.

Darin sind aber die Beispiele von Form zu Form, ich will ja von Logik zu Form. Oder welches der Kapitel darin wäre die Analogie?

Thema: Wie kann ich Text in einer TextBox anzeigen?
Am im Forum: GUI: Windows-Forms

Achso, ja danke. Ich schau mir das an!

Thema: Wie kann ich Text in einer TextBox anzeigen?
Am im Forum: GUI: Windows-Forms

Ich will Strings aus der Logik in der Form anzeigen.

Strings= Fehlermeldetexte durch exeptions oder andere ungültige Vorgänge die in der Logik produziert werden.


Oder was ist noch unklar?

Thema: Wie kann ich Text in einer TextBox anzeigen?
Am im Forum: GUI: Windows-Forms

Zitat von Abt
Was hast Du genau vor, was ist das Ziel?

Ziel wäre, dass wenn aus der Logik, etwas passiert, was nicht passieren sollte (z.B. exeption, oder default case, oder leere variablen usw.) Sollte dies in der Form als Text angezeigt werden. Den String selber verfasst, oder z.B. von der Exeption.message.

Diese wollte ich nun mit einer read only Textbox realisieren....
Zitat von Abt
Ansonsten hast Du einen Design Fehler: Du greifst offenbar von der Logik auf die UI zu.
Das ist genau falsch rum.

Sowas kann auch Folgefehler verursachen; eventuell hast Du mehrere Instanzen durch das Fehldesign?

Aber wie kann ich das umkehren? Die "Tigger" kommen ja aus der Logik.
Zitat von Abt
Exception Handling in C# hat nen klaren Guide, der deutlich von Deinem Code abweicht :-)

In wie fern weicht, es ab? Ich habe das try{} einfach hier im Beitrag leer gelassen weil es nicht relevant ist. Oder was meinst Du?

Thema: Wie kann ich Text in einer TextBox anzeigen?
Am im Forum: GUI: Windows-Forms

Hallo zusammen

Ich habe eine Win Form mit einer Textbox, aber es wird kein Text angezeigt wenn ich textBoxErrors.Text = "StringText"; aufrufe

Der Code ist wie folgt aufgebaut:

Im Program:


public class Klasse
{ ...
   public void methode()
   { ....
      GUIForm guiForm = new GUIForm();

      try{}

      catch (Exception e)
        {
                    // Let the user know what went wrong.
                    guiForm.ShowError("The file could not be read:" + e.Message);

         }
   }
}

In der Form:


public partial class GUIForm : Form
{
    public void ShowError(string message)
        {
            textBoxErrors.Text = message;
        }
}

Wenn ich beim Debuggen ein breakpoint bei textBoxErrors.Text = message; setze, sehe ich das .Text den String: "The file could not be read: ...." enthält.
Aber in der Form steht nichts, auch zur laufzeit nicht.

Was mach ich falsch?


Vielen Dank im Vorraus und Gruss

Thema: Wie kann ich über einen Button eine Methode starten?
Am im Forum: Grundlagen von C#

Hey Danke vielmals th29!

Thema: Wie kann ich über einen Button eine Methode starten?
Am im Forum: Grundlagen von C#

Hallo CSharp-Profis!

Ich will das einfachste, und doch hab ich meine Mühe damit. Aber ich komm nicht weiter.

Ausgangslage:
In meinem Visual Studio C# Projekt habe ich eine Windows Form als partial class InputForm
(generiert durch " Windows Form " Hinzufügen) und ein Programm-Teil (siehe Bild im Dateianhang) (auch generiert durch Neues Projekt erstellen).

Ich habe einen Button der Form hinzugefügt.

Ziel, wo ich aber nicht weiter komme:
Mit dem Button der in der InputForm sitzt will ich im Programm-Teil einen Ablauf starten.

Aber ich hab immer Zugriffsprobleme.

Wie kann ich das bewerkstelligen? soll ich in InputForm eine Methode aus dem Programm-Teil aufrufen? wenn ja, wie?

public void btnStart(object sender, EventArgs e)
        {
            ...
        }


Oder muss ich aus dem Programm-Teil den Buttonstatus abfragen?
Wenn ja, wie? Muss ich eine Klasse der InputForm vererben?


Vielen Dank im Vorraus!
Der C#-Anfänger

Thema: Zahlen aufsummieren nach Keyword
Am im Forum: Grundlagen von C#

Zitat von trib
Sofern ich Dein gewünschtes Ergebnis korrekt verstehe, hast Du zwei Aufgaben.
  1. Gruppieren der Daten
  2. Implementierung einer Suche


Wenn Du nun den Text in ein Dictionary einliest, darfst Du nur einen Eintrag pro Tier/Keyword haben.
Gibt es diesen noch nicht, legst Du ihn an. Existiert das Keyword bereits, addierst Du die Werte auf.

Dann kannst Du das Dictionary darstellen. Ob direkt an ein DGV gebunden oder mit dem Umweg der DataTable.
Letzteres ermöglicht Dir eine recht einfache Filterung im DataGridView. Ohne zu wissen was dann damit passiert, kann ich keine Empfehlung dazu aussprechen.
Es gibt etliche Möglichkeiten für die Suche/Filterung.

Ich habe eine Textdatei wie folgt:
Beispiel:

Animal=Hund, 1, 2, 3
Animal=Katze, , 1, 2
Animal=Hund, , 3, 4
BlaBla
Human=Tim, , , 1
Human=Tim, 1, 2, 3
Human=Peter, 4, 5, 5
Bla bla
bla bla

Legende:
'Blabla'

Text, welcher ignoriert wird
'Animal='

Dem Programm bekanntes Keyword für Gruppentyp und relevante Daten in dieser Zeile
'Hund'

Dem Programm vorerst unbekanntes Gruppenwort, welche die auf Werte in der gleiche Zeile aufsummieren (wie im ersten Startbeitrag erklärt und beispielhaft gezeigt)

Aufgabe des Tools/Codes:
Aus dieser Textdatei muss ich die Werte spalten-seperat aufsummieren nach "Gruppenwort" (Hund,Katze,Tim,Peter), welche noch unbekannt sind, aber gefunden werden durch die bekannten vordefinierten "Keywords".

Anzeige:
Diese Tabelarisch Gruppenweise zusammen gefasst (aufsummierte Werte) (z.b. in DataGridView oder als Import für Excel)


Frage:
Geht das mit dem Dictionary auch, mit mehreren werten pro Keyword?

Thema: Zahlen aufsummieren nach Keyword
Am im Forum: Grundlagen von C#

Zitat von Jamikus

Die Text-Datei zeilenweise lesen, sollte für sich kein Beinbruch sein, weil es dazu etliche Tutorials existieren.

Summieren innerhalb der Eigenschaft wäre sehr unpraktisch bzw. dann wäre die Eigenschaft nicht mehr ordentlich setzbar. Also man könnte z.B. den Wert der Eigenschaft nicht ohne unnötig aufblähen resetten/verringern.
Nebenbei wüßte einzig der Entwickler alleine, wie sich die Eigenschaft verhält, wenn nicht direkt im Namen der Eigenschaft bzw. im Kommentar ersichtlich ist, dass sie sich selbst summiert. Also auch fehleranfällig in der Verwendung.
Aber wenn man will, wäre es möglich. Nur empfehlen würde ich es allemal nicht

Datei einlesen nicht, aber das aufsummieren der Daten.

Ergibt es sinn, wenn ich eine selbst generierte Text-Datei, als Datenbank verwende?
Was ist mit dieser DataTable Klasse? würde das mit dieser Funktionieren?

Thema: Zahlen aufsummieren nach Keyword
Am im Forum: Grundlagen von C#

Zitat von T-Virus
Klingt im einfachsten Fall nach einem Ansatz für ein Dictionary.
... ...
Wenn du nur die summierten Werte braucht, kannst du anstelle einer Liste auch einen Eintrag mit den entsprechenden Eigenschaften als Value im Dictionary anlegen.
Dann musst du nur beim durchlaufen der Zeilen, die entsprechenden Eigenschaften summieren.
Somit kannst du dann direkt die Daten im GridView aus den Values binden.

Danke für die rasche Antwort!

Was meinst Du mit Dictionary? new List<>?

Es ist nicht ganz so einfach
Eigentlich ist wie folgt aufgebaut:

Suchwort=Gruppenwort-Indikator, Wert1, Wert2, Wert3

Beispiel:
Animal=Hund, 1, 2, 3
Animal=Katze, , 1, 2
Animal=Hund, , 3, 4
BlaBla
Human=Tim, , , 1
Human=Tim, 1, 2, 3
Human=Peter, 4, 5, 5
Bla bla
bla bla

Legende:
'Blabla'
Text, welcher ignoriert wird
'Animal='
Dem Programm bekanntes Keyword für Gruppentyp und relevante Daten in dieser Zeile
'Hund' 
Dem Programm vorerst unbekanntes Gruppenwort, welche die auf Werte in der gleiche Zeile aufsummieren (wie im ersten Startbeitrag erklärt und beispielhaft gezeigt)

Thema: Zahlen aufsummieren nach Keyword
Am im Forum: Grundlagen von C#

Hallo myCsharp.de Forum


Ich hab eine spalten-orientierte text-Datei (*.SDC) (spalten=komma-textsymbol)

Ich möchte nun aus dieser Datei nach Key-wörtern in der ersten spalte suchen und immer die Werte des gleichen Keywords auf der gleichen Zeile spalten-seperat aufsummieren.

Beispiel:
Textdatei:
Hund, 1, 2, 3
Katze, 1, 2, 3
Hund, 2, 3, 4

Programmcode-Resultat:
In Tabellenform in DataGridView
Hund | 3 | 5 | 7
Katze | 1 | 2 | 3

Randbedingungen:
Es kann sich hier um ca.:
- 200 Schlüsselwörter
- 4 Spalten
- 1000 Zeilen
handeln

Meine Frage nun:
Kann ich das auch ohne Datenbank lösen? (Ein kollege der ein wenig C# kennt hat gemeint ja)
Wenn ja, wie?
Es gibt ja die Anweisung "new List<Klasse>". Wäre diese der richtige Ansatz?
und über get und set summiere ich die Werte aus der "klasse" auf?

Gibt es noch was besseres als Liste dafür? Oder doch zwingend eine Datenbank?
Vor und nachteile?


Viele Dank schonmal im Vorraus!
Gruss
Automatinator

Thema: SDC-Datei nach Text durchsuchen und als eine Tabelle darstellen
Am im Forum: Office-Technologien

Hallo

Es ist eine SDC-Datei (OpenOffice Spreadsheet), und sie lässt sich leserlich einfach mit dem Text-Editor, das Kostenlose, immer Vorhandene, einfache Standard-Programm von Windows (hier Win7) öffnen. Ist das ein Zeichen dafür das ich kein Konvertierer benötigen würde? Oder hat das keinen Zusammenhang?

Thema: SDC-Datei nach Text durchsuchen und als eine Tabelle darstellen
Am im Forum: Office-Technologien

Zitat von Abt
Die Idee eines Forums ist ja, dass Du ein konkretes Problem hast, bei dem Du nicht weiter kommst.
Googlen kannst ja selbst :-)

SDC-Dateien durchsuchen geht das auch?

Da finde ich nichts im Netzt dazu.

Danke und Gruss

Thema: SDC-Datei nach Text durchsuchen und als eine Tabelle darstellen
Am im Forum: Office-Technologien

Hallo Welt

Ich kenne Java und C++ vom Studium, aber habe noch nie C# Programmiert oder mit Visual Studio gearbeitet.


Kann ich folgendes im Visual Studio mit C# machen?

Prinzipell/Grob Beschrieben:
Ich will aus vielen OpenOffice *.SDC-Dateien mit viel Textinhalt (z.B. 100'000 Zeichen) gewisse Daten extrahieren und in Tabellenform anzeigen (gewisse Werte aufsummieren und/oder Gruppieren)

Delailiert Beschrieben:
SDC-Dateien such nach variablem Pfad.
Der Pfad ergibt sich durch die Namen der Ordner und deren Unterordnern.
Welche Ordner (mit der SDC-Datei) gefragt sich ergibt sich aus dem Input des Anwenders.

Der Input wäre ein Zeitintervall als Form von Start und End Datum.
Die Ordnernamen und Gliederung derer sind: Jahr, Monat,Tag: Beispiel: D:\2019\12\24\DatenXY.sdc

Jeder Tag hat einen Ordner, jeder Monat, jedes Jahr.

Es sollen alle OpenOffice SDC-Datei geöffnet und durchsucht werden welche einen bestimmten Namen haben z.B. DatenXY.sdc und sich in Ordnern befinden im Zeitintervall.

All diese und nach Key-Strings durchsuchen, und an der Stelle nach einem Bestimmten Symbol (nach einem Komma z.B.) oder beim erscheiner der nächsten Zahl (Ziffernfolge) die Zahl in eine Tabelle schreiben, ggf. Aufsummieren, z.B. Excel? oder eine Tabelle erzeugen? (was ist einfacher, schneller programmiert?)


Ich habe im Internet/FAQ usw. nach SDC-Dateien durchsuchen gesucht, aber nichts gefunden.

Welche Au
Welche Bibliotheken benötige ich darfür? welche Methoden?
Gibt es schon Code-Schnipsel dafür?


Vielen Dank Leute für die Hilfe!