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 7 -



Penguin
Tux
Ich habe jetzt mal "Def @Hide(1) @ShowWindow(@&(1), 0)" in den else bereich geschrieben und dahinter dann den Code für das Fenster geschrieben. Das Fenster erscheint zwar, aber den Text aus dem Pingfenster kopiert es mit ins Hilfefenster
 


OS: Win XP/Debian
XProfan 10
21.07.2008  
 




Rolf
Koch
Ich bitte Dich! Lese diesen ganzen Thread von vorne bis hinten durch!
Ich schrieb ausführlich was zu DEF und Showwindow!
So kommen wir auf keinen grünen Zweig.
Sezte jetzt nochmal Deinen kmpl. Code hier hin und warte bis er verbessert wurde - Du hörst leider nicht auf das was Dir geschrieben wird. Nicht böse gemeint, aber wenn wir Tipps geben, bitte auch daraus lernen. OK?
 
21.07.2008  
 




Penguin
Tux
Stimmt, du hast recht. Ich werde heute eh etwas länger auf bleiben. da geht das.
 


OS: Win XP/Debian
XProfan 10
21.07.2008  
 




Jörg
Sellmeyer
Außerdem solltest Du Dir die Kurse in der Profanhilfe ansehen, und versuchen die Struktur zu verstehen, die so ein Programm hat.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
21.07.2008  
 



Jörg Sellmeyer
Jörg Sellmeyer
erstellst du also eins

a%=createText(...

musst Du es vor dem Programmende auch wieder


Das halte ich aber für ein Gerücht! Wenn das Elternfenster zerstört wird reicht das völlig...


Ich hatte das einfach nur absichtlich nicht gleich "so" erwähnt. Grundsätzlich sollte man immer daran denken, Dinge, welche man erzeugt, auch wieder zu freizugeben, besonders dann, wenn diese nur "geborgt" sind. (unabhängig davon das Windows einem das abnimmt und z.B. "wild" mit wm_destroy umsich wirft... *g*)
 
21.07.2008  
 




Dietmar
Horn
Hallo P(i/e)nguin,

Lade Dir für den Anfang vielleicht einfach mal meinen XProfan-Manager aus dem Download-Bereich unserer Vereins-Homepage runter  [...] 

Gerade für XProfan-Anfänger (auch noch bis runter zur aktuellen Freeware-Version Profan² 6.6) scheint das eine wahre XProfan-Fundgrube zu sein, wie mir meine XProfan-Schüler immer wieder bestätigen. Neben -zig Tools, DLLs, PCUs, INCs, Quellcode-Helfern und über 2000 Demo-Quellcodes findest Du in diesem Manager so fast ziemlich alles, was es aktuell in der XProfan-Szene gibt. Und sogar mehrere Einführungskurse (einen sogar aus meiner Feder - wenn auch schon etwas älter und evtl. leicht veraltet).

Gruß
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
21.07.2008  
 




Penguin
Tux
Ich hab mir jetzt mal euren XPM gedownloaded, von wem bekomme ich jetzt das Passwort? Falls ich es von dir bekomme, wäre ich sehr dankbar wenn du mir eine Nachricht schreiben würdest.
 


OS: Win XP/Debian
XProfan 10
22.07.2008  
 




Dietmar
Horn
PM mit XPM-PWD von mir müßte bei Dir inzwischen angekommen sein.

Gruß
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
22.07.2008  
 




Penguin
Tux
Ok, Der XPM ist installiert und ich bin gerade dabei bich mal bisschen um zu sehen.

Zu dem eigentlichen Problem.

Ich habe mir jetzt nocheinmal Rolfs Posts durchgelesen und komme immernoch nur so weit, das das Fenster zwar erscheint, aber der Text vom Ergebnissfenster steht in dem Hilfefesnter und das ist ja nicht der Sinn.
 


OS: Win XP/Debian
XProfan 10
22.07.2008  
 




Rolf
Koch
Ok, dann her mit Deinem kmpl. Code um mal zu schauen. Ich gehe davon aus, dass Du wieder die Handles verwechselst.
1x %hwnd und 1x Dlg&.
 
22.07.2008  
 




Penguin
Tux
Hier nur ein Schnipsel  [...] 

Ich habe mir gerade noch mal den Artikel zu %hWnd angeguckt und habe gemerkt, das ich %hWnd gar nicht am anfang declariert habe. Also muss ich das noch in den Declare Teil schreiben und dann vor den Befehl zum öffnen des Hauptfensters - richtig?
 


OS: Win XP/Debian
XProfan 10
22.07.2008  
 




Rolf
Koch
Nagut bisschen geändert:
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 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 ping%=1

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

else

    TextColor RGB(255,0,0),-1
    DRAWTEXT 25,10,"Server Nicht erreichbar" wird ja auf dem Hauptfenster angezeigt!
    Du kannst ja auch nur ein Hauptfenster haben mit WINDOW x,x-y,y
    also hier ein createdialog oder createwindow als Unterfenster (Kindfenster)
    Declare btndlg&,dlgende%,dlg&
    dlg&=Create("Window",%hwnd,"Hilfe",10,10,500,400)
    btnDlg& = CreateButton(dlg&,"OK",10,10,120,30)

    WhileNot dlgende%

        WaitInput

        If GetFocus(btnDlg&)

            dlgende% = 1

        EndIf

    Endwhile

endif

waitinput  lieber oben bei ping%=1

Und NEIN %hwnd musst Du nicht declarieren, denn % steht vor dem String hwnd - ist also eine feste Variable von Profan selbst! Sonst würde es hwnd% lauten

Also nur ein Hauptfenster mit %hwnd und Kindfenster per create("DIALOG"... oder create("WINDOW".... (siehe Hilfe) erstellen!
 
22.07.2008  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

24.047 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