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



Stefan
Landsberg
Stefan Löwen
%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


j'ai cela schlechte sentiment, dass mon posting irgendwie übersehen wurde.
je s'il te plaît simple nocheinmal um hilfe
 
23.07.2008  
 




Rolf
Koch
Hab la fois mon concept grade mise en œuvre. Einiges ginge kürzer, mais es soll oui übersichtlich et simple erklärt son.
quoi Du encore faire musst: Passe den Code wieder trop Profanversion 6.6 à, là je sur den neusten Interpreter getestet habe et add, inc et co pas plus vorhanden sommes et je maintenant aucun Zeit plus habe.
Eingabe par Leerzeichen getrennt! Ausgabe des Ergebnis erfolgt wiederum ins Eingabefenster (pourrait aussi gesammelt angezeigt volonté et pas einzeln - comment dit Zeit trop knapp). peux aussi par Schnelltippen son, dass je ne Kleinigkeit übersehen ou bien oublier qc habe - mais Du musst oui aussi quoi en supplément beitragen ^ ^
Déclarer-partie:
declare ping%, btn%,ende%,ipedit&,ipinhalt$,i%
declare marque$,zeichenalt$
Proc-partie:

Proc Ping

    Ping%=0
    declare pingdatei1$, pingdatei2$, pingstring$, ping$
    Paramètres ip$
    let pingdatei1$="PINGTEST.TXT"
    let pingdatei2$="PING.BAT"
    let pingstring$="PING.EXE",ip$,">",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 ping$="Antwort von":Ping%=1

    WEND

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

ENDPROC

Def-partie:
DEF GetSysColor(1) !"User32","GetSysColor"
la fenêtre erstellen:
Fenêtre Style 63
Titre de la fenêtre "IP Checker"
Fenêtre @SUB(@DIV(%maxx,2),300),@SUB(@DIV(%maxY,2),250) - 600,500
Fenêtre 10,10-600,500
SetTrueColor 1
CLS GetSysColor(15)
ipedit&=@CreateMultiEdit(%HWnd,»,10,50,570,-200)
btn%=@CreateButton(%HWnd,"Überprüfen",250,260,100,30)

Whilenot ende%

    waitinput

    si clicked(btn%)

        marque$=»
        zeichenalt$=»
        ipinhalt$=GetText $(ipedit&)

        si mid$(ipinhalt$,len(ipinhalt$),1) <> " " sicherstellen Abschlusszeichen

            ipinhalt$=ipinhalt$+" "

        endif

        i%=1

        whilenot i% = len(ipinhalt$)+1

            marque$=mid$(ipinhalt$,i%,1)
            inc i%

            si marque$ <> " "

                marque$=zeichenalt$+marque$
                zeichenalt$=marque$

            d'autre

                ping zeichenalt$		      ici Ping Ergebnis

                si ping%=1

                    settext ipedit&,zeichenalt$+" ist verfügbar"

                d'autre

                    settext ipedit&,zeichenalt$+" ist pas verfügbar"

                endif

                zeichenalt$=»

            endif

        endwhile

    endif

Endwhile

 
23.07.2008  
 




Stefan
Landsberg
DANKE Rolf cela einzige quoi Profan 6.6 bemängelt ist qui funktion clicked. mais qui hab je simple par getfocus ersetzt.

hab mich jetz gründlich avec deinem Code befasst et hab ihn verstanden

jetz muss je ihn nurnoch irgendwie umändern avec cela es meiner ist, et ensuite muss je ihn dans mon programm einarbeiten.
 
23.07.2008  
 




Rolf
Koch
Freut mich, dass Du es angenommen la hâte et cette aussi verstanden la hâte!
 
23.07.2008  
 




Stefan
Landsberg
Salut,

j'ai jetz Rolfs code dans mon programm eingebunden. comme je avec cela fertig était voulais je seulement encore cela marque de leerzeichen sur paragraphe umändern.
voilà mir aufgefallen, dass on cela chez absätzen besser avec @getlinecount et @getline$ realisieren peux.

jusqu'à jetz sieht cela chez mir so aus: [...] 

mais irgendwie venez cela programm chez mir dans ne endlosschleife et fäng, après que es den status qui letzten ip ausgegeben hat, wieder de qui ersten ip à.
je sais mais simple pas wohin mon faute ist.

PS: cela design plane je trop améliorer.

Éditer: suis jetz déjà quelque chose plus. qui faute liegt dans la ligne 56. @getlinecount(ipinput%) liefert une numéro im millionenbereich. c'est alors aucun endlosschleife. vous dauert seulement très longtemps! spass chez page:
pourquoi gibts getlinecount so une grosse numéro zurück?
je dachte il y a qui zeilenanzahl à. et qui liegt chez meinen tests chez 2 jusqu'à 4. et pas im millionenbereich!
 
24.07.2008  
 



Stefan Löwen
suis jetz déjà quelque chose plus. qui faute liegt dans la ligne 56. @getlinecount(ipinput%) liefert une numéro im millionenbereich. c'est alors aucun endlosschleife. vous dauert seulement très longtemps! spass chez page:
pourquoi gibts getlinecount so une grosse numéro zurück?
je dachte il y a qui zeilenanzahl à. et qui liegt chez meinen tests chez 2 jusqu'à 4. et pas im millionenbereich!


et oui c'est ca c'est z.B. un völlig nouveau Thema - avec einem eigenen Minimalbeispiel. ;)
 
24.07.2008  
 




Stefan
Landsberg
meinst du je soll une neuen thread ouvert ou bien quoi wolltest du mir dire?
 
24.07.2008  
 



oui, s'il te plaît.
 
24.07.2008  
 




Stefan
Landsberg
profan hat quoi vers mich.
jetz était je déjà dabei mon problem dans einem neuen thread trop schildern et voulais den code posten. là hab je cela programm encore einmal vite durchlaufen laisser, et quoi passiert?!?

@GetLineCount gibt den richtigen Wert zurück

bof, je freu mich lieber, dass es jetz allez et fais plus. je veux au sommet qui 6 seiten encore mon erstes programm präsentieren
 
24.07.2008  
 



Exakt c'est pourquoi mon s'il te plaît zum neuen Fil - là wird on puis hingewiesen un  [...]  abzuliefern - ließ la fois jusqu'à zum Ende et lach...
 
24.07.2008  
 




Stefan
Landsberg
qui geschichte avec dem minimalbeispiel de Roland Hennrich kenn je déjà

mais je hatte cela Programme vorhin mindestens 5 la fois getestet et @getlinecount était abîmé

et je voulais ne...aucune minimal beispiel posten, mais den kompletten code (peux on mais aussi minimal appeler ) hab alors rien modifié et sur einmal gings.

bof je darf pas so viel écrivons, sonst krieg je mon programm pas plus sur page 6
 
24.07.2008  
 



je fand "Roland Hennrich" passt...
 
24.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

23.586 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