Angepinnt Bas.Edit der Basic Editor unter Windows !

  • Schlowski schrieb:

    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.

    Quellcode

    1. 10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    2. 20 forj=1to5:printchr$(rnd(1)*16+70);:next
    3. 30 printint(rnd(1)*328)-217

    sd2iec Homepage
  • 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....
    5 registrierte und 2 Gastkatzen betanken sich täglich
  • <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...
    Basic V2 Programme unter Windows editieren: BasEdit.NET
  • Neue Version 1.38 hochgeladen:

    Quellcode

    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:

    Quellcode

    1. IF <expr> THEN
    2. <commands>
    3. [ELSE
    4. <commands>]
    5. ENDIF
    6. WHILE <expr>
    7. <commands>
    8. WEND
    9. REPEAT
    10. <commands>
    11. UNTIL <expr>
    12. DO
    13. <commands>
    14. LOOP
    15. for all three loops:
    16. EXIT - exits loop
    17. CONTINUE - continues with next iteration
    Alles anzeigen


    Beispiele:

    Quellcode

    1. A=0
    2. WHILE A<500
    3. A=A+1
    4. WEND
    5. A=0
    6. REPEAT
    7. A=A+1
    8. UNTIL A=500
    9. A=0
    10. DO
    11. A=A+1
    12. IF A=500 THEN EXIT
    13. LOOP
    Alles anzeigen


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

    Quellcode

    1. 10 A=0
    2. 20 IFNOT(A<500)THEN40
    3. 30 A=A+1:GOTO20
    4. 40 A=0
    5. 50 A=A+1:IFNOT(A=500)THEN50
    6. 60 A=0
    7. 70 A=A+1:IFA=500THENGOTO90
    8. 80 GOTO70
    9. 90 REM
    Alles anzeigen


    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 ;)
    Basic V2 Programme unter Windows editieren: BasEdit.NET
  • Neue Version 1.40 hochgeladen

    Quellcode

    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...
    Basic V2 Programme unter Windows editieren: BasEdit.NET
  • 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).
  • Solange es kein Undo gibt war mir das einfach zu gefährlich - momentan muss man einen markierten Block mit Shift-Entf ausschneiden.
    Der Block-Modus ist aber auch noch irgendwie "krückig", da müsste ich nochmal ran, irgendwie...
    Basic V2 Programme unter Windows editieren: BasEdit.NET
  • 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...
    Basic V2 Programme unter Windows editieren: BasEdit.NET
  • Problem mit Renumber-Funktion

    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
    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?
    an allem schuld (sagt Sauhund, und der ist bekanntlich nicht ohne)
  • 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
  • Das umwandeln für das Basic7 des C128 funktioniert nicht ...

    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...

    Quellcode

    1. 10 color 0,1
    2. 11 graphic 1,1
    3. 20 locate 60,60
    4. 21 circle 1,20,20,10,10
    5. 22 paint 1,20,20
    6. 30 sshape a$,10,10,30,30
    7. 31 sprsav a$,1
    8. 32 sprsav a$,2
    9. 33 sprsav a$,3
    10. 40 graphic 0
    11. 41 scnclr
    12. 50 sprite 2,1,4
    13. 51 sprite 3,1,3
    14. 60 movspr 2,130,0
    15. 61 movspr 2,180#6
    16. 62 movspr 3,180,0
    17. 63 movspr 3,180#7
    18. 100 y=155
    19. 110 a=joy(2)
    20. 120 sprite 1,1,2
    21. 130 if a=3 then y=y+1
    22. 131 if y=319 then y=0
    23. 140 if a=7 then y=y-1
    24. 141 if y=0 then y=319
    25. 150 movspr 1,y,180
    26. 160 a=a and 127
    27. 170 collision 1,500
    28. 180 goto 110
    29. 500 vol5
    30. 501 sound 2,800,10
    31. 599 return
    Alles anzeigen
  • Gerade entdeckt:
    commodorefree.com/magazine/vol4/issue42.html#NEWS8 (Vorstellung von BasEdit)
    und
    commodorefree.com/magazine/vol4/issue42.html#ARTICLE4 (Interview mit Schlowski)
    und
    commodorefree.com/magazine/vol4/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. ;)
    an allem schuld (sagt Sauhund, und der ist bekanntlich nicht ohne)
  • 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.
    8 Bit sind genug, sonst komme ich morgens nicht aus dem Bett. %)

    „Nous sommes dans un pot de chambre et nous y serons emmerdés.“
    („Wir sitzen in einem Nachttopf und wir werden darin zugeschissen werden“)
    2.9.1870, Auguste-Alexandre Ducrot

    www.emu64-projekt.de/acme The home of ACME win32 compile.
  • Hoeppie schrieb:

    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: github.com/daybyter/d64browse
    ___________________________________________________________
    Meine Kreationen: Deviant Art | Toonsup | Flickr | Youtube
    | Twitter
    Avatar: Copyright 2017 by Saiki
  • Benutzer online 1

    1 Besucher