DOS benutzen??

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

Kryan

Betreff: DOS benutzen??

BeitragMi, Mai 03, 2006 20:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

wie kann man Aufgaben an DOS weitergeben...(<-komisch ausgedrückt Wink)
also so was geht irgendwie nicht:
Code: [AUSKLAPPEN]
Print "Hallo"
ExecFile "CLS"

Obwohl etwas von ShellExecute in der Onlinehilfe steht...verstehe ich nicht ^^
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

flohrian

BeitragMi, Mai 03, 2006 20:36
Antworten mit Zitat
Benutzer-Profile anzeigen
sicher, dass cls nen DOS-befehl und kein bb-berfehl ist (bzw evtl. ist es ja sowohl als auch..., auf jeden fall aber bb!!, dos weiss ich nicht so richtig...)

PowerProgrammer

BeitragMi, Mai 03, 2006 20:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bin mir net sicher, was du meinst, vielleicht solltest du eine .bat-Datei erstellen...

Dein Befehl "cls" reinigt die CMD-Box, aber nicht den Screen. In deinem Beispiel möchtest du doch mit dem Programm "cls" den BB-Screen säubern, oder?

Kryan

BeitragMi, Mai 03, 2006 20:38
Antworten mit Zitat
Benutzer-Profile anzeigen
denkst du, ich wäre so blöd und nähme irgendeinen dos-befehl der keiner ist?? Natürlich ist "Cls" ein DOS-Befehl!!!

Und bitte nichts posten hier in diesem Unterforum, wenn du keine ahnung von dem hast, wovon geredet wird!!!

edit: @PowerProgrammer: Cls ist doch zum löschen des bildschirms da, weil wenn man in der MS-DOS-Eingabeaufforderung erstmal bisschen mit "cd .." und so weiter rumspielt und dann plötzlich Cls verwendet, dann wird der ganze MS-DOS-Bildschirm gelöscht

so...hab daraus eine neue vermutung gewonnen: Kann es sein, dass der DOS-Befehl CLS nicht weiß, WAS er löschen soll??
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!

PowerProgrammer

BeitragMi, Mai 03, 2006 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaub, der kann nichts anderes löschen als die Konsole! Jedenfalls habe ich den Befehl nie in einem anderen Zusammenhang benutzt...

Was möchtest du denn genau, doch nicht etwa nur cls anwenden?!

blitzmaster

BeitragMi, Mai 03, 2006 20:57
Antworten mit Zitat
Benutzer-Profile anzeigen
du kannst befehle nur dann Anwenden, wenn sie nicht direkt im Command-Interpreter enthalten sind, also externe Programme sind. Um Grundbefehle auszuführen, müsstest du eine *.bat Datei erzeugen!
***************
Blitzmaster

PowerProgrammer

BeitragMi, Mai 03, 2006 20:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt! Fällt mir auch gerade auf. Es gibt gar keine "cls.exe" oder "cls.com"... Das war mir nicht klar!

Kryan

BeitragMi, Mai 03, 2006 21:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Cls scheint aber nicht der einzige befehl zu sein:

Code: [AUSKLAPPEN]
Print CurrentDir$()
ExecFile ("cd..")
Print CurrentDir$()


ich probier es mal mit ner bat-datei

hm...schaut mal selbst:
Code: [AUSKLAPPEN]
file=WriteFIle("mybat.bat")
WriteLine file,"Cls"
CloseFile file

Print "Hallo"
ExecFile "mybat.bat"

Also kann man anscheinend nicht mal daten empfangen...richtig??
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!

PowerProgrammer

BeitragMi, Mai 03, 2006 21:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Kryan hat Folgendes geschrieben:
Also kann man anscheinend nicht mal daten empfangen...richtig??


Ich glaub, die einzige Möglichkeit an Rückgabewerte von Funktionen zu kommen, ist per Pipes, also z.B. "Befehl>output.txt"...

Wenn du gucken möchtest, welche Befehle Programme sind, dann such unter C:\<WINDOOF>\System32 ... Das dürfte aber klar sein!
 

Florian

BeitragMi, Mai 03, 2006 21:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Command.Bas
Das große BlitzBasic Community Tutorial
Stackmaschine 2.0

Kryan

BeitragMi, Mai 03, 2006 21:39
Antworten mit Zitat
Benutzer-Profile anzeigen
der schön von dir beschriebene download-link da ist irgendwie in so nem fachchinesisch...nicht zu gebrauchen Very Happy
außerdem ist es mit QBasic nochmal was anderes, denn QBasic kann ja mit dem Befehl SHELL so agieren, wie das normale DOS
ich mach mal so wie der powerprogrammierer es sagte!

edit: wo schreibt er denn die datei hin??
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

Florian

BeitragMi, Mai 03, 2006 21:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Es ist nicht mit QBasic gemacht sondern mit PowerBasic.
Das große BlitzBasic Community Tutorial
Stackmaschine 2.0

Kryan

BeitragMi, Mai 03, 2006 21:44
Antworten mit Zitat
Benutzer-Profile anzeigen
ja gut...ist aber sehr sehr ähnlich (allein schon INKEY$)
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

BIG BUG

BeitragMi, Mai 03, 2006 21:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich verstehe nicht, was Du erreichen willst. Natürlich wird CLS als Shellcommand ausgeführt. Allerdings hat das ja nichts mit deinem Programm zu tun, da CLS dazu dient, den CommandPrompt zu leeren, der aber gar nicht da ist. Von daher ist ein solcher Aufruf ziemlich sinnfrei.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

Kryan

BeitragMi, Mai 03, 2006 21:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Also CLS hab ich auch nur als ein Beispiel ganz ganz am anfang verwendet...n sinnVOLLeres beispiel hier:

SETENV Variable$, Wert$
Diese Funktion setzt/ändert den Wert einer Systemvariable. Diese Systemvariablen gab es bereits zu DOS-Zeiten. Wegen der Kompatibilität sind diese Variablen bis heute geblieben. Eine Systemvariable kann mit dem DOS-Befehl "SET Variable[=Text]" gesetzt werden. Ab dann kann diese Variable von jedem Programm ausgelesen und geändert werden.

Exclamation Eine mit BlitzBasic definierte Systemvariable bleibt nur solange erhalten, bis das Programm beendet wird. Danach wird die Variable automatisch entfernt. Wurde die Variable mit dem DOS-Befehl "SET" definiert, so bleibt die Variable erhalten!

Nur so mal neben bei Wink
Das ist eigentlich DER grund warum ich hier so fleißig poste

und schon die nächste frage:
gibt es in der DOS-Sprache auch noch ein Gegenstück zu Set??
weil GET geht nicht Sad
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!

Hip Teen

BeitragMi, Mai 03, 2006 23:02
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn du B+ besitzt, kannst du CreateProcess verwenden. Gib dort als Paramter die cmd.exe an. Nun kannst du an den Prozess per WriteLine die ganzen Befehle schicken, die du normalerweise in die Eingabeaufforderung eingibst. Und per ReadLine liest du aus, was dir der Prompt ausgibt.
Denke das ist das, was du suchst
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger"

SoNenTyp

BeitragMi, Mai 03, 2006 23:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Also erstmal ist das nicht DOS sondern ein Comandozeilen-Interpreter. XP basiert nicht mehr auf DOS.

Nun zu deiner Frage.

Ein Beispiel:
Code: [AUSKLAPPEN]
set Blubber=Blubberdiblu

Setzt die Variable
Code: [AUSKLAPPEN]
set Blubber=

Löscht sie wieder.
Gruss Der Typ.

User posted image

DerHase

BeitragDo, Mai 04, 2006 7:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Gib doch mal in der Kommandozeile ein:
Code: [AUSKLAPPEN]
help

So bekommst Du alle Befehle. Wenn Du zu einem Befehl mehr wissen willst dann schreib einfach:
Code: [AUSKLAPPEN]
befehl /?

Kryan

BeitragDo, Mai 04, 2006 18:06
Antworten mit Zitat
Benutzer-Profile anzeigen
ja ich weiß...das mit dem help kenn ich auch schon...nur der zeigt da kein gegenstück zu set= an...und: ich hab kein win xp Razz

edit: hab hier mal sowas gefunden:
Code: [AUSKLAPPEN]
Declare Function CreateProcess Lib "kernel32.dll" _
                 Alias "CreateProcessA" ( _
                 ByVal lpApplicationName As String, _
                 ByVal lpCommandLine As String, _
                 lpProcessAttributes As SECURITY_ATTRIBUTES, _
                 lpThreadAttributes As SECURITY_ATTRIBUTES, _
                 ByVal bInheritHandles As Long, _
                 ByVal dwCreationFlags As Long, _
                 lpEnvironment As Any, _
                 ByVal lpCurrentDriectory As String, _
                 lpStartupInfo As STARTUPINFO, _
                 lpProcessInformation As PROCESS_INFORMATION) As Long

(Link: http://www.activevb.de/rubrike...ocess.html )
also lpApplicationName ist logisch (zB SET=...)
und lpCommandLine ebenfalls (zB \?)
lpProcessAttributes und lpThreadAttributes versteh ich nicht Sad
und den rest außer lpCurrentDirectory ebenfalls nicht Razz

könnt ihr mir vllt paar von den restlichen erklären??
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!

Jolinah

BeitragDo, Mai 04, 2006 19:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
...nur der zeigt da kein gegenstück zu set= an...


Es gibt kein Get, aber da es ja Variablen sind kannst du die mit echo ausgeben:

Code: [AUSKLAPPEN]
set myvar=10
echo %myvar%
10


Oder du kannst das dann in eine Datei speichern lassen:

Code: [AUSKLAPPEN]
echo %myvar% > test.txt


Dann steht in der Datei test.txt der Wert (10).

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group