Forum | | | | - 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 |
| | | | |
| | | | - page 2 - |
| | Stefan Landsberg | Super merci, mais qui zweite avertissement venez toujours.
soll qui variable status$ car absolument une numéro enthalten ou bien quoi veux mir qui avertissement dire?
weitere pläne: cela ganze so erweitern dass plusieurs ips angegeben volonté peut (eventuell aussi ip listen) cela design verschönern!!! |
| | | | |
| | Penguin Tux | après que cela Grundgerüst meines Tools steht, voudrais je eh bien une Art Tipbox pour einem fehlgeschlagenen Schritt insérer. Soll alors appeler, dass un Febster avec Tips zur Behebung des Fehlers erscheint. cela bekomme je bestimmt am besten avec dem "Dialog gestalten"-Punkt hin. qui Dialog mais devrait seulement erscheinen si "X pas Erreichbar" ist, alors une si- ou bien si/not-Funktion. avec cela viens je allerdings pas entier bien sûr.
qui Code jusqu'à maintenant: KompilierenMarqueSéparationdeclare 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
un weiteres Poblem besteht dans qui Ausgabe des Dialogs zur Bestätigung qui fehlerlosen cherche, cette soll avant "Zum finissons drücken vous s'il te plaît une beliebige Taste" erscheinen et par une Art "OK" Button weg trop klicken son.
merci Tony |
| | | | |
| | Jörg Sellmeyer | KompilierenMarqueSéparation ici doit Pluszeichen rein, comment Paul déjà geschrieben hat, et Status mus dans Anführungszeichen geschrieben volonté. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 20.07.2008 ▲ |
| |
| | Stefan Landsberg | @jörg dass avec den pluszeichen J'ai eu gemacht et hat aussi super geklappt mais je hab oublier qc chez dem zweiten paramètre de messagebox cela Status dans anführungszeichen trop mettons.
qui la ligne verursacht maintenant aucun avertissement plus et sieht so aus: KompilierenMarqueSéparationMessageBox(ip$ + " - " + status$,"Status",0640262144) > @tony je serait pour chaque ping befehl erstmal une la ligne comment KompilierenMarqueSéparation écrivons. ensuite peux du après pour chacun abfrage einzeln abfragen si vous erfolgreich était ou bien pas.
et au sommet peux du ensuite einmal une infotext faire: KompilierenMarqueSéparation cela imprimer ist jetz qui schnellste methode. peux naturellement aussi un la fenêtre gestalten. comment cela allez sais je mais encore pas |
| | | | |
| | | | | | | |
| | Penguin Tux | | | | | |
| | Stefan Landsberg | je dachte mir cela so, dass du seulement qui ganzen ping abfragen fais, et au sommet einmal überprüfst, si une qui abfragen négative était. Pour cette brauchst du mais qui ergebnisse aller 3 abfragen. pour qui ersten ping abfrage ist qui variable ping% je pour ergebnis 1 ou bien 0
si du jetz mais qui prochain ping abfrage fais wird ping% par cela ergebnis cet abfrage überschrieben. et "let ping_1%=ping%" sicherst du den wert de ping% pour ping_1%.
pour qui zweiten abfrage muss cela ensuite naturellement "let ping_2%=ping%" appeler, et pour qui dritten "let ping_3%=ping%"
ensuite peux du au sommet qui trois variablen ping_1%, ping_2% et ping_3% abfragen et savoir quelle abfrage négative et quelle positiv était. dadurch peux du ensuite une entsprechenden hilfetext präsentieren
qui trois variablen musst du naturellement encore entier au haut de den declare partie écrivons. |
| | | | |
| | Penguin Tux | alors im Endeffekt so: KompilierenMarqueSéparationPing "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%
KompilierenMarqueSéparationdeclare pingstring$,ping$,ping%,ping_1%=ping%,ping_2%=ping%,ping_3%=ping%
|
| | | | |
| | Rolf Koch | | | | | |
| | Stefan Landsberg | presque. so comment du cela gemacht la hâte serait qui let ping_1%=ping% befehl seulement fonctionnement volonté si qui server pas erreichbar ist.
je mon cela so: KompilierenMarqueSéparationPing "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"
KompilierenMarqueSéparationdeclare pingstring$, ping$, ping%, ping_1%, ping_2%, ping_3%
@rolf es peux son dass qui code très vieux ist. mais il funktioniert et cela zählt chez mir. |
| | | | |
| | Penguin Tux | Stefan Löwen
presque. so comment du cela gemacht la hâte serait qui let ping_1%=ping% befehl seulement fonctionnement volonté si qui server pas erreichbar ist. je mon cela so: KompilierenMarqueSéparationPing "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"
KompilierenMarqueSéparationdeclare pingstring$, ping$, ping%, ping_1%, ping_2%, ping_3%
Na bien sûr, là hätte je selbst sur elle komemn peut, peux oui rien volonté, si je es pour "else" schreibe. et qui faute dans qui Declarezeile hätte je nie trouvé, merci! KompilierenMarqueSéparationet cela schreibe je ensuite am Ende avant "waitinout"? |
| | | | |
| | Stefan Landsberg | @iF j'ai mir createtext angeguckt. mais je ne sais pas so richtig quoi je avec cela anfangen soll.
verstehe je cela richtig, dass je cela comme ersatz pour mon messagebox verwenden soll?
cela avec dem handle des übergeordneten fensters ferstehe je pas entier. quoi muss je là comme handle hinschreiben?
je hab es la fois avec cette la ligne probiert: KompilierenMarqueSéparation mais qui la ligne verursacht gar rien.
@tony hm, ne je glaub derrière dem waitinPut wäre cela besser aufgehoben. ensuite wird nämlich seulement dein bildschirm avec den ergebnissen angezeigt. et si on ensuite une bouton drückt erscheint qui infotext.
comme anregung pour dein programm: - qui schrift im ergebnisfenster ist assez langgezogen.peux on peut-être changement. - super wäre es aussi encore si le schrift rouge wäre si le IP pas erreichbar ist. |
| | | | |
|
répondreOptions du sujet | 23.587 Views |
Themeninformationencet Thema hat 9 participant: |