Español
Foro

Ping-Tool encima CMD

 
- Página 1 -



Penguin
Tux
¡Hola,

Yo möchte mich ersteinmal vorstellen. Mein Name es Tony, Yo bin 15 Jahre alt y besuche una Realschule en Chemnitz. Desde que ahora Sommerferien habe y yo nichts más a tun habe, Yo me vorgenommen una kleines Netzwerkanalysetool a escribir. Auf el búsqueda después de uno einfachen Lenguaje de programación bin I XProfan gestoßen.

Yo habe alles nötige gedownloaded y installiert, anschließen Yo una Pingcode gesucht y habe esta:
declarar pingstring$,ping$,ping%
********************************************************************

Proc Ping

    Parámetros nic$,pingdatei1$,pingdatei2$
    let pingstring$="PING.EXE",nic$,">",pingdatei1$
    Asignar #6,pingdatei2$
    Rewrite #6
    Imprimir #6,pingstring$
    Cerrar #6
    WinExecwait(pingdatei2$,0)
    Asignar #5,pingdatei2$
    Borrar #5
    ASSIGN #3,pingdatei1$
    RESET #3
    Ping%=0

    WHILENOT EOF(#3)

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

    WEND

    CLOSE #3
    Asignar #1,pingdatei1$
    Borrar #1

ENDPROC

********************************************************************
Descripción:
Lo son zwar ya una schnelle y schöne Onlineabfrage über API,
aber desafortunadamente son el Función sólo 1 para Online zurück, si
uno über una Standart DFÜ eingewählt es.
Diese Procedimiento es sólo sólo algo langsamer aber uno kann incluso DSL
(also - no DFÜ-Verbindung) oder el alte T-Online u.s.w abfragen!!
alles con una Stern umrandete es wichtig para el Abfrage
Rolf Koch - Rokosoftware - Koblenz 2002
BEISPIEL
WINDOWSTYLE 31
Ventana 200,200-300,80
Windowtitle "Onlinstatus-Prüfung sin Api"
Color del texto 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
Parámetro
1.) Webadresse - una siempre vorhandene como www.nic.de
2.) Dateiname, en welche Pingergebnis geschrieben se - se otra vez gelöscht!
3.) Dateiname, en Ping korrekt aufzurufen. - se otra vez gelöscht!
********************************************************
Color del texto RGB(255,255,255),RGB(255,255,255)
DRAWTEXT 40,10,"                                "
UseFont "TIMES NEW ROMAN",25,20,1,0,0
Color del texto RGB(0,0,255),-1
Ping "192.168.0.7","PINGTEST.TXT","PING.BAT"

if equ(ping%,1)

    DRAWTEXT 25,10,"Erreichbar"

más

    DRAWTEXT 25,10,"Nicht erreichbar"

endif

waitinput

Diesen Code Yo me después de media Bedürfnissen zurechtgeschnitten y él sieht como folgt de. Dazu debería Yo el de me ausgedachte Funktionsweise erklären.

Es geplant, dass Yo una Tool escribir, welches möglichst simplemente una erste Ayuda para Schüler y Lehrer bietet. Bemerkt una User el él no Internetzugang ha, führt él el Tool de, welches el Reihe después de sólo el Server anpingt, entonces una otro Client en el Netzwerk y luego todavía una Rechner de außerhalb (z.B. Google). Wenn lo en uno el Schritte no Rückmeldung son, se una Meldung con Tips a Behebung en el Bildschrim erscheinen.

Nun para Code:
declarar pingstring$,ping$,ping%

Proc Ping

    Parámetros nic$,pingdatei1$,pingdatei2$
    let pingstring$="PING.EXE",nic$,">",pingdatei1$
    Asignar #6,pingdatei2$
    Rewrite #6
    Imprimir #6,pingstring$
    Cerrar #6
    WinExecwait(pingdatei2$,0)
    Asignar #5,pingdatei2$
    Borrar #5
    ASSIGN #3,pingdatei1$
    RESET #3
    Ping%=0

    WHILENOT EOF(#3)

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

    WEND

    CLOSE #3
    Asignar #1,pingdatei1$
    Borrar #1

ENDPROC

WINDOWSTYLE 31
Ventana 200,200-500,80
Windowtitle "Onlinstatus-Prüfung sin Api"
Color del texto RGB(0,0,255),-1
UseFont "TIMES NEW ROMAN",20,10,0,0,0
DRAWTEXT 40,10,"..moment ermittele!"
Color del texto 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)

    Color del texto RGB(0,255,0),-1
    DRAWTEXT 25,10,"Server Erreichbar"

más

    Color del texto RGB(255,0,0),-1
    DRAWTEXT 25,10,"Server No erreichbar"

endif

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

if equ(ping%,1)

    Color del texto RGB(0,255,0),-1
    DRAWTEXT 25,10,"Client Erreichbar"

más

    Color del texto RGB(255,0,0),-1
    DRAWTEXT 25,10,"Client No erreichbar"

endif

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

if equ(ping%,1)

    Color del texto RGB(0,255,0),-1
    DRAWTEXT 25,10,"Google Erreichbar"

más

    Color del texto RGB(255,0,0),-1
    DRAWTEXT 25,10,"Google No erreichbar"

endif

waitinput

Ein Problema, welches se a Tiempo auftut, Es el Tatsache el el Fensterinhalt no gelöcht se. Das heißt el "Server Erreichbar", "Client Erreichbar" y "Google Erreichbar" übereinander geschrieben voluntad, also brauche Yo una Möglichkeit el Inhalt la ventana después de cada Schritt a löschen. Dabei bin en

gestoßen. Nutze Yo esta Möglichkeit antes o. después de "Server Erreichbar" se "Server Erreichbar" nada adecuado.

Für una kleine Hilfestellung wäre Yo muy dankbar.

Gracias
Tony
 


OS: Win XP/Debian
XProfan 10
20.07.2008  
 



 
- Página 8 -



Stefan
Landsberg
%hwnd necesidad du imho no deklarieren. en me va jedenfalls auch sin lo vorher a deklarieren. (a spät. rolf war más rápido)

Yo habe en mi programm otra vez bastante de vorn angefangen y habe jetz unos pocos fragen.
vorweg primero el aktuelle zustand meines programms:
KompilierenMarcaSeparación
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

en el EditBox se el User una liste de IPs o deren Aliase por absätze (a not auch kommata oder semikola) getrennt eingeben.

mein ziel es para jede dieser IPs una ping abfrage a hacer.

como mache Yo el al besten?

mi idee:
el inhalt el editbox con @GETLINE$ en un Bereichsvariable einlesen, y luego irgendwie jede ip en un cadena variable escribir. wo una neue ip anfäng erkennt uno sí a el absätzen (aber como sage Yo el el programm).

danach simplemente con cada variable folgende abfrage hacer:

ping variable$

si la idee bien y umsetzbar es wäre lo nett si alguien me en umsetzung helfen sería.
si la idee no tan bueno es, wäre una neu idee muy hilfreich
 
22.07.2008  
 




Penguin
Tux
Gracias Rolf, el Grundprinziep Yo langsam gerafft - klar a Yo wirklich kann dauert lo ni Weile.

Yo kümmere mich gerade por lo tanto el miene Hilfefenster auch una Hilfetext bekommen, vorerst sólo "Print", esta bin I el problema gestoßen, dass él me zwar el Texto ausgibt, aber dafür el Button no.
 


OS: Win XP/Debian
XProfan 10
22.07.2008  
 




Rolf
Koch
Como debería wir wissen wo no klappt? Immer una kurzes Ejemplo anhängen.
 
22.07.2008  
 




Penguin
Tux
Oh sí, Yo vergaß
KompilierenMarcaSeparación
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 du willst en dlg& printen? Nee el es no posible, nimm más bien entonces otra vez drawtext, porque como kannste:
KompilierenMarcaSeparación
Startpaint dlg&
Drawtext 1,1,"Lorem ipsum dolor sit amet"
Endpaintre>

Und lies Por favor, en el Profanhilfe entonces bajo startpaint /endpaint después de, porque el problema para createdialog oder createwindow es, dass Usted hay siempre el gedrawte neuzeichnen musst. Siehe dafür %wmpaint en el HIlfe.
Yo plediere dafür lass el imprimir y drawtext weg y lerne create("text".... einzusetzen. Como kannste De todos modos schön por
settext variable&,"neuer text" una aktualisierung des Inhalts hacer.
 
22.07.2008  
 




Penguin
Tux
So, danke a todos el me geholfen haben - el "Alpha-Version" meines Tools es fertig.
Bis en el Fehlenden Hilfetexte y el Meldung des Erfolges, welche no mehr el problema ser dürfte, fehlt no mehr viel. Tal vez erweitere Yo todos todavía una GUI en beliebige IP´s a a pingen, aber como warte Yo primero en Stefans Tool .

Hier el (fast) fertige Code, el natürlich immernoch el Test-IP´s enthält:
KompilierenMarcaSeparación
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
Beenden drücken Sie Por favor, una beliebige Taste" waitinput

Falls lo Verbesserungsvorschläge son - siempre her así. Und si sonst todavía Fragen oder ähnliches son - fragt.

Also nocheinmal una Dankeschön a todos que a diesem Hilo beteiligt haben.
 


OS: Win XP/Debian
XProfan 10
22.07.2008  
 




Rolf
Koch
Yo voluntad sí no , dass Usted otra vez umbaust, como uno alles algo verkürzen podría porque vieles identisch es como más Bucle con
Sinestar encargado dlgende% - el puede ser como Procedimiento umbauen (siehe unten)

Si usted lo así umständlich como ahora dejar willst, entonces mach wenigstens hinter cada
dlgende%=1 una destroywindow(dlg&)

Aber más bien así:
KompilierenMarcaSeparación
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 
una beliebige Taste" waitinput
 
22.07.2008  
 




Penguin
Tux
Mhmm.. Yo lasse lo más bien ya que es, porque Yo como einigermaßen verstehe Yo gemacht habe.

Gleich ni Cuestión hinterher.

Se puede doch con XProfan sicherlich auch nen COM-Port ansprechen - oder?
 


OS: Win XP/Debian
XProfan 10
22.07.2008  
 



Das hängt bajo anderem de el Hilfedatei de el uno esta primero konsultiert...

Schau después de OpenCom.
 
22.07.2008  
 




Penguin
Tux
Yo veces COM eingegeben y bekomme nichts qué me en diesem Problema helfen podría.
 


OS: Win XP/Debian
XProfan 10
22.07.2008  
 




Rolf
Koch
Yo sag Usted: Tomar el Ejemplo de me y bau darauf más en. Denn prozedural es mejor. Stell Usted antes Usted willst 30 Adressen anpingen y schreibst siempre otra vez dasselbe. Hier rufst Usted siempre sólo el Procedimiento el Usted en el wesentlichen sí kennst, porque es sí el qué Usted sauoft unten siempre otra vez posición hast en el más Anweisung, en y lernst correcto esta programa.
Glaub me. Es en el Endeffekt Su Code sólo Tiempo, Nerven, Codesparend.
 
22.07.2008  
 




Penguin
Tux
Wenn Si es usted el sagst^^

Yo werd me veces alles angucken y mioch informe, si yo el neuen Code habe.

Yo el código ahora simplemente primero Kopiert y gespeichert. Yo gehe seit drei Tagen en 3 en el Bett y bin hundemüde. Yo zwar ya einiges de deinem Code verstanden, aber en el ahora Línea para Línea durchzugucken fehlt el Lust.
 


OS: Win XP/Debian
XProfan 10
22.07.2008  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

23.736 Views

Untitledvor 0 min.
Georg Teles01.08.2023
Thomas Freier06.10.2022
Langer30.01.2021
Walter29.01.2019
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie