|
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 |
Thomas Antoni
Anmeldungsdatum: 12.10.2004 Beiträge: 220 Wohnort: Erlangen
|
Verfasst am: 23.02.2005, 15:00 Titel: Wer hilft mir bei Begriffsklärungen für die QB-MonsterFAQ |
|
|
Hat jemand Lust, mir kleine Definitionen für die folgenden Begriffe zu liefern, die ich ins LEXIKON der QB-MonsterFAQ einfügen kann?
. Laufzeit
. Parser
. Syntax
. Disassembler
. EMS-Speicher
. XMS-Speicher
. Suffix
. deklarieren
. definieren
. Argument
. lokal
. global
Ich habe übrigens schon über 4 MB Notizen für die Ergänzung der QB-MonsterFAQ in einer TXT-Datei gemacht und über 200 neue Beispielprogramme gesammelt. In der zweiten Jahreshälfte will ich mit der Erstellung der Version 2.0 der MonsterFAQ beginnen.
Und so sieht mein neuester FAQ-Beitrag aus:
Code: |
---------------------------------------------------------------------------------
Frage deutsch
~~~~~~~~~~~~~~~~
Was ist der Unterschied zwischen Call by Reference and by Value?
Question English
~~~~~~~~~~~~~~~~
What's the difference between Call by Reference and by Value?
Antwort
~~~~~~~~~~~~~~~~
[ von Thomas Antoni, 23.2.2005 ]
Die wenigsten QBasic-Programmierer wissen, dass QBasic zwei Arten von
Parameterübergaben an eine SUBroutine oder FUNCTION kennt:
- Call by Reference = Parameter Passing by Reference = Parameterübergabe als Referenz
- Call by Value = Parameter Passing by Value = Parameterübergabe als Wert
Auch die meisten Bücher schweigen sich leider darüber aus.
Call by Reference ist bei QBasic der Normalfall. Dabei wird dem aufrufenden
Hauptprogramm die Speicheradresse ("Reference") eines Parameters übergeben, und die
Prozedur greift genau auf die Speicherstelle dieser Variablen zu. Dadurch können
sich Änderungen der Variable innerhalb der SUB/FUNCTION auf das aufrufende Programm
ungewollt auswirken. Auf Grund dessen kann es im Hauptprogramm zu schwer
auffindbaren Fehlern kommen. Daher ist in vielen Fällen die Methode -> Call by
Value eher zu empfehlen. Bei QBasic wird "Call by Reference" standardmäßig bei
der Übergabe von Parametern an SUBs/FUNCTIONs verwendet.
Bei Call by Value übergibt das Hauptprogramm an die SUB/FUNCTION nicht die
Speicheradresse der Parameter, sondern direkt die Parameterwerte. Dies kann man
bewerkstelligen, indem man jeden Parameter zusätzlich einklammert, z.B. CALL
Multiplikation ((Faktor1%), (Faktor2%)). Die SUB/FUNCTION kann dann keinen
"Schindluder" mit den Parametervariablen des Hauptprogramms treiben: Ändert sich
während der Ausführung der SUB/FUNCTION der Parameterwert, bleibt die
Parametervariable im Hauptprogramm trotzdem unverändert. Somit sind schwer zu
findende Programmfehler aufgrund von Rückwirkungen von der SUB/FUNCTION aufs
Hauptprogramm ausgeschlossen. Besonders bei großen Softwareprojekten empfiehlt
sich daher die Verwendung von Call by Value.
Mein folgendes Programm CALLREVA.BAS demonstriert den Unterschied zwischen
Call by Reference und call by value recht anschaulich:
'***************************************************************************
' CALLREVA.BAS = Unterschied zwischen "Call by Reference" und "by Value"
' ============
' Dieses QBasic-Programm demonstriert anschaulich den Unterschied
' zwischen den beiden Parameteruebergabe-Methoden "Call by Reference" und
' "Call by Value".
'
' An die SUB quadrat wird die Variable a% als Parameter uebergeben. Einmal
' "by reference" und einmal "by Value" (Parameterwert in Klammern). Die
' SUB quadriert den ?bergebenen Parameter und zeigt das Ergebnis an.
' Wie man sieht, veraendert die SUB bei "Call by reference" den Wert der
' Parametervariablen a% des Hauptprogramms von 3 auf 9, waehrend sie bei
' "Call by Value"' unveraendert bleibt.
'
' (c) Thomas Antoni, 23.2.2005 - www.qbasic.de
'***************************************************************************
'
DECLARE SUB quadrat (b%)
CLS
PRINT "Call by Reference"
PRINT "-----------------"
a% = 3
PRINT "Vor dem Aufruf der Sub hat a% im Hauptprogramm den Wert"; a%
CALL quadrat(a%)
'Es wird die Adresse von a% an die SUB uebergeben
PRINT "Nach dem Aufruf der Sub hat a% im Hauptprogramm den Wert"; a%
'
PRINT
PRINT "Call by Value"
PRINT "-----------------"
a% = 3
PRINT "Vor dem Aufruf der Sub hat a% im Hauptprogramm den Wert"; a%
CALL quadrat((a%))
'a% in Klammern => Es wird der Wert von a% uebergeben
PRINT "Nach dem Aufruf der Sub hat a% im Hauptprogramm den Wert"; a%
SLEEP
END
'
SUB quadrat (b%)
b% = b% ^ 2
PRINT b%
END SUB
(( CALLREVA.BAS bereits in .../progs/neu/... ))
Bei älteren BASIC-Versionen, die noch kein Call by Value kennen, hilft oft der Trick,
statt des Parameters einen Rechenausdruck zu übergeben, z.B.:
- CALL Multilikation (a,b) ==> Call by reference
- CALL Multiplikation (a + 0, (b + 2 - 2) * 1) ==> Call by value
---------------------------------------------------------------------------------
|
_________________ +++ Die beliebte QBasic CD-ROM von QBasic.de - 670 MB QBasic-Stuff mit komfortabler HTML-Oberfläche. Für nur 5 EUR bestellbar auf www.antonis.de/qbcdueb.htm +++ |
|
Nach oben |
|
|
Mecki Igel
Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
Verfasst am: 23.02.2005, 18:25 Titel: |
|
|
Sagmal Thomas, was hältst du eigentlich von der Idee, die MonsterFAQ in ein freies Wiki-System zu konvertieren?
Selbstverständlich könntest du ja die normale Offline-FAQ beibehalten und diese eventuell auch nur mit ausgesuchten, besonders guten Themen füttern.
Ich finde, es wär ne gute Idee, wenn das umgesetzt wird, dass man auch für das Wiki einen Login braucht, wobei wir die Logindaten usw mit dem Forum verknüpfen könnten => Logindaten gleich, + Autologin.. Das würde auch gewisse Sicherheiten mit sich bringen.
Wie bei jedem guten Wiki-System kann man ja auch die alten Versionen von Beiträgen wiederherstellen.
Das wär echt phantastisch!
Naja, egal, was du davon hältst: Ich finds super, dass die FAQ (wenn auch im Verborgenen) fleißig weiter wächst
Grüßle,
Mecki _________________ » Yodl.de: So sucht man gestern.
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 23.02.2005, 18:56 Titel: |
|
|
Hallo.
Ein Wiki, das genauso funktioniert wie http://de.wikipedia.org/, finde ich als MonFAQ nicht gut. Aber eine Art Wiki-System finde ich auch gut. Ich hab mir da schon mal Gedanken drüber gemacht:
Aaaalso, wo fange ich denn mal am besten an...
Im Internet gibt es eine änderbare MonFAQ, in der man Texte nur nach Registrierung im Forum ändern kann. (=> Forenlogindaten werden übernommen)
Neue, zu beschreibene Themen werden von Verwaltern eingestellt und erscheinen auf der Startseite, um Autoren zu zeigen, wo noch was zu tun ist.
Dann gibt es eine Offline MonFAQ. Sie besteht nur aus der Software. Beim ersten Start wird die "Datenbank" der Online-MonFAQ runtergeladen, um immer eine aktuelle Version zu haben. Außerdem kann man den Datenbestand auch später noch updaten. Geänderte Beiträge müssen für den Download erst von den Verwaltern freigeschaltet werden, damit nicht die Gefahr besteht, Blödsinn zu downloaden.
Die Wiederherstellungsoption alter Beiträge sollte nur den Verwaltern offen stehen.
Ein ganz freies Wiki so wie bei Wikipedia ist bei der relativ kleinen Nutzerzahl unangemessen und man müsste die Inhalte redaktionell kontrollieren können.
Was haltet ihr von dem Konzept? Wenn das eine gute Idee wäre, lasst uns das in Angriff nehmen. Ich würde mich an der Programmierung gerne beteiligen, aber für eine Person ist das etwas viel Arbeit, was ja nicht sein muss... Wenn die Idee also Anklang findet, mögen sich doch noch ein paar (insbesondere PHP/MySQL erfahrene) Programmierer dazu melden!
Wenn die Idee aber blöd sein sollte:
Zitat: | Naja, egal, was du davon hältst: Ich finds super, dass die FAQ (wenn auch im Verborgenen) fleißig weiter wächst |
Schließe mich da Mecki ganz genau an!
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
Marky
Anmeldungsdatum: 02.09.2004 Beiträge: 1173
|
Verfasst am: 23.02.2005, 19:02 Titel: |
|
|
Exzellente Idee, Mecki!
Da die QB-MonsterFAQ ja der Community gehört, sollte man eine Umfrage starten ob die FAQ zukünftig als Wiki betrieben wird. Nur das wäre demokratisch. Dann müssten die Leute auch nicht Jahre auf neue Versionen warten und die FAQ würde endlich eine gescheite Formatierung erhalten. Es gibt noch 1000 weitere Vorteile...
Also, was haltet ihr von einer Umfrage? |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
Mecki Igel
Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
|
Nach oben |
|
|
Thomas Antoni
Anmeldungsdatum: 12.10.2004 Beiträge: 220 Wohnort: Erlangen
|
Verfasst am: 23.02.2005, 19:56 Titel: QB-MonsterFAQ als Wiki |
|
|
Zitat: |
Sagmal Thomas, was hältst du eigentlich von der Idee, die MonsterFAQ in ein freies Wiki-System zu konvertieren?
|
Ich habe nichts gegen ein QB-MonsterFAQ-Wiki. Das wäre sogar eine sehr gute Sache.
Nur habe ich leider keine Zeit dafür, an der Programmierung mitzuwirken. Ich möchte die Version 2.0 gerne wieder mit dem bewährten CueCARDS erstellen. CueCARDS ermöglicht eine sehr übersichtliche Baumstruktur, ist sehr einfach und bequem zu bedienen und ermöglicht einen Export der HTML/JavaScript-Version (die allerdings leider mit ein paar Formatierungsmängeln behaftet ist). Danach - also ca. Anfang 2006 - wäre der richtige Zeitpunkt für die Konvertierung in ein Wiki.
Da die QB-MonsterFAQ unter der "Free Document License" steht, darf jeder aus der CueCARDS ein Wiki machen, solange er die am Anfang der QB-MonsterFAQ aufgeführten Lizenzbedingungen einhält.[/code] _________________ +++ Die beliebte QBasic CD-ROM von QBasic.de - 670 MB QBasic-Stuff mit komfortabler HTML-Oberfläche. Für nur 5 EUR bestellbar auf www.antonis.de/qbcdueb.htm +++ |
|
Nach oben |
|
|
Gremlin
Anmeldungsdatum: 12.12.2004 Beiträge: 142 Wohnort: Heinsberg
|
Verfasst am: 23.02.2005, 20:39 Titel: |
|
|
Der einzige Nachteil, den so ein Wiki hat, ist eben die Tatsache, dass jeder theoretisch irgendwelchen Müll reinschreiben kann. Da müssten sich ein paar Leute bereit erklären, die regelmäßig mal vorbeischauen und ggf. verkorkste Beiträge oder Spam oder was auch immer bearbeiten/löschen. Wenn die MonFAQ dann später wie das Gästebuch der hinterletzten Pornoseite (haben die sowas überhaupt? ) aussieht, sollte man zumindest als Alternative die jetztige Version in der Hinterhand haben.
Aber um nicht alles schelchtzureden: Ich bin trotzdem von der Idee begeistert! _________________ Tja, hier konnte ihre Werbung stehen.
Pech gehabt. |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 23.02.2005, 21:01 Titel: |
|
|
Hallo.
Zitat: | Im Internet gibt es eine änderbare MonFAQ, in der man Texte nur nach Registrierung im Forum ändern kann. (=> Forenlogindaten werden übernommen)
Neue, zu beschreibene Themen werden von Verwaltern eingestellt und erscheinen auf der Startseite, um Autoren zu zeigen, wo noch was zu tun ist.
Dann gibt es eine Offline MonFAQ. Sie besteht nur aus der Software. Beim ersten Start wird die "Datenbank" der Online-MonFAQ runtergeladen, um immer eine aktuelle Version zu haben. Außerdem kann man den Datenbestand auch später noch updaten. Geänderte Beiträge müssen für den Download erst von den Verwaltern freigeschaltet werden, damit nicht die Gefahr besteht, Blödsinn zu downloaden.
Die Wiederherstellungsoption alter Beiträge sollte nur den Verwaltern offen stehen.
Ein ganz freies Wiki so wie bei Wikipedia ist bei der relativ kleinen Nutzerzahl unangemessen und man müsste die Inhalte redaktionell kontrollieren können. |
Na das Konzept schaltet doch alle Risiken aus...
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
Gremlin
Anmeldungsdatum: 12.12.2004 Beiträge: 142 Wohnort: Heinsberg
|
Verfasst am: 23.02.2005, 21:07 Titel: |
|
|
Zitat: | ..., in der man Texte nur nach Registrierung im Forum ändern kann. ... |
Überlesen
Gut, dieses System ist durchaus brauchbar.
Aber wenn eh nur Forenmitgleidern das Schreiben dort erlaubt ist, dann braucht man, so denke ich, keine Kontrolle durch Adminsitratoren. Ich denke nämlich, wenn es keine Registrierung gibt ist die Hemmschwelle, irgendeinen Kappes zu schreiben, wesentlich niedriger, als wenn man sich vorher irgendwo registrieren muss. Und hier ist mir noch keienr begegnet, von dem ich annehmen würde, dass er sowas machen würde. _________________ Tja, hier konnte ihre Werbung stehen.
Pech gehabt. |
|
Nach oben |
|
|
Marky
Anmeldungsdatum: 02.09.2004 Beiträge: 1173
|
Verfasst am: 23.02.2005, 22:21 Titel: |
|
|
Sebastian hat Folgendes geschrieben: | Hi Marky!
Und was sagst du zu meinem Konzept? |
Als ich meinen Post schrieb, war deiner leider noch nicht sichtbar. Im Großen und Ganzen stimme ich dir zu.
Sebastian hat Folgendes geschrieben: | Ein Wiki, das genauso funktioniert wie http://de.wikipedia.org/, finde ich als MonFAQ nicht gut. |
Kannst du zu dieser Haltung noch etwas sagen? |
|
Nach oben |
|
|
stef
Anmeldungsdatum: 13.01.2005 Beiträge: 102
|
Verfasst am: 23.02.2005, 22:30 Titel: |
|
|
Ich hätte da nur eine Frage. Ist es denn möglich so eine Wiki-MonsterFAQ genau so herunterladbar zu machen wie die jetzige MonterFAQ? |
|
Nach oben |
|
|
Marky
Anmeldungsdatum: 02.09.2004 Beiträge: 1173
|
Verfasst am: 23.02.2005, 22:34 Titel: |
|
|
stef hat Folgendes geschrieben: | Ich hätte da nur eine Frage. Ist es denn möglich so eine Wiki-MonsterFAQ genau so herunterladbar zu machen wie die jetzige MonterFAQ? |
Na das sollte bestimmt machbar sein. Wikipedia.de gibts schließlich auch auf verschiedenen Medien: Z. B. auf S60-Geräten (Handy-Art), auf CD und DVD, und sogar auf Papier.
Achja, da ich gerade von der Wikipedia rede: Wikipedia braucht wieder dringend finanzielle Unterstützung in Form von Spenden. Wem also schon öfter durch die Wikipedia geholfen wurde, der sollte vielleicht etwas zurückgeben und spenden. Muss ja nicht viel sein, selbst drei Euro sind eine Menge da bekanntlich Kleinvieh auch Mist macht.
--> http://wikimediafoundation.org/wiki/Wikimedia_braucht_Ihre_Hilfe <--
Zuletzt bearbeitet von Marky am 23.02.2005, 22:39, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 23.02.2005, 22:39 Titel: |
|
|
Hallo.
Na klar kann ich da noch was zu sagen.
Also: Wenn man das so macht, dass die Offlineversion ihre Daten zu einem gewissen Zeitpunkt aus dem Internet holt, bestände die Gefahr, dass dann "Blödsinn" abgerufen werden könnte, da dieser ja nicht sofort beseitigt wird.
Außerdem finde ich eine Themenübersicht mit Baumnavigation, wie die MonFAQ sie hat, viel sinnvoller für ein Programmiernachschlagwerk. Damit nicht jeder wild neue Themen einordnen kann, die vielleicht nicht gebraucht werden oder woanders besser passen oder bereits teilweise existieren, sollten die Verwalter die Themen einstellen (Themenfindung durch Forenlesen usw.).
Durch die Verknüpfung mit den Forenlogindaten, die Mecki ja auch vorgeschlagen hat, lässt sich auf jeden Fall sicherstellen, dass das Wandalismus- und Spamaufkommen auf ein Minimum reduziert wird. Die geschriebenen Beiträge sind sofort online. Nur für den Download durch die Offlineversion wird eine Verifizierung durch einen Verwalter benötigt, damit es eine Qualitätssicherung der Offlineversion gibt.
Übrigens: Beiträge können auch (unbeabsichtigt) fehlerhaft sein. Das heißt es muss noch nicht mal offensichtlicher Quatsch sein. Auch inhaltliche Fehler sollten dadurch ausgeräumt werden.
Deshalb bräuchte man eher ein Spezial-Wiki, das man selbst programmiert. Ein Vorteil bei dem Konzept ist eben auch noch, dass man nur ein Projekt zu betreuen hat und dennoch immer eine aktuelle Online- und Offlineversion hat.
Wenn noch Fragen bestehen, kein Problem.
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
helium
Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 24.02.2005, 12:53 Titel: |
|
|
Laufzeit
Wenn etwas zur Laufzeit geschieht, geschieht es wärend das Programm ausgeführt wird. Im Gegensatz zur Compilezeit. Das ist etwas, was geschieht, bevor das Programm ausgeführt wird.
Parser
Ein Parser ist etwas, das die grammatikalische Struktur einer (Programmier-)Sprache untersucht.
Disassembler
Ein Programm, das ein bereits compiliertes Programm wieder in Assembler-Quellcode zurückwandelt.
Suffix
Etwas, das man an ein Wort hinten anhängt. Im Gegensatz zum Präfix, das man einem Wort voranstellt.
Im Deutschen haben wir z.B. 'chen' als Verkleinerungsform.
In QB ist mit Suffix etwas, wie '$' gemeint. Ein Zeichen, das man einem Variablen-Bezeichner anhängt und somit den Typ der Variable bestimmt (in dem Fall String).
deklarieren
Bekannt machen.
In QB deklariert man Funktionen und Subs mit DECLARE FUNCTION bzw. DECLARE SUB. Dadurch weiß QB, dass es diese Funktion oder Sub gibt, ohne das es die eigentliche Funktion oder Sub bereits gesehen hat (die ja am Ende der Datei stehen, auch wenn man das im QB-Editor nicht direkt sieht).
definieren
Im Bezug auf den vorherigen Punkt ist die Definition das eigentliche Ausprogrammieren der Funktion oder Sub. Nachdem durch die Deklaration bekannt gemacht wurde, dass eine Funktion oder Sub existiert, erklärt man jetzt, was diese Funktion oder Sub eigentlich machen soll.
Argument
Ein Wert oder eine Variable, den/die ich an eine Funktion übergebe.
lokal
Eine Variable, die nur in einem kleinen Bereich (Scope) existiert. Variablen, die in einer Funktion oder Sub erstellt werden, existieren auch nur in dieser Funktion oder Sub, solange diese ausgeführt wird. Ihre Existens ist lokal auf die Funktion oder Sub begrenzt.
global
Eine Variable, die im gesammten Programm gültig ist und auf die von überall aus zugegriffen werden kann. _________________ Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit.
Zuletzt bearbeitet von helium am 25.02.2005, 12:33, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
Mecki Igel
Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
|
Nach oben |
|
|
helium
Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 25.02.2005, 12:34 Titel: |
|
|
Hab Deutsch draus gemacht. _________________ Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit. |
|
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.
|
|