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



Penguin
Tux

KompilierenMarcaSeparación
Benutze Yo sí no mehr, pero si müsst lo doch
KompilierenMarcaSeparación
heißen?
 


OS: Win XP/Debian
XProfan 10
21.07.2008  
 




Rolf
Koch
Tony? Was genau willst Usted zerstören?
Exactamente el Diálogo!
Si usted sagst:
DLG&=Create("DIÁLOGO".... , entonces speichert Windows el Handle en DLG&
Dies es una eindeutige Nummer como 127222 más o menos, welche de Windows vergeben se.
Was se also con usted zerstört voluntad? 1 oder 0?
Nein! Lo se el Diálogo zerstört voluntad. Bedeutet:
Como Yo oben ya geschrieben habe: DESTROYWINDOW(DLG&)
Genauso verhält lo con SHOWWINDOW
SHOWWINDOW(BUTTON1&,0) versteckt una Objeto
SHOWWINDOW(BUTTON1&,1) bringt lo otra vez para Vorschein.
Aber si DLG& por Destroywindow destruido hast, entonces kannst Usted lo natürlich no mehr con SHOWWINDOW Mostrar, como lo el Handle no mehr son. Also entonces otra vez neu redactar y daran denken en Deinem Fall otra vez
DIALOGENDE%=0 a conjunto, así el Bucle no otra vez direkt termina.
Usted puede aber anstatt DESTROYWINDOW wirklich
SHOWWINDOW(DLG&,0) después de el Dialogerstellen conjunto en lo a verstecken y si Clic en Hilfebutton el Hilfefenster por SHOWWINDOW(DLG&,1) otra vez Mostrar. Nach Clic en HILFE SCHLIESSEN simplemente otra vez SHOWWINDOW(DLG&,0) y ya se lo otra vez versteckt.

P.S.: IF ha Recht, lese Usted Por favor, genau cada Satz en el Ayuda por, porque Usted necesidad kein DEF....
Ausschnitt Ayuda a SHOWWINDOW:


N1 : LongInt - Ventana-Handle

N2 : Integer - Abbildungsmodus (1 .. 9)

Das Ventana con el Handle N1 se en el Modus N2 adecuado. Das Ergebnis es 1 si el Ventana vorher sichtbar war oder 0, si vorher versteckt (unsichtbar) war.


Darunter stehender Texto es sólo a Erklärung el passenden API, welche Usted en Deiner Profanversion no necesidad.
 
21.07.2008  
 




Penguin
Tux
Yo komme gerade echt no hinterher

Also, mein Code para el Programa incluso sieht ahora así de:
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"

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.y","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&quo
a> waitinput

...y para el Ventana:
KompilierenMarcaSeparación
>>>>> AB HIER KOPIEREN UND IN EIGENEN CODE EINBINDEN <<<<<<<<<<<<
DEF GETSYSCOLOR(1) !"USER32","GetSysColor"
SET("TRUECOLOR",1)
 $I C:DOKUMENTE UND EINSTELLUNGENTONYDESKTOPROCLIBUSER.INC (Für WIN32 OBJEKTE)

PROC DIALOG  ---------------------------------------------------------------------------> Dialoganfang

    DECLARE DLG&, DIALOGENDE%
    DECLARE TEXT1&
    DECLARE BUTTON1&

    PROC BUTTON1_ONCLICK

        GETMESSAGE
        DIALOGENDE%=1

    ENDPROC

    DLG&=CREATE("DIÁLOGO",%HWND,"Neues Fenster",236,32,640,500)
    USEFONT "MS Sans Serif",13,0,0,0,0
    SETDIALOGFONT 1
    TEXT1& =@CREATE("TEXT",DLG&,"...Hilfetext...",0204,0101,0070,0020)

    PROC DLG_REFRESH

        SET("AUTOPAINT",1)
        STARTPAINT DLG&
        DRAWFRAME 0130,0080,0200,0120,2,15
        ENDPAINT

    ENDPROC

    BUTTON1& =@CREATE("BUTTON",DLG&,"OK",0200,0133,0070,0030)
    SETFOCUS(DLG&)
    DLG_REFRESH
    DIALOGENDE%=0

    WHILENOT DIALOGENDE%

        WAITINPUT

        If %KEY=2

            DIALOGENDE%= 1

        ELSEIF %WMPAINT

            DLG_REFRESH

        ELSEIF GETFOCUS(BUTTON1&) BUTTON

            BUTTON1_ONCLICK

        ENDIF

    ENDWHILE

    DESTROYWINDOW(DLG&)
    ENDPROC --------------------------------------------------------------------------------> Dialogende
    SET("AUTOPAINT",2)
    >>>>> HIER KOPIERENDE FÜR EIGENEN CODEEINBAU <<<<<<<<<<<<<<<<<<<<

Also muss Yo weder 1 todavía 0 zerstören.
 


OS: Win XP/Debian
XProfan 10
21.07.2008  
 



Usted musst zumindest antes el Programmende todos Controls zerstören, welche Usted auch erstellt hast. Das verlangt no z.B. Windows XP, aber el gute Programa!

erstellst du also eins

a%=createText(...

musst Usted lo antes el Programmende auch otra vez

destroyWindow(a%)

zerstören.

Yo habe ahora no nachgesehen si Usted Controls verwendest!

Nur el %hWnd musst/solltest No zerstören, el ha hier y como ne Sonderbehandlung.

Apéndice: Usted erstellst mindestens una texto una dlg y una button, spätestens antes Programmende debería esta erzeugten Controls auch otra vez encima Ihr Handle por destroyWindow lejos voluntad.
 
21.07.2008  
 




Jörg
Sellmeyer

erstellst du also eins

a%=createText(...

musst Usted lo antes el Programmende auch otra vez


Das halte Yo aber para una Gerücht! Si el Elternfenster destruido reicht el völlig. Nur si uno una Control con el gleichen Varablenbezeichnung neu redactar voluntad muß uno lo vorher zerstören, como sonst el Zugriff darauf no mehr posible es. Obwohl incluso entonces beim Programmende el Zerlegung de Windows übernommen se.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
21.07.2008  
 




Penguin
Tux
Sry Personas, aber könntet ihr veces otra vez Klartext, Yo komm como bastante simplemente todavía nciht así rápidamente con. Mir sería lo recihen si yo weiß, como yo fenster erscheinen lasse y por el clic de ok otra vez verschwinden lasse.
 


OS: Win XP/Debian
XProfan 10
21.07.2008  
 




Jörg
Sellmeyer
¡Hola Pingu,
Tal vez hilft Usted que aquí sí primero más:
KompilierenMarcaSeparación
Declare btn1&,dlg&,ende%

Proc Dialog

    Declare btnDlg&,dlgende%
    dlg& = CreateDialog(%hwnd,"Fenster",40,40,300,400)
    btnDlg& = CreateButton(dlg&,"verschwinden",10,10,120,30)

    WhileNot dlgende%

        WaitInput

        If GetFocus(btnDlg&)

            dlgende% = 1
            DestroyWindow(dlg&)

        EndIf

    Wend

EndProc

WindowTitle "Buttontest"
Window 10,10,500,400
btn1& = CreateButton(%hwnd,"zeigen",10,10,60,30)

WhileNot ende%

    WaitInput

    If GetFocus(btn1&)

        Dialog

    EndIf

Wend

 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
21.07.2008  
 




Penguin
Tux

KompilierenMarcaSeparación
Declare btn1&,dlg&,ende%
WindowTitle "Hilfe"
Window 10,10,500,400
btnDlg& = CreateButton(dlg&,"OK",10,10,120,30)

WhileNot dlgende%

    WaitInput

    If GetFocus(btnDlg&)

        dlgende% = 1
        DestroyWindow(dlg&)

    EndIf

Wend


Der speckert ahora en Línea 5 rum. Yo habe me el geposteten COde simplemente veces angeguckt y bin sólo así weit gekommen.

Editar: Yo habe ahora una "Proc Dialog" a el Anfang gesetzt y una "EndProc" ans Ende, el Fehlermeldung es ahora zwar weg, el Ventana dafür auch.
 


OS: Win XP/Debian
XProfan 10
21.07.2008  
 




Rolf
Koch
Usted hast ende% declariert, aber nutzt unten dlgende% por lo tanto meckert él. Also
declarar dlgende% anstatt ende% - ach y todavía viel mehr Variables welche garnicht
benutzt y ser así más. Schau y Comparar:
KompilierenMarcaSeparación
Declare btndlg&,dlgende%
WindowTitle "Hilfe"
Window 10,10,500,400
btnDlg& = CreateButton(%hwnd,"OK",10,10,120,30) Hier HWND wo ist denn DLG&

WhileNot dlgende%

    WaitInput

    If GetFocus(btnDlg&)

        dlgende% = 1
        DestroyWindow(dlg&) wo ist denn ein Hanlde mit DLG&?

    EndIf

Wend

 
21.07.2008  
 




Penguin
Tux
Ok, Yo ahora de "ende%" "dlgende%" femacht, pero la Fehler en el Línea es siempre todavía no Fijo.

Er sagt "Variable no declariert: BTNDLG&"

Interessant... mache Hice
KompilierenMarcaSeparación
Declare btn1&,dlg&,dlgende%
>

KompilierenMarcaSeparación
Declare btndlg&,dlg&,dlgende%
>

äffnet se mein Ventana, aber sin Button.
 


OS: Win XP/Debian
XProfan 10
21.07.2008  
 




Rolf
Koch
Hab mein obiges Posting erweitert como siehste lo. Siehst Usted irgendwo DECLARE BTNDLG& en Deinem Code? Deswegen se gemeckert.
 
21.07.2008  
 




Penguin
Tux
Gracias, ahora Funktioniert lo. Tuve sí garnicht así viel falso, si uno bedenkt el Yo el sólo seit gestern hacer. Logisches denken hilft eben doch.

Wo wir gerade esta son. Como schlage Yo mich eigentlich? Yo frage zwar viel, aber dazu seit ihr sí como
 


OS: Win XP/Debian
XProfan 10
21.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.759 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