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 9 - |
| Rolf Koch | Hab veces mi Concepto grade umgesetzt. Einiges ginge kürzer, pero se sí übersichtlich y simplemente erklärt ser. Was Usted todavía hacer musst: Passe el código otra vez a Profanversion 6.6 a, como Yo encima el neusten Interpreter getestet habe y add, inc y co no mehr disponible son y yo ahora no Tiempo mehr habe. Eingabe por Leerzeichen getrennt! Edición des Ergebnis es wiederum en el Eingabefenster (podría auch gesammelt adecuado y ser no einzeln - como dijo Tiempo a knapp). Kann auch por Schnelltippen ser, dass Yo ne Kleinigkeit übersehen oder vergessen habe - Aber Usted musst en efecto qué dazu beitragen ^ ^
Declarar-Teil:
declarar ping%, btn%,ende%,ipedit&,ipinhalt$,i%
declarar zeichen$,zeichenalt$
Proc-Teil:
Proc Ping
Ping%=0
declarar pingdatei1$, pingdatei2$, pingstring$, ping$
Parámetros ip$
let pingdatei1$="PINGTEST.TXT"
let pingdatei2$="PING.BAT"
let pingstring$="PING.EXE",ip$,">",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 ping$="Antwort von":Ping%=1
WEND
CLOSE #3
Asignar #1,pingdatei1$
Borrar #1
ENDPROC
Def-Teil:
DEF GetSysColor(1) !"User32","GetSysColor"
Ventana redactar:
Ventana de Estilo 63
Título de la ventana "IP Checker"
Ventana @SUB(@DIV(%maxX,2),300),@SUB(@DIV(%maxY,2),250) - 600,500
Ventana 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)
Sinestar encargado ende%
waitinput
if clicked(btn%)
zeichen$=""
zeichenalt$=""
ipinhalt$=GetText $(ipedit&)
if mid$(ipinhalt$,len(ipinhalt$),1) <> " " sicherstellen Abschlusszeichen
ipinhalt$=ipinhalt$+" "
endif
i%=1
whilenot i% = len(ipinhalt$)+1
zeichen$=mid$(ipinhalt$,i%,1)
inc i%
if zeichen$ <> " "
zeichen$=zeichenalt$+zeichen$
zeichenalt$=zeichen$
más
ping zeichenalt$ Hier Ping Ergebnis
if ping%=1
settext ipedit&,zeichenalt$+" es verfügbar"
más
settext ipedit&,zeichenalt$+" es no verfügbar"
endif
zeichenalt$=""
endif
endwhile
endif
Endwhile
|
| | | | |
| | Stefan Landsberg | DANKE Rolf el einzige qué Profano 6.6 bemängelt Es el funktion clicked. aber el tener Yo simplemente por getfocus ersetzt.
tener mich jetz gründlich con deinem Code befasst y tener ihn verstanden
jetz muss Yo ihn nurnoch irgendwie umändern así lo meiner es, y luego muss Yo ihn en mein programm einarbeiten. |
| | | | |
| | Rolf Koch | Freut mich, dass Usted lo angenommen hast y esta auch verstanden hast! |
| | | | |
| | Stefan Landsberg | ¡Hola,
Yo jetz Rolfs code en mein programm eingebunden. como Yo así fertig war Yo quería sólo todavía el zeichen de leerzeichen en absatz umändern. como me está aufgefallen, dass al en absätzen mejor con @getlinecount y @getline$ realisieren kann.
a jetz sieht en el me así de: [...]
aber irgendwie kommt el programm en me en ne endlosschleife y fäng, después de lo el status el letzten ip ausgegeben ha, otra vez de el ersten ip a. Yo weiß aber simplemente no wo mein fehler es.
PS: el design plane Yo a verbessern.
Editar: bin jetz ya algo más. el fehler liegt en zeile 56. @getlinecount(ipinput%) liefert una zahl en el millionenbereich. es also no endlosschleife. ellos dauert sólo muy largo! spass en seite: por qué gibts getlinecount así una grosse zahl zurück? Yo pensamiento lo son el zeilenanzahl a. y el liegt en media tests en 2 a 4. y no en el millionenbereich! |
| | | | |
| | | Stefan Löwen
bin jetz ya algo más. el fehler liegt en zeile 56. @getlinecount(ipinput%) liefert una zahl en el millionenbereich. es also no endlosschleife. ellos dauert sólo muy largo! spass en seite: por qué gibts getlinecount así una grosse zahl zurück? Yo pensamiento lo son el zeilenanzahl a. y el liegt en media tests en 2 a 4. y no en el millionenbereich!
Und genau el es z.B. una völlig neues Thema - con un eigenen Minimalbeispiel. ;) |
| | | | |
| | Stefan Landsberg | media du Yo se una neuen thread eröffnen oder qué wolltest du me sagen? |
| | | | |
| | | Sí, Por favor,. |
| | | | |
| | Stefan Landsberg | profano ha qué gegen mich. jetz war Yo ya esta mein problem en un neuen thread a schildern y quería el code puesto. Como tener Yo el programm todavía una vez rápidamente durchlaufen dejar, y qué passiert?!?
@GetLineCount son el richtigen Valor zurück
naja, Yo freu mich más bien, dass lo jetz va y mache más. Yo voluntad al ende el 6 seiten todavía mein erstes programm präsentieren |
| | | | |
| | | Exakt deshalb mi Bitte para neuen Hilo - hay se uno darauf hingewiesen una [...] abzuliefern - ließ veces a para Ende y lach... |
| | | | |
| | Stefan Landsberg | el geschichte con el minimalbeispiel de Roland Hennrich kenn Yo ya
Aber Yo hatte el Programa vorhin mindestens 5 veces getestet y @getlinecount war kaputt
y yo quería kein minimal beispiel puesto, pero el kompletten code (puede ser aber auch minimal nennen ) tener also nichts verändert y en una vez gings.
naja Yo darf no así viel escribir, sonst krieg Yo mein programm no mehr en seite 6 |
| | | | |
| | | Yo fand "Roland Hennrich" passt... |
| | | | |
| | | | - Página 10 - |
| | Stefan Landsberg | irgendwie is tmir el a unübersichtlich geworden. Deshalb pensamiento Yo Yo mache hier más: [...]
hoffentlich störs no. |
| | | | |
|
RespuestaTema opciones | 24.290 Views |
ThemeninformationenDieses Thema ha 9 subscriber: |