Hallo Besucher, der Thread wurde 68k mal aufgerufen und enthält 157 Antworten

letzter Beitrag von syshack am

Bas.Edit der Basic Editor unter Windows !

  • Mmh, ich wollte eigentlich mal meinen ersten Post editieren, aber da gibt es keinen Edit-Button!? Genaugenommen finde ich gerade überhaupt keinen Edit-Button, um eine ältere Post von mir zu überarbeiten, komisch. Ich weiß aber, dass ich das schonmal gemacht habe...


    Geht nur eine Stunde lang, damit "Geschichtsfälschung" für normale User schwieriger wird.

  • Eventuell könnte man das Ganze ja auch in die C64-Wiki einbringen. Da gibt's mehr Möglichkeiten zur Formatierung und keine "Geschichtsverfälschungs-Zeitbegrenzung" :wacko::roll2: Allerdings ist bei mir der "Bearbeiten"-Button auch bei Posts die ich vor einem Jahr geschrieben hab noch vorhanden....

  • <Sarcasm>Das Fehlen des Edit-Buttons ist ein Woltlappen-Feature und kann wie immer über Löschen der Cookies beim FF bereinigt werden</Sarcasm>


    Klasse :)
    Ist da eigentlich auch ein Readme für die Controls dabei? Das mit der Zeichentabelle wusste ich nur aus einem vorherigen Post von dir.

  • Naja, zumindest ein bisschen Info gibbet mit F1, da steht auch F2 für's Character Window drin :-)
    Ansonsten ist ReadMe eher Fehlanzeige, noch so eine Baustelle *seufz*


    Control ersetzt die Commodore-Taste, das Keyboard-Layout hält sich dann relativ eng an das Vice-Layout.


    Sollte ich mal zumindest in das F1-Fenster mit einbauen, damit das wenigstens irgendwo steht...

  • Neue Version 1.38 hochgeladen:

    Code
    1. - Basic Erweiterungen für den Label-Mode im Projekt


    Eine meiner langjährigen Ideen für BasEdit war die Möglichkeit, Basic-Erweiterungen einzubauen, die es trotzdem erlauben, das fertige programm auf einem Standard-Rechner laufen zu lassen.


    Als ersten Schritt in diese Richtung hab ich mal das folgende Feature implementiert:
    In einem Projekt-File kann man jetzt die Option "enable keyword extensions" anhaken. Diese Erweiterungen funktionieren ausschließlich im Label-Mode und nur, wenn man als Tokenfile Basic V2 geladen hat - ich möchte nicht mit anderen Basic-Erweiterungen wie ExBasic oder Basic V10 etc. kollidieren...


    Die neuen Keywords sind diese hier:



    Beispiele:


    Diese zeilen werden dann in Standard Basic V2 übersetzt beim Übergang vom Label zum Line#-mode:



    Ok, ist nicht optimal, aber macht, was es soll :)
    Die Negation einiger Ausdrücke sieht etwas gewöhnungsbedürftig aus und ist etwas langsamer als eine "von Hand optimierte Negation".
    NOT(A=500) ist etwa 18,5% langsamer als das logisch äquivalente A<>500 oder, in diesem fall noch bessere, A<500.
    Aber wenn es auf geschwindigkeit ankommt sollte man für diese Art von Zählschleifen eh eine FOR-NEXT Schleife nehmen, die ist um den Faktor 10 schneller!
    Die zweite Unschönheit ist die zeile 90 REM, die wird als Sprungziel für das EXIT aus dem DO-LOOP benötigt. Würden noch Befehle nach dem LOOP kommen, würde BasEdit diese zeile natürlich nicht generieren.
    Und last but not least könnte ich die Zeile 70 noch optimieren, indem das überflüssige GOTO nach dem THEN eingespart wird. Das taucht momentan deswegen noch auf, weil EXIT ja auch einzeln stehen könnte, dann benötigt es natürlich ein GOTO.


    Das Ergebnis der Konvertierung des mehrzeiligen IF-THEN-ELSE-ENDIF sieht noch wursteliger aus... Da bekommt der Begriff Spaghetti-Code wieder eine ganz neue Bedeutung ;)

  • Neue Version 1.40 hochgeladen

    Code
    1. - ^ and ? werden jetzt beim ASCII-Export wieder richtig konvertiert
    2. - Neues Setting in der BasEdit.Ini: KeyMap=KeyMap.txt
    3. - Syntax Check meldet jetzt eine fehlerhafte Zeile und gibt die Gelegenheit, in der nächsten Zeile weiterzuchecken oder abzubrechen


    Um unterschiedliche Keymap.txt vernünftig verwalten zu können, habe ich das neue Setting Keymap=... eingeführt, mit dem man eine von der deutschen Standardbelegung abweichende Tastaturbelegung einlesen kann. Außerdem wurde dieses Setting in der Standard-BasEdit.Ini auskommentiert, weil per Default BasEdit ohnehin die deutsche Belegung wie in der Keymap_German.txt 1:1 im Programm hinterlegt hat...


    Der Syntax Check meldet eine fehlerhafte Zeile jetzt per MessagBox und fragt, ob er weitermachen oder abbrechen soll. Damit kann man auch Programme durchchecken, die bisher aus welchen Gründen auch immer fälschlicherweise mit Syntax Error im Check abbrachen. Da aber Windows mit Großteilen des PETSCII zeichensatzes nichts anfangen kann, kann die Meldung durchaus etwas kryptisch aussehen! Sobald ich mal wieder etwas mehr Zeit habe, möchte ich eine Ausgabe mit sämtlichen Fehlern eines Programmes erzeugen, wobei man dann z.B. mit Doppelklick zur fehlerhaften stelle springen kann, um die Fehler dann einen nach dem anderen abzuarbeiten...

  • Beim Basic-Compo wollte ich den Editor benutzen, da ist aber noch eine Kleinigkeit, die mich immens stört: Der Selektionsmodus verhält sich seltsam.


    Wenn es eine Selektion gibt, und eine Taste gedrückt wird, dann sollte die Selektion damit ersetzt werden (Ausnahme Backspace/Delete, die löschen die Selektion natürlich einfach).

  • Da ich schon seit einigen Monaten keine Zeit mehr für dieses Hobby hatte und auch die kommenden Monate keine Besserung in Sicht ist, habe ich beschlossen, die Sourcen zu BasEdit.Net in die public domain zu entlassen...


    BasEdit Sourcen


    Ist ein Visual Studio 2010 Projekt, sollte sich aber auch ohne Probleme unter der Express-Version von VB.Net 2010 laden lassen...

  • Hi!


    Um sich ein BASIC-Programm auf einen Blick anzuschauen, gefällt mir das Tool bisher ganz gut.


    Gern würde es aber auch andere Funktionen nutzen.


    Nun habe ich mit Renumber aber folgendes Problem:
    Ich erhalte jedes Mal

    Zitat

    Error during renumber! Der Index und die Länge müssen sich auf eine Position in der Zeichenfolge beziehen. Parametername: length


    Das passiert auch, wenn ich die Default-Einstellungen benutze.


    Kann es sein, dass Renumber sich aufhängt, wenn das Basic-Programm zu lang ist? Mit dem mitgelieferten Beispiel Videopoker funktioniert es. Oder müssen die Abstände vorher auf 1 gebracht werden?

  • Ich bin heute etwas in die Basic Programmierung eingestiegen, und nachdem ich mir in VICE mit LOAD"$",8 mein Programm gelöscht habe ;) , habe ich dieses Bas.Edit entdeckt, und bin vollauf begeistert. Habe fast den ganzen Tag damit programmiert. Vielen herzlichen Dank dafür.


    In der Anlagei noch die TokenList für das MagicVoice :P

    Dateien

    Computer:C64, VC20 Monitor:1702, 1084S Floppy:1541, 1541-II Speicher/Datenübertragung:MMC Replay, 1541U-II, Chameleon, C64TPC, sd2iec, EasyFlash, NeoRAM, XA1541, XU1541 Sprachausgabe:Magic Voice, Voice Messenger, HearSay 1000, Adman Speech Maker, VoiceBox AlienGroup, Covox Voice Master Sonst:Robotarm SVI-2000, Kemtec AMS 64, HardSID4u se, SammichSID, SIDstation, SFX Sound Expander, SFX Sound Sampler

  • BasicNet hat noch ein Macke.
    Das umwandeln vom Basic 7 Funktioniert nicht:
    ' Tokenfile for BASIC version
    TokenFile=TokenList_BasicV7.txt

    das habe ich in dei Ini reingepackt.


    Diese Demo wird falsch umgesetzt. Ob gross oder kleinbuchstaben.
    Die Zeile 10 wird angemotzt. Wenn ich die von Hand im Screen eingebe, wird über die Zeile 11 gemotzt.
    Alle Basic 7 Befehle ....hmmm... Wat für ein scheiss...

  • Gerade entdeckt:
    http://www.commodorefree.com/m…e/vol4/issue42.html#NEWS8 (Vorstellung von BasEdit)
    und
    http://www.commodorefree.com/m…ol4/issue42.html#ARTICLE4 (Interview mit Schlowski)
    und
    http://www.commodorefree.com/m…ol4/issue42.html#ARTICLE6 (Quick Look)


    Die Artikel enthalten ziemlich viel Info über BasEdit, vielleicht übersichtlicher als hier im Forum.


    Wer mag, möge es sich bookmarken oder in irgendeinen Linkhaufen stecken. ;)

  • Ein cooles Programm.
    So was hatte ich mir gewünscht.
    Mal schauen was ich mir für meine Java-Entwicklung abkupfern kann.
    Nach meinen Konverter, bin ich gerade dabei so eine Art Directory-Tool für D64 zu implementieren.
    Da muss natürlich ein Disassmbler und ein Teil zum Basic-Anzeigen rein.

  • Nach meinen Konverter, bin ich gerade dabei so eine Art Directory-Tool für D64 zu implementieren.

    Vielleicht solltest Du Dich evt. mit @daybyter kurzschliessen. Der hat auch schon sowas in der Richtung angefangen.
    Auch in Java: https://github.com/daybyter/d64browse