Laden...

Forenbeiträge von Cyberlink Ingesamt 4 Beiträge

28.02.2005 - 18:20 Uhr

Hi Suny,
danke nochmals für deine Hilfe. Im Endeffekt sieht mein Code nun so aus (kann nicht this verwenden weil ich eine TabControl drin habe). Klappt aber einwandfrei 🙂


        private void getServerStatus() {
            string[] arrIP = {
                "xxx.xxx.xxx.xxx",
                "xxx.xxx.xxx.xxx",
                "xxx.xxx.xxx.xxx",
                "xxx.xxx.xxx.xxx",
                "xxx.xxx.xxx.xxx",
                "xxx.xxx.xxx.xxx",
                "xxx.xxx.xxx.xxx",
                "xxx.xxx.xxx.xxx",
                "xxx.xxx.xxx.xxx",
                "xxx.xxx.xxx.xxx"
            };

            int x = 79;
            int y = 40;
            int c = 0;
            int i = 1;
            float s = arrIP.Length;
            int Width = 40;
            int Height = 14;
            Label servlabel;

            foreach(string ipOutput in arrIP) {
                servlabel = new Label();
                servlabel.Location = new System.Drawing.Point(x, y + c);
                servlabel.Name = "label1";
                servlabel.Size = new System.Drawing.Size(Width, Height);
                servlabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                servlabel.ForeColor = System.Drawing.Color.Lime;
                servlabel.TabIndex = i;
                servlabel.Text = "Online";
                try { Dns.GetHostByAddress(arrIP[i - 1]); }
                catch (Exception)
                {
                    servlabel.Text = "Offline";
                    servlabel.ForeColor = System.Drawing.Color.Firebrick;
                }
                serverPage.Controls.Add(servlabel);
                c = c + 19;
                if ((i - s / 2 >= 0) && (i - s / 2 < 1))
                {
                    x = 254;
                    c = 0;
                }
                i++;
            }
        }

25.02.2005 - 14:05 Uhr

Vielen Dank für die schnelle Antwort 🙂

Meine Form ist sehr klein 458; 287
Ich habe derzeit 9 Server im Netz, von daher werde ich es einmal mit der Berechnung versuchen.

Danke nochmals 🙂

25.02.2005 - 14:00 Uhr

Schau mal hier vorbei:

http://themes.belchfire.net/index.php?showforum=7

oder

http://www.foood.net/

[Edit]
tss da vergess ich doch glatt die wichtigste Seite:
http://www.everaldo.com/downloads.htm

Das Crystal SVG ist sehr zu empfehlen, aber leider wurde es noch nicht ins .ico Format übertragen

25.02.2005 - 13:28 Uhr

Nachdem ich hier mehrere Suchabfragen gemacht habe und auch in Google nicht wirklich etwas Brauchbares finden konnte hoffe ich ihr könnt mir bei meinem kleinen Newbie (habe vor 5Tagen mit C# begonnen und zuvor eigentlich ausschliesslich PHP gescriptet) Problem helfen.

Absicht:
Es geht darum, dass ich ein kleines SupportTool programmiere welches sich auf einem Server befindet und von den Clients beim Start ausgeführt wird, das Tool liefert dem Benutzer verschiedene Informationen (News, Wartungsarbeiten, Serverstatus, etc.)

Die Verbindung mit MySQL habe ich dank diesem Forum hier hingekriegt und auch der Rest klappt eigentlich wunderbar bis auf die Sache mit dem Serverstatus.

Problem:
Das Tool überprüft beim Start kurz den Zustand aller Server im Netzwerk und zeigt den Status dem Benutzer entsprechend an.
Nun habe ich jedoch hiermit ein Problem. Ich lade die IPs und die Labelnamen welche anschliessend ersetzt werden sollen in ein Array (derzeit noch 2 1D Arrays zum Testen)
Anschliessend überprüft das Programm den Status des Server anhand der IP und soll dann das Label entsprechend setzen (standartmässig ist es in Lime und auf Online gesetzt)
Da ich den Code möglichst kurz halten möchte mache ich dies mit einer Schleife.

Nur habe ich keine Ahnung, wie man die Labels dynamisch setzen kann.

Hier mal mein Code:


private void getServerStatus() {
            string[] arrIP = {
                "xxx.xxx.xxx.xxx",
                "xxx.xxx.xxx.xxx"
            };

            string[] arrServer = {
                "zserv01Status",
                "zserv02Status"
            };


            IPHostEntry hostInfo = new IPHostEntry();
            for(int i=0; i<2; i++) {
                try { hostInfo = Dns.GetHostByAddress(arrIP[i]); }
                catch (Exception) {
                    arrServer[i].Text = "Offline";
                    zserv01Status.ForeColor = System.Drawing.Color.Firebrick;
                }
            }
}

Wie ihr sehen könnt möchte ich, falls ein Server keine Antwort gibt, den entsprechenden Label-Text auf Offline schalten und die Farbe ändern.
Für jeden Server existiert ein label in der Form:
zserv01Status
zserv02Status
zserv03Status
...usw

wie ihr im Code ebenfalls erkennen könnt, versuche ich nun den Labelnamen aus dem Array auszulesen,

arrServer[i].Text = "Offline";

nur klappt das nicht wirklich. (Ich sags ja..eine absolute Newbie Frage)

Ich frage solche Dinge normalerweise nicht sondern versuche selbst dahinter zu kommen aber ich stecke hier irgendwie in einer Sackgasse und wäre daher froh wenn mir jemand helfen oder einfach einen Hinweis geben könnte in welche Richtung ich suchen muss.

Danke 🙂