Seite 1 von 1

Ein paar kleine Fragen zu Konsolenanwendungen

Verfasst: 04.03.2006 11:03
von Zero_Cool
Hallo Zusammen

Ich habe ein paar Fragen zu Konsolenanwendungen:

- Kann ich eine Zeile welche ich mit PrintN ("") ausgebe, ein paar Code Zeilen spähter überschreiben? Ich würde gerne einen Zähler einbauen der von 0 - 100% hochzählt wenn gewisse Abläufe erledigt sind.

- Gibt es eine Möglichkeit mit einer Konsolenanwendung zu Checken ob eine Internet Seit Online ist? Kann man IP und Reaktionszeit ausgeben?

- KAnn ich zwischen Pure Basic Befehlszeiten DOS Befehle einbauen? Soll heissen 1 Zeile Pure BAsic auf der anderen DOS? ICh habe Probleme den DOS Befehl "Type 123.xxx >> 456.xxx" in Pure Basic umzusetzten.

- Wie kann ich in einer Konsolenanwendung Zeit und Datum ausgeben?

Danke und Gruss Phil

Verfasst: 04.03.2006 12:38
von Sylvia
Verwechsle 'Konsole' nicht mit 'DOS'. Hat nichts miteinander zu tun.
Schaut nur so ähnlich aus. Das ist aber schon die einzigste Gemeinsamkeit.

zu 1) Ja; siehe Handbuch: ConsoleLocate()

zu 2) Ja; wie gesagt, du kannst alle Möglichkeiten nutzen die PB dir bietet.
Und NUR PB !

zu 3) Nein. Type ist ein DOS-Befehl. Um den Inhalt einer Datei anzusehen
musst du dir eine entsprechende Procedure in PB schreiben. Easy. Findest
genug Beispiele in der Hilfe oder hier im Forum.

zu 4) Ja, mit Print() <)

Verfasst: 04.03.2006 12:47
von Zero_Cool
Danke für die Antwort

Das man die Zeit und das Datum per Print ausgeben kann habe ich mir gedacht, nur finde ich im Handbuch die entsprechenden Befehle nicht.

Mir ist schon klar, das die Fragen die ich gestellt habe, mit PB machbar sind, jedoch habe ich die entsprechenden Befehle nicht gefunden, respektive bin mir nicht sicher welche es genau sind.

Verfasst: 04.03.2006 13:00
von KeyKon
Datum ganz einfach mit Date() und FormatDate() und so.

KeyKon

Verfasst: 04.03.2006 19:45
von PAMKKKKK
Sylvia hat geschrieben:zu 2) Ja; wie gesagt, du kannst alle Möglichkeiten nutzen die PB dir bietet.
Und NUR PB !
Sehr hilfreiche aussage ..... /:-> :?

Zu 1.)

Code: Alles auswählen

OpenConsole()
For i = 1 To 10000
  ConsoleLocate(0,1)  
  PrintN ("Das ist ein Zaehler " + Str(i) + " der stehen bleibt!")
Next

PrintN("Druecken Sie Return zum Beenden.")
Input()
CloseConsole()
Zu 2.)
Dazu kann man den DOS Befehl Ping benutzen.
Man kann sich in PB natürlich auch einen eigenen Ping Befehl basteln.
Wenn man die Forensuche benutz kommt man dann findet man das:
http://forums.purebasic.com/german/view ... 3928#53928

Zu 3.)
Da der Befehl Type ein bestandteil der CMD.exe von der Doskonsole ist, ist dieser nicht so einfach zu erreichen (ist mir nicht bekannt wie).
Deshalb habe ich in PB einen eigenen Type befehl geschrieben:

Code: Alles auswählen

OpenConsole()

Procedure Type(DateiName.s)
  HFile = OpenFile(#PB_Any, DateiName.s) ; Datei öffnen
  If HFile ; wenn Datei geöffnet wurde
    While Eof(HFile)= 0 ; Solange das Dateiende nicht erreicht ist
      PrintN(ReadString()) ;Datei Zeilenweise ausgeben
    Wend
    CloseFile(HFile) ; Datei schliessen
  EndIf
EndProcedure

; Aufruf beispiel:
Type("C:\windows\win.ini") ; Hier zum Testen mal die Dateiangabe ändern!

PrintN("Druecken Sie Return zum Beenden.")
Input()
CloseConsole()
Zu 4.)

Code: Alles auswählen

OpenConsole()

PrintN(FormatDate("%dd.%mm.%yyyy", Date()))

PrintN("Druecken Sie Return zum Beenden.")
Input()
CloseConsole()

Verfasst: 04.03.2006 20:37
von Zero_Cool
Wow, vielen Dank für die Mühe! Hat mir sehr geholfen! Kann man die Zeit auch so darstellen? Ist der Code ändlich wie der beim Datum?

Verfasst: 04.03.2006 21:40
von t-master
Aus der Hilfe
(Date)

Code: Alles auswählen

Debug FormatDate("%hh:%ii:%ss", Date())  ; zeigt die aktuelle Zeit mittels dem 00:00:00 Format
:o Wer lesen kann ist klar im Vorteil :D :mrgreen:

Verfasst: 04.03.2006 21:45
von Zero_Cool
Super! Perfekt! Danke!