eure Programmier-Anekdoten und -Geschichten

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
AndyX
Beiträge: 1272
Registriert: 17.12.2004 20:10
Wohnort: Niederösterreich
Kontaktdaten:

Beitrag von AndyX »

CLS war der erste Befehl, den ich beim ersten Programm in QBasic benutzt habe xD
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Also richtig scharf auf Basic wurde ich durch den Amiga 500 <). Für
den Amiga 500 hatten wir sogar noch die Handbücher. In einem Hand-
buch standen Beispiele für den AmigaBasic. Diese habe ich dann in den
Amiga rein getippt und mir angesehen was da auf dem Bildschirm da so
entstand.

Mein Dad musste mir da ordentlich mit den englischen Befehlen helfen,
damit ich sie mir merken konnte :lol:. Ich glaube, da war ich in der 2.
Klasse oder so als ich damit angefangen habe. Weiß, ist nicht gerade
gut für den Körper die ganze Zeit nur vorm PC zu sitzen aber in der
Klasse fand ich keine Freunde. Wurde immer nur ausgelacht und ver-
stoßen. Da sitzt man halt vorm Amiga, wenn man keine Freunde hat.
Bild
TheShadow
Beiträge: 84
Registriert: 10.09.2004 16:19

Beitrag von TheShadow »

AmigaBasic-Zeiten

Hab eine Wochentags-Kalender-Funktion gecodet - ich hatte ja so eine Praktische Tabelle aus Zeitung - mit langen Zahlenreien für 1 Jahrhundert gefunden. Mein Listig war schon rieeesig - mit sehr vielen Data-Zeilen. und keine Ahnung was... bestimmt paar 1000 Zeilen...
Auf dem PC mit Internet-Anschluss hab ich dann eine Ein-Zeilen-Formel gefunden - die sogar für sich TAUSEND jahre gültig ist :-)



QB-Zeiten

Ich brauchte in QBasic Mauszeiger... leider hatte es keine Native Funktion - so wie Amiga (!!!!!). Naja - und das obwohl AmigaBAsic auch von MS entw. wurde... Egal... ich hab damals stundenlang den Speicher-Ram analysiert und irgendwann katte ich diee peek-adresse gefunden - das grob die Mauskoord. liefern konnte (so 40x25 oder sowas)... naja hab sogar Malprogs damit geschaffen :-)

Irgendwann bin ich auf QuickBasic umgestiegen. Die Mausroutinen gingen niergendwo mehr. Mein wunder!!! Diese Koordinaten die ich gefunden habe - waren quasi Mauskoord aus der IDE im Hintergrund (QBasic war ja interpreter) - und ich glaub änderungen an Adresse hat nix gebracht, weil in QB es native exen waren... naja lustig....
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

LOL sind ja schon einige interessante Beiträge gepostet worden :)

Mir ist auch noch was eingefallen. Mein Onkel hatte mir damals auf meinem C64 was als Beispiel programmiert (übrigens war das der Tag, an dem ich dann begann, auch selbst zu programmieren, ich war aber auch erst 10 oder 11). Und zwar ein Programm, das meinen Namen schreibt, indem es jeden Buchstaben einzeln mit kurzer Verzögerung auf den Bildschirm bringt, also so 'ne Art "Schreibmaschinen-Effekt".

Als ich dann mal irgendwas programmieren wollte, wo eine kurze Warteschleife vorkommt, wußte ich leider überhaupt nicht, wie ich das anstellen soll, aber ich wußte ja, daß das "Name aufschreiben" eine Weile dauert, daher hab ich dann bei jeder Warteschleife einfach einen leeren String auf dem Bildschirm mit der "Schreibmaschinen"-Routine geschrieben :) das sah dann so aus:

Code: Alles auswählen

A$="":FORI=1TO8:PRINT"#":PRINT MID$(A$,1,I):FORJ=1TO100:NEXTJ:NEXTI
...wobei man korrekterweise das # durch ein Steuerzeichen für "Home" (sowas wie Locate 0,0) ersetzen müßte, was ich hier natürlich nicht kann. Und die 8 müßte durch die Zahl der Buchstaben ersetzt werden - in meinem Fall also wie lang die Warteschleife in etwa dauern soll :)
Und ich mußte alles so zusammenquetschen, da eine Code-Zeile im C64-BASIC maximal 80 Zeichen haben durfte und meine Warteschleifen natürlich möglichst einzeilig sein sollten :D

Wie gesagt, das hab ich in meinen alten Programmen zigmal verwendet, bis ich dann irgendwann rausgefunden hab, daß mir das FORJ=1TO100:NEXT bereits vollkommen reichen würde :)
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Beitrag von Laurin »

Ich kann mich noch erinnern, dass ich immer tausende IF-Abfragen in QB geproggt habe.

Also immer:

Code: Alles auswählen

IF A = 1 THEN B = 10
IF A = 2 THEN B = 12
IF A = 3 THEN B = 14
IF A = 4 THEN B = 16
IF A = 5 THEN B = 18
...
Irgendwie hatte ich damals nicht realisiert, dass man das auch mit Schleifen machen kann <)
Wenigstens konnte ich danach wieder meine Quelltexte kompilieren, das funktionierte nämlich nicht mehr, wenn sie > 64 kb wurde :lol:
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Laurin hat geschrieben:Ich kann mich noch erinnern, dass ich immer tausende IF-Abfragen in QB geproggt habe.

Also immer:

Code: Alles auswählen

IF A = 1 THEN B = 10
IF A = 2 THEN B = 12
IF A = 3 THEN B = 14
IF A = 4 THEN B = 16
IF A = 5 THEN B = 18
...
Irgendwie hatte ich damals nicht realisiert, dass man das auch mit Schleifen machen kann <)
Wenigstens konnte ich danach wieder meine Quelltexte kompilieren, das funktionierte nämlich nicht mehr, wenn sie > 64 kb wurde :lol:
Jo ... ich hab mir damals auch ne eigene Val()-Funktion geschrieben :lol: ... also in dem selben stiel ...

Code: Alles auswählen

IF Text = 100 THEN Zahl = 100
^^so was ... und das problem mit dem compilieren hatte ich auch, bzw habe, noch hab ichs ja net überarbeitet /:->

Is scho interezant wie man sich immer behilft, wo man noch von kaum was ne ahnung hat. Und ich hatte damals nichts auser die QBasic 4.5 hilfe sammt der Interpreter und der IDE ... das erste was ich gemacht hab war der Play-Befehl auszuschöpfen. Ich hab von meinem damaligen Notenheft einige Lieder abgeschrieben :mrgreen: ... bis es dann mal zu den Pixeln und der Grafikausgabe ging O_o *grins*

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
iF
Beiträge: 84
Registriert: 17.07.2005 20:20
Wohnort: Berlin
Kontaktdaten:

Beitrag von iF »

Bei mir wars so - ich war wohl 8 und hatte nen Atari800XL (<-- immernoch Goil-find <) ) aber ohne jegliches Zubehör auser Netzteil und Monitor natürlich. Nun ich proggte und proggte ....

So manch kleines TextModeGame ist entstanden - ich dachte - das ists schon - wenn man den Computer ausschaltet isses halt weg. Kannte ja nix anderes. Also habe ich jedes mal wenn meine Eltern gerne mal wieder ein Spiel spielen wollten eins geproggt (manchmal über mehere Wochen) - dann hamwas gespielt - und mir war völlig klar das wenn ich den Computer abschalte das alles weg ist. War aber kein Problem - war ja normal für mich. :mrgreen:

Als ich dann älter wurde - und nen Atari1024ST mit DISKETTENLAUFWERK unter den Fingern hatte - hatte ich mich rein psychisch immer noch nicht damit abgefunden tatsächlich auch mal etwas zu speichern! Ich hatte auch nie ne Diskette. :?

Ich glaube dabei habe ich irgendwie nen Dachschaden bekommen <) - so daß ich mich fast immernoch sträube jetzt gleich hier unten den "Absenden"/Speichernbutton zu klicken. :lol:
Achtung: kein PB'ler - habt bitte erbarmen. :mrgreen: /:->
Benutzeravatar
felix
Beiträge: 32
Registriert: 24.10.2004 07:56
Wohnort: Giengen/Brenz
Kontaktdaten:

Beitrag von felix »

hallo,

Programmierfehler oder Programme die auf einmal nicht mehr laufen gehören woll dazu, hier meine Geschichte:

Wir haben zur damaligen Amiga Messe 1998 die Software für die Steuerung der Monitorwand für AMIGA programmiert. Die Software ist bei uns daheim in allen Varianten auf den Amigas perfekt gelaufen (Bis dahin gabs die Software nur für den PC). IOM ist mit der Software nach Köln gefahren und baut die Wand auf, und zu großen entsetzen lief die Software nicht mehr und keiner wußte warum. So haben wir uns hingesetzt und haben schnell eine neue Version der Software erstellt und diese per Expressboten nach Köln geschickt, und auch diese Variante lief nicht in Köln. So haben wir uns ins Auto gesetzt und sind auch mit unseren Amigas nach Köln. Als wir ankammen haben schon alle gewartet. Wir haben die Software neu installiert und schon gings.... Und bis heute weiß keiner warum es nicht gelaufen ist. Dannach lief die Software noch lange auf vielen Amiga-Events und lange zeit in Kinos zur Werbung.

Wenns Interessiert hier, der link zum damaligen Artikel im Amiga-Magazin: http://www.amiga-magazin.de/magazin/a01 ... ter98.html

mfg

Stefan
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Beitrag von Franky »

Jaja, die Typischen Anektdoten *vorsichhinerinner*

Da hab ich einiges, was alle hier verstehen sollten, da ich mit PB angefangen hab und dabei geblieben bin und somit dabei alle Fehler gemacht habe.

1.)Der Variablen-Proceduren-Fehler
Preisfrage, was ist der Unterschied zwischen

Code: Alles auswählen

if imfeld=1
und

Code: Alles auswählen

if imfeld()=1
?
Rüchtisch. Dat erste is ne variable, dat zweite ne Procedure. Ich wusste es auch, aber ich habe 5 Tage lang gesucht, bis ich gerallt hab, warum das in der If-abfrage auszuführende nicht ausgeführt wird.

2.)Die Bilddaten-kopier-Methode

Code: Alles auswählen

      For lang=0 to bildlang
        For hoch=0 to bildhoch
                  farbe.l=point(lang,hoch)
                  Punkt(hoch,lang)\red=red(farbe)-128
                  Punkt(hoch,lang)\green=green(farbe)-128
                  Punkt(hoch,lang)\blue=blue(farbe)-128
        next
     next
Frage: Was ist quatsch?
Antwort : ALLES!

Denn:
1.) gibt es SetdiBits
2.) musste ich beim zurückeinfügen die 128 wieder hinzufügen
3.) hätte ich rein theoretisch die Daten auch gleich in Punkt() einlesen können ohne Farbe und Red(),Green(),Blue().


3.)Mein erster MP3-Player
Das Teil (Scratchup, ein Doppel-Mp3-Player mit 2 Abspielspuren und 10 per Knopfdruck auslösbaren Soundeffekten) war meine erste etwas umfangreichere Arbeit. Würde ich es heute Schreiben: 200 Zeilen
OriginaleCode: 1000 Zeilen.
Wenn ich ihn heute so sehe, kommen mir folgende Gedanken:
Procedure, was ist das?
Schleife, was ist das?
Parameter, Lokale Variablen, Konstanten zur Menu- und Gadgetbenennung, was ist das?


4.)Fehler im Reallife.exe
Die gab es bei mir auch ein Paar:
1.)In einer Englischklausur nen If-Satz mit EndIf beendet (hab´s zum Glück noch rechtzeitig bemerkt)
2.)Der Ständige Wunsch, Tafelbilder mit Strg+C zu kopieren
3.)Der hin und wieder auftretende Verlust jeglichen Zeitgefühls
4.)Die übernahme von PB-Syntax in andere Fächer:
Beispiel:
Physikklausur:
t=6,2Sekunden
Schwingungsdauer=2 Sekunden
Errechnen der Höhe der Schwingung bei t.
Mein erster Satz: t=t-6s
Ich glaub, ich hatte das Größte Fragezeichen der Klausur daneben stehen ^^

5.)Der Begin und End Fehler
Sorry, Delphi.
Test: Vorgegebene Klassen, musste nur den Quelltext in die Proceduren einsetzen.
Hab den Test "verhauen"(nur ne 1 minus), Grund: Hatte aus versehen nicht hinter, sondern vor dem Begin bei einer Procedure angefangen zu schreiben und so alles nach unten geschoben. Ich hab den Fehler 10 Minuten gesucht, aber nicht gefunden. Als ich´s dann auf dem Beamer sah, stach es direkt ins Auge.

6.)Fehler alleine Finden
Ich hab es sehr oft, dass ich einen Fehler partout nicht Finde. Sobald ich aber jemand anderem Mein Leid klage und ihm den Quelltext zeige, finde ich den Fehler, bevor der Andere ihn findet.

So, dat war´s

Hab am meisten 8)
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Benutzeravatar
redacid
Beiträge: 581
Registriert: 29.08.2004 17:06

Beitrag von redacid »

Mein erstes "richtig" umfangreiches Programm (für meine Verhältnisse) war eine Video-Verwaltung für den Amiga. Programmiert in Blitz Basic. Nach diversen "Verbesserungen" hatte ich satte 5000 Zeilen Code zu überblicken (Spaghetti-Code par Excellence!). Was allerdings auch ein wenig Blitz Basic zu verantworten hatte. Denn mit neueren Versionen der Sprache wurden auch interessante, für mich nützliche Befehle eingeführt, wodurch ich den Code auf unter 3000 Zeilen verkürzen konnte - bei gleichem Funktionsumfang.

Dennoch würde ich heute anders an die Sache herangehen. Früher habe ich fast alle Unterroutinen per GOSUB angesprungen, heute würde ich es mit Procedures machen. Aber im Grunde habe ich mir bei dem Programm von Anfang an viele Gedanken gemacht und würde auch heute (nach sicher 5 Jahren) schnell wieder mit dem Code zurechtkommen.
Antworten