|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1875 Wohnort: D59192
|
Verfasst am: 21.09.2005, 08:29 Titel: Konsolenfenster als Debug-Fenster |
|
|
Hallo,
die Idee ist nicht neu, da aber in FB 0.15 das Ansprechen des Konsolefensters geändert wurde (open cons, früher open "cons:") habe ich mit Hilfe der __FB_VER_MINOR__ Information eine Variante für beide FB-Versionen geschrieben.
Code: | '9/15/05 - Konsolenfenster als Debug-Fenster - Volta -
'als Konsolenanwendung kompilieren, sollte ab FB 0.14 funktionieren.
'evtl. das Hauptfenster verschieben um das Konsolenfenster sichtbar zu machen!
Option Explicit
Screen 13 'jeder andere screen, aber erstmal nicht als Vollbild
'Printanweisung für das Konsolenfenster,
'kann als Debug-Fenster gute Dienste leisten.
Dim Konsole As Integer
Konsole = freefile
If __FB_VER_MINOR__ > 14 Then
Open CONS for output as #Konsole 'in FB 0.15
Else
Open "CONS:" for output as #Konsole 'in FB 0.14
End If
print #Konsole ,"Bin' auch hier"
'Normale print, input im screen-Fenster
Dim s As String
Print "Das Hauptfenster verschieben wenn das Konsolenfenster nicht sichtbar ist!"
Input "Dein Name: ",s
Print "Guten Tag "+s
Print #Konsole, "Tach auch.. "+s
Print #Konsole,"Hier lassen sich ( zur Ablaufverfolgung )"
Print #Konsole,"Variablen, Text oder Fehlermeldungen ausgeben."
Dim x As Integer
For x= 1 To 10
Print #Konsole,x,
Next
Print #Konsole,
Print #Konsole,"verdisch..."
Print "zum beenden Taste betaetigen.."
'ob close hier erforderlich ist? aber man ist ja ordentlich!
Close #Konsole
sleep |
Gruß
Volta
EDIT/
hier http://forum.qbasic.at/viewtopic.php?p=16788#16788 habe ich eine etwas verbesserte FB-Versionsabfrage zugefügt. _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
|
d.j.peters Gast
|
Verfasst am: 22.09.2005, 01:53 Titel: |
|
|
Hallo volta,
ich benutze ein Macro für Debug Konsole Prints der Vorteil ist wenn DEBUG nicht definiert ist dann wird das Macro "dprint()" nicht mit dem Programm kompiliert ohne alle dprints() manuell löschen zu müssen.
Code: | #define DEBUG
#ifdef DEBUG
# define dprint(msg) open cons as #1:print #1,"debug: ";msg:close #1
#else
# define dprint(msg):
#endif
dprint("Debug Version") |
Code: |
#ifdef DEBUG
# define dprint(msg) open cons as #1:print #1,"debug: ";msg:close #1
#else
# define dprint(msg):
#endif
dprint("Debug Version") 'wird nicht mehr mit Kompiliert |
Im Zusammenhang mit Deiner Versionsabfrage ist es dann noch nützlicher.
Grüsse Joshy |
|
Nach oben |
|
|
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1875 Wohnort: D59192
|
Verfasst am: 24.09.2005, 16:53 Titel: |
|
|
Hallo Joshy,
gut, knapp und einfach zu handeln, wie ich es mag.
Nur stört mich das #1, ich hab es nicht probiert aber wenn so auch andere Zugriffe geöffnet werden kommt es zu Problemen.
Gruß
Volta _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
|
d.j.peters Gast
|
Verfasst am: 25.09.2005, 03:29 Titel: |
|
|
Ein bischen solltest du ja auch hinzufügen
Code: | #define DEBUG
#ifdef DEBUG
dim shared hFile as integer
# define dprint(msg) hFile=FreeFile:open cons as #hFile:print #hFile,"debug: ";msg:close #hFile
#else
# define dprint(msg):
#endif |
Spass bei Seite wenn Du jetzt noch Deine Versionsabfrage einbaust dann ist es echt nützlich.
Der "Trick" wenn man es so nennen möchte ist ja eigentlich der Doppelpunkt.
Code: | #define dprint(msg): |
Sonnst würde es nicht funktionieren.
Grüsse Joshy
PS. Dein WINDOWS FreeBASIC Downloadlink ist veraltet |
|
Nach oben |
|
|
|
|
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.
|
|