Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Einlesen von Ergebnissen aus DOS-Befehlen (SHELL)

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Crumbler



Anmeldungsdatum: 12.10.2005
Beiträge: 15

BeitragVerfasst am: 11.09.2007, 15:36    Titel: Einlesen von Ergebnissen aus DOS-Befehlen (SHELL) Antworten mit Zitat

Hallo!
Ich habe ein Problem, ich möchte eine Art "Auto-Ping-System" erstellen und müsste dafür wissen: KANN ICH DAS ERGEBNIS VON MIT SHELL AUSGEFÜHRTEN DOS-BEFEHLEN IN QB EINLESEN?

Also:
SHELL "PING 192.168.0.1"

Dann erscheint ja die DOS-Ausgabe:

Pakete: Gesendet = 4, Empfangen = 4 Verloren = 0 (0% Verlust)

Kann ich eben dieses "0% Verlust" über QB auslesen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 11.09.2007, 15:38    Titel: Antworten mit Zitat

Unter FreeBASIC gaebe es da die Open Pipe moeglichkeit... unter QB faellt mir da nur eine andere moeglichkeit ein....

sowas wie Shell "ping host/ip > datei.ext" damit er das ganze in eine datei schreibt, diese kann man dann einfach einladen und auslesen....
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Crumbler



Anmeldungsdatum: 12.10.2005
Beiträge: 15

BeitragVerfasst am: 11.09.2007, 15:41    Titel: Antworten mit Zitat

Wie wäre denn dann die genaue Syntax?

SHELL "PING 192.168.0.1 > blabla.txt" ???


Danke schon mal für die schnelle Hilfe!!!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 11.09.2007, 15:43    Titel: Antworten mit Zitat

Ja, so in etwa... dann dauert es natuerlich einen augenblick bis der Ping fertig ist, dannach kannst Du einfach die blabla.txt einlesen und das gewuenschte 'rausfiltern' und anzeigen lassen...
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 11.09.2007, 15:43    Titel: Antworten mit Zitat

Zwar auf dem FB-Portal geschrieben kann das ganze trotzdem auch auf QB angewendet werden (solltest du dich fragen, wie du die Verlust-Anzeige hinbekommst). lächeln
http://www.freebasic-portal.de/index.php?s=tutorials&id=2&seite=1
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Crumbler



Anmeldungsdatum: 12.10.2005
Beiträge: 15

BeitragVerfasst am: 11.09.2007, 15:58    Titel: Antworten mit Zitat

DANKE!
Funktioniert mit der .txt sehr gut!
Du hast mir wahrscheinlich ne schlaflose Nacht erspart, auf diese einfache Lösung wär ich nie gekommen!!!
mit dem Kopf durch die Mauer wollen

PS:
Ich hab den Ping mit -n 1 -w 2000 erheblich gekürzt. Reicht für n normales Netzwerk (100Mbit/s) anscheinend auch noch aus und ist trotz der .txt noch schneller als der "Standart" Ping!!!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Crumbler



Anmeldungsdatum: 12.10.2005
Beiträge: 15

BeitragVerfasst am: 11.09.2007, 17:30    Titel: Antworten mit Zitat

Hi nochmal!

Das abspeichern des Ping-Ergebnisses funktioniert, wie gesagt, sehr gut.

Aber beim Auslesen der Daten aus der blabla.txt funzt gar nichts:

Ich wollte die TXT per LEN und MID$ in seine Bestandteile auflösen, um das Ergebnis herauszufiltern, da DOS(CMD) die Datei aber nihct als zusammenhängenden String in die Txt schreibt, geht mein Plan schon wieder nicht auf.

Die LEN - Mid$ Routine die ich mir geschrieben habe gibt mir nur einen Leerstring zurück!!!

DOS SPEICHRT WIE FOLGT:

LEERZEILE
Ergebnis1
LEERZEILE
Ergebnis2
LEERZEILE
Verlust

Was kann ich da machen? Kann ich DOS dazu bringen das alles in die erste Zeile zu schreiben?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 11.09.2007, 17:35    Titel: Antworten mit Zitat

Das koennte man zB so machen zwinkern
Code:

Open "blabla.txt" as #1
While not Eof(1)
    Line Input #1,LadeString
    MeinString=MeinString+LadeString
Wend
Close #1


wenn das in QB auch geht, vielleicht auch so:
Code:

Open "blabla.txt" for binary as #1
Get #1,,MeinString,Lof(1)
Close #1

_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Crumbler



Anmeldungsdatum: 12.10.2005
Beiträge: 15

BeitragVerfasst am: 11.09.2007, 18:00    Titel: Antworten mit Zitat

Die zweite Lösung funzt nich, die erste Syntx-Mäßig schon, aber nicht wirklich...

QB gibt mir nur "FIELD ÜBERLAUF" zurück....

Ist wohl n bisschen mehr als die 255 Zeichen für die LINE INPUT ausgelegt ist...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 11.09.2007, 18:03    Titel: Antworten mit Zitat

habs gerade mal probiert... lass mal das 'line' weg und mach mal nur input...
dann solltest Du alles in einem String haben den Du dann bearbeiten kannst...
Edit: ich komme dabei auf 249 zeichen
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Crumbler



Anmeldungsdatum: 12.10.2005
Beiträge: 15

BeitragVerfasst am: 11.09.2007, 18:14    Titel: Antworten mit Zitat

SORRY!!!!

Hab den Fehler gefunden, weshalb es nicht funktioniert hatte:

Hatte die Datei im RANDOM statt im INPUT Modus geöffnet...
Kann ja nicht gehen!!!

Tut mir echt leid, dass ich dir jetz so Arbeit gemacht hab!



Wer lesen kann, ist halt doch klar im Vorteil, ne?


Mfg Crumbler
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz