Suchergebnisse

Suchergebnisse 1-30 von insgesamt 35.

  • Benutzer-Avatarbild

    Name: Tea Timer Professioal Beschreibung: Ein Teatimer mit erweitertem Funktionsumfang: zwei Timer: 1. Abkühlzeit des Wassers, 2. Ziehzeit des Tees Speicher- und editierfunktion in einer kleinen Dataset only Datenbank für Teeame, Wassertemperatur, und Ziehzeit Einstellungenform, für verschiedene Einstellungen Verwendete Programmiersprache(n) und IDE(s): VB.Net Visual Studio 2017 Hallo ihr lieben Ich präsentiere euch hier mein zweites Vb.Net Programm, und bitte euch den Code zu bewerten. Bitte ni…

  • Benutzer-Avatarbild

    Hallo ihr lieben Zunächste mal vielen Dank fürs ansehen meines Projektes Eins vorweg - als VBAler verwirrt mich dieser ganze Projektmappeexplorer immeroch, also bitte seid da etwas nachsichtig mit mir Ich habe das Projekt unter meinem Eingangspost erneut hochgeladen. Helpersprojekt und mein Tea Timer Projekt befinden sich jetzt im gleichen Hauptordner, jeweils in eigenen Unterordnern (beide sind in der zip enthalten) - ich hoffe so macht man das so Die entpackte zip (aus dem Anhang oben) läuft b…

  • Benutzer-Avatarbild

    Hallo ihr beiden! Sorry! das sollte nicht 70.000 Zeilen Code sondern 10.000 heißen! Allerdings ist dies ein geschätzter Wert. Der Funktionsumfang ist dabei wirklich gigantisch. Deine Vermutung einen spaghettihaften, von Fehlern durchzogenge Code vorzufinden kann ich direkt verneinen. Das stimmt (nachdem ich das Programm 2 mal komplett redesigned habe) nicht mehr. Natülich würde ich, wenn ich heute das gleiche Programm noch einmal schreiben würde, manches anders machen. Allerdings hatte ich ohneh…

  • Benutzer-Avatarbild

    Ja nagut. Dann findet ihr vielleicht doch spaghetticode Allerdings möchte ich den Code ja eh nicht "kopieren" sondern ein "neues" Programm schreiben, mit gleichem, bzw. dann erweitertem Umfang. Aber gut, es sieht aus, als käme so oder so das Redesign Nummer 3 meines Projektes... Wahrscheinlich ist es dann sogar sinnvoller, nur den Funktionsumfang des Programmes zu beschreiben, das sollte es den Helfern leichter machen, weil das inspizieren meines Codes (einigen wir uns auf "Code der ganz in Ordn…

  • Benutzer-Avatarbild

    So lieber @VaporiZed Nun habe ich endlich mal Zei, deine Kritik umzusetzen, bzw. mich damit zu befassen. An dieser Stelle nochmal vielen Dank dafür! Aufgrund deiner Formulierung habe ich mal unten angefangen, das scheint einer der schlimmsten Dinge zu sein. Zitat: „Public Variablen = code smell “ Also 1.: (Versteckter Text) 2. Zitat: „MessageBox.Show("der letzte Eintrag kann nicht gelöscht werden")Warum nicht?“ (Versteckter Text) 4. Zitat: „If Minuten < 10 Then lblZiehzeitMinuten.Text = "0" & Mi…

  • Benutzer-Avatarbild

    Ah. Das was in den Einstellungen als Startform gewählt werden kann, bezieht sich auf die Namen der Klassen inerhalb der vb Dateien, und nicht auf den Dateinamen der vb Datei. Dsa entwrrt mich ein wenig. Also macht es ja Sinn Klassennamen und Dateinamen gleich zu halten. Zur fehlenden Form3: Folgender Fehler entsteht: Zitat: „Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand Fehler Für "My Project\Form3.resx" kann kein Manifestressourcenname erstellt werden. Die Datei "C:\Us…

  • Benutzer-Avatarbild

    Ok, super, das werde ich heute Abend ausprobieren, Zur Klassenvariablen "Temperatur". Ich spreche mal meine Gedanken ab, bevor ich den Code umstrukturiere, und dann waren meine Gedanken mist Also ich erstelle erine Private Klassenvariable für die Temperatur (die Propertys würde ich mir sparen und sie direkt zuweisen, oder sollte ich niemals Klassenvariablen direkt zuweisen?). Das Binding zum Label Temperatur entferne ich. Dann erstelle ich eine "Datagridview_ClicK" Sub: Hier wird diese Variable …

  • Benutzer-Avatarbild

    Ja, das macht wohl Sinn. Ok. So, ich habe mit Vaporized Hilfe nun die Verweise auf Form3 gefunden, das Projekt läuft wieder. Den Datentyp von "Intervall" habe ich in My Settings auf Integer geändert. Keine Ahnung wie ich auf den Trichter gekommen bin, dass das ein Decimal sein muss. Nun sind aber alle Werte "von Natur aus" Integer und ich konvertiere garnüscht mehr. Die Klassen habe ich alle umbenannt - heißen jetzt alle so, wie die entsprechenden .vb Dateien und die Namen sind etaws logischer. …

  • Benutzer-Avatarbild

    Huhu. Jetzt kommt bei mir ein wenig Licht ins dunkle danke für deine Ausführung. Also wäre die Klassenvariable Temperatur überflüssig, wenn ich diese nur aus meinem Dataset fülle. Da dies ja bei mir nicht der Fall ist(+ und - Buttons), hab ich glaube ich alles richtig gemacht. Mal abwarten... Dann werde ich aber denke ich die beiden angesprochenen .Text Zugriffe auch noch abändern müsssen. Hier meinte ich eine Ausnahme machen zu können, weil ich, wenn ich diesen einen einzigen Zugriff auf die be…

  • Benutzer-Avatarbild

    Bei der Abkühlzeit hast du natürlich recht. Jedoch verwende ich immer den gleichen Becher (aber auch hier habe ich die Zeiten nie gemessen, sondern mir irgendwelche Werte aus dem Netz geholt, die auch nicht stimmen werden). Dafür gibt es ja in den Einstellungen die Möglichkeit die Abkühlzeiten zu ändern. Also der Gedanke dahinter ist, einmal Wasser zum kochen bringen, in den Becher rein und Thermometer rein. Dann in den Einstellungen, die entsprechenden Abkühlzeiten hinterlegen und alles passt d…

  • Benutzer-Avatarbild

    ABzgl. der Abkühlzeiten mehrerer Gefäße. Mist! Ich hab mir die Videos mehrere Male angesehen. Aber mir fällt jetzt erst ein, dass da doch wars war :o) Also kenne ich mein Fernsehprogramm fürs Wochenende :o) Die Zeiten können Variable hochgestellt werden (in den Einstelungen änderbar) - ich habe es nur per Defaut auf 30 Sek. Weil es ja änderbar ist, habe ich die 59 als max gewhält, damit auch eine Erhöhung in kleinen Schritten sinnvoll bleibt. Also sinnvoll im Sinne des Programmes (Ich kenne kein…

  • Benutzer-Avatarbild

    Huhu Ich wurschtel jetzt gestern und heute abend daran rum, aber ich bekomme es einfach nicht hin. Ich versuche die Temperaturzeiten mit verschiedenen Gefäßen umzusetzen. Dazu habe ich die beiden Datatables erstellt und entsprechend verknüpft. Dann habe ich in der Einstellungenform erstmal zwei Datagridviews erstellt, eine für die Gefäße, eine für die Abkühlzeiten. Das funktioniert auch soweit. Ich kann neue Gefäße hinzufüge und für jedes dann einzelne Temperaturen erstellen. Jedoch bekomme ich …

  • Benutzer-Avatarbild

    Naja, immerhin hatte ich die richtige Vermutung, warum es nicht läuft. Ich werde jetzt erstmal nochmal das Forum und die Videos bemühen, bevor ich dir weiter auf den Sack gehe. Denn ich an deiner Stelle wäre glaube ich jetzt mit mir als "Schüler" ausgerastet. edit: uff den code aus der frmeinstellungen raus und wie folgt aufrufen. Quellcode (5 Zeilen) so gehts edit2: Klar die IDs müssen raus - soviel habe ich immerhin behalten vom video gucken aber mir gings erstmal nur darum daten in die Datata…

  • Benutzer-Avatarbild

    holla, nun habe ich es hinbekommen und versuche mich an der Umsetzung der Plus und Minus Buttons. Allerdings finde ich keine Möglichkeit die ausgewählte Zeile im Dataset auszulesen. Folgender Post erklärt zwar wie ich eine Position setzte: Daten laden, speichern, verarbeiten - einfachste Variante aber ich schaffe es nicht die aktuelle Position auszulesen Hier müsste ich ja dann nur +1, bzw. -1 als neue Position angeben. Aber Quellcode (1 Zeile) hat keine Eigenschaft zum auslesen der aktuellen Ze…

  • Benutzer-Avatarbild

    Ah. Deswegen finde ich nix. Gut, dann wende ich mich an die BindingSource - eigentlich ja auch logisch irgendwie... Plus und Minusbuttons neben der Temperatur sind dazu da, diese in 5° Schritten zu verändern (aber das werde ich wohl auf 10° Schritte ändern). Aus der geänderten Temperatur wird dann (bisher) die TemperaturinZeit() Sub ausgeführt, die dann die zur Temperatur hinterlegte Abkühlzeit in die Labels schmeißt. Dann wäre aber mit den Properties der BindingSource der Code für Plus und Minu…

  • Benutzer-Avatarbild

    Huhu. Ja ich bin auf der Hauptform. Screenshot vom tDs kann ich leider nicht machen, habe ich zuhause auf meinem anderen Laptop. Habe meinen alten 17 Zöller mal wiederbelebt. Das ist Abends auf der Couch irgendwie angenehmer als heir mit meinem (dafür) viel zu kleinen Surface. Das tDs sieht wie folgt aus (schaff ich auch aus dem Kopf) TeeSorten: - ID - Name - Temperatur - Abkühlzeit Min - Abkühlzeit Sek Gefaess: -ID (verknüpft mit Tabelle Abkuehlzeiten Spalte Gefaess ID) - Name Abkuehlzeit: - ID…

  • Benutzer-Avatarbild

    jupp. Das werde ich heute und / oder morgen Abend umsetzen. Und dann hoffentlich ein feertiges Programm präsentieren können.

  • Benutzer-Avatarbild

    Guten Abend mein lieber. Ich habs geschafft Aber ich möchte ja mit meiner gefundenen Abkühlzeit nüscht machen, sondern die entsprechende Zeile in der AbkuehlzeitBindingSource selektieren, damit in meinen Labels die Werte aus dem DataTable angezeigt werden. Quellcode (16 Zeilen) Nun muss ich nur noch ein Event beim ändern des Gefäßes erstellen. Wenn ich nämlich das Gefäß mittels Combobox umstelle, springt die Binding Source auf den ersten Wert - es wird also 100° angezeigt. Das soll aber natürlic…

  • Benutzer-Avatarbild

    Huhu. Ah sorry. Das hätte ich erwähnen sollen. Ja, ich habe eine Gefäßauswahl als Combobox hinzugefügt. Auf der Hauptform läuft alles, wenn ich einen Tee aus dem datagridview auswähle, wird die Temperatur angezeigt und entsprechend die Abkühlzeit. Hierbei werden jetzt nirgendwo mehr Daten aus irgendwelchen Controls gezogen. Auch die Temperatur + und - Buttons machen was sie sollen. Das Problem ist nun: Auswahl eines Tees aus dem Gridview mit Temperatur 90° es wird die korrekte Abkühlzeit für den…

  • Benutzer-Avatarbild

    Huhu Ok, dann denke ich nicht weiter über eine Gefäßklassse nach. Mein Problem ist wie gesagt, dass die Labels Temepratur (welche an die Abkühlzeit gebunden sind), immer 100° anzeigen, wenn ich erst einen Tee auswähle und dann im Anschluss das Gefäß ändere. Mache ich dies, muss ich in meinem Dgv den Tee erneut auswählen. Die Methode für Temperatur - Abkühlzeit habe ich zwar, ich vermute du meinst diese hier? (Versteckter Text) Jedoch bekomme ich diese nicht ins Change Event meiner Gefäßauswahl C…

  • Benutzer-Avatarbild

    Nabend. Ich habe die aktuelle Version hier angehangen. Eins vorab zur Einstellungenform, hier müssen noch die Datagridviews bearbeitet werden und eine validierung rein, damit keine falschen Werte eingegeben werden können. Habe die Gridviews nur erstmal dahingeschmissen, damit ich mein DataSet befüllen kann. Habe nun zwei Gefäße erstellt - Das Minutengefäß, hier gibt es nur Abkühlzeiten in Minuten und entsprechend ein Sekundengefäß. So lässt sich mit einem Blick überprüfen, ob die korrekte Abkühl…

  • Benutzer-Avatarbild

    Alles gut. Hier deine Antworten 1. Zitat: „]Was hat es mit der Tabelle DTTeesorten auf sich bzgl. Temperatur, Minuten und Sekunden? “ Temperatur: die Wassertemperatur, bei der der Tee reinkommt. Also 90° bedeutet, dass der Tee mit 90° warmen Wasser aufgegeossen wird. Die Zeit ist die Zeit, die der Tee dann zum ziehen benötigt. 2. Zitat: „Beide Punkte wären momentan inkonsistent eingepflegt. Wäre es die Ziehzeit, würde sich bei Teeauswähl nicht die 1. Zeile im Hauptformular bzgl. der Zeit ändern,…

  • Benutzer-Avatarbild

    Huhu Das verstehe ich nicht. Ich gehe mal davon aus du hast das getestet. Aber bei mir läuft der Code nicht. Wobei ich auch nicht verstehe, wo da jetzt der Unterschied ist. Letztendlich verschiebe ich ja nur den entsprechenden Code vom Datagridvie_CellClick ins Binding Source CurrentChanged Event, der DTTeesorten, bzw. Gefäßbindingsource. Das wirft mir allerdings eine Null Exception, beim ersten Cast der GefaessbindingSource.Current, raus. Aber wieso sollte das Verhalten meines Programmes mit de…

  • Benutzer-Avatarbild

    Ja alles gut. Mach dir keinen Stress. @VaporiZed Zu deinem Code. Krass, ich hätte gewettet, dass es keinen Unterschied macht, ob ich die Sub(s) nun im Datagridview Click Event, oder im BindingSource CurrentChanged Event laufen lasse. Aber ich halt die Schnauze Folgenden Code habe ich deinem hinzugefügt, damit die Ziehzeit noch angezeigt wird (Die Labels haben ja aktuell kein Binding): VB.NET-Quellcode (4 Zeilen) Allerdings macht das AbkuehlzeitenbindingSource Change Event meine Temperatur Plus u…

  • Benutzer-Avatarbild

    Zitat: „ Aber das DGV_Cell(Content)Click sollte für sowas nie verwendet werden.“ Ist gemerkt. So, nun habe ich einen Dirty Tea Timer, aber alles geht. Einzige Ausnahme macht eine Auswahl des Tees, anschließende Änderung der Temperatur und dann die Auswahl eines neuen Gefäßes. Jetzt springt die Temperatur natürlich wieder auf den Temperaturwert aus der Binding Source, aber das ist mir (mangels Idee) wurscht. Ich habe das Projekt hier nochmal hochgeladen, denn ich bekomme das DataSet nicht eingebu…

  • Benutzer-Avatarbild

    Huhu Jupps, so macht alles Sinn. Ich habe erstmal nur eine Funktion für neues Gefäß eingefügt, damit die Fehlerquote kleiner ist und ich erstmal das wesentliche (Zugriff auf Dataset) testen kann. Nun werde ich die restliche Funktionalität schreiben. Edit: @VaporiZed HAHA! Deine Hilfe war nicht umsonst. Den Code zum erzeugen eines neuen Gefäßes inklusive Abkühlzeiten, konnte ich wie ein auswendig gelerntes Gedicht niedertippen! VB.NET-Quellcode (41 Zeilen) Ich habe aber noch eine Verständnissfrag…

  • Benutzer-Avatarbild

    Danke für die Erklrung Mein Edit 2 ist eine Ergänzung zum geposteten Code. Ich füge dort nur die Temperaturen 90° 80°, 70° und 60° zu meiner DataTable hinzu. Die 100° habe ich vergessen, bzw. dachte die brauche ich nicht.

  • Benutzer-Avatarbild

    So. Ich habe jetzt noch eine kleine Einstellung hinzugefügt, in der ausgewählt werden kann, ob der Timer oben, oder unten und links, oder rechts angezeigt werden soll. Desweiteren habe ich noch den ein oder anderen Fehler ausgebügelt und den Code wieder hübsch geordnet. In diesem Projekt ist das wahrscheinlich nicht so wichtig, aber ich dachte mir, es kann nicht schaden, sich von Anfang an eine gescheite Strukurierung anzugewöhnen. Das nun fertige (ich würde glaube ich nichts mehr ändern - auch …

  • Benutzer-Avatarbild

    Huhu Wie immer vielen Dank Den Sachen werde ich mich später annehmen. Ich mache erstmal einen Updater. Es nervt mich tierisch, dass ich eine neue Version des Programms immer in die Cloud laden muss, um sie dann am nächsten Tag auf drei PCs (und es sollen demnächst vier werden, da ich meine Mudder als Betatester einspannen will - die Frau findet alle Fehler) herunter zu laden. Hierzu habe ich ein recht umfangreiches (ca. 1 Stunde) Youtube Tutorial gefunden. Ich finde das ganze ziemlich cool, und …

  • Benutzer-Avatarbild

    Man -.- Manchmal bist du ein echter Spielverderber. Aber vielen Dank für die Links. "Mein" Updater ist echt cool. Ist eine eigene Exe, die mit Kommandozeilenparametern gestartet wird und so alle nötigen Variablen erhält. Also ist er in jedem Projekt integrierbar. Dann wird die Updater.exe aus dem Hauptprogramm gestartet, die Updatesuche erkennt dann updates, zeigt changelog an. Das Hauptprogramm wird dann geschlossen, die exe ersetzt und das Programm wieder gestartet. Aber... die Sicherheit ... …