Français
Forum

Ping-Tool sur CMD

 
- page 1 -



Penguin
Tux
Salut,

je voudrais mich ersteinmal présenter. mon nom ist Tony, je suis 15 Jahre vieux et besuche une Realschule dans Chemnitz. là je maintenant Sommerferien habe et je rien plus trop 1faire habe, habe je mir vorgenommen un kleines Netzwerkanalysetool trop écrivons. sur qui cherche pour einer einfachen Programmiersprache suis je sur XProfan gestoßen.

j'ai alles nötige gedownloaded et installiert, anschließen habe je pour einem Pingcode gesucht et habe cette:
declare pingstring$,ping$,ping%
********************************************************************

Proc Ping

    Paramètres nic$,pingdatei1$,pingdatei2$
    let pingstring$="PING.EXE",nic$,">",pingdatei1$
    Assign #6,pingdatei2$
    Rewrite #6
    Imprimer #6,pingstring$
    Fermer #6
    WinExecwait(pingdatei2$,0)
    Assign #5,pingdatei2$
    Effacer #5
    ASSIGN #3,pingdatei1$
    RESET #3
    Ping%=0

    WHILENOT EOF(#3)

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

    WEND

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

ENDPROC

********************************************************************
Beschreibung:
Es gibt zwar déjà une schnelle et belle Onlineabfrage über API,
mais malheureusement gibt qui Funktion seulement 1 pour Online zurück, si
on über un Standart DFÜ eingewählt est.
cet Procédure ist arrêt seulement quelque chose langsamer mais on peux sogar DSL
(alors - aucun DFÜ-liaison) ou bien cela vieille T-Online u.s.w abfragen!!
alles avec einem Stern umrandete ist important pour qui Abfrage
Rolf Koch - Rokosoftware - Koblenz 2002
BEISPIEL
WINDOWSTYLE 31
Fenêtre 200,200-300,80
Windowtitle "Onlinstatus-Prüfung sans Api"
Couleur du texte RGB(0,0,255),-1
UseFont "TIMES NEW ROMAN",20,10,0,0,0
DRAWTEXT 40,10,"..moment ermittele!"
ICI JETZT DER AUFRUF DER PROZEDUR:********************
PING ADRESSE,ERGEBNISDATEI,BATCHDATEI
paramètre
1.) Webadresse - une toujours vorhandene comment www.nic.de
2.) Dateiname, dans quelle Pingergebnis geschrieben wird - wird wieder gelöscht!
3.) Dateiname, um Ping korrekt aufzurufen. - wird wieder gelöscht!
********************************************************
Couleur du texte RGB(255,255,255),RGB(255,255,255)
DRAWTEXT 40,10,"                                "
UseFont "TIMES NEW ROMAN",25,20,1,0,0
Couleur du texte RGB(0,0,255),-1
Ping "192.168.0.7","PINGTEST.TXT","PING.BAT"

si equ(ping%,1)

    DRAWTEXT 25,10,"Erreichbar"

d'autre

    DRAWTEXT 25,10,"Nicht erreichbar"

endif

waitinput

Diesen Code habe je mir pour meinen Bedürfnissen zurechtgeschnitten et il voit comment folgt aus. en supplément devrait je qui de mir ausgedachte Funktionsweise expliquer.

c'est geplant, dass je un Tool schreibe, welches possible simple une erste Aider pour Schüler et l'instituteur bietet. Bemerkt un User cela il keinen Internetzugang hat, führt il Tool aus, welches qui Reihe pour seulement den Server anpingt, ensuite une anderen Client im Netzwerk et ensuite encore une calculateur de außerhalb (z.B. Google). si es chez einer qui Schritte aucun Rückmeldung gibt, soll une annonce avec Tips zur Behebung sur dem Bildschrim erscheinen.

eh bien zum Code:
declare pingstring$,ping$,ping%

Proc Ping

    Paramètres nic$,pingdatei1$,pingdatei2$
    let pingstring$="PING.EXE",nic$,">",pingdatei1$
    Assign #6,pingdatei2$
    Rewrite #6
    Imprimer #6,pingstring$
    Fermer #6
    WinExecwait(pingdatei2$,0)
    Assign #5,pingdatei2$
    Effacer #5
    ASSIGN #3,pingdatei1$
    RESET #3
    Ping%=0

    WHILENOT EOF(#3)

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

    WEND

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

ENDPROC

WINDOWSTYLE 31
Fenêtre 200,200-500,80
Windowtitle "Onlinstatus-Prüfung sans Api"
Couleur du texte RGB(0,0,255),-1
UseFont "TIMES NEW ROMAN",20,10,0,0,0
DRAWTEXT 40,10,"..moment ermittele!"
Couleur du texte 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"

si equ(ping%,1)

    Couleur du texte RGB(0,255,0),-1
    DRAWTEXT 25,10,"Server Erreichbar"

d'autre

    Couleur du texte RGB(255,0,0),-1
    DRAWTEXT 25,10,"Server pas erreichbar"

endif

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

si equ(ping%,1)

    Couleur du texte RGB(0,255,0),-1
    DRAWTEXT 25,10,"Client Erreichbar"

d'autre

    Couleur du texte RGB(255,0,0),-1
    DRAWTEXT 25,10,"Client pas erreichbar"

endif

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

si equ(ping%,1)

    Couleur du texte RGB(0,255,0),-1
    DRAWTEXT 25,10,"Google Erreichbar"

d'autre

    Couleur du texte RGB(255,0,0),-1
    DRAWTEXT 25,10,"Google pas erreichbar"

endif

waitinput

un Problem, welches sich zur Zeit auftut, ist qui Tatsache cela qui Fensterinhalt pas gelöcht wird. cela est cela "Server Erreichbar", "Client Erreichbar" et "Google Erreichbar" übereinander geschrieben volonté, alors brauche je une Possibilité den le contenu des Fensters pour chaque Schritt trop effacer. Dabei suis sur

gestoßen. Nutze je cet Possibilité avant bzw. pour "Server Erreichbar" wird "Server Erreichbar" gar pas angezeigt.

Pour une kleine Hilfestellung wäre je très reconnaissant.

merci
Tony
 


OS: Win XP/Debian
XProfan 10
20.07.2008  
 



 
- page 8 -



Stefan
Landsberg
%hwnd brauchst du imho pas déclarer. chez mir allez jedenfalls aussi sans es auparavant trop déclarer. (trop spät. rolf était plus rapide)

j'ai chez meinem programm nochmal entier de vorn angefangen et habe jetz un paire fragen.
vorweg erstmal qui aktuelle zustand meines programms:
KompilierenMarqueSéparation
Declare-Teil:
declare ping%, btn%
Proc-Teil:

Proc Ping

    declare pingdatei1$, pingdatei2$, pingstring$, ping$
    Parameters ip$
    let pingdatei1$="PINGTEST.TXT"
    let pingdatei2$="PING.BAT"
    let pingstring$="PING.EXE",ip$,">",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

Def-Teil:
DEF GetSysColor(1) !"User32","GetSysColor"
Fenster erstellen:
WindowStyle 63
WindowTitle "IP Checker"
Window @SUB(@DIV(%maxX,2),300),@SUB(@DIV(%maxY,2),250) - 600,500
SetTrueColor 1
CLS GetSysColor(15)
@CreateMultiEdit(%HWnd,"",10,50,570,-200)
btn%=@CreateButton(%HWnd,"Überprüfen",250,260,100,30)
WaitInput

dans qui EditBox soll qui User une liste de IPs bzw en Aliase par absätze (zur not aussi kommata ou bien semikola) getrennt eingeben.

mon but ist es pour chacun cette IPs une ping abfrage trop faire.

comment fais je cela am besten?

mon concept:
den le contenu qui editbox avec @GETLINE$ dans un Bereichsvariable einlesen, et ensuite irgendwie chacun ip dans un string variable écrivons. wohin une neue ip anfäng erkennt on oui à den absätzen (mais comment sage je cela dem programm).

après simple avec chacun variable folgende abfrage faire:

ping variable$

si le concept bien et umsetzbar ist wäre es gentil si quelqu'un mir chez qui umsetzung aider serait.
si le concept pas si bien ist, wäre une récente concept très hilfreich
 
22.07.2008  
 




Penguin
Tux
merci Rolf, cela Grundprinziep habe je lente gerafft - bien sûr jusqu'à je es wirklich peux dauert es encore une Weile.

je kümmere mich justement tout autor cela miene Hilfefenster aussi une Hilfetext bekommen, vorerst seulement avec "Print", dabei suis je sur cela Problem gestoßen, dass il mir zwar den Text ausgibt, mais pour den Button pas.
 


OS: Win XP/Debian
XProfan 10
22.07.2008  
 




Rolf
Koch
comment devoir nous savons wohin es pas klappt? toujours un kurzes Beispiel anhängen.
 
22.07.2008  
 




Penguin
Tux
eh oui, je vergaß
KompilierenMarqueSéparation
Declare btndlg&,dlgende%,dlg&
dlg&=Create("Window",%hwnd,"Hilfe",10,10,500,250)
btnDlg& = CreateButton(dlg&,"OK",175,150,120,30)
Print "Lorem ipsum dolor sit amet"

WhileNot dlgende%

    WaitInput

    If GetFocus(btnDlg&)

        dlgende% = 1

    EndIf



OS: Win XP/Debian
XProfan 10
22.07.2008  
 




Rolf
Koch
Achso tu veux sur dlg& printen? Nee c'est pas possible, prends lieber ensuite wieder drawtext, car là kannste:
KompilierenMarqueSéparation
Startpaint dlg&
Drawtext 1,1,"Lorem ipsum dolor sit amet"
Endpaintre>

et lies s'il te plaît dans qui Profanhilfe ensuite sous startpaint /endpaint pour, car cela Problem pour createdialog ou bien createwindow ist, dass Du là toujours cela gedrawte neuzeichnen musst. Siehe pour %wmpaint dans qui HIlfe.
je plediere pour lass qui imprimer et drawtext weg et lerne create("text".... einzusetzen. là kannste De toute façon joli per
settext variable&,"neuer text" une aktualisierung des Inhalts faire.
 
22.07.2008  
 




Penguin
Tux
So, merci à alle qui mir geholfen avons - qui "Alpha-Version" meines Tools ist fertig.
jusqu'à sur qui Fehlenden Hilfetexte et qui annonce des Erfolges, quelle pas plus cela Problem son pourrait, fehlt pas plus viel. peut-être erweitere je cela ganze encore um une GUI um beliebige IP´s à trop pingen, mais là attends je erstmal sur Stefans Tool .

ici qui (presque) fertige Code, qui naturellement immernoch qui Test-IP´s contient:
KompilierenMarqueSéparation
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"
    Declare btndlg&,dlgende%,dlg&
    dlg&=Create("Window",%hwnd,"Hilfe",10,10,500,250)
    Startpaint dlg&
    UseFont "CANDARA",25,20,1,0,0
    TextColor RGB(0,0,0),RGB(255,255,255)
    Drawtext 1,1,"Lorem ipsum dolor sit amet"
    Endpaint
    btnDlg& = CreateButton(dlg&,"OK",175,150,120,30)

    WhileNot dlgende%

        WaitInput

        If GetFocus(btnDlg&)

            dlgende% = 1

        EndIf

    Endwhile

endif

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"
    Declare btndlg&,dlgende%,dlg&
    dlg&=Create("Window",%hwnd,"Hilfe",10,10,500,250)
    Startpaint dlg&
    UseFont "CANDARA",25,20,1,0,0
    TextColor RGB(0,0,0),RGB(255,255,255)
    Drawtext 1,1,"Lorem ipsum dolor sit amet"
    Endpaint
    btnDlg& = CreateButton(dlg&,"OK",175,150,120,30)

    WhileNot dlgende%

        WaitInput

        If GetFocus(btnDlg&)

            dlgende% = 1

        EndIf

    Endwhile

endif

Ping "www.google.dev","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"
    Declare btndlg&,dlgende%,dlg&
    dlg&=Create("Window",%hwnd,"Hilfe",10,10,500,250)
    Startpaint dlg&
    UseFont "CANDARA",25,20,1,0,0
    TextColor RGB(0,0,0),RGB(255,255,255)
    Drawtext 1,1,"Lorem ipsum dolor sit amet"
    Endpaint
    btnDlg& = CreateButton(dlg&,"OK",175,150,120,30)

    WhileNot dlgende%

        WaitInput

        If GetFocus(btnDlg&)

            dlgende% = 1

        EndIf

    Endwhile

endif

Hier Code für Meldung des Erfolgs
TextColor RGB(0,0,0),-1
UseFont "CANDARA",15,10,1,0,0
DRAWTEXT 25,120,&qu
finissons drücken vous s'il te plaît une beliebige Taste" waitinput

si es Verbesserungsvorschläge gibt - toujours her avec cela. et si es sonst encore Fragen ou bien ähnliches gibt - fragt.

alors nocheinmal un Dankeschön à alle qui sich à diesem Fil beteiligt avons.
 


OS: Win XP/Debian
XProfan 10
22.07.2008  
 




Rolf
Koch
je veux oui pas , dass Du wieder umbaust, là on alles quelque chose verkürzen pourrait weil vieles identique ist comment d'autre Boucle avec
Whilenot dlgende% - qui peux on comme Procédure umbauen (siehe unten)

si Du es so compliqué comment maintenant laisser veux, ensuite mach wenigstens derrière chaque
dlgende%=1 un destroywindow(dlg&)

mais lieber so:
KompilierenMarqueSéparation
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

Proc Errorhelp

    Parameter 1: Der Text für Hauptfenster,Parameter 2: Text für Hilfenster
    Parameters typtext$,helptext$
    TextColor RGB(255,255,255),RGB(255,255,255) vorher löschen
    DRAWTEXT 25,40,"                                            "
    TextColor RGB(255,0,0),-1
    DRAWTEXT 25,40,typtext$
    Declare btndlg&,dlgende%,dlg&
    dlg&=Create("Window",%hwnd,"Hilfe",10,10,500,250)
    Startpaint dlg&
    UseFont "CANDARA",25,20,1,0,0
    TextColor RGB(0,0,0),RGB(255,255,255)
    Drawtext 1,1,helptext$
    Endpaint
    btnDlg& = CreateButton(dlg&,"OK",175,150,120,30)

    WhileNot dlgende%

        WaitInput

        If GetFocus(btnDlg&)

            dlgende% = 1

        EndIf

    Endwhile

    destroywindow(dlg&)

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
UseFont "CANDARA",25,20,1,0,0
Ping "127.0.0.1","PINGTEST.TXT","PING.BAT"

if ping%=1

    TextColor RGB(255,255,255),RGB(255,255,255) vorher löschen
    DRAWTEXT 25,40,"                                            "
    TextColor RGB(0,255,0),-1
    DRAWTEXT 25,10,"Server Erreichbar"

else

    Errorhelp "Server nicht erreichbar!","Hilfetext Nummer 1"

endif

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

if ping%=1

    TextColor RGB(255,255,255),RGB(255,255,255) vorher löschen
    DRAWTEXT 25,40,"                                            "
    TextColor RGB(0,255,0),-1
    DRAWTEXT 25,40,"Client Erreichbar"

else

    Errorhelp "Client nicht erreichbar!","Hilfetext Nummer 2"

endif

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

if ping%=1

    TextColor RGB(255,255,255),RGB(255,255,255) vorher löschen
    DRAWTEXT 25,40,"                                            "
    TextColor RGB(0,255,0),-1
    DRAWTEXT 25,70,"Extern Erreichbar"

else

    Errorhelp "Extern nicht erreichbar!","Hilfetext Nummer 3"

endif

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 
une beliebige Taste" waitinput
 
22.07.2008  
 




Penguin
Tux
Mhmm.. je lasse es lieber so comme ist, weil je là einigermaßen verstehe quoi je gemacht habe.

juste encore une Frage hinterher.

il peut doch avec XProfan sicherlich aussi nen COM-Port ansprechen - ou bien?
 


OS: Win XP/Debian
XProfan 10
22.07.2008  
 



cela hängt sous anderem de qui Hilfedatei ab qui on hierfür zunächst konsultiert...

exposition pour OpenCom.
 
22.07.2008  
 




Penguin
Tux
je hab la fois COM eingegeben et bekomme rien quoi mir chez diesem Problem aider pourrait.
 


OS: Win XP/Debian
XProfan 10
22.07.2008  
 




Rolf
Koch
je sag Dir: prends cela Beispiel de mir et bau puis plus sur. car prozedural ist besser. Stell Dir avant tu veux 30 Adressen anpingen et écris toujours wieder même chose. ici appelles Du toujours seulement qui Procédure qui Du im wesentlichen oui kennst, car c'est oui cela quoi Du sauoft unten toujours wieder stehen la hâte dans qui d'autre Anweisung, sur et lernst richtig dabei programmieren.
Glaub mir. c'est im Endeffekt Dein Code seulement Zeit, Nerven, Codesparend.
 
22.07.2008  
 




Penguin
Tux
si du cela sagst^^

je werd mir cela la fois alles angucken et mioch annoncer, si Je l' neuen Code habe.

je hab den Code maintenant simple erstmal Kopiert et gespeichert. je vais depuis trois Tagen um 3 ins Bett et suis hundemüde. je hab zwar déjà einiges aus deinem Code verstanden, mais um den maintenant la ligne pour la ligne durchzugucken fehlt qui Lust.
 


OS: Win XP/Debian
XProfan 10
22.07.2008  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

24.230 Views

Untitledvor 0 min.
Georg Teles01.08.2023
Thomas Freier06.10.2022
Langer30.01.2021
Walter29.01.2019
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie