Laden...

Forenbeiträge von ECP Ingesamt 69 Beiträge

06.05.2009 - 14:21 Uhr

Danke nochmal an alle!
Habs jetzt wie folgt:


private void button1_Click(object sender, EventArgs e)
        {
            int Day = DateTime.Now.Day;
            int Month = DateTime.Now.Month;
            int Year = DateTime.Now.Year;
            int Hour = DateTime.Now.Hour;
            int Minute = DateTime.Now.Minute + 1;
            int Second = 00;

            NextMin = new DateTime(Year, Month, Day, Hour, Minute, Second);

            timer1.Enabled = true;
            //NextMin = DateTime.Now.AddMinutes(1);
        }

        private void timer1_Tick(object sender, EventArgs e)
        {           
            ActuMin = DateTime.Now;

            Diff = NextMin - ActuMin;
            label1.Text = Convert.ToString(Diff.Hours) + ":" + Convert.ToString(Diff.Minutes) + ":" + Convert.ToString(Diff.Seconds);
        }

Mfg Ecp

06.05.2009 - 11:45 Uhr

Alles klar, hab es jetzt so:


        DateTime NextMin;
        DateTime ActuMin;
        TimeSpan Diff;

        private void button1_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;
            NextMin = DateTime.Now.AddMinutes(1);
        }

        private void timer1_Tick(object sender, EventArgs e)
        {          
            ActuMin = DateTime.Now;

            Diff = NextMin - ActuMin;
            label1.Text = Convert.ToString(Diff.Hours) + ":" + Convert.ToString(Diff.Minutes) + ":" + Convert.ToString(Diff.Seconds);

        }

Ist aber immer noch nicht so, wie ich es will.

Bei

NextMin = DateTime.Now.AddMinutes(1);

zählt er mir ja jetzt immer von 59 herunter. Kann ich denn die Sekunden irgendwie auf 00 setzen, so dass er mir bei 10:30:40 nur noch die restlichen Sekunden bis 10:31:00, also 19 Sekunden herunter zählt.

Danke für eure Hilfe!

Mfg ECP

06.05.2009 - 11:27 Uhr

Hey Leute!

Ich will beim Klick auf einen Button einen Countdown einblenden der bis zum Beginn der nächsten Minute herunter zählt (also max 59. Sekunden) und Ende.

Im Moment habe ich das so:


private void timer1_Tick(object sender, EventArgs e)
        {
            DateTime NextMin;
            DateTime ActuMin;
            TimeSpan Diff;
            
            NextMin = DateTime.Now.AddMinutes(1);
            ActuMin = DateTime.Now;

            Diff = NextMin - ActuMin;
            label1.Text = Convert.ToString(Diff.Hours) + ":" + Convert.ToString(Diff.Minutes) + ":" + Convert.ToString(Diff.Seconds);
        }

Beim klick auf den Button, habe ich folgenden Befehl:


private void button1_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;
        }

Klicke ich auf den Button, so ist der label1.text "0:1:0".

Könnt Ihr mir bitte helfen.
Danke im Voraus.

Mfg ECP

27.04.2009 - 15:23 Uhr

Würde es wie folgt machen (bin gerade auf die Idee gekomme): erstelle jetzt mit dem SCHTASKS Kommandozeilenbefehl einen geplanten Task mit 10 Sekunden Verzögerung.

Da kann ich angeben, dass er die Batchdatei als SYSTEM startet.

In 20 Sekunden lösche ich den Task dann wieder.

Mfg ECP

27.04.2009 - 13:25 Uhr

Ich hab ja bereits einen Dienst erstellt, der diese Datenbanken über eine Batch Datei startet und stoppt. Muss ich dann aber mal händisch eine DB wieder starten, so will ich dafür nicht einen eigenen Dienst erstellen müssen.

Dann kann es sein, dass ich irgendwann mal 25 bis 30 Dienste nur dafür drinnen habe.

Ok, ich muss einfach jetzt schauen, das ich etwas wie PSEXEC als GNU/GPL finde, es gibt anscheinend keine andere Lösung.

Danke für eure Bemühungen.

Mfg ECP

27.04.2009 - 11:55 Uhr

Genauere Erklärung:

Das Tool das ich schreibe ist ein Dienst, der mit einer GUI zusammenarbeitet.
Das Tool startet und stoppt Datenbanken (Progress Datenbanken) über eine Batch-Datei.

Wird der Dienst gestartet, so werden alle Batchdateien auch als User System gestartet und der Prozess der zur Datenbank gehört, wird auch als System gestartet.

Wird die DB gestoppt, so werden alle Batchdateien wieder beendet.

Mit dem Tool werden mehrere DB's verwaltet. Nun kann es sein, dass ich Parameter für die DB ändern muss. Dann muss ich die DB stoppen -> ändern -> und wieder starten.

Dieser Start, nur von einer DB, muss auch als Benutzerkonto "System" ausgeführt werden. Es kann sein, dass ich 20 Datenbanken auf einem Server laufen habe, dann kann und will ich nicht jede als Dienst erstellen.

Mit PSTOOLS würde das funktionieren, aber mein Tool wird später veröffentlicht und gratis an unsere Kunden verteilt und deshalb habe ich dann mit PSTOOLS bzw. PSEXEC ein Problem.

Ich hoffe ihr versteht mein Problem jetzt besser.

Mfg ECP

14.04.2009 - 08:06 Uhr

Sorry, dass ich mich so umständlich ausgedrückt habe.
Ok es ist ein Prozess, der aber auch weiterlaufen soll, wenn der User der ihn startet, sich abmeldet.

Gibt es hier nur die Möglichkeit mit dem PSEXEC?

Danke für eure Hilfe soweit!

Mfg ECP

10.04.2009 - 12:08 Uhr

Ja, es wird ja auch der Windows Dienst gestartet, aber der Prozess wird als Benutzer, der das Programm gestartet hat ausgeführt. Sobald sich dieser User abmeldet, wird auch der Prozess beendet. Das soll aber nicht passieren.

Der Prozess soll als SYSTEM gestartet werden.

Mfg ECP

10.04.2009 - 10:54 Uhr

Hey Leute!

Brauche bitte eure Hilfe.

Also, ich will ein Programm als "Benutzer" SYSTEM ausführen. Dieses Programm startet einen Dienst der im Hintergrund immer weiter laufen soll, auch dann, wenn sich der User der das Programm gestartet hat, abmeldet.

Im Moment habe ich das wie folgt versucht zu lösen, aber da bekomme ich immer, dass die Anmeldung fehlgeschlagen ist.


                string test = strStartPath + "\\" + strFocItemSIC + ".cmd"; 

                ProcessStartInfo pi = new ProcessStartInfo(test);
                pi.UseShellExecute = false;
                pi.Domain = "Hier habe ich den Computernamen eingegeben";
                pi.UserName = "SYSTEM";

                Process.Start(pi);

Jetzt ist meine Frage, ob jemand weiß, was ich da anders machen soll.
Ich hoffe, das reicht an Info's.

Mfg ECP

29.09.2008 - 18:11 Uhr

GELÖST!

Hatte die selektion auf Zeile 1 angegeben ... funktioniert aber nur auf Zeile 2 ... k.A. wieso!

Mfg ECP

29.09.2008 - 17:54 Uhr

BeforeLabelEdit ist ja das Event, dass feuert, bevor er ein Item in den Bearbeitungsmodus lässt.

Da prüfe ich, ob ein Text auf einem Button "DB stoppen" ist ... ist das so, so soll er eine MessageBox ausgeben und einen erst gar nicht den Bearbeitungsmodus lassen.

Dieses Problem tritt nur auf, wenn dieses zu bearbeitende Item das in der ersten Zeile ist.

Lasse ich die Zeile über folgende Funktion selektieren:


private void SelektiereListViewZeile(int Zeile, bool select)
        {
            lstDB.Select();
            lstDB.FullRowSelect = true;
            lstDB.Items[Zeile-1].Selected = select;
            lstDB.Items[Zeile-1].EnsureVisible();
        }

und schalte bei diesen vier Zeilen den Debugger an und klicke die Aufrufe einzeln mit F5 weiter, so bekomme ich das Problem auch nicht.

Mfg ECP

29.09.2008 - 16:46 Uhr

Hey Leute!

Habe ein Problem bei dem BeforeLabelEdit Event eines ListViews!


private void lstDB_BeforeLabelEdit(object sender, LabelEditEventArgs e)
        {
            strBeforeLabel = lstDB.FocusedItem.Text.ToString();

            if (btnStartStop.Text == "Datenbank stoppen")
            {
                MessageBox.Show("Die Datenbank läuft im Moment. Bitte stoppen Sie diese bevor Sie Sie umbenennen.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
                e.CancelEdit = true;
                lstDB.Items[0].Selected = true;
            }
        }

In diesem Event prüfe ich das Label eines Buttons. Ist das Label "Datenbank stoppen", so gebe ich eine Message aus und breche die Label Bearbeitung ab.

Danach ist aber der Eintrag nicht mehr zu sehen, bis ich wieder irgendwo in die ListView reinklicke, dann wird wieder der Text sichtbar.

Jetzt dachte ich, dass ich einfach über ListView1.Items[].selected ein Item selektiere, jedoch bringt das auch nichts.

Hat jemand eine Idee?

Danke im Voraus!

Mfg ECP

22.09.2008 - 17:07 Uhr

Hey Leute!

Sorry, war auch nicht persönlich gemeint, aber das ist mir halt leider hier immer öfter aufgefallen.

Ok, wenn ich das richtig verstehe, schreibe ich aus Form2 in eine Public Variable.
Wenn ich Form2 wieder schließe und somit Form 1 active (Event: Fokus activated) wird, dann Adde ich dieses Item in der Listbox?!?!

Mfg ECP

22.09.2008 - 16:42 Uhr

Jetzt echt mal sorry, aber anstelle das mir vielleicht irgendjemand meinen Knopf im Kopf lösen kann, macht Ihr mich lieber auf meine Fehler aufmerksam, was wahrscheinlich für euch Pros genau so lange dauert, wie wenn Ihr mir das ganz kurz erklären würdet bzw. mir den Fehler in meinem Beispiel mitteilen würdet.

Es tut mir leid, dass ich nicht jeden Tag in C# programmiere und ich verstehe euch auch teilweise, dass ihr es irgendwann mal leid seit, aber ich denke auch, dass mein Problem für euch wahrscheinlich pipifax ist und ihr mir das mal ganz kurz erklären könnt, für das ist doch auch ein Forum da, um sich gegenseitig zu helfen, dachte ich auf jeden Fall!

Mfg ECP

22.09.2008 - 15:42 Uhr

Hey Leute!

Habe ein kleines Problem!
Habe eine Form 1 und eine Form 2. Mainform ist die einser, aus der ich die zweite Form aufrufe. In dieser gebe ich nur einen namen an und prüfe, ob eine Datei mit diesem namen bereits besteht. Ist das nicht der Fall, so möchte ich diesen Namen in eine Listbox der ersten Form schreiben ... das funktioniert aber nicht (beim debuggen springt er auch auf die richtige Zeile, schreibt aber nichts in die Listbox).

Hat jemand eine Idee, wieso das nicht funktioniert?

Der modifier der Listbox lstdb ist auf public gesetzt.


public void btnOK_Click(object sender, EventArgs e)
        {
            if (File.Exists(Application.ExecutablePath.Substring(0, Application.ExecutablePath.Length - 16) + "inis\\" + txtDBName1.Text + ".ini") == true)
            {
                MessageBox.Show("Besteht bereits", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                Form1 frm1 = new Form1();
                frm1.lstDB.Items.Add(txtDBName1.Text);

                Form.ActiveForm.Close();
            }
        }

Mfg ECP

09.05.2008 - 10:22 Uhr

Hab den Fehler schon gefunden wieso es nicht funktioniert hat.

Die start.bat war eine start.cmd und dann findet er die Datei nicht und geht in den Leerlauf.

Der Aufruf von Batch-Dateien funktioniert jetzt auch!

Danke für die Hilfe.

mfg ECP

09.05.2008 - 09:58 Uhr

Danke für die schnelle Antwort.

Habe aber jetzt ein Problem entdeckt, nachdem ich den Dienst starten wollte (vor der Änderung)

Dienst "service1" auf "Lokaler Computer" wurde gestartet und angehalten. Einige Dienste werden automatisch angehalten, wenn sie sich im Leerlauf befinden.

Hat vielleicht jemand eine Idee wie ich das lösen könnte.

Danke im Voraus!

Mfg ECP

07.05.2008 - 15:38 Uhr

Hey Leute!

Habe ein Problem, vielleicht kann mir jemand von euch helfen!

Habe mir einen Dienst zusammengebastelt. Der Dienst soll bei jedem starten/stoppen/pausieren/wider beginn/herunterfahren das jeweilige Event in ein eigenes Log schreiben (Das funktioniert einwandfrei) und eine Batchdatei ausführen.

Das ausführen des Batches funktioniert gar nicht und ich habe keinen Schimmer wieso!



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;
using System.Text;
using System.IO;
using System.Threading;
using System.Resources;
using System.Collections.Specialized;
using System.Reflection;

namespace DBMoveITControl
{
    public partial class DBMoveITControl : ServiceBase
    {

        public DBMoveITControl()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            this.EventLog.WriteEntry("FileWatchService wurde erfolgreich gestartet");

            StreamWriter Writer = new StreamWriter("C:\\EVENTLOGPAZI.txt",true);
            Writer.Write("Gestartet" + DateTime.Now.TimeOfDay + "\r\n");
            Writer.Close();

            System.Diagnostics.Process.Start("C:\\start.cmd");
        }

        protected override void OnStop()
        {
            this.EventLog.WriteEntry("FileWatchService wurde beendet");

            StreamWriter Writer = new StreamWriter("C:\\EVENTLOG.txt", true);
            Writer.Write("Gestoppt" + DateTime.Now.TimeOfDay + "\r\n");
            Writer.Close();

            System.Diagnostics.Process.Start("C:\\stop.cmd");
        }

        protected override void OnPause()
        {
            this.EventLog.WriteEntry("FileWatchService wurde angehalten");

            StreamWriter Writer = new StreamWriter("C:\\EVENTLOG.txt", true);
            Writer.Write("Pausiert" + DateTime.Now.TimeOfDay + "\r\n");
            Writer.Close();

            System.Diagnostics.Process.Start("C:\\stop.cmd");
        }
        
        protected override void OnContinue()
        {
            this.EventLog.WriteEntry("FileWatchService wurde fortgesetzt");

            StreamWriter Writer = new StreamWriter("C:\\EVENTLOG.txt", true);
            Writer.Write("Fortgesetzt" + DateTime.Now.TimeOfDay + "\r\n");
            Writer.Close();

            System.Diagnostics.Process.Start("C:\\start.cmd");
        }

        protected override void OnShutdown()
        {
            this.EventLog.WriteEntry("Server heruntergefahren");
            
            StreamWriter Writer = new StreamWriter("C:\\EVENTLOG.txt", true);
            Writer.Write("Heruntergefahren" + DateTime.Now.TimeOfDay + "\r\n");
            Writer.Close();

            System.Diagnostics.Process.Start("C:\\stop.cmd");
        }

        private void eventLog1_EntryWritten(object sender, EntryWrittenEventArgs e)
        {

        }
    }
}

Danke im Voraus!

Mfg ECP

28.02.2008 - 09:21 Uhr

Das Problem ist, dass die DotNetTelNet Klasse die Socketexception herausgibt, die man nicht abfangen kann. Ich werde das den DotNetTelNet Developern melden.

Danke trotzdem an alle Beteiligten.

Mfg ECP

27.02.2008 - 14:50 Uhr

Also unter [Debuggen]-[Ausnehmen]-[Command-Language-Runtime-Exceptions]-[System.Net.Sockets] muss ich welches Hackerl herausnehmen und welches reingeben?????

Und muss ich die Catch(socketexception) herausnehmen oder drinnen lassen????

Danke !

Mfg ECP

27.02.2008 - 11:43 Uhr

Sorry, aber ich brauche wirklich dringen Hilfe!

Hat keiner mehr eine Idee??

Mfg ECP

25.02.2008 - 16:07 Uhr

Mein Code sieht im Moment wie folgt aus:


private void btnCheck_Click(object sender, EventArgs e)
        {   
            string[] arrPorts = {"3513", "6666"};

            try
            {
                foreach (string strPort in arrPorts)
                {
                    int iPort = Convert.ToInt32(strPort);

                    TelnetWrapper t = new TelnetWrapper();

                    t.TerminalType = "NETWORK-VIRTUAL-TERMINAL";
                    t.Hostname = txtIP.Text;
                    t.Port = iPort;

                    rtb.Text += "False \r\n";

                    t.Connect();

                    bool b = t.Connected;
                    rtb.Text = b.ToString() + "\r\n";
                    
                    return;
                }
            }
            catch (SocketException err)
            {
                rtb.Text = Convert.ToString(err);
            }
        }

Das problem: das Catch bringt gar nichts! Ich bekomme immer noch die Fehlermeldung, wie oben beschrieben und eigentlich sollte ich es doch so abfangen können, oder liege ich da falsch.

Das return verhindert natürlich, dass die Foreach-Schleife so oft durchlaufen wird wie z.B. das array Items hat.

Hat jemand noch ne Idee?

Lg ECP

21.02.2008 - 10:47 Uhr

Brauche bitte unbedingt Hilfe!

Weis echt nicht mehr was ich noch tun kann!

Danke im Voraus!

Mfg ECP

20.02.2008 - 14:22 Uhr

habe noch was geändert:


catch (socketexception err)

Habe trotzdem noch den Fehler.

20.02.2008 - 13:31 Uhr

Bekomme noch immer den Fehler


try
{
     TelnetWrapper t = new TelnetWrapper();

     t.TerminalType = "NETWORK-VIRTUAL-TERMINAL";
     t.Hostname = txtIP.Text;
     t.Port = 3513;

     rtb.Text = "Connecting ...";
            
     t.Connect();

     bool b = t.Connected;

     tb.Text = b.ToString();
}
catch (Exception err)
{
     rtb.Text = err.ToString();
}

20.02.2008 - 12:49 Uhr

Ok , hab jetzt noch etwas gefunden!

Die Dotnettelnet Bibliothek, hat all das was ich brauche!

Funktioniert auch ganz gut, wenn ich die richtige IP bzw. Port angebe, bekomme ich auch "True" zurück, dass die Verbindung hergestellt werden konnte aber wenn ich "unabsichtlich" eine ungültige IP oder Port angebe, bekomme ich :

System.Net.Sockets.SocketException wurde nicht behandelt.
Message="Eine Anforderung zum Senden oder Empfangen von Daten wurde verhindert, da der Socket nicht verbunden ist und (beim Senden über einen Datagrammsocket mit einem sendto-Aufruf) keine Adresse angegeben wurde"
Source="System"
ErrorCode=10057
NativeErrorCode=10057
StackTrace:
bei System.Net.Sockets.Socket.get_RemoteEndPoint()
bei De.Mud.Telnet.TelnetWrapper.ConnectCallback(IAsyncResult ar)
bei System.Net.LazyAsyncResult.Complete(IntPtr userToken)
bei System.Net.ContextAwareResult.CompleteCallback(Object state)
bei System.Threading.ExecutionContext.runTryCode(Object userData)
bei System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Net.ContextAwareResult.Complete(IntPtr userToken)
bei System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
bei System.Net.Sockets.Socket.ConnectCallback()
bei System.Net.Sockets.Socket.RegisteredWaitCallback(Object state, Boolean timedOut)
bei System.Threading._ThreadPoolWaitOrTimerCallback.PerformWaitOrTimerCallback(Object state, Boolean timedOut)

Mein Code sieht wie folgt aus:


TelnetWrapper t = new TelnetWrapper();

t.TerminalType = "NETWORK-VIRTUAL-TERMINAL";
t.Hostname = txtIP.Text;
t.Port = 3513;

rtb.Text = "Connecting ...";
                        
t.Connect();

bool b = t.Connected;  
       
rtb.Text = b.ToString();

19.02.2008 - 17:03 Uhr

Hey Leute!

Hab im Forum und im gesamten Netz gesucht, habe aber nur kommerzielle Hilfsmittel gefunden.

Also was ich tun will:

Ich will einen Telnet auf eine IP (mit Portangabe) absetzen und will die nächste Zeile einlesen und prüfen.

Kennt vielleicht jemand mittlerweile eine nicht-kommerzielle Klasse oder Tool, mit dem ich das in mein C# Programm einbinden kann???

Danke im Voraus!#

Mfg ECP

06.02.2008 - 16:42 Uhr

Hey Leute!

Ich suche eine Funktion, mit der ich herausfinden kann, ob die angegebene Datei oder das angegebene Verzeichnis auf einem Netzlaufwerk liegt!

Kann mir da jemand behilflich sein?

Danke im Voraus!

Mfg ECP

01.02.2008 - 12:14 Uhr

Fehler behoben, habe leider ein "/" zuviel gehabt!

Danke trotzdem!

ECP

01.02.2008 - 11:54 Uhr

Bekomme folgende message

Fehler 1 Eine eingebettete Anweisung kann keine Deklaration und keine Anweisung mit Bezeichnung sein. C:\Dokumente und Einstellungen\ecp\Eigene Dateien\Visual Studio 2005\Projects\DBControlGUI\DBControlGUI\Form1.cs 63 17 DBControlGUI

Dies soll geschehen beim verlassen des Programms!

ECP

01.02.2008 - 11:34 Uhr

Hey Leute!

Habe ein kleines Problem. Ich habe eine Listbox, in der mehre Items vorhanden sind.
Ich will für jedes Item in der Box eine Datei mit Dateinamen des Items anlegen.

So wie ich mir das gedacht habe funktioniert das aber leider nicht:


foreach (string DBName in lstDB.Items)
                StreamWriter DBPathWriter = new StreamWriter(ExecutedPath + "\\" + DBName + "\\ReadOut.dbmo", false);     
                DBPathWriter.Write("lstDB");
                DBPathWriter.Close();

Wie könnte ich denn das machen?

Danke im Voraus.

ECP

30.10.2007 - 14:23 Uhr

Wenn ich aber die FileSystemWatcher Zeilen wieder rausnehme, also nur in das Eventlog schreibe funktioniert das installieren bzw. das starten des Dienstes einwandfrei!

Also der Fehler müsste irgendwo da liegen, beim überwachen des einen Files!

Hat jemand eine Idee bzw. kann mir jemand etwas auf die Sprünge helfen?

Mfg ECP

29.10.2007 - 13:54 Uhr

Hey Leute, programmiere das erste mal einen Dienst.
Also, der Dienst soll einfach, so lange er läuft, ein bestimmtes File überwachen.
Ist dieses File da, so soll er in einem Bestimmten Pfad, eine Datei schreiben, deren Inhalt entweder "0" (wenn die Datei nicht vorhanden ist) oder "1" (wenn die Datei vorhanden ist) schreiben!

Mein Code sieht noch so aus!


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;
using System.Text;
using System.IO;

namespace DBMoveITControl
{
    public partial class DBMoveITControl : ServiceBase
    {
        public DBMoveITControl()
        {
            InitializeComponent();
            if(!System.Diagnostics.EventLog.SourceExists("DoDyLogSourse"))
            System.Diagnostics.EventLog.CreateEventSource("DoDyLogSourse","DoDyLog");

        eventLog1.Source = "DoDyLogSourse";

            eventLog1.Log = "DoDyLog";
        }

        protected override void OnStart(string[] args)
        {
            eventLog1.WriteEntry("my service started");

            FSW_Initialisieren();
        }

        protected override void OnStop()
        {
            eventLog1.WriteEntry("my service stoped");
        }

        FileSystemWatcher FSW;
        private void FSW_Initialisieren()
        {
            // Filesystemwatcher anlegen
            FSW = new FileSystemWatcher();

            // Pfad und Filter festlegen
            FSW.Path = @"C:\test";
            FSW.Filter = "ECP.txt";

            // Events definieren
            FSW.Created += new FileSystemEventHandler(FSW_Created);
            FSW.Deleted += new FileSystemEventHandler(FSW_Deleted);

            // Filesystemwatcher aktivieren
            FSW.EnableRaisingEvents = true;
        }
        
        StreamWriter iniWriter = new StreamWriter("C:\\test.ini", false);
       
        // Handler für alle Events
        void FSW_Deleted(object sender, FileSystemEventArgs e)
        {
            iniWriter.Write("0");
        }

        void FSW_Created(object sender, FileSystemEventArgs e)
        {
            iniWriter.Write("1");
        }
    }
}

Immer wenn ich den Dienst starte, bekomme ich folgende Fehlermeldung:

"Dienst "XXX" wurde auf "Lokaler Computer" gestartet und dann angehalten. Einige Dienste werden automatische angehalten, wenn sie sich im Leerlauf befinden, wie z.B. Leistungsprotokoll- und Alarmdienste."

Ich hoffe Ihr könnt mir helfen!

Danke im Voraus!

Mfg ECP

03.10.2007 - 14:39 Uhr

Hey Leute!

Blicke da einfach nicht durch wie das mit dem füllen einer einzigen Zelle eines bestehenden Excel files funktioniert!

Kann mir da bitte jemand auf die Sprünge helfen???
Wäre echt super.

Ich weis zwar so ca. wie das funktioniert immer in ein neues Excel file zu schreiben, aber ich muss ja in ein bestehendes File immer wieder ergänzen!

Mfg ECP

01.10.2007 - 14:05 Uhr

Hey Leute, bekomme zwei Fehler beim debuggen wegen dem Attachment, das ich hinzufügen möchte.

Fehler 1 Die beste Übereinstimmung für die überladene System.Collections.ObjectModel.Collection<System.Net.Mail.Attachment>.Add(System.Net.Mail.Attachment)-Methode hat einige ungültige Argumente. C:\Dokumente und Einstellungen\ecp\Eigene Dateien\Visual Studio 2005\Projects\moveitorder\moveitorder\Form1.cs 55 13 moveitorder

Fehler 2 1-Argument: kann nicht von "string" in "System.Net.Mail.Attachment" konvertiert werden. C:\Dokumente und Einstellungen\ecp\Eigene Dateien\Visual Studio 2005\Projects\moveitorder\moveitorder\Form1.cs 55 34 moveitorder


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net.Mail;

namespace moveitorder
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            System.Diagnostics.Process.Start("");
        }

        private void btnBuild_Click(object sender, EventArgs e)
        {
            string strBetreff = "Kommunikation über Internet - eMail-Adr";
            
            string strVon = "";
            string strAn = "";
            string strSmtpServer = "";
            string strUser = "";
            string strPasswort = "";
            string strNachricht = "";

            MailMessage mail = new MailMessage();
            MailAddress from = new MailAddress(strVon);
            mail.To.Add(strAn);
            mail.From = from;
            mail.Subject = strBetreff;
            mail.Body = strNachricht;

            //##########################

            mail.Attachments.Add("C:\\EMAIL.doc");

            //##########################

            string host = strSmtpServer;
            int port = 25;
            SmtpClient client = new SmtpClient(host, port);

            System.Net.NetworkCredential nc = new System.Net.NetworkCredential(strUser, strPasswort);
            client.Credentials = nc;

            client.Send(mail);
        }        
    }
}

Habe ich da einen Fehler in meinem Code oder was ist das???????

Mfg ECP

27.09.2007 - 16:41 Uhr

Hey Leute!

Wollte fragen, ob es möglich ist, dass wenn ich über StreamWriter.WriteLine eine Datei erstelle (z.B.: eine .doc-Datei) irgendwie die Schriftart für den zu schreibenden Text ändere?

Danke im Voraus für eure Antworten!

Mfg ECP

30.08.2007 - 14:27 Uhr

THX für die Hilfe ... habs schon!

Mfg ECP

30.08.2007 - 13:59 Uhr

Ich habe noch eine Frage:

Wie verwende ich

Environment.GetCommandLineArgs();

jetzt richtig?

Ich bekomme irgendwie kein Argument heraus!
Kann mir bitte jemand ein wenig auf die Sprünge helfen!

Danke im Voraus!

Mfg ECP

30.08.2007 - 11:33 Uhr

Hey Leute!

Habe mal kurz eine Frage. Ich erstelle mit meinem Programm ein File und gebe diesem File eine eigene Endung z.B. .RRF

Nun habe ich bereits für diese Endung bestimmt, dass es immer mit meinem Programm geöffnet werden soll. So weit so gut ... mein Programm öffnet sich bei Doppelklick auf die Datei!

Aber ich muss ja noch irgendwie die Felder in meinem Programm mit den Daten der angeklickten Datei füllen! Also eines ist mir klar, dass ich die selben Funktionen benutzen muss wie beim "Öffnen" einer Datei aus dem Programm heraus.

Mfg ECP

26.06.2007 - 13:54 Uhr

Hey Leute!

Will ein Programm machen, dass automatisch eine Installation eines Rechners vervollständigt! Also Office installieren, Notes installieren, Computernamen ändern und den Rechner in die Domäne hängen. Jetzt bin ich soweit, dass ich den Computernamen ändern kann. Auch den DNS Suffix kann ich beliebig ändern, aber wie kann ich ihn wirklich in die Domäne hängen?

Danke im Voraus!

Mfg ECP

22.05.2007 - 16:21 Uhr

OK, mit dem Code von dir sieht es so aus wie du es beschrieben hast, also informatikmedizin1234

Wie kann ich das machen , so wie ich es will, stehe gerade voll auf der Leitung!

EDIT:

Mache ich das ganze so, also ohne die ID, dann funktioniert es und die Combobox wird so gefüllt wie ich das will -->

Informatik
Medizin
...


MySqlCommand commandstud = connection.CreateCommand();
commandstud.CommandText = "SELECT studiengang FROM studiengang";
MySqlDataReader ReaderStud;
ReaderStud = commandstud.ExecuteReader();
                
while (ReaderStud.Read())
{
     string stud = "";
     for (int i = 0; i < ReaderStud.FieldCount; i++)
     {
             stud += ReaderStud.GetValue(i).ToString();
     }
}

cbxStudiengang.Items.Add(stud + stid);

Mfg ECP

22.05.2007 - 16:18 Uhr

Probier es gleich mal!

Nein, sollte dann meiner Meinung nach so aussehen

1 Informatik
2 Medizin
3 Maschinenbau ....

22.05.2007 - 16:10 Uhr

Nein, bekomme noch immer die Fehlermeldung wie oben beschrieben!

EDIT:

Die ID sollte dann so in der Klammer stehen, habe ich vorher vergessen!


cbxStudiengang.Items.Add("(" + stid + ") " + stud);

Mfg ECP

22.05.2007 - 16:01 Uhr

Und was sollte ich jetzt umändern?

Mfg ECP

22.05.2007 - 15:51 Uhr

Hey Leute, bekomme bei folgendem Code, dass Problem, dass ich mein Programm ausführen kann, aber wenn ich zu diesem Programmcode komme, bringt er mir die Infomeldung: "There is already an open DataReader associated with this Connection which must be closed first"

So hier mal der Programmcode (wenn nötig stelle ich mehr Code bereit!)


MySqlCommand commandstud = connection.CreateCommand();
MySqlCommand commandstid = connection.CreateCommand();

commandstud.CommandText = "SELECT studiengang FROM studiengang";
commandstid.CommandText = "SELECT idStudiengang FROM studiengang";

MySqlDataReader ReaderStud;
MySqlDataReader ReaderStID;

ReaderStud = commandstud.ExecuteReader();
ReaderStID = commandstid.ExecuteReader();
                
string stud = "";
string stid = "";

while (ReaderStud.Read())
{
     for (int i = 0; i < ReaderStud.FieldCount; i++)
     {
             stud += ReaderStud.GetValue(i).ToString();
     }
}

ReaderStud.Close();

while (ReaderStud.Read())
{
      for (int j = 0; j < ReaderStID.FieldCount; j++)
      {
              stid += ReaderStID.GetValue(j).ToString();
      }                    
}

cbxStudiengang.Items.Add(stud + stid);

also, was passiert: Er soll beide Einträge aus der Datenbank in die Combobox schreiben, also StudiengangID und den Studiengang nebeneinander!

Ich weis, ich könnte die Query ändern auf SELECT * ... aber ich will die einzeln wegspeichern!

Mfg ECP

14.05.2007 - 14:07 Uhr

Hey Leute!

Wie kann ich es z.B. machen von einem Textfeld der Form2 den Text in eine Variable zu speichern, die ich dann in der Form1 verwenden will?

Bitte um Unterstützung!

Danke im Voraus!

Mfg ECP

14.05.2007 - 10:47 Uhr

Hey Leute, blöde Frage, aber ich hab es vorher noch nie gebraucht!

Ich will eine Datei im Usertemp Verzeichnis erstellen, aber wie mache ich das?


StreamWriter temp = new StreamWriter(%temp%, false);

So hätte ich es probiert, aber natürlich schreit er mir da, dass er %temp% nicht kennt!
Bitte um kurze Unterstützung!

Danke im Voraus!

Mfg ECP

30.04.2007 - 13:24 Uhr

Hey Leute!

Also, ich möchte ein Programm erstellen, für eine Fachhochschule!
Fällt eine Vorlesung aus, da ein Prof. nicht da ist, so soll eine SMS an alle Studenten geschickt werden, die an diesem Tag noch bei diesem Prof. eine Vorlesung haben.

Was brauche ich zu einem SMS Versand über meine Anwendung?
Welche Unternehmen gibt es, die so etwas anbieten?
Ist Clickatell so ein Unternehmen, wenn ja, brauche ich noch etwas dazu usw...

Danke im Voraus!

Mfg ECP

30.04.2007 - 10:36 Uhr

Hey Blackbrother!

Ich möchte mir auch ein Programm basteln, dass massen SMS versenden kann.
Nun ist meine Frage, ob du bereits Erfahrungen mit ActiveXPerts SMS und Pager Gateway hast?

Wenn man sich die Demo runterlädt, bekommt man ja da Beispielprogramme dazu.
Nun meine Frage: Sind die Einstellungen für die SMS Versendung per SMPP, wie Username, Passwort, Server und Serverport richtig? Da ich mich nicht Connecten kann, denke ich eher nicht oder?

Mfg ECP

27.04.2007 - 09:32 Uhr

Hey Leute!

Problem: Wenn in der Listbox1 (lstXProPath), in der nur Pfade stehen, eine Zeile ausgewählt wird, in der DOCCTL steht, soll in der Listbox2 (lstXPro) auch der Eintrag DOCCTL gelöscht werden!

Wenn ich es wie folgt mache funktioniert es ja nicht, da SelectedItems.Contains()
das komplette Objekt (in diesem Fall den kompletten Pfad) braucht, kann ich das noch irgendwie anders lösen?


private void btndeleteXpro_Click(object sender, EventArgs e)
{
     if (lstXproPath.SelectedItems.Contains("*\\docctlTX.ASC") == true)
     {
           if (lstXPro.Items.Contains("docctl") == true)
           {
                    lstXPro.Items.Remove("docctl");
            }
     }
}

Mfg ECP