Zeichenketten Ausführen

Übersicht BlitzBasic Allgemein

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

codebreaker

BeitragSo, Jul 26, 2009 18:08
Antworten mit Zitat
Benutzer-Profile anzeigen
o.k. , mein eigentlicher Plan war eine art direktfenster, in das man befehle eingab, die auf enter ausgeführt werden sollten. Wie schaffe ich das jetzt nur?
Blitz 2D\3D

Windows 7 HP 32bit
ATI Mobility Radeon HD 4600 Series
Intel Pentium T4300 @ 2,1 Ghz dc

Nicdel

BeitragSo, Jul 26, 2009 18:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Du lässt etwas eingeben, lässt es von einer Scriptsprache (siehe BCC 28) ausführen und einzeichnen und wartest dann auf den nächsten Befehl.
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7
 

aletes

BeitragSo, Jul 26, 2009 18:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Ach, du willst eine Art Eingabeaufforderung(wie DOS)?
Dann machst du das so:
BlitzBasic: [AUSKLAPPEN]
Repeat
wahl$=Input(">> ")
Select wahl
Case "time"
Print CurrentTime()
Case "date"
Print CurrentDate()
Case "cls"
Cls
Locate 0,0
End Select
Until wahl="exit"
End

beanage.johannes

BeitragSo, Jul 26, 2009 20:29
Antworten mit Zitat
Benutzer-Profile anzeigen
da iwrds dann aber mit prametern doof

und es ist unübersichtlich

BladeRunner

Moderator

BeitragMo, Jul 27, 2009 0:44
Antworten mit Zitat
Benutzer-Profile anzeigen
aletes ansatz ist mehr als ungünstig da er im Prinzip nur von ihm vorhergesehene Eingaben vzu lässt (so was nennt sich hardcoding). Davon solltest Du besser die Finger lassen.
Günstiger wäre es die Eingaben mittels eines Parsers zu analysieren, das ist wesentlich flexibler. Noch dazu kannst Du dann die Kommandoliste extern erweitern.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

codebreaker

BeitragMo, Jul 27, 2009 9:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist schon richtig, BladeRunner.
Bloß: So war es ja vorgesehen.
Das eingabeFenster sollte ja "nur" alle Blitzbasic-Befehle annehmen.
Natürlich wäre es schön, wenn man Befehlreihen als neue Befehle "extern" dazusetzen könnte, aber daran habe ich am anfang gar nicht gedacht.
Blitz 2D\3D

Windows 7 HP 32bit
ATI Mobility Radeon HD 4600 Series
Intel Pentium T4300 @ 2,1 Ghz dc

BladeRunner

Moderator

BeitragMo, Jul 27, 2009 14:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Selbst dann ist dieses hardcoden die unsauberste Lösung.
Du hast zB auch keine Variablen so.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

Mr.X

BeitragDi, Aug 04, 2009 23:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich würde die aktuelle Zeile Einlesen mit If Abfrage Auf einen befehl Prüfen und den String dann mit
Mid$ Zerlegen.

Hier Ein Beispiel ist auch leicht mit Types zu Machen
Variablen Lassen sich ebenso mit Mid$ auschmeiden und vileicht in ein seperates Type speichen.

Code: [AUSKLAPPEN]

Dim Code$(100)

Code$(0) = "Print "+Chr$(34)+"Hallo"+Chr$(34)

For i% = 0 To 100
   If Instr(Code$(i%),"Print") Then
      P$ = Mid$(Code$(i%), 7, Len(Code$(i%))) ; Parameter
      Print P$
      WaitKey
   End If
Next
End

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group