Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
qbay
Anmeldungsdatum: 08.06.2008 Beiträge: 84
|
Verfasst am: 01.07.2010, 14:58 Titel: SHELL |
|
|
hi
ich hab mal ne Frage zum Befehl SHELL
ich habe vor bestimmt einem jahr versucht mit QBASIC eine art PING-Programm zu programmieren
hat aber nicht geklappt^^
jetzt wollte ich euch fragen ob jemand eine Idee hat wie man mit FREEBASIC und vorallem dem SHELL-Befehl das schaffen kann?
meine Idee wäre
wenn man SHELL benutzt kann man ja auf die Befehlsliste von DOS zugreifen also auch auf den Befehl PING
soweit so gut nur müsste man für jede IP-Adresse oder DOMAIN-Adresse
sozusagen ein neues Programm schreiben
weis jemand wie eine Schleife für dieses Problem aussieht?
einfach Variablen anhängen geht nicht :
Zitat: |
SHELL "ping",a,".",b,".",c,".",d
|
wahrscheinlich liegt die Lösung wieder direkt vor meiner Nase aber ich komme einfach nicht drauf  |
|
Nach oben |
|
 |
-schumi-

Anmeldungsdatum: 28.10.2009 Beiträge: 131 Wohnort: Südbayern
|
Verfasst am: 01.07.2010, 15:06 Titel: |
|
|
Mit ping kenne ich mich nicht aus, aber:
Zitat: | einfach Variablen anhängen geht nicht : |
Versuch es mal so:
Code: |
SHELL "ping" + STR(a) + "." + STR(b) + "." + STR(c) + "." + STR(d)
|
(Ich gehe mal davon aus, dass a,b,c und d jeweils eine Zahl von 0-255 enthalten, weil du ja von IP geredet hast)
MfG
-schumi- |
|
Nach oben |
|
 |
qbay
Anmeldungsdatum: 08.06.2008 Beiträge: 84
|
Verfasst am: 01.07.2010, 15:19 Titel: |
|
|
ja das ist wieder so eine geschichte wo die antwort vor meiner Nase lag^^
vielen dank
so würde mein einfaches Beispiel aussehen
Zitat: |
DIM AS INTEGER a,b,c,d
FOR a = 1 TO 255
FOR b = 1 TO 255
FOR c = 1 TO 255
FOR d = 1 TO 255
SHELL "ping " + STR(a) + "." + STR(b) + "." +STR(c) + "."+STR(d)
NEXT d
NEXT c
NEXT b
NEXT a
SLEEP
END
|
wirklich nur ein einfaches Beispiel^^
fasl ihr dazu Beispiele habt ich würd mich dafür interessieren |
|
Nach oben |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 01.07.2010, 17:27 Titel: |
|
|
in qbasic ist ltrim$(rtrim$(str$(deinezahl))) , in fb trim(str(deinezahl)) zu empfehlen
str(1) gibt " 1" und nicht "1" (ohne leerzeichen) zurück. deshalb trim _________________ MFG
Flo
Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 01.07.2010, 18:36 Titel: |
|
|
...und deshalb sollte man auch die spezielle String-Konkatenation statt dem "+" verwenden, die Erspart auch noch das Trim().
Code: |
ip1 & "." & ip2 & "." & ip3 & "." & ip4
|
_________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
-schumi-

Anmeldungsdatum: 28.10.2009 Beiträge: 131 Wohnort: Südbayern
|
Verfasst am: 01.07.2010, 18:40 Titel: |
|
|
Ich find irgendwie das Leerzeichen nicht
Und der Screenshot ist kein fake!
Ich war ehrlich gesagt selbst darüber erstaunt...
MfG
-schumi- |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 01.07.2010, 18:49 Titel: |
|
|
Kann sein, dass FB das inzwischen anders formatiert (nur bei -lang qb noch mit Leerzeichen), aber es spricht nix dagegen, trotzdem die passende String-Konkatenation zu verwenden. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Muttonhead

Anmeldungsdatum: 26.08.2008 Beiträge: 566 Wohnort: Jüterbog
|
Verfasst am: 01.07.2010, 18:53 Titel: |
|
|
in der Referenz steht zur STR-Funktion
Zitat: | Unterschiede zu QB:
Bei positiven Ganzzahlen wird kein Leerzeichen vorangestellt |
ps: ups, Jojo war schneller  |
|
Nach oben |
|
 |
|