|
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 |
Nils
Anmeldungsdatum: 24.03.2006 Beiträge: 191
|
Verfasst am: 13.09.2014, 11:17 Titel: |
|
|
@ dreael: Dank, dass Du mich wieder ins Spiel bringst.
@ alle: Hmm! So richtig redet ihr jetzt aber irgendwie nicht mehr mit mir?
@ alle zusammen: Ich soll also auf FB umsteigen? Wenn ich auf irgendwas umsteige, dann müsste das für den Rest meines Lebens halten! Das muß dan wirklich state of the art sein. Zumindest gediegene Grundlage für das Schritthalten mit Weiterentwicklungen sein. Tut das FB?
Versucht mich mal so zu sehen: Ich "rechne" mit einem Rechner, denn er kann das schneller und in gewisser Weise fehlerfrei. Ich schreibe meine Ergebnisse in eine Datei. Dann fleddere ich die durch. Wenn ich daraus Kurven darstelle, über nehme ich Daten manuell in Texxel und mach' da Kurven so gut es geht. Wenn ich bestimmte Daten suche schreibe ich mir entsprechende Zeilen in das Progr und übergeben den Treffer einer Variablen, die ich dann mit ausgebe. Wenn mit der Zeit die Progs immer umfangreicher geworden sind, wäre eine graphisch-orientierte Eingabemöglichkeit von Vorteil. So entwickelt sich das langsam. Aber meine Übung im Umgang mit QB ist natürlich gering.
Dann entwickeln sich die ausgegebenen Dateien ins Unübersehbare und ich möchte da vielleicht was suchen, was ich manuell nicht mehr kann. So kommend ann immer neu Anforderungen die zu programmieren mir natürlich große Mühen macht. So in etwa sist das.
grüsse Nils _________________ Kontrolliert die Politik! Laßt nicht die Politik Euch kontrollieren! Das sind Eure Angestellten! Lasst Sie das spüren!!! |
|
Nach oben |
|
|
Nils
Anmeldungsdatum: 24.03.2006 Beiträge: 191
|
Verfasst am: 13.09.2014, 13:31 Titel: |
|
|
@ dreael:
Da guck ich heute man rein. Vielleciht bringt mir das was.
güsse nils _________________ Kontrolliert die Politik! Laßt nicht die Politik Euch kontrollieren! Das sind Eure Angestellten! Lasst Sie das spüren!!! |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1215 Wohnort: Ruhrpott
|
Verfasst am: 13.09.2014, 15:38 Titel: |
|
|
Nils hat Folgendes geschrieben: | So richtig redet ihr jetzt aber irgendwie nicht mehr mit mir? | Wir schweifen hier gerne mal etwas ab. Aus solchen Diskussionen, ausgelöst durch eine ganz banale Anfrage, sind schon richtig tolle Projekte entstanden. Kein Grund, beleidigt zu sein.
Zitat: | Das muß dan wirklich state of the art sein. Zumindest gediegene Grundlage für das Schritthalten mit Weiterentwicklungen sein. Tut das FB? | Klare Antwort: Ja! Man könnte in FB (entsprechende Kenntnisse vorausgesetzt) ein komplettes Betriebssysten schreiben.
Ein paar Kostproben? Da du ja (noch) keinen FB - Compiler hast, habe ich dir mal ein paar kompilierte Programme hochgeladen.
Dies hier ist ein Funktionsplotter, den nemored geschrieben hat. Er ist weitgehend selbsterklärend. Einfach die Formel eintippen und staunen!
Etwas bunter ist dieser Wortzähler, an dem ich -unterstützt von Sebastian, nemored und RockTheSchock- gerade arbeite (keine Ahnung warum, das Programm hat für mich persönlich nicht den geringsten Nutzen, aber die Programmierung ist eine echte Herausforderung: Pointer, doppelt verkettete Listen, rekursive Funktionsaufrufe, Callback-Routinen, und alles gleichzeitig). Der Suchalgorithmus stammt von Sebastian, die Internetroutinen von PMedia, das Ganze ist ein schönes Beispiel dafür, wie durch Verwendung von Subs und Funktionen mehrere Leute unabhängig voneinander an einem Programm arbeiten können. Das Programm lädt laufend Artikel von Wikipedia herunter und analysiert die Texte, braucht also einen bestehenden Internetzugang. Wechsel der Darstellung mit den Tasten 1-8, beenden mit 'Esc'.
Und mit diesem Winamp DSP - Plugin kannst du wahlweise die Lautstärke um 10 dB absenken, dir den Effektivwert (RMS) der abgespielten Stücke anzeigen lassen oder das Audiosignal mitschneiden (die Audiodatei ist anschließend im Verzeichnis "C:\WAcapture\" zu finden). Dazu die Datei (es ist eine .dll, also eine Programmbibliothek) in das Plugin-Verzeichnis von Winamp kopieren, Winamp starten und im "Preferences"-Menü das gewünschte Modul aktivieren (eventuell Winamp noch einmal beenden und neu starten).
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
Nils
Anmeldungsdatum: 24.03.2006 Beiträge: 191
|
Verfasst am: 13.09.2014, 18:21 Titel: |
|
|
@ grindstone: nee, nix beleidigt!
@ RockTheShock: Deinen Code bring ich nicht zum laufen.
@ dreael: Erinnere mich düster. Hab mir das schon mal angeschaut und gedaucht: gosub ... return is genausogut. Und ich kann es nicht leiden, wenn ich nicht den gesammten Cporde vor mir habe, sondern umschalten muß.
nice weekend Nils _________________ Kontrolliert die Politik! Laßt nicht die Politik Euch kontrollieren! Das sind Eure Angestellten! Lasst Sie das spüren!!! |
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2509 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 14.09.2014, 10:15 Titel: |
|
|
Nils hat Folgendes geschrieben: | gosub ... return is genausogut. Und ich kann es nicht leiden, wenn ich nicht den gesammten Cporde vor mir habe, sondern umschalten muß. |
Hmm, da dürfte so ziemlich das ganze Forum anderer Meinung als Du sein... ;-) Wäre GOSUB und RETURN etwas Fortschrittliches (ist eigentlich nur ein 1:1-Abbild von JSR und RTN viele Assembler/CPU-Maschinensprache-Befehlssätzen!), so würde es in modernen Hochsprachen weiterhin existieren. Aber warum existiert es dort nicht, sondern SUB und FUNCTION (und deren Weiterentwicklungen wie Klasse, private Attribute und vor allem sog. Methoden) haben sich durchgesetzt?
Einfache Antwort: Alle Variablen global wirkt auf den ersten Blick einfach (geringe Lernkurve), aber sobald Komplexität ins Spiel kommt, bist Du hoffnunglos verloren, wenn Du in Deinem GOSUB-Unterprogramm ständig aufpassen musst, nicht versehentlich eine wichtige Variable zu überschreiben. Beispiel:
Code: | ' So kracht's!
FOR i%=1 TO 15
z$ = "*"
n%=10
GOSUB ZeichneZeile
NEXT i%
END
ZeichneZeile:
FOR i%=1 TO n%
PRINT z$;
NEXT i%
PRINT
RETURN |
Und nun das Ganze mit SUB:
Code: | ' Und so läuft es wie erwünscht
SUB ZeichneZeile(z$, n%)
FOR i%=1 TO n%
PRINT z$;
NEXT i%
PRINT
END SUB
FOR i%=1 TO 15
ZeichneZeile "*", 10
NEXT i% |
Ich hoffe, ich konnte Dich nun überzeugen, warum man SUB und FUNCTION den Vorzug geben sollte: Innerhalb dieser beiden Konstrukte darfst Du beliebig viele lokale Variablen verwenden, welche dann keine Side Effects durch versehentliches Überschreiben generieren. Ausserdem ist der Gebrauch beim Aufrufen auch viel handlicher, da falsche Parameter beim Aufruf einen Compilerfehler generieren, was bei GOSUB nicht möglich ist.
FreeBasic unterstützt mittlerweilen sogar objektorientierte Software-Entwicklung, d.h. Du kannst ähnlich wie in C++, Java usw. auch mit Klassen arbeiten.
Ansonsten aus Deinem Projektbeschrieb sehe ich bereits, dass es keinerlei DOS-spezifische Angelegenheiten wie z.B. ein Parallelport mit OUT direkt ansteuern gibt, womit einer Wechsel auf FreeBasic nichts im Weg steht - im Gegenteil: Mit "-lang QB" unterstützt der FB-Compiler sogar einen sanften Umstieg, da dort viele QB-spezifischen Sachen noch erlaubt werden, die bei der "strikten" FreeBasic-Variante nicht mehr zulässig sind.
Glaube mir aber auch dort: Zu Beginn wirst Du jede Variable mit DIM dimensionieren erst einmal umständlich emfingen. Sobald aber die Kompexität steigt, dagegen froh sein, wenn Dir der Compiler mit einem "Variable AznTexte not declared" einen Tippfehler abfängt. QB legt dagegen einfach eine neue Variable an, was Du u.U. bei einer Fehlersuche nicht sofort realisierst und die Fehlersuche somit zur Sisiphusarbeit macht. => Somit lohnt es sich auch dort bald einmal, aufs "-lang QB" zu verzichten. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
Nils
Anmeldungsdatum: 24.03.2006 Beiträge: 191
|
Verfasst am: 15.09.2014, 09:41 Titel: |
|
|
@ dreael:
NA, SO RIESIG SIND MEINE PROGS NUN NICHT; DASS ICH DAS NICHT MEHR IM KOPF HÄTTE. AUßERDEM KOMMENTIERE ICH MEINE PROGS:
- ABER NOCH EINE VERSTÄNDNISFRAGE: QB UND QUICKBASIC NICHT DASSELBE?
IM ÜBRIGENWERDE ICH ERST UMSTEIGEN WENN ICH MEINE FRENSTEUERUNG HINGEKRIEGT HABE!
GRÜSSE AUS DER GROSSBUCHSTABENSTADT NILS _________________ Kontrolliert die Politik! Laßt nicht die Politik Euch kontrollieren! Das sind Eure Angestellten! Lasst Sie das spüren!!! |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1215 Wohnort: Ruhrpott
|
Verfasst am: 15.09.2014, 10:16 Titel: |
|
|
Zitat: | QB UND QUICKBASIC NICHT DASSELBE? | Nein. QBasic ist ein Interpreter, QuickBasic ist ein Compiler.
Zitat: | SO RIESIG SIND MEINE PROGS NUN NICHT | Das kommt aber noch, und zwar sehr schnell, sobald du dich ernsthaft damit beschäftigst.
Sieh dir einmal den Quellcode zum DSP - Plugin an. Ich kenne die Programmierer von Winamp nicht, und sie kennen mich nicht. Trotzdem bin ich in der Lage, ein funktionierendes Plugin für Winamp zu schreiben. So etwas wäre mit GOSUB und GOTO und ausschließlich globalen Variablen völlig unmöglich!
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4603 Wohnort: ~/
|
Verfasst am: 21.09.2014, 10:29 Titel: |
|
|
Zitat: | Und ich kann es nicht leiden, wenn ich nicht den gesammten Cporde vor mir habe, sondern umschalten muß. |
Das kann ich verstehen - aber unter FreeBASIC hast du dieses Problem nicht. Da siehst du den gesamten Code im selben Anzeigefenster (außer du arbeitest modular, aber das musst du ja nicht). _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
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.
|
|