Deutsch
Forum

Ping-Tool über CMD

 
- Seite 1 -



Penguin
Tux
Hallo,

ich möchte mich ersteinmal vorstellen. Mein Name ist Tony, ich bin 15 Jahre alt und besuche eine Realschule in Chemnitz. Da ich jetzt Sommerferien habe und ich nichts weiter zu tun habe, habe ich mir vorgenommen ein kleines Netzwerkanalysetool zu schreiben. Auf der suche nach einer einfachen Programmiersprache bin ich auf XProfan gestoßen.

Ich habe alles nötige gedownloaded und installiert, anschließen habe ich nach einem Pingcode gesucht und habe diesen:
declare pingstring$,ping$,ping%
********************************************************************

Proc Ping

    Parameters nic$,pingdatei1$,pingdatei2$
    let pingstring$="PING.EXE",nic$,">",pingdatei1$
    Assign #6,pingdatei2$
    Rewrite #6
    Print #6,pingstring$
    Close #6
    WinExecwait(pingdatei2$,0)
    Assign #5,pingdatei2$
    Erase #5
    ASSIGN #3,pingdatei1$
    RESET #3
    Ping%=0

    WHILENOT EOF(#3)

        input #3,ping$
        ping$=mid$(ping$,1,11)
        case equ$(ping$,"Antwort von"):Ping%=1

    WEND

    CLOSE #3
    Assign #1,pingdatei1$
    Erase #1

EndProc

********************************************************************
Beschreibung:
Es gibt zwar schon eine schnelle und schöne Onlineabfrage über API,
aber leider gibt die Funktion nur 1 für Online zurück, wenn
man über ein Standart DFÜ eingewählt ist.
Diese Prozedur ist halt nur etwas langsamer aber man kann sogar DSL
(also - keine DFÜ-Verbindung) oder das alte T-Online u.s.w abfragen!!
alles mit einem Stern umrandete ist wichtig für die Abfrage
Rolf Koch - Rokosoftware - Koblenz 2002
BEISPIEL
WINDOWSTYLE 31
Window 200,200-300,80
Windowtitle "Onlinstatus-Prüfung ohne Api"
TextColor RGB(0,0,255),-1
UseFont "TIMES NEW ROMAN",20,10,0,0,0
DRAWTEXT 40,10,"..moment ermittele!"
HIER JETZT DER AUFRUF DER PROZEDUR:********************
PING ADRESSE,ERGEBNISDATEI,BATCHDATEI
Parameter
1.) Webadresse - eine immer vorhandene wie www.nic.de
2.) Dateiname, in welche Pingergebnis geschrieben wird - wird wieder gelöscht!
3.) Dateiname, um Ping korrekt aufzurufen. - wird wieder gelöscht!
********************************************************
TextColor RGB(255,255,255),RGB(255,255,255)
DRAWTEXT 40,10,"                                "
UseFont "TIMES NEW ROMAN",25,20,1,0,0
TextColor RGB(0,0,255),-1
Ping "192.168.0.7","PINGTEST.TXT","PING.BAT"

if equ(ping%,1)

    DRAWTEXT 25,10,"Erreichbar"

else

    DRAWTEXT 25,10,"Nicht erreichbar"

endif

waitinput

Diesen Code habe ich mir nach meinen Bedürfnissen zurechtgeschnitten und er sieht wie folgt aus. Dazu müsste ich die von mir ausgedachte Funktionsweise erklären.

Es ist geplant, dass ich ein Tool schreibe, welches möglichst einfach eine erste Hilfe für Schüler und Lehrer bietet. Bemerkt ein User das er keinen Internetzugang hat, führt er das Tool aus, welches der Reihe nach erst den Server anpingt, dann einen anderen Client im Netzwerk und dann noch einen Rechner von außerhalb (z.B. Google). Wenn es bei einer der Schritte keine Rückmeldung gibt, soll eine Meldung mit Tips zur Behebung auf dem Bildschrim erscheinen.

Nun zum Code:
declare pingstring$,ping$,ping%

Proc Ping

    Parameters nic$,pingdatei1$,pingdatei2$
    let pingstring$="PING.EXE",nic$,">",pingdatei1$
    Assign #6,pingdatei2$
    Rewrite #6
    Print #6,pingstring$
    Close #6
    WinExecwait(pingdatei2$,0)
    Assign #5,pingdatei2$
    Erase #5
    ASSIGN #3,pingdatei1$
    RESET #3
    Ping%=0

    WHILENOT EOF(#3)

        input #3,ping$
        ping$=mid$(ping$,1,11)
        case equ$(ping$,"Antwort von"):Ping%=1

    WEND

    CLOSE #3
    Assign #1,pingdatei1$
    Erase #1

EndProc

WINDOWSTYLE 31
Window 200,200-500,80
Windowtitle "Onlinstatus-Prüfung ohne Api"
TextColor RGB(0,0,255),-1
UseFont "TIMES NEW ROMAN",20,10,0,0,0
DRAWTEXT 40,10,"..moment ermittele!"
TextColor RGB(255,255,255),RGB(255,255,255)
DRAWTEXT 40,10,"                                "
UseFont "CANDARA",25,20,1,0,0
Ping "127.0.0.1","PINGTEST.TXT","PING.BAT"

if equ(ping%,1)

    TextColor RGB(0,255,0),-1
    DRAWTEXT 25,10,"Server Erreichbar"

else

    TextColor RGB(255,0,0),-1
    DRAWTEXT 25,10,"Server Nicht erreichbar"

endif

Ping "192.168.0.1","PINGTEST.TXT","PING.BAT"

if equ(ping%,1)

    TextColor RGB(0,255,0),-1
    DRAWTEXT 25,10,"Client Erreichbar"

else

    TextColor RGB(255,0,0),-1
    DRAWTEXT 25,10,"Client Nicht erreichbar"

endif

Ping "www.google.de","PINGTEST.TXT","PING.BAT"

if equ(ping%,1)

    TextColor RGB(0,255,0),-1
    DRAWTEXT 25,10,"Google Erreichbar"

else

    TextColor RGB(255,0,0),-1
    DRAWTEXT 25,10,"Google Nicht erreichbar"

endif

waitinput

Ein Problem, welches sich zur Zeit auftut, ist die Tatsache das der Fensterinhalt nicht gelöcht wird. Das heißt das "Server Erreichbar", "Client Erreichbar" und "Google Erreichbar" übereinander geschrieben werden, also brauche ich eine Möglichkeit den Inhalt des Fensters nach jedem Schritt zu löschen. Dabei bin auf

gestoßen. Nutze ich diese Möglichkeit vor bzw. nach "Server Erreichbar" wird "Server Erreichbar" gar nicht angezeigt.

Für eine kleine Hilfestellung wäre ich sehr dankbar.

Danke
Tony
 


OS: Win XP/Debian
XProfan 10
20.07.2008  
 



 
- Seite 4 -



Stefan
Landsberg
@dietmar
super dann lad ich mir den mal schnell runter.

@tony
danke für die ermutigende schadenfreude

nein scherz

@all
irgendwie hab ich das gefühl dass tony und ich hier die halbe community auf trab halten ich hoffe das nimmt uns keiner übel!
 
20.07.2008  
 




Penguin
Tux

KompilierenMarkierenSeparieren
declare pingstring$, ping$, ping%

Proc Ping

    Parameters nic$,pingdatei1$,pingdatei2$
    let pingstring$="PING.EXE",nic$,">",pingdatei1$
    Assign #6,pingdatei2$
    Rewrite #6
    Print #6,pingstring$
    Close #6
    WinExecwait(pingdatei2$,0)
    Assign #5,pingdatei2$
    Erase #5
    ASSIGN #3,pingdatei1$
    RESET #3
    Ping%=0

    WHILENOT EOF(#3)

        input #3,ping$
        ping$=mid$(ping$,1,11)
        case equ$(ping$,"Antwort von"):Ping%=1

    WEND

    CLOSE #3
    Assign #1,pingdatei1$
    Erase #1

EndProc

WINDOWSTYLE 31
Window 200,200-500,180
Windowtitle "PiRePro by penguin"
TextColor RGB(0,0,255),-1
UseFont "TIMES NEW ROMAN",20,10,0,0,0
DRAWTEXT 40,10,"..moment ermittele!"
TextColor RGB(255,255,255),RGB(255,255,255)
DRAWTEXT 40,10,"                                "
UseFont "CANDARA",25,20,1,0,0
Ping "127.0.0.1","PINGTEST.TXT","PING.BAT"

if equ(ping%,1)

    TextColor RGB(0,255,0),-1
    DRAWTEXT 25,10,"Server Erreichbar"

else

    TextColor RGB(255,0,0),-1
    DRAWTEXT 25,10,"Server Nicht erreichbar"

endif

Hier Code für Fehlermeldung/Tipbox
Ping "192.168.0.1","PINGTEST.TXT","PING.BAT"

if equ(ping%,1)

    TextColor RGB(0,255,0),-1
    DRAWTEXT 25,40,"Client Erreichbar"

else

    TextColor RGB(255,0,0),-1
    DRAWTEXT 25,40,"Client Nicht erreichbar"

endif

Hier Code für Fehlermeldung/Tipbox
Ping "www.google.de","PINGTEST.TXT","PING.BAT"

if equ(ping%,1)

    TextColor RGB(0,255,0),-1
    DRAWTEXT 25,70,"Extern Erreichbar"

else

    TextColor RGB(255,0,0),-1
    DRAWTEXT 25,70,"Extern Nicht erreichbar"

endif

Hier Code für Fehlermeldung/Tipbox
Hier Code für Meldung des Erfolgs
TextColor RGB(0,0,0),-1
UseFont "CANDARA",15,10,1,0,0
DRAWTEXT 25,120,"Zum Beenden drücken Sie bitte eine beliebige Taste"
waitinput

Hab "Zum Beenden drücken Sie bitte eine beliebige Taste" mal etwas schöner gestaltet.

Ich werde mal weiter nach ner Möglichkeiten suchen Links zu setzen.
 


OS: Win XP/Debian
XProfan 10
20.07.2008  
 




Stefan
Landsberg
so jetz ist die schrift besser.
frage: was soll eigentlich die abfrage von 127.0.0.1 bringen. soweit ich weiß ist das der eigene pc und dadurch IMMER erreichbar.

ich bin bei meinem programm steckengeblieben weil ich nicht weiß wo ich weitermachen soll. ich hab jetz den object creator und hab damit ein fenster gestaltet. aber was ich mit dem code davon machen soll weiß ich nicht. ich weiß auch nicht wie ich inhalte von textfeldern abfrage oder buttons funktionen zuordne.
 
20.07.2008  
 




Penguin
Tux
Diese IP`sind auch nur Test-IP`s die die Funktionalität zeigen sollen. Ich könnte jetzt auch die IP des Servers der Schule reinschmeißen, das brungt bei mir zu Hause ja nichts.

Solange ich nicht weiß ob das mit den Links geht, versuche ich mich nochmal an nem Fenster.

Wenn ich das Fenster fertig hab, hab ich doch einen Code den ich meinen Quelltext einfügen muss das würde ich am liebsten mit "if" machen, da sich das Fenster ja nur öffnen soll, wenn z.B. "Server NIcht Erreichbar" ist.

Was muss ich dafür schreiben?

Edit: Ich habe mir jetzt überlegt mir ROC ein Fenster zu bauen, welches auf die Hilfedatei verlinkt, aber dazu benötige ich ja wieder die Funktion zum Verlinken auf eine *.doc datei. Im Internet habe ich auch nichts gefunden, jetzt brauch ich wirklich mal Hilfe *liebguck*
 


OS: Win XP/Debian
XProfan 10
20.07.2008  
 




Stefan
Landsberg
schon klar, dass die (interne) ip des schulservers jetz nichts bringt. ich dachte bloss du wolltest das programm dann mit diesen ips compilieren. aber wenn du sie vorher änderst ist das ja was anderes

zum verlinken:
ich denke mal das geht am einfachsten über einen button. wie das genau geht versuche ih aber auch rauszufinden.

und ne doc datei würde ich dann nur nehmen wenn auf allen pcs der schule garantiert word drauf ist. ne alternative wäre (einfach) ein fenster zu machen und da den text einzufügen (sowas ähnliches wie ne messagebox).
 
21.07.2008  
 




Penguin
Tux
Guten Morgen Stefan,

Word bzw. OpenOffice ist auf allen Rechnern installiert, aber alles in eine Messagebox zu stecken, halte ich letztendlich auch für sinnvoller.

Ich schreibe also alles in ein Fenster und schreibe als Aktion für den Button einfach "waitinput", das müsste ja dann das Fenster schließen.

Edit: Ich brauche nocheinmal Hilfe beim Einrichten von ROC. Am Anfang werde ihc nach dem Standartinterpreter und einigen anderen Einstellungen gefragt. Jetzt weiß ich nicht wo ich den Interpreter finde und welche der anderen Optionen ich am besten wähle.
 


OS: Win XP/Debian
XProfan 10
21.07.2008  
 




Stefan
Landsberg
so kann mans machen. und um deine frage zu der if abfrage zu beantworten, die müsste meiner bescheidenen meinung nach
KompilierenMarkierenSeparieren
if equ(ping_1%,0)


oder
KompilierenMarkierenSeparieren
if ping_1%=0


lauten.

den interpreter findest du im installationsverzeichnis von (x)profan. wo das bei dir ist weiß ich nicht. normalerweise im ordner Crogramme*hier der name des profan ordners*
 
21.07.2008  
 




Penguin
Tux
Ich habe die Idee mit dem "if" ersteinmal bei Seite geschoben, weil es doch unnötig wäre. Solange ich "if/else" habe kann ich das Fenster doch auch noch zu "else" schreiben. Wenn ich jetzt Mist erzählt habe, freue ich mich natürlich wenn mich jemand verbessert.

Edit: Den Interpreter habe ich jetzt gefunden. Will ich aber mein Fenster testen, bekomme ich eine Fehlermeldung (Es ist noch die Version von den Hilfedokumenten):

Bild:  [...] 
 


OS: Win XP/Debian
XProfan 10
21.07.2008  
 




Jörg
Sellmeyer
Tja, sieht aus, als ob D u irgendwo ein EndProc vergessen hast. An Deiner Stelle würde ich eher noch ein bischen "zu Fuß" programmieren, und das Fenster ohne grafische Hilfe aufbauen. Dabei lernst Du mehr, als wenn Du das Programm zusammenklickst. Wenn Du es doch machst, sieh Dir den erzeugten Code genau an. Da kannst Du eine Menge über die Strukturierung eines Programmes lernen.
Gruß
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
21.07.2008  
 




Penguin
Tux
Das ENDPROC fehlt in einer Datei, die im Ordner von ROC liegt. Und an der habe ich nichts gemacht. Also muss an etwas anderem liegen.
 


OS: Win XP/Debian
XProfan 10
21.07.2008  
 



@Tony: Dateien (wie z.B. auch Bilder) bitte hier hochladen, bei Drittanbietern ist mir immer unklar wie lange der Inhalt gehostet wird und in welcher Qualität. Du kannst über den Beitrageditor so viel hochladen wie Du möchtest, was auch den Vorteil hat, dass Du einen Downloadzähler angezeigt bekommst.
 
21.07.2008  
 




Penguin
Tux
Ich werde es mir merken
 


OS: Win XP/Debian
XProfan 10
21.07.2008  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

23.790 Betrachtungen

Unbenanntvor 0 min.
Georg Teles01.08.2023
Thomas Freier06.10.2022
Langer30.01.2021
Walter29.01.2019
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie