Welcome, Guest. Please login or register.


Author Topic: Általános BASIC Kérdések (Read 423775 times)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1470 on: 2020.September.05. 20:41:48 »
Bár úgy látom, most már C-ben is lehet programozni EP-re PC-n, de azért még a basic viszontagságaival kapcsolatban egy kérdés: A CTRL+F2-vel középre lehet állítani az adott sort. Ennek a karakternek a kódja CHR$(241). Ha kiadom egy szöveges csatornán arra a sorra, hogy PRINT CHR$(241), akkor odarak valamilyen karaktert, ahelyett, hogy középre rakná a sort. Ez miért lehet? Igaz, gracha képernyő volt, de az is karakteres.
Egyúttal találtam helyette egy másik megoldást, a PRINT AT 1,vsz/2-LEN(A$)/2:A$ (vsz:videolap szélessége) nagyjából középre írja a szöveget. De azért érdekelne, a CHR$(241) miért nem működik.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline ergoGnomik

  • EP addict
  • *
  • Posts: 1291
  • Country: hu
  • Stray cat from Commodore alley
Re: Általános BASIC Kérdések
« Reply #1471 on: 2020.September.05. 20:58:20 »
A CTRL+F2-vel középre lehet állítani az adott sort. Ennek a karakternek a kódja CHR$(241). Ha kiadom egy szöveges csatornán arra a sorra, hogy PRINT CHR$(241), akkor odarak valamilyen karaktert, ahelyett, hogy középre rakná a sort. Ez miért lehet?
Valószínűleg azért, mert a billentyű kombináció egy EDITOR funkciót hoz működésbe. A BASIC program futása közben ezek ha minden igaz csak részlegesen működnek, és a PRINT paranccsal nem is lehet kiváltani ezeket.

Offline Tomato77

  • EP user
  • *
  • Posts: 397
  • Country: hu
    • Támogató Támogató
Re: Általános BASIC Kérdések
« Reply #1472 on: 2020.September.05. 22:10:40 »
Továbbgondolva az ötleted, végigmegyek ciklussal az összes elemen, és tetszőleges elemmel felcserélem. Így tuti, hogy mindenhol lesz csere, és elég csak akkora ciklus, ahány elem van a tömbben.

Tetszik ez a megoldás, egész programozós hozzáállás. :) Nincs nagy jelentősége, de akkor az A=X részt is ki lehetne venni és közvetlenül X-szel cserélni, még egy utasítással kevesebb lenne. De maga az elv tök jó lett! :)
Kotasoft

Offline Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Re: Általános BASIC Kérdések
« Reply #1473 on: 2020.September.05. 22:27:11 »
Pedig működik:
PRINT "Szöveg";CHR$(241)
Értelemszerűen a PRINT végére kell a pontosvessző, mert a CHR$(241) az aktuális bekezdésre vonatkozik.

Offline Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Re: Általános BASIC Kérdések
« Reply #1474 on: 2020.September.05. 23:15:11 »
Megjegyzendő, az összes szerkesztő funkció működik programból is.
Itt egy példa.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1475 on: 2020.September.06. 12:57:06 »
Pedig működik:
PRINT "Szöveg";CHR$(241)

Ebben a programban nem működik, a CHR$(241) egy "q" karaktert biggyeszt a végére:

Code: [Select]
5520 SET VIDEO MODE 0:SET VIDEO COLOUR 0
 5560 SET VIDEO X 30:SET VIDEO Y 1
 5570 OPEN #1:"VIDEO:"
 5580 SET #1:SCROLL OFF:PRINT #1:CHR$(27);"o"
 5590 DISPLAY #1:AT 25 FROM 1 TO 1
 6000 PRINT #1:"SZOVEG";CHR$(241)

Csak a 0-ás editor csatornán működik (ahogy ErgoGnomik írta), külön videolapokra már nem.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Re: Általános BASIC Kérdések
« Reply #1476 on: 2020.September.06. 14:28:30 »
szerintem ha csinalsz editort, es hozzarendeled a csatornad, akkor mukodni fog

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1477 on: 2020.September.06. 15:15:11 »
szerintem ha csinalsz editort, es hozzarendeled a csatornad, akkor mukodni fog
Hozzárendelni hogyan lehet? A 0-ás csatorna hogyan rendelhető hozzá videolaphoz? Szerintem alapból a 102-es videolaphoz van hozzárendelve a 0-ás editor csatorna.
Lehet több editor csatornát is nyitni? És hozzá lehet rendelni más videolapokhoz is?
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: Általános BASIC Kérdések
« Reply #1478 on: 2020.September.06. 15:53:34 »
Esetleg megérinti a 29. rendszerváltozót VID_EDIT?

---------

Maybe touching System Variable 29 VID_EDIT?

--------

¿Quizás tocando la Variable de Sistema 29 VID_EDIT?

Offline geco

  • EP addict
  • *
  • Posts: 7082
  • Country: hu
    • Támogató Támogató
Re: Általános BASIC Kérdések
« Reply #1479 on: 2020.September.06. 16:03:49 »
szerintem igen, a 29-es rendszervaltozon keresztul, ugy tudom lehet tobb editor csatorna is.
i think yes, it can be done through 29 system variable, and i think more editor channel can be open.

Offline gflorez

  • EP addict
  • *
  • Posts: 3607
  • Country: es
    • Támogató Támogató
Re: Általános BASIC Kérdések
« Reply #1480 on: 2020.September.06. 16:30:58 »

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1481 on: 2020.November.03. 09:37:11 »
Tegnap nálam járt Chuck Norris és játszott a Bomberrel. Demóba felvettem emulátorral, ahogy játszik:
[ Guests cannot view attachments ]
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Tomato77

  • EP user
  • *
  • Posts: 397
  • Country: hu
    • Támogató Támogató
Re: Általános BASIC Kérdések
« Reply #1482 on: 2020.November.04. 13:22:15 »
Ha elromlik Basicben a PING parancs, akkor lehet helyettesíteni:
Code: [Select]
100 ENVELOPE NUMBER 1;0,63,63,1;0,-63,-63,50
110 SOUND PITCH 79.5,ENVELOPE 1,DURATION 50
:D
Kotasoft

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #1483 on: 2020.November.04. 18:49:01 »
Ha elromlik Basicben a PING parancs, akkor lehet helyettesíteni:
Chuck Norris után sose tudni...
Van valami trükk is benne, mert ha SOUND-dal helyettesítjük a PING-et, akkor az nem teljesen ugyanaz, várakozik egy kicsit.

Code: [Select]
10 PROGRAM "3ENVPING.BAS"
100 ENVELOPE NUMBER 1;0,63,63,1;0,-63,-63,50
105 FOR A=1 TO 3
110   SOUND PITCH 79.5,ENVELOPE 1,DURATION 50
120 NEXT

Code: [Select]
10 PROGRAM "3PING.BAS"
105 FOR A=1 TO 3
110   PING
120 NEXT

Az előbbi programnál egyből megjelenik az "ok" üzenet, az utóbbi programnál csak a harmadik pinggel.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Ferro73

  • EP lover
  • *
  • Posts: 967
  • Country: hu
Re: Általános BASIC Kérdések
« Reply #1484 on: 2021.January.16. 20:50:03 »
Mit hibáztam ?
Code: [Select]
  100 TIME "00:00:00"
  110 FOR X=1 TO 3000
  120   DATA 1,2,3,4
  130   READ A,B,C,D
  140 NEXT
  150 PRINT TIME$
  160 END
Code: [Select]
START

*** Out of data in READ/INPUT
130   READ A,B,C,D
print x
2
ok
Az új DATA sor bekellene vinnie  az adatokat a memoriába.