Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 19 von 19

Thema: Hilfe in Microsoft Visual C => Variable von Form1 in Form2 aktuallisiert durchreichen

  1. #11
    Registriert seit
    27.01.2010
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das Programm soll auf der Festplatte prüfen ob ein Ordner vorhanden ist, wenn nicht diesen anlegen.

    Anschließend in dieses Ordner, der eine .txt Textdatei enthält etwas rein schreiben.

    Doch allerdings geht das hintereinander bei meinem Programm nicht, da etwas die Datei noch auf hat und dadurch schreiben blockiert wird
    Angehängte Grafiken Angehängte Grafiken
    Angehängte Dateien Angehängte Dateien
    Zitieren Zitieren Hier die Fehlerbeschreibung  

  2. #12
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.746
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Wenn du
    Code:
    System.IO.File.Create("D:\\LOGDATEI\\" + DateTime.Now.Year.ToString()+"\\" + Dateiname+".txt");
    durch
    Code:
    FileStream aa = System.IO.File.Create("D:\\LOGDATEI\\" + DateTime.Now.Year.ToString()+"\\" + Dateiname+".txt");
     = System.IO.File.Create(aktuelle_datei);
    aa.Close();
    ersetzt, dann gehts.

    File.create erzeugt immer ein Filestream Objekt, auch wenn du es keiner Variable zuweist. Dadurch das du aber das filestream Objekt nicht explizit schliest, wird dies dann erst später bei dispose dorch den GarbageCollector gemacht, doch der wird noch nicht aufgerufen bis du das nächste mal auf deine Datei zugreifst!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  3. #13
    Registriert seit
    07.09.2005
    Ort
    MOS
    Beiträge
    156
    Danke
    22
    Erhielt 26 Danke für 17 Beiträge

    Standard

    der StreamWriter kann dir die Datei auch erzeugen, voll-automatisch.
    warum nutzt du das nicht?

    grüße
    David

  4. #14
    Registriert seit
    27.01.2010
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    Wenn du
    Code:
    System.IO.File.Create("D:\\LOGDATEI\\" + DateTime.Now.Year.ToString()+"\\" + Dateiname+".txt");
    durch
    Code:
    FileStream aa = System.IO.File.Create("D:\\LOGDATEI\\" + DateTime.Now.Year.ToString()+"\\" + Dateiname+".txt");
     = System.IO.File.Create(aktuelle_datei);
    aa.Close();
    ersetzt, dann gehts.

    File.create erzeugt immer ein Filestream Objekt, auch wenn du es keiner Variable zuweist. Dadurch das du aber das filestream Objekt nicht explizit schliest, wird dies dann erst später bei dispose dorch den GarbageCollector gemacht, doch der wird noch nicht aufgerufen bis du das nächste mal auf deine Datei zugreifst!
    ###################################################

    Vielen Dank, jetzt geht es so wie ich mir das Vorgestellt habe

  5. #15
    Registriert seit
    27.01.2010
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Jochen,

    muss dich leider nochmals mit einem Problem belasten...

    Ich habe nun bei Microsoft das Chart Contorl runtergeladen damit ich ein Diagramm zeichnen kann.
    Später sollte ich mal Temperaturen aufzeichen.
    Habe dir im Anhang ein Beispiel;

    Hast du ne Ahnung, wenn man in der Tabelle neue Werte einträgt, wie sich dann das Diagramm automatisch aktuallisiert, wie man es aus Exsel gewohnt ist?
    Oder gibt es eine Methode (z.B. Refresh) damit das Diagramm aktuallisiert wird?

    mit freundlichen Grüßen
    Angehängte Dateien Angehängte Dateien
    Zitieren Zitieren Diagramm Aktualisieren  

  6. #16
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard

    Hallo,
    die Werte werden an den Chart ähnlich wie bei einer Listbox übergeben :
    Code:
    chart1.Series["Series1"].Points.AddY(myPoint);
    ... das geht natürlich auch genau so mit den X-Koordinaten ...

    Gruß
    Larry

  7. #17
    Registriert seit
    27.01.2010
    Beiträge
    17
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also das heist es gibt keine automatische aktuallisierung?
    Evtl. mit einem Timer die Sache starten?
    Zitieren Zitieren Was ehist das nun?  

  8. #18
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard

    Hallo ...

    Nein, eine automatische Aktualisierung gibt es meines Wissens nicht.
    Das macht die Siemens-Visu btw. auch nicht. Hier wird z.B. auch ein Trigger abgefragt (sehr wahrscheinlich zyklisch über eine Timer-Funktion) und bei dessen Änderung dann der Datenbereich geladen und an die Anzeige (Chart) übertragen. Das müßtest du nun zu Fuß machen.
    Du könntest dir aber auch für die benötigten Unterfunktionalitäten den Chart in eine eigene Klasse übernehmen (Inherits) und die gewünschten Dinge drum herum programmieren. Da kann ich dir dann allerdings nicht so sehr helfen da C-Sharp nicht so mein Ding ist (ich würde es halt in VB machen ).

    Gruß
    Larry

  9. #19
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.746
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Neger für alles... Beitrag anzeigen
    Also das heist es gibt keine automatische aktuallisierung?
    Evtl. mit einem Timer die Sache starten?
    also Ich nutze dieses Beispiel Control ja auch in meinem ConnectionLibrary Beispiel Programm, und da erzeuge Ich die Punkte einfach bei einer änderung jedes mal neu:

    Codeauszug:
    Code:
     chart1.Series["Series1"].Points.Clear();
                        var tmp = (LibNoDaveValue) var1.SelectedItem;
                        foreach (var oldValue in tmp.OldValues)
                        {
                            double wrt = (float) Convert.ToDouble(oldValue);
                            chart1.Series["Series1"].Points.AddY(wrt);
                        }
    Ich weiß nicht wie das mit Databinding und diesem Control aussieht, und ob das überhaupt möglich ist.

    In WPF sieht das ganze schon wieder anders aus, dort gibt's ein mächtiges Databinding, und mit entsprechenden Controls geht da das automatische aktualisieren sicher.
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

Ähnliche Themen

  1. UDT in FB durchreichen
    Von thomasgull im Forum Programmierstrategien
    Antworten: 21
    Letzter Beitrag: 23.12.2013, 12:06
  2. Antworten: 9
    Letzter Beitrag: 08.09.2011, 13:24
  3. OPC - Client programmieren mit Microsoft Visual Studio 2008
    Von Neger für alles... im Forum Hochsprachen - OPC
    Antworten: 24
    Letzter Beitrag: 30.11.2010, 14:45
  4. Microsoft Visual C# 2008 => Active X-Steuerelement
    Von Neger für alles... im Forum Hochsprachen - OPC
    Antworten: 6
    Letzter Beitrag: 30.06.2010, 12:41
  5. [?] Codesys Pointer durchreichen
    Von Kurt im Forum Sonstige Steuerungen
    Antworten: 7
    Letzter Beitrag: 10.01.2007, 14:29

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •