SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Microsoft® Small Basic
Debugginghilfen
Geschätzte Zeit für den Abschluss dieser
Lektion: 1 Stunde
Debugginghilfen
In dieser Lektion erhalten Sie
Informationen über:
Verwenden des
TextWindow.WriteLine-Prozesses,
um Ihre Programme zu debuggen.
Debuggen
Debuggen ist der Vorgang, mit dessen Hilfe Sie Fehler in Ihrem
Computerprogramm entdecken und beheben. Jeder Programmierer
entwickelt die nötigen Fähigkeiten, um Fehler in seinen Programmen
zu entdecken und zu beheben.
Auch ein kleiner Fehler im Programm kann die
Anstrengungen des Programmierers zunichtemachen!
Bei der Arbeit an umfangreichen Programmen
schreiben Programmierer Supportcode für das
Debuggen, der im endgültigen Programm nicht
enthalten ist. Dieser Code hilft, den Punkt zu
ermitteln, an dem ein Programm nicht mehr ausgeführt
wird.
TextWindow.WriteLine als Debugginghilfe
Wie können Sie also Ihre Programme in
Small Basic debuggen?

Um Ihr Programm zu debuggen, können Sie den
TextWindow.WriteLine-Prozess verwenden.
Dieser Prozess fungiert als Debugginghilfe und
stellt Informationen bereit, die Ihnen beim
Debuggen Ihres Programms helfen.
TextWindow.WriteLine als Debugginghilfe
Schauen wir uns ein Beispiel an, das
den TextWindow.WriteLine-Prozess
für das Debuggen verwendet.
In diesem Programm zeigen Sie im
Grafikfenster als Erstes eine Ellipse
an. Wenn Ihr Programm nicht wie
erwartet ausgeführt wird, müssen
Sie es debuggen!
An diesem Punkt können Sie den
TextWindow.WriteLine-Prozess
als Debugger verwenden. Mittels
dieses Vorgangs können Sie den
Wert von „i“ bei jeder Iteration der
For…EndFor-Schleife nachverfolgen.
Der Wert von „i“ wird in einem
eigenen Textfenster
angezeigt, sodass Sie einen Fehler
leicht entdecken und beheben
können.
TextWindow.WriteLine als Debugginghilfe
Betrachten wir nun den
TextWindow.WriteLine-Prozess in einem
anderen Programm, und wie es Ihnen helfen
kann, das Programm zu debuggen.

In diesem Beispiel verwenden Sie
das Flickr-Objekt, um ein Foto von
www.flickr.com herunterzuladen
und dieses im Grafikfenster
anzuzeigen.
Das von Ihnen angeforderte Bild wird nicht im
Grafikfenster angezeigt. Das bedeutet, dass Sie
den Code debuggen müssen!
TextWindow.WriteLine als Debugginghilfe
Möglicherweise haben Sie keine Verbindung
mit dem Internet hergestellt, oder Sie haben
keinen Zugriff auf die Website.

Wie Sie sehen, wird im Textfenster der Pfad des
Bilds nicht angezeigt. Das bedeutet, dass Sie keine
Internetverbindung haben.

Um diese Möglichkeit zu
prüfen, können Sie den
TextWindow.WriteLineProzess verwenden,
um den Pfad des Bilds
auf der Website
anzuzeigen. Wenn die
Internetverbindung
korrekt funktioniert,
wird der Pfad des Bilds
im Textfenster angezeigt.
Andernfalls wird kein Pfad
im Textfenster angezeigt.
TextWindow.WriteLine als Debugginghilfe
Schreiben wir nun ein Programm, um eine Datei zu
kopieren und deren Inhalte im Textfenster anzuzeigen.
In diesem Beispiel wird im
Textfenster der Inhalt der
Datei angezeigt, wenn
der CopyFile-Prozess
erfolgreich ist.
Möglicherweise wird der Inhalt
der Datei nicht im Textfenster
angezeigt, weil:
• Die angegebene Quelle oder das
angegebene Ziel möglicherweise
nicht korrekt sind.
• Die Datei am angegebenen Ort nicht
vorhanden ist.
• Der Name der angegebenen Datei
möglicherweise nicht korrekt ist.

Wie erkennen wir den Fehler?
Das bedeutet wieder, dass Sie
den Code debuggen müssen…
TextWindow.WriteLine als Debugginghilfe
Wir verwenden den
TextWindow.WriteLine-Prozess,
um den Fehler zu entdecken.

Sie können das Programm
modifizieren und
TextWindow.WriteLine
verwenden, um den
Wiedergabewert des
CopyFile-Prozesses im
Textfenster anzuzeigen. Der
Wiedergabewert ist entweder
ERFOLG oder FEHLER.
Wenn Ihr Programm
aufgrund des Fehlers für
den CopyFile-Prozess nicht
ausgeführt werden
kann, erfahren Sie dies sofort!
Fassen wir zusammen…

Herzlichen Glückwunsch! Sie haben
Folgendes gelernt:
Den TextWindow.WriteLine-Prozess verwenden,
um Programme zu debuggen.
Zeigen Sie, was Sie wissen

Ein Programm erstellt eine Diashow mit Bildern
im Grafikfenster. Alle Bilder werden in einem
lokalen Ordner gespeichert. Bei jedem Mausklick
wird ein anderes Bild im Grafikfenster angezeigt.
Verwenden Sie den
TextWindow.WriteLine-Prozess als
Debugginghilfe, indem der Pfad der einzelnen
Bilder im Textfenster angezeigt wird.

Weitere ähnliche Inhalte

Andere mochten auch

spot
 spot spot
spotire7
 
3.4 ereignisse und interaktivitat
3.4   ereignisse und interaktivitat3.4   ereignisse und interaktivitat
3.4 ereignisse und interaktivitatMichael Konzett
 
#AFBMC Handout Real Time Marketing
#AFBMC Handout Real Time Marketing#AFBMC Handout Real Time Marketing
#AFBMC Handout Real Time MarketingBrandwatch GmbH
 
Prof. Sibylle Peters: Junge Eltern in Teilzeit- Ausbildung (TzA)
Prof. Sibylle Peters: Junge Eltern in Teilzeit- Ausbildung (TzA)Prof. Sibylle Peters: Junge Eltern in Teilzeit- Ausbildung (TzA)
Prof. Sibylle Peters: Junge Eltern in Teilzeit- Ausbildung (TzA)SibyllePeters
 
Karin Janner: Internet-Marketing in Kulturbetrieben
Karin Janner: Internet-Marketing in KulturbetriebenKarin Janner: Internet-Marketing in Kulturbetrieben
Karin Janner: Internet-Marketing in KulturbetriebenRaabe Verlag
 
Pengumuman tes tulis rsu kumala siwi kudus3
Pengumuman tes tulis rsu kumala siwi kudus3Pengumuman tes tulis rsu kumala siwi kudus3
Pengumuman tes tulis rsu kumala siwi kudus3Rahmat Kafidzin
 
Gereon Röckrath: Leistungsstörungen bei der Abwicklung von Verträgen im Kultu...
Gereon Röckrath: Leistungsstörungen bei der Abwicklung von Verträgen im Kultu...Gereon Röckrath: Leistungsstörungen bei der Abwicklung von Verträgen im Kultu...
Gereon Röckrath: Leistungsstörungen bei der Abwicklung von Verträgen im Kultu...Raabe Verlag
 
Forum Social Media für Existenzgründer Schwäbisch Hall
Forum Social Media für Existenzgründer Schwäbisch Hall Forum Social Media für Existenzgründer Schwäbisch Hall
Forum Social Media für Existenzgründer Schwäbisch Hall Martin Reti
 
Datamatics Award 2012 Griesheim 'Social Media: Hype - Realität - Nutzen'
Datamatics Award 2012 Griesheim 'Social Media: Hype - Realität - Nutzen'Datamatics Award 2012 Griesheim 'Social Media: Hype - Realität - Nutzen'
Datamatics Award 2012 Griesheim 'Social Media: Hype - Realität - Nutzen'Datamatics Global Services GmbH
 
Prof. Dr. Armin Klein: Eigeneinnahmen. Wie Kulturbetriebe ihre Umsatzerlöse s...
Prof. Dr. Armin Klein: Eigeneinnahmen. Wie Kulturbetriebe ihre Umsatzerlöse s...Prof. Dr. Armin Klein: Eigeneinnahmen. Wie Kulturbetriebe ihre Umsatzerlöse s...
Prof. Dr. Armin Klein: Eigeneinnahmen. Wie Kulturbetriebe ihre Umsatzerlöse s...Raabe Verlag
 
Sportbodenleonhard katalog
Sportbodenleonhard katalogSportbodenleonhard katalog
Sportbodenleonhard kataloginmedias
 
Freizeitsoziologie und -psychologie
Freizeitsoziologie und -psychologieFreizeitsoziologie und -psychologie
Freizeitsoziologie und -psychologieDenise Boehm
 
Multi-Channel Tracking - dotpulse an der Emex
Multi-Channel Tracking - dotpulse an der EmexMulti-Channel Tracking - dotpulse an der Emex
Multi-Channel Tracking - dotpulse an der Emexdotpulse Webagentur AG
 
Adventskalender2011 loesungen
Adventskalender2011 loesungenAdventskalender2011 loesungen
Adventskalender2011 loesungenMartin Reti
 
Jesus Christus, unser Hoherpriester
Jesus Christus, unser HoherpriesterJesus Christus, unser Hoherpriester
Jesus Christus, unser HoherpriesterHans Rudolf Tremp
 

Andere mochten auch (19)

spot
 spot spot
spot
 
3.4 ereignisse und interaktivitat
3.4   ereignisse und interaktivitat3.4   ereignisse und interaktivitat
3.4 ereignisse und interaktivitat
 
Jeff chen
Jeff chenJeff chen
Jeff chen
 
#AFBMC Handout Real Time Marketing
#AFBMC Handout Real Time Marketing#AFBMC Handout Real Time Marketing
#AFBMC Handout Real Time Marketing
 
Prof. Sibylle Peters: Junge Eltern in Teilzeit- Ausbildung (TzA)
Prof. Sibylle Peters: Junge Eltern in Teilzeit- Ausbildung (TzA)Prof. Sibylle Peters: Junge Eltern in Teilzeit- Ausbildung (TzA)
Prof. Sibylle Peters: Junge Eltern in Teilzeit- Ausbildung (TzA)
 
Karin Janner: Internet-Marketing in Kulturbetrieben
Karin Janner: Internet-Marketing in KulturbetriebenKarin Janner: Internet-Marketing in Kulturbetrieben
Karin Janner: Internet-Marketing in Kulturbetrieben
 
Pengumuman tes tulis rsu kumala siwi kudus3
Pengumuman tes tulis rsu kumala siwi kudus3Pengumuman tes tulis rsu kumala siwi kudus3
Pengumuman tes tulis rsu kumala siwi kudus3
 
Gereon Röckrath: Leistungsstörungen bei der Abwicklung von Verträgen im Kultu...
Gereon Röckrath: Leistungsstörungen bei der Abwicklung von Verträgen im Kultu...Gereon Röckrath: Leistungsstörungen bei der Abwicklung von Verträgen im Kultu...
Gereon Röckrath: Leistungsstörungen bei der Abwicklung von Verträgen im Kultu...
 
Sichere pw
Sichere pwSichere pw
Sichere pw
 
Forum Social Media für Existenzgründer Schwäbisch Hall
Forum Social Media für Existenzgründer Schwäbisch Hall Forum Social Media für Existenzgründer Schwäbisch Hall
Forum Social Media für Existenzgründer Schwäbisch Hall
 
Datamatics Award 2012 Griesheim 'Social Media: Hype - Realität - Nutzen'
Datamatics Award 2012 Griesheim 'Social Media: Hype - Realität - Nutzen'Datamatics Award 2012 Griesheim 'Social Media: Hype - Realität - Nutzen'
Datamatics Award 2012 Griesheim 'Social Media: Hype - Realität - Nutzen'
 
Prof. Dr. Armin Klein: Eigeneinnahmen. Wie Kulturbetriebe ihre Umsatzerlöse s...
Prof. Dr. Armin Klein: Eigeneinnahmen. Wie Kulturbetriebe ihre Umsatzerlöse s...Prof. Dr. Armin Klein: Eigeneinnahmen. Wie Kulturbetriebe ihre Umsatzerlöse s...
Prof. Dr. Armin Klein: Eigeneinnahmen. Wie Kulturbetriebe ihre Umsatzerlöse s...
 
Naturschutzgebiet soraya
Naturschutzgebiet sorayaNaturschutzgebiet soraya
Naturschutzgebiet soraya
 
Sportbodenleonhard katalog
Sportbodenleonhard katalogSportbodenleonhard katalog
Sportbodenleonhard katalog
 
Freizeitsoziologie und -psychologie
Freizeitsoziologie und -psychologieFreizeitsoziologie und -psychologie
Freizeitsoziologie und -psychologie
 
Multi-Channel Tracking - dotpulse an der Emex
Multi-Channel Tracking - dotpulse an der EmexMulti-Channel Tracking - dotpulse an der Emex
Multi-Channel Tracking - dotpulse an der Emex
 
1780aufAEG
1780aufAEG1780aufAEG
1780aufAEG
 
Adventskalender2011 loesungen
Adventskalender2011 loesungenAdventskalender2011 loesungen
Adventskalender2011 loesungen
 
Jesus Christus, unser Hoherpriester
Jesus Christus, unser HoherpriesterJesus Christus, unser Hoherpriester
Jesus Christus, unser Hoherpriester
 

Ähnlich wie 3.6 debugginghilfen

1.5 codeverzweigungen und unterprogramme
1.5   codeverzweigungen und unterprogramme1.5   codeverzweigungen und unterprogramme
1.5 codeverzweigungen und unterprogrammeMichael Konzett
 
Software-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenSoftware-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenGjero Krsteski
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreGregor Biswanger
 
magnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleunigermagnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleunigerThomas Kratz
 
Migration zu visual basic
Migration zu visual basicMigration zu visual basic
Migration zu visual basicMichael Konzett
 
2.4 sound-, program- und text-objekte
2.4   sound-, program- und text-objekte2.4   sound-, program- und text-objekte
2.4 sound-, program- und text-objekteMichael Konzett
 
5.1 freigeben von codeausschnitten
5.1   freigeben von codeausschnitten5.1   freigeben von codeausschnitten
5.1 freigeben von codeausschnittenMichael Konzett
 
Programmieren lernen Grundkurs - Tag1: 2. Theoretischer Einstieg
Programmieren lernen Grundkurs - Tag1: 2. Theoretischer EinstiegProgrammieren lernen Grundkurs - Tag1: 2. Theoretischer Einstieg
Programmieren lernen Grundkurs - Tag1: 2. Theoretischer EinstiegJan Brinkmann
 
1.2 anweisungen, eigenschaften und operationen
1.2   anweisungen, eigenschaften und operationen1.2   anweisungen, eigenschaften und operationen
1.2 anweisungen, eigenschaften und operationenMichael Konzett
 
1.1 einfuhrung in small basic
1.1   einfuhrung in small basic1.1   einfuhrung in small basic
1.1 einfuhrung in small basicMichael Konzett
 
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...butest
 
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...butest
 
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...butest
 
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...butest
 
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...butest
 
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018Christian Mücke
 
Robert Risch - Was sind die verschiedenen Phasen bei DevOps
Robert Risch - Was sind die verschiedenen Phasen bei DevOpsRobert Risch - Was sind die verschiedenen Phasen bei DevOps
Robert Risch - Was sind die verschiedenen Phasen bei DevOpsRobert Risch
 
Die wichtigsten Technologien für die Entwicklung von Webanwendungen
Die wichtigsten Technologien für die Entwicklung von WebanwendungenDie wichtigsten Technologien für die Entwicklung von Webanwendungen
Die wichtigsten Technologien für die Entwicklung von WebanwendungenYUHIRO
 

Ähnlich wie 3.6 debugginghilfen (20)

1.5 codeverzweigungen und unterprogramme
1.5   codeverzweigungen und unterprogramme1.5   codeverzweigungen und unterprogramme
1.5 codeverzweigungen und unterprogramme
 
Software-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenSoftware-Tests in PHP-Anwendungen
Software-Tests in PHP-Anwendungen
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
 
magnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleunigermagnolia mit thymeleaf - ein agiler prozess-beschleuniger
magnolia mit thymeleaf - ein agiler prozess-beschleuniger
 
Migration zu visual basic
Migration zu visual basicMigration zu visual basic
Migration zu visual basic
 
2.4 sound-, program- und text-objekte
2.4   sound-, program- und text-objekte2.4   sound-, program- und text-objekte
2.4 sound-, program- und text-objekte
 
5.1 freigeben von codeausschnitten
5.1   freigeben von codeausschnitten5.1   freigeben von codeausschnitten
5.1 freigeben von codeausschnitten
 
Programmieren lernen Grundkurs - Tag1: 2. Theoretischer Einstieg
Programmieren lernen Grundkurs - Tag1: 2. Theoretischer EinstiegProgrammieren lernen Grundkurs - Tag1: 2. Theoretischer Einstieg
Programmieren lernen Grundkurs - Tag1: 2. Theoretischer Einstieg
 
1.2 anweisungen, eigenschaften und operationen
1.2   anweisungen, eigenschaften und operationen1.2   anweisungen, eigenschaften und operationen
1.2 anweisungen, eigenschaften und operationen
 
Codeception VisualCeption
Codeception VisualCeptionCodeception VisualCeption
Codeception VisualCeption
 
1.1 einfuhrung in small basic
1.1   einfuhrung in small basic1.1   einfuhrung in small basic
1.1 einfuhrung in small basic
 
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
 
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
 
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
 
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
 
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
Praktikumsbericht als docx - HTW Berlin - Hochschule für Technik ...
 
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
GitLab: CI-Pipelines | PHP Usergroup Hamburg 20.03.2018
 
Robert Risch - Was sind die verschiedenen Phasen bei DevOps
Robert Risch - Was sind die verschiedenen Phasen bei DevOpsRobert Risch - Was sind die verschiedenen Phasen bei DevOps
Robert Risch - Was sind die verschiedenen Phasen bei DevOps
 
Die wichtigsten Technologien für die Entwicklung von Webanwendungen
Die wichtigsten Technologien für die Entwicklung von WebanwendungenDie wichtigsten Technologien für die Entwicklung von Webanwendungen
Die wichtigsten Technologien für die Entwicklung von Webanwendungen
 
GUIs mit Expression Blend
GUIs mit Expression BlendGUIs mit Expression Blend
GUIs mit Expression Blend
 

Mehr von Michael Konzett

Problemlösung, Algorithmus und grafische Darstellung
Problemlösung, Algorithmus und grafische DarstellungProblemlösung, Algorithmus und grafische Darstellung
Problemlösung, Algorithmus und grafische DarstellungMichael Konzett
 
Elemente des Programmierens
Elemente des ProgrammierensElemente des Programmierens
Elemente des ProgrammierensMichael Konzett
 
4.2 reagieren auf wmi-ereignisse
4.2   reagieren auf wmi-ereignisse4.2   reagieren auf wmi-ereignisse
4.2 reagieren auf wmi-ereignisseMichael Konzett
 
3.1 dateiein- und ausgabe
3.1   dateiein- und ausgabe3.1   dateiein- und ausgabe
3.1 dateiein- und ausgabeMichael Konzett
 
2.6 flickr-, image list- und network-objekte
2.6   flickr-, image list- und network-objekte2.6   flickr-, image list- und network-objekte
2.6 flickr-, image list- und network-objekteMichael Konzett
 
2.5 clock-, desktop- und dictionary-objekte
2.5   clock-, desktop- und dictionary-objekte2.5   clock-, desktop- und dictionary-objekte
2.5 clock-, desktop- und dictionary-objekteMichael Konzett
 
1.4 bedingungen und schleifen
1.4   bedingungen und schleifen1.4   bedingungen und schleifen
1.4 bedingungen und schleifenMichael Konzett
 

Mehr von Michael Konzett (17)

Problemlösung, Algorithmus und grafische Darstellung
Problemlösung, Algorithmus und grafische DarstellungProblemlösung, Algorithmus und grafische Darstellung
Problemlösung, Algorithmus und grafische Darstellung
 
Algorithmus
AlgorithmusAlgorithmus
Algorithmus
 
Elemente des Programmierens
Elemente des ProgrammierensElemente des Programmierens
Elemente des Programmierens
 
Creative commons
Creative commonsCreative commons
Creative commons
 
4.4 erweiterte spiele
4.4   erweiterte spiele4.4   erweiterte spiele
4.4 erweiterte spiele
 
4.2 reagieren auf wmi-ereignisse
4.2   reagieren auf wmi-ereignisse4.2   reagieren auf wmi-ereignisse
4.2 reagieren auf wmi-ereignisse
 
3.5 das controls-objekt
3.5   das controls-objekt3.5   das controls-objekt
3.5 das controls-objekt
 
3.3 das math-object
3.3   das math-object3.3   das math-object
3.3 das math-object
 
3.2 stacks und arrays
3.2   stacks und arrays3.2   stacks und arrays
3.2 stacks und arrays
 
3.1 dateiein- und ausgabe
3.1   dateiein- und ausgabe3.1   dateiein- und ausgabe
3.1 dateiein- und ausgabe
 
2.6 flickr-, image list- und network-objekte
2.6   flickr-, image list- und network-objekte2.6   flickr-, image list- und network-objekte
2.6 flickr-, image list- und network-objekte
 
2.5 clock-, desktop- und dictionary-objekte
2.5   clock-, desktop- und dictionary-objekte2.5   clock-, desktop- und dictionary-objekte
2.5 clock-, desktop- und dictionary-objekte
 
2.3 erkunden von formen
2.3   erkunden von formen2.3   erkunden von formen
2.3 erkunden von formen
 
2.2 schildkrotengrafik
2.2   schildkrotengrafik2.2   schildkrotengrafik
2.2 schildkrotengrafik
 
1.4 bedingungen und schleifen
1.4   bedingungen und schleifen1.4   bedingungen und schleifen
1.4 bedingungen und schleifen
 
1.3 variablen
1.3   variablen1.3   variablen
1.3 variablen
 
Flickr
FlickrFlickr
Flickr
 

3.6 debugginghilfen

  • 1. Microsoft® Small Basic Debugginghilfen Geschätzte Zeit für den Abschluss dieser Lektion: 1 Stunde
  • 2. Debugginghilfen In dieser Lektion erhalten Sie Informationen über: Verwenden des TextWindow.WriteLine-Prozesses, um Ihre Programme zu debuggen.
  • 3. Debuggen Debuggen ist der Vorgang, mit dessen Hilfe Sie Fehler in Ihrem Computerprogramm entdecken und beheben. Jeder Programmierer entwickelt die nötigen Fähigkeiten, um Fehler in seinen Programmen zu entdecken und zu beheben. Auch ein kleiner Fehler im Programm kann die Anstrengungen des Programmierers zunichtemachen! Bei der Arbeit an umfangreichen Programmen schreiben Programmierer Supportcode für das Debuggen, der im endgültigen Programm nicht enthalten ist. Dieser Code hilft, den Punkt zu ermitteln, an dem ein Programm nicht mehr ausgeführt wird.
  • 4. TextWindow.WriteLine als Debugginghilfe Wie können Sie also Ihre Programme in Small Basic debuggen? Um Ihr Programm zu debuggen, können Sie den TextWindow.WriteLine-Prozess verwenden. Dieser Prozess fungiert als Debugginghilfe und stellt Informationen bereit, die Ihnen beim Debuggen Ihres Programms helfen.
  • 5. TextWindow.WriteLine als Debugginghilfe Schauen wir uns ein Beispiel an, das den TextWindow.WriteLine-Prozess für das Debuggen verwendet. In diesem Programm zeigen Sie im Grafikfenster als Erstes eine Ellipse an. Wenn Ihr Programm nicht wie erwartet ausgeführt wird, müssen Sie es debuggen! An diesem Punkt können Sie den TextWindow.WriteLine-Prozess als Debugger verwenden. Mittels dieses Vorgangs können Sie den Wert von „i“ bei jeder Iteration der For…EndFor-Schleife nachverfolgen. Der Wert von „i“ wird in einem eigenen Textfenster angezeigt, sodass Sie einen Fehler leicht entdecken und beheben können.
  • 6. TextWindow.WriteLine als Debugginghilfe Betrachten wir nun den TextWindow.WriteLine-Prozess in einem anderen Programm, und wie es Ihnen helfen kann, das Programm zu debuggen. In diesem Beispiel verwenden Sie das Flickr-Objekt, um ein Foto von www.flickr.com herunterzuladen und dieses im Grafikfenster anzuzeigen. Das von Ihnen angeforderte Bild wird nicht im Grafikfenster angezeigt. Das bedeutet, dass Sie den Code debuggen müssen!
  • 7. TextWindow.WriteLine als Debugginghilfe Möglicherweise haben Sie keine Verbindung mit dem Internet hergestellt, oder Sie haben keinen Zugriff auf die Website. Wie Sie sehen, wird im Textfenster der Pfad des Bilds nicht angezeigt. Das bedeutet, dass Sie keine Internetverbindung haben. Um diese Möglichkeit zu prüfen, können Sie den TextWindow.WriteLineProzess verwenden, um den Pfad des Bilds auf der Website anzuzeigen. Wenn die Internetverbindung korrekt funktioniert, wird der Pfad des Bilds im Textfenster angezeigt. Andernfalls wird kein Pfad im Textfenster angezeigt.
  • 8. TextWindow.WriteLine als Debugginghilfe Schreiben wir nun ein Programm, um eine Datei zu kopieren und deren Inhalte im Textfenster anzuzeigen. In diesem Beispiel wird im Textfenster der Inhalt der Datei angezeigt, wenn der CopyFile-Prozess erfolgreich ist. Möglicherweise wird der Inhalt der Datei nicht im Textfenster angezeigt, weil: • Die angegebene Quelle oder das angegebene Ziel möglicherweise nicht korrekt sind. • Die Datei am angegebenen Ort nicht vorhanden ist. • Der Name der angegebenen Datei möglicherweise nicht korrekt ist. Wie erkennen wir den Fehler? Das bedeutet wieder, dass Sie den Code debuggen müssen…
  • 9. TextWindow.WriteLine als Debugginghilfe Wir verwenden den TextWindow.WriteLine-Prozess, um den Fehler zu entdecken. Sie können das Programm modifizieren und TextWindow.WriteLine verwenden, um den Wiedergabewert des CopyFile-Prozesses im Textfenster anzuzeigen. Der Wiedergabewert ist entweder ERFOLG oder FEHLER. Wenn Ihr Programm aufgrund des Fehlers für den CopyFile-Prozess nicht ausgeführt werden kann, erfahren Sie dies sofort!
  • 10. Fassen wir zusammen… Herzlichen Glückwunsch! Sie haben Folgendes gelernt: Den TextWindow.WriteLine-Prozess verwenden, um Programme zu debuggen.
  • 11. Zeigen Sie, was Sie wissen Ein Programm erstellt eine Diashow mit Bildern im Grafikfenster. Alle Bilder werden in einem lokalen Ordner gespeichert. Bei jedem Mausklick wird ein anderes Bild im Grafikfenster angezeigt. Verwenden Sie den TextWindow.WriteLine-Prozess als Debugginghilfe, indem der Pfad der einzelnen Bilder im Textfenster angezeigt wird.

Hinweis der Redaktion

  1. In diesem Programm zeigen Sie im Grafikfenster als Erstes eine Ellipse an. Als Nächstes verwenden Sie den SetOpacity-Prozess für das Shapes-Objekt, um die Deckkraftstufe der Ellipse festzulegen. Sie platzieren diesen Code innerhalb einer For…EndFor-Schleife, um die Deckkraft bei jeder Iteration zu verändern. In ähnlicher Weise legen Sie die Zoomstufe der Ellipse innerhalb der gleichen Schleife fest.Code:GraphicsWindow.Height = 400GraphicsWindow.Width = 600Ellipse = Shapes.AddEllipse(200,200)Shapes.Move(Ellipse,200,100)For i = 1 To 5Program.Delay(1000)Shapes.SetOpacity(Ellipse,5*i) Shapes.Zoom(Ellipse,i * 0.4,i * 0.4) TextWindow.WriteLine("Der Wert von i ist zurzeit " + i)EndFor 
  2. Code:Sourcepath = Program.Directory+"\Source\data.txt"Destpath = Program.Directory+"\dest"file.CopyFile(Sourcepath,Destpath)TextWindow.WriteLine(File.ReadContents(File.ReadContents(destPath+"\data.txt")))
  3. Code:Sourcepath = Program.Directory+"\Source\data.txt"Destpath = Program.Directory+"\dest"TextWindow.WriteLine(file.CopyFile(Sourcepath,Destpath))TextWindow.WriteLine(File.ReadContents(File.ReadContents(destPath+"\data.txt")))
  4. Lösung:Hinweis: Stellen Sie sicher, dass am im Programm angegebenen Pfad ein Ordner mit den Bildern vorhanden ist.ImagePath = program.Directory + "\img" i = 1GraphicsWindow.Width = 600GraphicsWindow.Height = 450GraphicsWindow.Top = (Desktop.Height-450) / 2GraphicsWindow.left = (Desktop.Width-600) / 2 GUI()SmallBasicImage = File.GetFiles(ImagePath) GraphicsWindow.DrawResizedImage(SmallBasicImage[i], 50, 50, 500, 300) Controls.ButtonClicked = SlideShowSub GUI GraphicsWindow.BackgroundColor="LightSlateGray" GraphicsWindow.FontSize=25 nxtBtn = Controls.AddButton("<",50,370) bckBtn = Controls.AddButton(">",500,370) Controls.SetSize(nxtBtn, 50, 50)Controls.SetSize(bckBtn, 50, 50) EndSubSubSlideShowIfControls.GetButtonCaption(Controls.LastClickedButton) = ">" ThenIfi < Array.GetItemCount(SmallBasicImage) Theni = i + 1 images[i] = ImageList.LoadImage(SmallBasicImage[i]) GraphicsWindow.DrawResizedImage(images[i], 50, 50, 500, 300) TextWindow.WriteLine("Bildname:" + SmallBasicImage[i]) EndIfEndIfIfControls.GetButtonCaption(Controls.LastClickedButton) = "<" ThenIfi > 1 Theni = i - 1 images[i] = ImageList.LoadImage(SmallBasicImage[i]) GraphicsWindow.DrawResizedImage(images[i], 50, 50, 500, 300) TextWindow.WriteLine("Bildname:" + SmallBasicImage[i]) EndIfEndIfEndSub