Wie Daten weiter verarbeiten und Druckausgabe

  • VB.NET

SSL ist deaktiviert! Aktivieren Sie SSL für diese Sitzung, um eine sichere Verbindung herzustellen.

Es gibt 44 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Neu

    Ich glaube, hier happert es von nicht eindeutigem Datenmodel - was soll dieses App alles leisten können?
    Wenn das einmal klar definiert ist, danach ein Datenmodel erstellen, dass alle Bedürfnisse erfüllt. Und dann m.M.n. ein typ. DS erstellen und die gratis dazu mitgelieferten Methoden verwenden...

    Neu

    Es tut mir leid, wenn ich nicht immer direkt auf das eingehe, was ihr wollt. Ist halt ein Verständigungsproblem, weil ich oft nicht ganz nachvollziehen kann was ihr manchmal wollt, da noch Anfänger.

    @VaporiZed ich habe das Beispiel von RodFromGermany aus Post 21 genommen

    VB.NET-Quellcode

    1. Me.MyTable.WriteXml("..\..\data.xml")


    @VB1963 was die App leisten soll habe ich in den ersten Posts erklärt. Das Programm macht ja das was es tun soll. Es geht nur darum, das ich die Datatable richtig anwende.

    @RodFromGermany genau so wie du es angegeben hattest, habe ich es am Anfang versucht. Ich hatte halt Probleme damit, da die einzelnen Profile ja unterschiedlich Oft vorkommen. Das Programm hat mir immer meine Daten überschrieben.

    Beispiel:
    2x 500
    2x 400
    2x 300
    2x 200
    2x 100
    (wären 5 Spalten)

    Hatte dann am Ende nur die 2x 100 stehen, weil es immer überschrieben wurde.

    Müsste ich dann einfach nur genug columns anlegen um dies hin zu bekommen?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Waxweazle“ ()

    Neu

    Waxweazle schrieb:

    Müsste ich dann einfach nur genug columns anlegen um dies hin zu bekommen?
    Jou.
    Mögliche Namen dafür hab ich Dir doch in Post #40 genannt.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!

    Neu

    ich sehe das Datenmodell ganz anders als Rod.
    Die käuflichen Profile muss man abspeichern, also 2 * 6000, 5 * 6000, 2 * 3000 etc.
    Derlei Datensätze hätten nur 2 Spalten für die aufzunehmenden Masse.

    Und im Proggi gibt man dann ein, was für Stücke man braucht, und dann kommt ein tierisch komplizierter Algorithmus, der eine günstige Lösung vorschlägt.

    Das gegebene Optimierungs-Problem ist ein Derivat des RucksackProblems (kannste auf Wiki nachlesen), und schon bei recht wenigen Eingaben gibt es so viele Möglichkeiten durchzuprobieren, dass man die perfekte Lösung nicht in verträglichen Laufzeiten finden kann.

    Aber nochmal Wiki durchlesen - vlt. sind die Eingaben auch so wenig, dass man doch alles durchnudeln kann.

    Wie dem auch sei - bei mir gäbs erstmal nur eine Tabelle Halbzeug mit den Spalten Laenge, Breite, Hoehe zum Abspeichern.
    Ach nee - man braucht ja noch die Tabelle Stueck, um anzugeben, was man braucht - fast die gleichen Spalten, nur eine mehr: Laenge, Breite, Hoehe, Anzahl
    Und dann noch eine Tabelle Ausgabe.
    Oder man macht in Halbzeug noch eine Anzahl-Spalte dazu - dann kann man die Tabelle auch als Ausgabe nutzen.

    Also am Ende man hat die verfügbaren Halbzeuge, und man gibt die gewünschte Stückliste ein.
    Dann rechnen lassen, und er schreibt die Anzahlen, die man braucht direkt in die Halbzeug-Tabelle rein.

    Zum Drucken der Ausgabe setzt man einfach einen Filter auf Anzahl>0 und er druckt genau die halbzeuge, die man braucht.

    Von dem ganzen Gesummse abzuspeichern ist nur die Halbzeug-Tabelle, aber trotzdem braucht man auch eine Stueck-Tabelle zur Eingabe - nur muss die nicht unbedingt gespeichert werden.

    Als Datenbänker würde man die natürlich doch speichern, und man würde auch noch eine Tabelle Auftrag hinzufügen, mit Datum, und verknüpft wären die für diesen Auftrag erforderlichen Stücke.
    Dann wäre das aber eine m:n-Relation, und mit Serialisierung kann man das nicht mehr abspeichern.