Ping Programm

Anfängerfragen zum Programmieren mit PureBasic.
Fabsi
Beiträge: 6
Registriert: 12.10.2005 22:50
Wohnort: Hagen
Kontaktdaten:

Ping Programm

Beitrag von Fabsi »

hallo ich habe gerade erst angefangen mit purebasic zu programieren....

ich versuche ein programm zuschreiben was eine ping abfrage ausführt

das erste prblem ist das die Gadges erst funzen wenn mann einmal auf schließen geklickt hat

das zweite: wie bekomme ich die ipadresse aus dem ipadressgedget in den "runprogramm" befehl

Code: Alles auswählen

If InitKeyboard() = 0                                               
  MessageRequester("Fehler","Programm läuft bbei dir net",0)          
EndIf  

If OpenWindow(0,200,200,250,250,#PB_Window_SystemMenu,"Easy Ping           made_by_fabsi")
EndIf

  If CreateGadgetList(WindowID())
    ButtonGadget(1,50,150,150,20,"Beenden")
    ButtonGadget(2,50,100,150,20,"Ping ausführen")
    IPAddressGadget(0, 50, 50, 150, 20)
    SetGadgetState(0,MakeIPAddress(127,0,0,1))   
    Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
  
  EndIf

Repeat

EventID = WaitWindowEvent()

  If EventID = #PB_Event_CloseWindow 
    Quit = 1
  EndIf

  If EventID=#PB_EventGadget
    If EventGadgetID()=2
      RunProgram("ping", "192.168.2.1","")
    EndIf
  EndIf

  If EventID=#PB_EventGadget
    If EventGadgetID()=1
      Quit = 1
    EndIf
  EndIf
Until Quit=1
End
(die befehlr hab ich aus anderen programmen zusammen gesucht)
ich hoffe ihr könnt mir helfen

mfg Fabsi
Icke
Beiträge: 143
Registriert: 08.09.2004 13:19

Beitrag von Icke »

Mach das mal weg :

Code: Alles auswählen

Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow 
Das Prog wartet an dieser Stelle auf Fensterschließen. Copy&Paste aus der Hilfe.

Die Adresse auslesen so : GetGadgetText(#Gadget)

Schau dazu mal in die Hilfe.
Fabsi
Beiträge: 6
Registriert: 12.10.2005 22:50
Wohnort: Hagen
Kontaktdaten:

Beitrag von Fabsi »

vielen dank :D
das erste problem ist behoben

abba das mit dem zweiten...

wenn ich getz ne ping abfrage starte kommt ne leere konsole und das wars, nach en paar sekunden ise dann auch schon wieda weg :(

ich glaub dass das daran liegt das ich "IPAdresse$" nicht richtig in den "runprogram" befehl eingefügt hat
oda so....

Code: Alles auswählen

If InitKeyboard() = 0                                               
  MessageRequester("Fehler","Programm läuft bei dir net",0)          
EndIf  

If OpenWindow(0,200,200,250,250,#PB_Window_SystemMenu,"Easy Ping           made_by_fabsi")
EndIf

  If CreateGadgetList(WindowID())
    ButtonGadget(1,50,150,150,20,"Beenden")
    ButtonGadget(2,50,100,150,20,"Ping ausführen")
    IPAddressGadget(0, 50, 50, 150, 20)
    SetGadgetState(0,MakeIPAddress(127,0,0,1))   
  EndIf

  IPAdresse$ = GetGadgetText(0)

Repeat

EventID = WaitWindowEvent()

  If EventID = #PB_Event_CloseWindow 
    Quit = 1
  EndIf

  If EventID=#PB_EventGadget
    If EventGadgetID()=2
      RunProgram("ping", "IPAdresse$","")
    EndIf
  EndIf

  If EventID=#PB_EventGadget
    If EventGadgetID()=1
      Quit = 1
    EndIf
  EndIf
Until Quit=1
End


kann mir jemand helfen
Icke
Beiträge: 143
Registriert: 08.09.2004 13:19

Beitrag von Icke »

Trag mal statt "IPAdresse$" das ein : GetGadgetText(0), aber ohne die "
Fabsi
Beiträge: 6
Registriert: 12.10.2005 22:50
Wohnort: Hagen
Kontaktdaten:

Beitrag von Fabsi »

sorry abba ich versteh nicht was du meinst
Icke
Beiträge: 143
Registriert: 08.09.2004 13:19

Beitrag von Icke »

Code: Alles auswählen

If InitKeyboard() = 0                                               
  MessageRequester("Fehler","Programm läuft bei dir net",0)         
EndIf 

If OpenWindow(0,200,200,250,250,#PB_Window_SystemMenu,"Easy Ping           made_by_fabsi")
EndIf

If CreateGadgetList(WindowID())
  ButtonGadget(1,50,150,150,20,"Beenden")
  ButtonGadget(2,50,100,150,20,"Ping ausführen")
  IPAddressGadget(0, 50, 50, 150, 20)
  SetGadgetState(0,MakeIPAddress(127,0,0,1))   
EndIf

Repeat
  
  EventID = WaitWindowEvent()
  
  If EventID = #PB_Event_CloseWindow
    quit = 1
  EndIf
  
  If EventID=#PB_EventGadget
    If EventGadgetID()=2
      RunProgram("ping", GetGadgetText(0),"")
    EndIf
  EndIf
  
  If EventID=#PB_EventGadget
    If EventGadgetID()=1
      quit = 1
    EndIf
  EndIf
Until quit=1
End 
ALternativ könntest du auch nur die Gänsefüsse um Ipadresse$ wegnehmen...
Fabsi
Beiträge: 6
Registriert: 12.10.2005 22:50
Wohnort: Hagen
Kontaktdaten:

Beitrag von Fabsi »

danke :allright:
Icke
Beiträge: 143
Registriert: 08.09.2004 13:19

Beitrag von Icke »

Büdde...
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Hallo, ich bin zwar auch noch Anfänger, aber ich hätte da noch einen Tipp!

Man kann Ziele auch anpingen, indem man den sog. Hostnamen eingibt. Ich kann also beim richtigen ping nicht nur 127.0.0.0, 192.168.8.2 oder andere IPs anpingen, sondern auch Namen. So ist es zum beispiel möglich, dass ich meinen eigenen Computer anpinge, indem ich in der Windows Eingabeaufforderung ping AND-Computer eingebe (Mein PC heißt so). Sogar den Server von Google kann ich anpingen: ping google.de.
OK, es geht also darum, dass solche Namen nicht in dein IP-AdressGadget passen, das wollte ich nur sagen. Ich weiß, dass es für dich, Fabsi, nur ein testprogramm ist, aber ich wollte dies einfach aml loswerden.

MfG, AND51
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Fabsi
Beiträge: 6
Registriert: 12.10.2005 22:50
Wohnort: Hagen
Kontaktdaten:

Beitrag von Fabsi »

ach was :o
nein ich weiß dass das geht ich finds miter ip abba schöner :mrgreen:
Antworten