Foro | | | | - 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 |
| | | | |
| | | | - Página 2 - |
| | Stefan Landsberg | Super danke, aber el zweite warnung kommt siempre todavía.
se el variable status$ porque necesariamente una zahl enthalten oder qué voluntad me el warnung sagen?
weitere pläne: todos así erweitern dass mehrere ips angegeben voluntad puede (eventuell auch ip listen) el design verschönern!!! |
| | | | |
| | Penguin Tux | Nachdem el Grundgerüst meines Tools es, möchte Yo nun una Art Tipbox una fehlgeschlagenen Schritt einfügen. Soll also heißen, que un Febster con Tips a Behebung des Fehlers erscheint. Das bekomme Yo determinado al besten con el "Dialog gestalten"-Punkt hin. Der Diálogo sino que debe sólo erscheinen si "X No Erreichbar" es, also una if- oder if/not-Función. Damit komme Yo allerdings no bastante klar.
Der Code a ahora: KompilierenMarcaSeparacióndeclare 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.de","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",10,10,1,0,0
DRAWTEXT 25,120,"Zum Beenden drücken Sie bitte eine beliebige Taste" n>
waitinput
Ein weiteres Poblem besteht en el Edición des Dialogs a Bestätigung el fehlerlosen Búsqueda, dieser se antes "Zum Beenden drücken Sie Por favor, una beliebige Taste" erscheinen y por una Art "OK" Button weg a clic ser.
Gracias Tony |
| | | | |
| | Jörg Sellmeyer | KompilierenMarcaSeparación Hier necesario Pluszeichen rein, como Paul ya geschrieben ha, y Status mus en Anführungszeichen geschrieben voluntad. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 20.07.2008 ▲ |
| |
| | Stefan Landsberg | @jörg dass con el pluszeichen Tuve gemacht y ha auch super geklappt pero yo tener vergessen en el zweiten parameter de messagebox el Status en anführungszeichen a conjunto.
El Línea verursacht ahora no warnung mehr y sieht así de: KompilierenMarcaSeparaciónMessageBox(ip$ + " - " + status$,"Status",0640262144) > @tony Yo sería después de cada ping befehl primero una zeile como KompilierenMarcaSeparación escribir. entonces kannst du nachher para jede abfrage einzeln abfragen si ellos erfolgreich war oder no.
y al ende kannst du entonces una vez una infotext hacer: KompilierenMarcaSeparación el imprimir es jetz el schnellste methode. kannst natürlich auch una fenster gestalten. como el va weiß Yo aber todavía no |
| | | | |
| | | | | | | |
| | Penguin Tux | | | | | |
| | Stefan Landsberg | Yo pensamiento me así, dass du sólo el ganzen ping abfragen machst, y al ende una vez überprüfst, si una el abfragen negativo war. Dafür necesidad du aber el ergebnisse aller 3 abfragen. después de el ersten ping abfrage Es el variable ping% je después de ergebnis 1 oder 0
si du jetz aber el nächste ping abfrage machst se ping% por el ergebnis esta abfrage überschrieben. y "let ping_1%=ping%" sicherst du el wert de ping% después de ping_1%.
después de el zweiten abfrage muss el entonces natürlich "let ping_2%=ping%" heißen, y después de el dritten "let ping_3%=ping%"
entonces kannst du al ende el drei variablen ping_1%, ping_2% y ping_3% abfragen y weißt welche abfrage negativo y welche positiv war. dadurch kannst du entonces una entsprechenden hilfetext präsentieren
el drei variablen musst du natürlich todavía bastante oben en el declarar teil escribir. |
| | | | |
| | Penguin Tux | Also en el Endeffekt así: KompilierenMarcaSeparaciónPing "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"
let ping_1%=ping%
KompilierenMarcaSeparacióndeclarar pingstring$,ping$,ping%,ping_1%=ping%,ping_2%=ping%,ping_3%=ping%
|
| | | | |
| | Rolf Koch | | | | | |
| | Stefan Landsberg | fast. como Si es usted el gemacht hast sería el let ping_1%=ping% befehl sólo ausgeführt voluntad si la server no erreichbar es.
Yo mi el así: KompilierenMarcaSeparaciónPing "127.0.0.1","PINGTEST.TXT","PING.BAT"
let ping_1%=ping%
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"
KompilierenMarcaSeparacióndeclarar pingstring$, ping$, ping%, ping_1%, ping_2%, ping_3%
@rolf lo kann ser dass el code muy alt es. aber él funktioniert y el zählt en me. |
| | | | |
| | Penguin Tux | Stefan Löwen
fast. como Si es usted el gemacht hast sería el let ping_1%=ping% befehl sólo ausgeführt voluntad si la server no erreichbar es. Yo mi el así: KompilierenMarcaSeparaciónPing "127.0.0.1","PINGTEST.TXT","PING.BAT"
let ping_1%=ping%
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"
KompilierenMarcaSeparacióndeclarar pingstring$, ping$, ping%, ping_1%, ping_2%, ping_3%
Na klar, como hätte Yo incluso en él komemn puede, de hecho puede nichts voluntad, si yo lo después de "else" escribir. Und el Fehler en el Declarezeile hätte Yo nie gefunden, danke! KompilierenMarcaSeparaciónUnd el escribir Yo entonces al Ende antes "waitinout"? |
| | | | |
| | Stefan Landsberg | @IF Yo me createtext angeguckt. pero yo weiß no así correcto Yo así anfangen se.
verstehe Yo el correcto, dass Yo como el ersatz para mi messagebox uso se?
el con el handle des übergeordneten fensters ferstehe Yo no bastante. qué muss Yo como como handle hinschreiben?
Yo tener lo veces con dieser zeile probiert: KompilierenMarcaSeparación aber el zeile verursacht gar nichts.
@tony hm, ne Yo glaub hinter el waitinPut wäre el mejor aufgehoben. Luego se nämlich sólo dein bildschirm con el ergebnissen adecuado. y si una continuación una taste drückt erscheint el infotext.
como anregung para dein programm: - el schrift en el ergebnisfenster es bastante langgezogen.puede ser tal vez ändern. - super wäre lo auch todavía si la schrift rot wäre si la IP no erreichbar es. |
| | | | |
|
RespuestaTema opciones | 23.779 Views |
ThemeninformationenDieses Thema ha 9 subscriber: |