basic.1ppekovic,
BASIC nije zaboravljen uz Spectrume, C64-ke i ostale osmobitnike, naprotiv,
svaki put nas iznenadi svojim mogućnostima kada proizvođači kompajlera i
inerpretera ovog popularnog jezika izbace novu verziju. Svoja iskustva,
probleme, komentare, zapažanja iznesite u ovoj temi.
Paya
basic.3bstevan,
Interesantno, od kada je otvorena u konf. PC.PROG tema
BASIC, još nema ni jedna poruka na tu temu, ajde programeri
na bilo kom basic-u,od mnoštvo koliko ih ima,pišite
izmenjujte iskustva.
Jer znam da ima dobrih programa na basic-u !
---POZDRAV---
---BSTEVAN---
basic.4ppekovic,
>> Interesantno, od kada je otvorena u konf. PC.PROG tema
>> BASIC, još nema ni jedna poruka na tu temu, ajde programeri
>> na bilo kom basic-u,od mnoštvo koliko ih ima,pišite
>> izmenjujte iskustva.
Izgleda svi mi smatramo BASIC za stvar proslosti uglavnom ga
vezujuci za stare 8-bitne masine. Medjutim, koliko pratim stranu
stampu i BBS-ove, o BASIC-u se govori i nadugacko i nasiroko.
Ipak, nikako da pronadjem nesto detaljnije o silnim verzijama
MicroSoft BASIC-a. Te neki Visual Basic, te neki QuickBasic (to je
valjda onaj sto ide uz DOS (?)), te MicroSoft BASIC 7.0 (koji kao
ima neke silne biblioteke za rad sa bazama podataka (?)) itd.
Jel zna neko nesto vise?
Paya
basic.5vkrstonosic,
> valjda onaj sto ide uz DOS (?)), te MicroSoft BASIC 7.0 (koji kao
> ima neke silne biblioteke za rad sa bazama podataka (?)) itd.
MS Basic 7.0 je cak skuplji od MS C-a 6.0. Trebao bi da ima vrlo
ozbiljan rad sa bazama podataka, mnogo brzi od recimo Clipper-a. Da li
je neko video to cudo ?
basic.6bulaja,
│Te neki Visual Basic, te neki QuickBasic (to je valjda onaj sto ide uz
│DOS (?)), te MicroSoft BASIC 7.0 (koji kao ima neke silne biblioteke
│za rad sa bazama podataka (?)) itd.
└───
Da, QuickBasic je onaj sto se standardno izporucuje uz DOS 5. Dosta je
zgodan (mada sam ja davno prestao da se BASICujem ;), i vrlo
Pascaloidan sto mu je najveca prednost. Basic je inace jezik sa
najbolje uradjenom podrskom za rad sa COM portovima (bar je bio zadnji
put kad sam se sa time petljao), pa je dosta COM prg uradjeno upravo u
njemu. Lepo je od Microsofta sto je poceo uz DOS da standardno
isporucuje QB jer se dobijaju i neke igrice uz njega (glupe, al zgodne
da se prekrati vreme, najvise mrzim kad negde naletim na racunar bez
ikakvih igara pa ne znam sta da radim ;).
basic.7max.headroom,
> Da, QuickBasic je onaj sto se standardno izporucuje uz DOS
> 5. Dosta je zgodan (mada sam ja davno prestao da se
> BASICujem ;), i vrlo Pascaloidan sto mu je najveca
> prednost. Basic je inace jezik sa
Naravno, postoji i QuickBASIC V4.5, koji je mnogo bolja
varijanta onog prvog. Ima oko 50-ak novih komandi,
bolji rad sa matricama, brzi kompajler i - sto je
najvaznije, pravi izvrsne (.EXE) datoteke od tvog
.BAS programa.
Mada, gledajuci HELP od QuickBASIC-a, mislim
da je ihahaaa zeznuo one kod TurboPASCAL-a... Mislim
na sam nacin na koji se dolazi do help-a.
E, to da li je Pascaloidan i da li mu je to prednost,
pitanje je ukusa. Malo je struktuiraniji nego obicni
basic-i, naravno. Dati su cak i neki primeri objektnog
(u povoju) programiranja u Qbasic-u 4.5
basic.8dejanr,
>> E, to da li je Pascaloidan i da li mu je to prednost,
>> pitanje je ukusa.
Jedina prava nevolja sa QB 4.5 je što je (morao biti)
kompatibilan sa svim ranijim (počev od 4K level 1 basic-a)
pa se ista stvar radi na 3-4 načina. Recimo, promenljivu
možeš proglasiti celobrojnom sa 3 razne naredbe. To ga je
učinilo glomaznim, i ne znam koliko je jasan početnicima,
što je valjda i smisao bejzika.
basic.9dnikolic,
>> Mada, gledajuci HELP od QuickBASIC-a, mislim
>> da je ihahaaa zeznuo one kod TurboPASCAL-a... Mislim
>> na sam nacin na koji se dolazi do help-a.
Ako koristis QB samo HELP ti i treba. TP je jasan sam po sebi. :))
basic.10bearboy,
> isporucuje QB jer se dobijaju i neke igrice uz njega
> (glupe, al zgodne da se prekrati vreme, najvise mrzim kad
> negde naletim na racunar bez ikakvih igara pa ne znam sta
> da radim ;).
Resenje : UVEK nosi disketu-dve u dzepu punih sigricama
basic.11ndragan,
/ najvise mrzim kad negde naletim na racunar bez ikakvih igara
ja puštam kompres. lepo izgleda, nije na odmet, dobijam vremena da razmislim,
a mušterije misle da nešto radim. ali kad kod kuće pustim kompres, deca misle
da se igram.
Bue_ NDragan
basic.12max.headroom,
> Jedina prava nevolja sa QB 4.5 je sto je (morao biti)
> kompatibilan sa svim ranijim (pocev od 4K level 1 basic-a)
Da, zanimljiva je _primetna_ nekompatibilnost QB-a V4.5 sa
QB-om koji se dobija uz DOS 5.00. Bas stupidno.
> mozes proglasiti celobrojnom sa 3 razne naredbe. To ga je
> ucinilo glomaznim, i ne znam koliko je jasan pocetnicima,
> sto je valjda i smisao bejzika.
Pa, pocetnicima low-level, visim korisnicima nesto visi, itd...
Ali, da je glomazan - i nije (bas preterano :) Pogledaj, npr.
neku noviju igru (posto govorimo o pocetnicima), pa svaka ima
preko 10 MB.
basic.13zocha,
> Naravno, postoji i QuickBASIC V4.5, koji je mnogo bolja
> varijanta onog prvog. Ima oko 50-ak novih komandi,
> bolji rad sa matricama, brzi kompajler i - sto je
> najvaznije, pravi izvrsne (.EXE) datoteke od tvog
> .BAS programa.
QuickBASIC 4.5 se pojavio jos pre par godina, cak postoji i nekoliko
clanaka u racunarima o njemu. Inace, ja sam se jedno godinu dana intenzivno
bavio programiranjem u doticnom, i ako nekoga interesuje, mogu da ispricam
iskustva vezana za isto (programiranje). Za pocetak, nekoliko opaski:
1. Korisnicki interfejs IDE-a mi se jako dopada. Preglednost,
i funkcionalnost pristupu modulima i procedurama u njima, daleko
prevazilazi cak i najnovije verzije programskih jezika kao sto su
MSC 6.0, BORLAND-ovi proizvodi...itd.
2. Omoguceno je pravljenje, kako izvrsnih datoteka (.EXE), tako i run-time
verzija (ovo bas i nije neka prednost, ali eto). Takodje je moguce
praviti i sopstvene biblioteke funkcija i procedura (QuickBASIC jasno
razdvaja ova dva pojma).
3. Na zalost, kao (uglavnom) i sve varijacije na temu BASIC, i QuickBasic
je prilicno spor. Doduse, kada se program pise, u fazi testiranja, ne
mora da se kompajlira vec ce on bez problema da radi i kao interpreter,
a tek kada vas zadovolji verzija programa koji pisete, onda moze da se
kompajlira (kompajlirana verzija programa je oko 30% brza).
4. Vreme kompilacije je kao i uvek, vrlo diskutabilno, i zavisno od brojnih
faktora. Kod QuickBASIC-a je to, po mom misljenju i najslabija tacka, jer
ne postoji nikakva optimizacija. Na mom NEAT AT 16MHz kompilacija programa
ciji je source, recimo, 100k, traje oko 40 s, linkovanje jos oko 30 s, pa
vi vidite. Srecom, nije potrebno, kako sam vec rekao da se program stalno
kompajlira, moze da se testira i u interpreterskom rezima rada.
5. Direktna posledica prethodne opaske je problem u velicini programa koji
zelite da pisete. Posto je sam QB45 oko 240k, ostaje vam u najboljem
slucaju oko 400k slobodne memorije za program. Ako sledite koncept C-a
i koristite HEADER file-ove, moze da se ustedi nesto malo. Jos vise moze
da se ustedi koristeci koncept dinamicke alokacije memorije (da, da, to
ima i QB45).
Medjutim, i dalje ostaje problem raspolozive memorije. Znam, neki
ce reci: "pa kada ces napisati program od 400k?". Mozda i nikada. Ali je
cinjenica da je QB45 veliki rasipnik (sto je jasno i iz samog koncepta
BASIC-a - nema nuzne deklaracije promenljivih), sto mu ja stavljam na prvo
mesto u spisku mana. Jos kada se uzme u obzir i nemogucnost pravljenja
overlay file-ova......
6. Na kraju ove poruke, i par pohvala. Programiranje u QB45 je izuzetno
lako, jednostavno i brzo. Ugradjeni debuger omogucava sve sto vam ikada
moze zatrebati. Rad sa datotekama je veoma unapredjen......
Mrzi me da hvalim. Jednostavno, preporucujem QB45 NAROCITO pocetnicima,
kao i svima koji zele da brzo, i efikasno napisu program (aplikaciju)
do 200k .EXE!
- zocha@rista -
basic.14vkrstonosic,
> 2. Omoguceno je pravljenje, kako izvrsnih datoteka (.EXE), tako i
> run-time verzija (ovo bas i nije neka prednost, ali eto). Takodje je
> moguce
Ovo moze da bude solidna prednost, jer ako imas mnogo malih
programa, recimo za neke proracune (to sam imao prilike da vidim na
TMF-u, 50-ak programa za razna racunanja u QB-u), mozes da ustedis
20-30 K po programu.
basic.15max.headroom,
> 4. Vreme kompilacije je kao i uvek, vrlo diskutabilno, i
> zavisno od brojnih faktora. Kod QuickBASIC-a je to, po mom
> misljenju i najslabija tacka, jer ne postoji nikakva
> optimizacija. Na mom NEAT AT 16MHz kompilacija programa
> ciji je source, recimo, 100k, traje oko 40 s, linkovanje
> jos oko 30 s, pa vi vidite. Srecom, nije potrebno, kako
> sam vec rekao da se program stalno kompajlira, moze da se
> testira i u interpreterskom rezima rada.
Da, a uz to pravi .EXE fajlove duzine miniminiminimum 30KB...
Sta toliko linkuje? :)
Salim se, sve pohvale QB-u. Ima li neka novija verzija?
Nesto sto racionalnije trosi memoriju i vreme?
basic.16predrag,
Pa ljudi,jel neko rado sa najbrzim basicom
nastavkom turbo basic 1.2 a to je POWER BASIC 2.0
basic.17skoprivica,
Stvarno bih voleo da vidim QB noviju verziju.
Pa jos u 4.5 (ja jos, a to kolko znam poslednja verzija) je
kod nekih komandi (ne znam tacno) stavljeno da komanda jos
ne postoji, ali da je stavljena zbog kompatibilnosti sa
BUDUCIM verzijama (kojih nikako nema).
Ajd' pa zdravo.... CTEBO.
PS: Mogu li , Predraze, da 'vidim' taj Power Basic 2.0 ?
basic.18djelovic,
> Pa ljudi,jel neko rado sa najbrzim basicom
> nastavkom turbo basic 1.2 a to je POWER BASIC 2.0
Daleko od toga da je najbrzi! Cak je sporiji od Turbo
Basic-a, ali zato nudi masu jezickih prosirenja, tj. lakocu
programiranja. Inace, za bilo kog profica koji hoce da radi na
BASIC-i jedini izbor je MS Basic Prof. 7.0.
basic.19ppekovic,
>> Inace, za bilo kog profica koji hoce da radi na
>> BASIC-i jedini izbor je MS Basic Prof. 7.0.
Pa jel video neko taj MSB Prof. 7.0? Cuo sam mnogo hvale o njemu, ali kad
pitam, jel video to neko i zbog cega ga toliko hvale, niko nema pojma. :)))
Paya
basic.20skoprivica,
>->>> Inace, za bilo kog profica koji hoce da radi na
>->>> BASIC-i jedini izbor je MS Basic Prof. 7.0.
>->
>-> Pa jel video neko taj MSB Prof. 7.0? Cuo sam mnogo hvale o njemu,
>-> ali kad pitam, jel video to neko i zbog cega ga toliko hvale, niko
>-> nema pojma. :)))
>->
>-> Paya
Da, u cemu je njegova prednost? A znam da postoji i 7.1 sto
bi znacilo da ima bugova u 7.0.
Ajd' pa zdravo... CTEBO.
basic.22max.headroom,
> Pa ljudi,jel neko rado sa najbrzim basicom
> nastavkom turbo basic 1.2 a to je POWER BASIC 2.0
Ima ga na NEW JACK CITY BBS-u, samo sto kao protivvrednost
moras da ostavis neki slicno noviji program ili neki
stariji ali registrovan. BTW, to je piratski BBS, zato
bez iznenadjenja :)
basic.23miro,
■■> Jedina prava nevolja sa QB 4.5 je sto je (morao biti)
■■> kompatibilan sa svim ranijim (pocev od 4K level 1
■■> basic-a)
E, ovo me i zanima.
Skinuo sam sa UEK::RCU:[PCSOFT...] ORIGAMI.ARC. To je nekih desetak
programa u BASIC-u (nekom). Pokusao sam to da procitam sa QB iz MSDOS.
Uspio nisam, a posto nemam bas previse vremena, nisam se ni trudio
mnogo.
Je li ko probao ?
Dragisa (Bosnia Man)
basic.24miro,
■■> Ako koristis QB samo HELP ti i treba. TP je jasan sam po
■■> sebi. :))
Duhovito, ali ne bas argumentovano. QuickHelp je NAJBOLJI help
jezik i interfejs koji sam sreo u zadnjih nekoliko godina koliko
se zanimam tom vrstom softvera. Zaista je vrhunski.
A sto se tice QB, stvarno je sasvim ok. Strukturiran do maksimuma,
pascaloidan gdje god je moguce, odlicna okolina...
Steta sto ne programiram u BASICu vec osam godina :)
Dragisa (Bosnia Man)
basic.25faruk,
> Dragisa (Bosnia Man)
Što se ne javiš?
Pozdrav, Faruk.
basic.26bstevan,
>>i ne znam koliko je jasan početnicima
>>što je valjda i smisao bejzika.
Smatram da se sa pojavom QB 4.5, taj smisao bejzika,
za brzim učenjem i savladjivanjem nije izgubio.
Naprotiv zgodan je kako su to i još neki korisnici
istog izneli u ovoj konferenciji, za pisnje kracih programa
odnosno aplikacija (pa i rad sa bazama).
---POZDRAV---
---BSTEVAN---
basic.27bstevan,
Vidiš Paya, diskusija u ovoj temi se polako razvija.
Mora da smo malo zaboravili na neke dobre verzije BASIC-a, za
16-bitne mašine, a ko zna možda i za 32-bitne.
basic.28ppekovic,
>> Vidis Paya, diskusija u ovoj temi se polako razvija.
>>Mora da smo malo zaboravili na neke dobre verzije BASIC-a, za
>>16-bitne masine, a ko zna mozda i za 32-bitne.
Drago mi je sto se diskusija razvija, a sto se tice 16-bitnih BASIC-a, ja
pitah za MS BASIC 7.0, ali niko nezna nista o njemu. Dakle, pitanje o MS
BASIC-u i dalje stoji otvoreno.
Paya
basic.29skoprivica,
Kako da napravim LIB ? Tj. ja ga napravim ali posle nista, tj.
ne umem da pozovem, cini mi se greska u kompajliranju...pogledacu
Ajde pomagajte.
Aje... CTEBO.
PS: Jel' neko primetio da ovde poruke pristizu oko 20 u mesecu
a oko 30 prestaju?
basic.30max.headroom,
> Drago mi je sto se diskusija razvija, a sto se tice
> 16-bitnih BASIC-a, ja pitah za MS BASIC 7.0, ali niko
> nezna nista o njemu. Dakle, pitanje o MS BASIC-u i dalje
> stoji otvoreno.
Pitaj vcosic-a. On je SysOp "New Jack City" BBSa, tj. piratskog
BBSa koji ima nekoliko desetina MB programcica. Pitaj ga za MS
Basic i ubaci ovde odgovor, ako je za javnost...
------------------------
*** TRAZI SE **** :)
Hej, ko mi je onomad replicirao na poruke u ovoj temi, a
cuo sam se sa njim u klubu u vezi PowerBasic-a, tj. daj
mi samo svoj username, jer mi i pored sve volje ne pada
na pamet =B) Javi se na mail, please.
basic.31carlo,
> Pitaj vcosic-a. On je SysOp "New Jack City" BBSa, tj.
> piratskog BBSa koji ima nekoliko desetina MB programcica.
> Pitaj ga za MS Basic i ubaci ovde odgovor, ako je za
> javnost...
Nije vcosic SysOp 'New Jack-a' nego Predrag Todic!
basic.32ssokorac,
-=)> Nije vcosic SysOp 'New Jack-a' nego Predrag Todic!
E, pa više nije niko... Ne radi. Otišo Predrag iz BG-a...:(
basic.33ndragan,
/ Naprotiv zgodan je kako su to i još neki korisnici
kod jedne mušterije imamo operatera koji u QB piskara neke sitnije rutine -
štampa neke tamo formulare itd. pokazali smo mu desetak trikova (uglavnom oko
iskejp sekvenci) a za dalje se snašao sam. ne zna baš nešto ingliš, ali se sa
helpom lepo snalazi. još uvek je bejzik odličan za nedoučene - mogu mnogo
sami da nauče a da nas ne vuku za rukav.
Bue_ NDragan
basic.34ndragan,
/ PS: Jel' neko primetio da ovde poruke pristizu oko 20 u mesecu
/ a oko 30 prestaju?
jezik sirotinje, pa to ti je. čim poraste datum, setimo se...
basic.35bstevan,
>>mogu mnogo sami da nauče a da nas ne vuku za rukav.<<
Pa primecujem da mnogi izbegavaju ovu temu,
a mnogi su poceli od BASIC-a.Tako da ne rzumem šta fali BASIC-u,
pa još za PC.Ko zna možda BASIC bude i jezik buducnosti.
Licno mislim da mu za to malo fali,
odnosno da se oslobodi toga da se lako uci,brzo shvata i eto
buduceg basica i kao standarda za pisanje ozbiljnijih aplikacija.
Ovo izvodim iz toga jer QB 4.5 fali baš to
i bio bi standard kao i neki ozbiljniji jezik.
No' videcemo što nas ceka !
---POZDRAV---
---BSTEVAN---
basic.36max.headroom,
> Pa primecujem da mnogi izbegavaju ovu temu,
> a mnogi su poceli od BASIC-a.Tako da ne rzumem sta fali
> BASIC-u, pa jos za PC.Ko zna mozda BASIC bude i jezik
> buducnosti.
To je ono nepisano pravilo, koje jeste debilasto, ali
u ovoj situaciji na zalost, vazi:
"Napravi jezik koji ce i budala moci da koristi,
pa ce ga budala samo i koristiti"
Nisam nikoga hteo ovime da uvredim, (sorry - samo citat),
ali zelim da kazem da je ljudima mnoogo 'lakse' muciti se
pod UNIX-om i programirati u C-u, nego sesti i napisati
eventualno novi multi-program DOS i PowerBasic V10.00...
Steta.
basic.37max.headroom,
Eh, kako da napisem program u PowerBasic-u koji radi sledece:
- Ucitava u registar odgovarajuce vrednosti
- Izvrsi odgovarajuci INT koji vraca sistemski datum
- Ispisuje taj datum?
Evo reg. koje treba postaviti i INT-a?
To je DOS-Function, INT 2Ah, stavis 2Ah u AX.
Zatim citas:
iz AL - dan u nedelji (0-6) 0=nedelja
iz CX - godinu (npr. 1992)
iz DH - mesec (npr. 12)
iz DL - dan (npr. 21)
Please, pomozite. Nece da mi radi ona REG i CALL INTERRUPT naredba :)
Kao ni $INCLUDE "REGNAMES.INC"...
Ima li sugestija, ili ako nekoga ne mrzi, da napise program?
basic.38max.headroom,
Ljudi, help - nece da mi radi! (izdaje poruku Statement Expected, i to
u 5.-oj liniji programa, tamo kod definisanje varijable)
Inace, program je radjen u PowerBasic-u i trebao bi da razlaze string
koji se unese iz DOS-komandne linije (COMMAND$) na podstringove koji
u stvari predstavljaju odvojene naredbe (inace, odvojene su blankovima).
Evo tog programa (iliti SUB procedure):
DEFINT A-Z
SUB Comline (NumArgs,Args$(),MaxArgs) STATIC
CONST TRUE = -1, FALSE = 0
NumArgs = 0 : In = FALSE
Cl$=COMMAND$
L=LEN(Cl$)
FOR I=1 TO L
C$=MID$(Cl$,I,1)
IF (C$ <> " " AND C$ <> CHR$(9)) THEN
IF NOT In THEN
IF NumArgs = MaxArgs THEN EXIT FOR
NumArgs = NumArgs + 1
In = TRUE
END IF
Args$(NumArgs) = Args$(NumArgs) + C$
ELSE
In = FALSE
END IF
NEXT I
END SUB
Eto, to je to.....
A kako se to koristi iz samog programa? Evo odgovora:
Pocetak programa:
DEFINT A-Z
DECLARE SUB Comline (n,A$(),Max)
DIM A$ (1 TO 5)
CALL Comline (n,A$(),5) (br.arg, koja.komanda, max.br.args)
.......
Pocetak pravog koda:
.........
IF A$(1) = "HELP" THEN GOTO HELP
IF A$(2) = "END" THEN STOP
..... ..... ....
.... ... .
Bhuuhuuuu!! Pomozite, ovo je veoma bitno, pa kako da napravim i
najmanji DOOR program bez ovoga, ili bilo sta sto se poziva iz
(tj. sa parametrima) komandne linije...
basic.39ppekovic,
>>NumArgs = 0 : In = FALSE
Hm, ako je u ovoj liniji greska, mislim da je zbog toga sto bi "In" trebala
biti rezervisana rec. Promeni ime promenljive pa javi rezultate.
Paya
basic.40skoprivica,
>-> NumArgs = 0 : In = FALSE
E kako se nisi setio, pa In je rezervisana rec u nekim naredbvama...
Promeni naziv (nemoj out)...
Aje... CTEBO.
PS:
>-> IF A$(1) = "HELP" THEN GOTO HELP
>-> IF A$(2) = "END" THEN STOP
Sram te bilo sto koristis goto, ajde daj nam taj program da vidimo
kako radi (exe, ne source...).
basic.41dgavrilovic,
>> ...(izdaje poruku Statement Expected, i to
>> ...
>> SUB Comline (NumArgs,Args$(),MaxArgs) STATIC
>> Cl$=COMMAND$
>> END SUB
>> ...
>> DEFINT A-Z
>> DECLARE SUB Comline (n,A$(),Max)
>> DIM A$ (1 TO 5)
>> CALL Comline (n,A$(),5) (br.arg, koja.komanda, max.br.args)
Na žalost nisam koristio Power Basic tako da je sve ovo samo nagađanje.
Sama poruka Statement Expected govori da stringu Cl$ ništa ne dodeljuješ. Jesi
li siguran da ti je taj COMMAND$ globalan ili je možda potrebno da ga proslediš
u Comline kao još jedan argument? Ja bih za svaki slučaj stavio ispred ključne
naredbe jedno: PRINT COMMAND$ tek da vidim gde će da pukne.
I zašto bre ne nazubljuješ programe? Mnogo je čitljivije.
basic.42cacxa,
> Bhuuhuuuu!! Pomozite, ovo je veoma bitno, pa kako da
> napravim i najmanji DOOR program bez ovoga, ili bilo sta
> sto se poziva iz (tj. sa parametrima) komandne linije...
Pa probaj u Pascalu ili C-u.Imaš proste i jednostavne funkcije koje ti em
daju broj parametara em sve te parametre (odvojene).
basic.43max.headroom,
Eh, ja uradih kako je receno (preimenovao sam IN u KLIK :), ali mi
program sada javlja sledecu gresku: "Parameter mismatch" na liniji
DECLARE SUB Comline (n,A$(),5) u programu, ne SUB-proceduri. Ja sam,
sledeci help, izbrisao tu liniju, pa mi je onda javljao gresku kod
linije DIM A$(1 TO 5) gde sam prepravio u DIM A$(10,5) sto ostavlja
10 mesta za jedan parametar, i tako 5 puta (MaxArgs=5), ali...
izdaje mi gresku u stilu "Expected comma (,)" na prvoj sledecoj
naredbi posle CALL-a. Ja poludeo :) Zasto zarez? Jaooo...
basic.44max.headroom,
Eh, moze li neko da pokusa da uradi ovaj programicc u PB-u, i
da javi rezultate ako uspe da se izbori sa 'cudovistem'?
basic.45max.headroom,
> Pa probaj u Pascalu ili C-u.Imas proste i jednostavne
> funkcije koje ti em daju broj parametara em sve te
> parametre (odvojene).
I lele, i kuku, i riku :) Pa zar ovako nije lepse:
em naucis tokenizaciju (jel to bese? ), em sve
bude gotovo za 10-ak sec, em je i EXE verzija relativno
kratka...
basic.46vbole,
> Eh, ja uradih kako je receno (preimenovao sam IN u KLIK
> :), ali mi program sada javlja sledecu gresku: "Parameter
> mismatch" na liniji DECLARE SUB Comline (n,A$(),5) u
> programu, ne SUB-proceduri. Ja sam,
Pa probaj da uklonis ona dve linije sa
DEFINT A-Z
trebalo bi da proradi (Uostalom - pitanje za konferenciju -
zasto to i stavljas; mislim ustede su minimalne ?).
bye... vbole
basic.47cacxa,
> I lele, i kuku, i riku :) Pa zar ovako nije lepse:
> em naucis tokenizaciju (jel to bese? ), em sve
> bude gotovo za 10-ak sec, em je i EXE verzija relativno
> kratka...
Pa vidim :
Učiš, učiš...
10 sekundi za pisanje i par dana za debugiranje...
Posle svega toga pređeš na C i za*ebes par bajtova...
;)))))))
basic.48zuckero,
> Eh, moze li neko da pokusa da uradi ovaj programicc u
> PB-u, i da javi rezultate ako uspe da se izbori sa
> 'cudovistem'?
Koji programcic? Posalji mi pa da vidimo.
Pozdrav Sladjan
basic.49max.headroom,
> DEFINT A-Z
A zasto? Pa time lepo DEFinisem INTeger promenljive
koje kasnije koristim, bez da razmisljam kakve su i
cemu mi sluze. Nije to izvor problema...
basic.50max.headroom,
> Koji programcic? Posalji mi pa da vidimo.
Eto, ako te ne mrzi (jer sam ga vec slao) da procitas dve-tri
prethodne poruke u kojima sam detaljno objasnio problem, a sam problem
je u sledecem: napraviti SUB-proceduru koja ce da razdvaja parametre
unete iz DOS-a, komandom COMMAND$, mislim - procitaj ranije textice da
ne bih ponavljao poruke.
basic.51skoprivica,
Verujem da negde na disku imas QB 4.5, i primere dobijene
uz njega. E pa u jednom od tih primera je prg. koji razdvaja
string na podstringove a znakove za razdvajanje su '!','/',' '....
Amozes i sam da definises...Mislim da ti to resava problem.
Aje... CTEVO.
Ps: A da probas da pozivas Function koja ce ti vracati samo
jedan deo stringa i originalni skrati za taj str? I u petlji dok
ima jos sta od str. dodeljujes to nekom nizu....
basic.52skoprivica,
ovo je bilo on-line pa su greske u padezima ocevidne, tj.
pomislih jedno pa promenih recenicu i tako vise puta....
basic.53vbole,
> Eh, ja uradih kako je receno (preimenovao sam IN u KLIK
> :), ali mi program sada javlja sledecu gresku: "Parameter
> mismatch" na liniji DECLARE SUB Comline (n,A$(),5) u
> programu, ne SUB-proceduri. Ja sam, sledeci help, izbrisao
> tu liniju, pa mi je onda javljao gresku kod linije DIM
> A$(1 TO 5) gde sam prepravio u DIM A$(10,5) sto ostavlja
> 10 mesta za jedan parametar, i tako 5 puta (MaxArgs=5),
> ali... izdaje mi gresku u stilu "Expected comma (,)" na
> prvoj sledecoj naredbi posle CALL-a. Ja poludeo :) Zasto
> zarez? Jaooo...
Ako si DIM A$(5) prepravio u DIM A$(10,5), a nisi prepravio one
IF A$(n) = "STOP" THEN GOTO STOP itd. u
IF a$(n,n) = "STOP" THEN ...
onda je mozda to to.
Sto se tice onih DEFINT A-Z linija, ja sam hteo da kazem da ako
u SUB-u pises SUB (NumArg,A$(),MaxArg) STATIC, a deklarises sa:
DECLARE SUB (n, A$(),MaxArg) to nikako nije ista vrsta brojeva,
jer si n deklarisao kao INTEGER, a NumArg je po DEFAULTU verovatno
SINGLE, pa ti se tipovi ne slazu.
Mozda i nije to, ali ipak... probaj.
bye... vbole
basic.54max.headroom,
> Ako si DIM A$(5) prepravio u DIM A$(10,5), a nisi
> prepravio one IF A$(n) = "STOP" THEN GOTO STOP itd. u
> IF a$(n,n) = "STOP" THEN ...
> onda je mozda to to.
Ah, pa ne bih prevideo nesto tako ocigledno. Ne, i to sam
prepravio, ali ovo cudo nece da radi - pa Bog...
Nervira me zato sto ista stvar HOCE da radi u Quick Basic-u
verzija 4.5, a ovde izdaje mooore greski.
> DECLARE SUB (n, A$(),MaxArg) to nikako nije ista vrsta
Hmmh, izgleda da to DECLARE SUB uopste ovde i nece biti
potrebno, jer, koliko onaj sturi help govori, ako se
uradi INCLUDE programa u kome je definisanje sa SUB,
to deklarisanje uopste nije potrebno (?)
basic.55max.headroom,
> Verujem da negde na disku imas QB 4.5, i primere dobijene
Da, odlicna ideja! Hvala, pogledacu ga, nadam se da nece
da postavi hiljadu neresivih zackoljica promena jezika :)
> Ps: A da probas da pozivas Function koja ce ti vracati
> samo jedan deo stringa i originalni skrati za taj str? I u
> petlji dok ima jos sta od str. dodeljujes to nekom
> nizu....
I to je jedna od mogucnosti... Pogledacu sta mogu da uradim.
Hvala jos jednom.
basic.56skoprivica,
>-> Nervira me zato sto ista stvar HOCE da radi u Quick Basic-u
>-> verzija 4.5, a ovde izdaje mooore greski.
Resenje se samo po sebi namece....
Navedi mi please par razloga ZA PowerBasic....Koja je to ver?
Probaj ono sa function, mislim da je najbolje/lepse...
Aje... CTEBO.
basic.57max.headroom,
> Navedi mi please par razloga ZA PowerBasic....Koja je to
> ver?
Da, zista, nikada se nisam zapitao... U cemu je prednost?
basic.58skoprivica,
>-> Da, zista, nikada se nisam zapitao... U cemu je prednost?
Jel' ti to mene bitas u cemu je prednost PB ? Pa ja ga nemam.
Aje... CTEBO.
basic.59skoprivica,
Na koji stos ovo radi u GWBASICu:
10 DEF SEG = 0
20 MSEG = 256 * PEEK(51 * 4 + 3) + PEEK(51 * 4 + 2)
30 MOUSE = 256 * PEEK(51 * 4 + 1) + PEEK(51 * 4) + 2
40 DEF SEG = MSEG
50 M1% = 0
>>>>> 60 CALL MOUSE(M1%, M2%, M3%, M4%)
70 IF NOT M1% THEN PRINT "Mis nije instaliran"
a u QB lepo kaze da je to nedefinisana procedura. Prg. detektuje postojanje
mouse drajvera....Program je prepisan iz knjizice dobijene uz misa (GM-6).
Aje... CTEBO.
basic.60gww.,
:: 10 DEF SEG = 0
:: 20 MSEG = 256 * PEEK(51 * 4 + 3) + PEEK(51 * 4 + 2)
:: 30 MOUSE = 256 * PEEK(51 * 4 + 1) + PEEK(51 * 4) + 2
:: 40 DEF SEG = MSEG
:: 50 M1% = 0
::
::>>>>> 60 CALL MOUSE(M1%, M2%, M3%, M4%)
::
:: 70 IF NOT M1% THEN PRINT "Mis nije instaliran"
možda fali DEF OFS = MOUSE, ah ne drži me za reč nikad nisam pisao u PC
Basicima nego po logici linije 20 i 30 kupe adresu vektora mouse drivera,
ako je definicija segmenta MSEG onda i ofset mora da bude jasan, ali
stvarno nemam pojma kako radi CALL funkcija i šta vraća. A možda može da
pomogne da je MOUSE integer dakle MOUSE% = ...... . M1%=0 je verovatno
function 0 (Read mouse status). Uz GMOUSE pacova dobijaš obično na jednoj
disketi i mali reference funkcija mouse drivera, to je standard pa se može
koristiti i sa Microsoft mouse.
basic.62alexa,
> Na koji stos ovo radi u GWBASICu:
Pa, čitaj priručnik:
CALL numvar(variables)
numvar is the starting point in memory of the subroutine being called
as an offset into the current segment.
Ovo liči na USR komandu na nekim kućnim računarima, ili u samom
GW-BASIC-u, samo što ovde može da se zada više argumenata.
Naravno da na modernijim BASIC-ima naredba CALL ima 'normalnije'
značenje.
basic.63vili,
Nedavno sam dosao do fajla sa extenzijom BAS. Medjutim
taj *.BAS je program koji je neko radio u GWBASIC-u i
sacuvao ga sa nekom opcijom koja sifruje source (nisam
nikad radio u GWBASIC-u pa ne znam koja je to opcija, ali
sam saznao da postoji). Da li postoji nacin da ja taj
fajl prevedem u normalan *.BAS pa da ga ubacim u QBASIC
gde bih mogao da ga dalje tretiram?
vili
basic.64nkbog,
MOUSE je potprogram u ASM ili C-u koji moraš sam da napišeš (ili da ti to
neko drugi uradi), a koji samo poziva int 33h prosleđujući mu 4 parametra
u AX, BX, CX, DX registrima.
NB.
basic.65vbole,
> 10 DEF SEG = 0
> 20 MSEG = 256 * PEEK(51 * 4 + 3) + PEEK(51 * 4 + 2)
> 30 MOUSE = 256 * PEEK(51 * 4 + 1) + PEEK(51 * 4) + 2
> 40 DEF SEG = MSEG
> 50 M1% = 0
>
>>>>>> 60 CALL MOUSE(M1%, M2%, M3%, M4%)
>
> 70 IF NOT M1% THEN PRINT "Mis nije instaliran"
>
> a u QB lepo kaze da je to nedefinisana procedura. Prg.
> detektuje postojanje
Pa probaj sa CALL ABSOLUTE, al' deklarisi MOUSE kao INTEGER
i prvo pogledaj u HELP, lepo je objasnjeno.
bye... vbole
basic.66skoprivica,
>-> CALL numvar(variables)
>-> numvar is the starting point in memory of the subroutine being
>-> called as an offset into the current segment.
Ok. Ukapirao samo ovo.
E kako da ja 'prebacim' ovaj prg. u QB.
Aje... CTEBO.
basic.67bojanp,
> Nedavno sam dosao do fajla sa extenzijom BAS. Medjutim
> taj *.BAS je program koji je neko radio u GWBASIC-u i
> sacuvao ga sa nekom opcijom koja sifruje source (nisam
> nikad radio u GWBASIC-u pa ne znam koja je to opcija, ali
> sam saznao da postoji). Da li postoji nacin da ja taj
> fajl prevedem u normalan *.BAS pa da ga ubacim u QBASIC
> gde bih mogao da ga dalje tretiram?
Nije u pitanju šifrovani source, nego token-izovani zapis source code-a.
Način je vrlo jednostavan, ali ti je potreban GWBASIC. Startuješ GWBASIC,
učitaš dotični program i onda ga sačuvaš kao ASCII. Posle toga imaš source
code u čistom ASCII obliku.
Pozdrav, Bojan
basic.68feniks,
│ Nije u pitanju sifrovani source, nego token-izovani zapis source code-a.
│ Nacin je vrlo jednostavan, ali ti je potreban GWBASIC. Startujes GWBASIC,
│ ucitas doticni program i onda ga sacuvas kao ASCII. Posle toga imas source
│ code u cistom ASCII obliku.
└────
Nazalost, nisi (bar potpuno) u pravu, da budem jasniji u
GWBASIC-u postoje 3 nacina da se source listing sacuva:
1. SAVE filename <-- u "masinskom" formatu, tvoj slucaj
2. SAVE filename,P <-- Vili-jev slucaj ( nemoguc listing )
3. SAVE filename,A <-- moguc prelaz u Qbasic ili bilo koji editor
Í─Ě Í─Ě
║ ║ ║
Ë─Ż đ đ
basic.69vili,
> 2. SAVE filename,P <-- Vili-jev slucaj ( nemoguc
> listing )
E, to je to! Sta da radim?
vili
basic.70bojanp,
> Nazalost, nisi (bar potpuno) u pravu, da budem jasniji u
> GWBASIC-u postoje 3 nacina da se source listing sacuva:
>
> 1. SAVE filename <-- u "masinskom" formatu, tvoj slucaj
> 2. SAVE filename,P <-- Vili-jev slucaj ( nemoguc listing )
> 3. SAVE filename,A <-- moguc prelaz u Qbasic ili bilo koji editor
Izvinajvam se zbog nepotpunog obaveštenja, ali u GWBASIC-u nikada nisam radio
i napisao sam ono što sam znao. Za mogućnost pod brojem dva nisam znao.
Pozdrav, Bojan
basic.71skoprivica,
>-> MOUSE je potprogram u ASM ili C-u koji moras sam da napises (ili
>-> da ti to neko drugi uradi), a koji samo poziva int 33h
>-> prosledujuci mu 4 parametra u AX, BX, CX, DX registrima.
Hvala, pisu u knjizici paralelno prg. i ASM i BAS. pri cemu
BAS kao radi (ustvari radi stvarno ali u GWBASICU, ajd neka
mi se objasni zassto to radi uopste...), a pisanje bih
rado izbegao ako moze, a ne volim da stavljam u neki svoj
prg. delove koje je neko drugi napisao...(ideja moze...).
Aje... CTEBO.
basic.72skoprivica,
>-> Nacin je vrlo jednostavan, ali ti je potreban GWBASIC. Startujes
>-> GWBASIC, ucitas doticni program i onda ga sacuvas kao ASCII. Posle
>-> toga imas source code u cistom ASCII obliku.
Dobar stos, mislis da ce stvarno da uspe ? NECE !!!
Aje... CTEBO.
basic.73jpavlov,
... > 2. SAVE filename,P <-- Vili-jev slucaj ( nemoguc
... > listing )
... E, to je to! Sta da radim?
Ne znam kakav je slučaj sa GW. Ali znam da se tako nešto može povratiti
jer mi se tako nešto dogodilo kad sam imao Amstrada 6128. Tamo je postojao
jedan program koji se zvao Disclogy koji je u stvari bio neki alat za rad sa
fajlovima. On je bez po muke to rešio. čao mi je što ne znam za GW, ali sam
siguran da ćeš već pronaći neko slično rešenje.
basic.74skoprivica,
>-> Pa probaj sa CALL ABSOLUTE, al' deklarisi MOUSE kao INTEGER
>-> i prvo pogledaj u HELP, lepo je objasnjeno.
Vrlo simpaticno. Samo sto CALL absolute(...), on napise ovako,
tj. ne napise velikim slovima absolute, i jos tvrdi da je to
nepostojeca procedura. A absolute je dobro napisano, radi help
kad stanem na njega i F1. Ali ni primer za CALL ABSOLUTE ne
radi :))))), tj prijavljuje istu gresku. Ajd' sad pomagajte...
Aje... CTEBO.
basic.75bearboy,
-+={ Na koji stos ovo radi u GWBASICu:
-+={ a u QB lepo kaze da je to nedefinisana procedura. Prg.
-+={ detektuje postojanje
QuickBasic koristi naredbu za pozivanje procedura. GWVASIC za procedure cuo
nikad nije, i kod njega se CALL koristi za pozivanje programa u memoriji.
basic.76vbole,
>> -> Pa probaj sa CALL ABSOLUTE, al' deklarisi MOUSE kao
>> INTEGER -> i prvo pogledaj u HELP, lepo je objasnjeno.
>
> Vrlo simpaticno. Samo sto CALL absolute(...), on napise
> ovako, tj. ne napise velikim slovima absolute, i jos tvrdi
> da je to nepostojeca procedura. A absolute je dobro
> napisano, radi help kad stanem na njega i F1. Ali ni
> primer za CALL ABSOLUTE ne radi :))))), tj prijavljuje
> istu gresku. Ajd' sad pomagajte...
Kuku CTEBO, pa sto ne pogleda dobro u HELP ili makar u
objasnjenja; QB nema sve procedure definisane, nego neke
ucitava iz biblioteke.
Ja nisam hteo da ti pisem roman, da ne ispadne da te ucim
necemu sto vec znas, ali ajd' sad, moracu...
QB ti prijavljuje gresku zato sto ga nisi ucitao sa /L switchom
(za LIBRARY), tj. QB /L QB.QLB (ili neki drugi vazeci LIBRARY).
Probaj sad ponovo taj primer sa /L , pa ako ti ponovo prijavi
gresku nepostojece procedure, ja jedem moj hard sa sve flopijima.
> rado izbegao ako moze, a ne volim da stavljam u neki svoj
> prg. delove koje je neko drugi napisao...(ideja moze...).
Umesto tog programa probaj CALL INTERRUPT iz QB-a, bolji je, a i
mozes direktno da stavljas vrednosti u registre i citas iz njih po
povratku (Skoro kao assembler ).Npr:
DIM InRegs AS RegType, OutRegs AS RegType
.
.
InRegs.ax = neka vrednost
InRegs.bx = neka vrednost
.
.
CALL INTERRUPT (&33,InRegs,OutRegs)
.
.
ah = INT( OutRegs.ax / 256 )
al = OutRegs.ax MOD 256
.
Al' nemoj opet da zaboravis na /L molim te...
bye... vbole
basic.77bearboy,
-+={> 2. SAVE filename,P <-- Vili-jev slucaj ( nemoguc
-+={> listing )
-+={
-+={ E, to je to! Sta da radim?
Sedni i placi.... To je snimljeno u protected, pa se moze SAMO ucitati i
startovati, osim, naravno, u slucaju da imas specijalni program koji vraca
u prvobitni oblik (ja takav prog. nikad nisam video).
basic.78skoprivica,
Izvinjavam se sto sam bio glup....
Aje... CTEBO.
basic.79vbole,
> Izvinjavam se sto sam bio glup....
Jel' si se ti to naljutio ?
bye... vbole
basic.80vbole,
> -+={> 2. SAVE filename,P <-- Vili-jev slucaj ( nemoguc
> -+={> listing )
> -+={
> -+={ E, to je to! Sta da radim?
>
> Sedni i placi.... To je snimljeno u protected, pa se moze SAMO ucitati i
> startovati, osim, naravno, u slucaju da imas specijalni program koji
> vraca u prvobitni oblik (ja takav prog. nikad nisam video).
Pa nije bas tako...
Ja nisam nikad radio sa GW-BASICOM, ali znam da BASIC ne brise stvarno
program u memoriji, nego samo "ocisti" pointere, pa rekoh daj da pokusam...
Obrisi suzne oci, evo ga program koji ce ti - nadam se - pomoci da resis
tvoj problem.
Startuj ovaj program iz GWBASICA, ispisace ti sta da radis.Ukoliko nemas
PC-TOOLS ili NORTON, moraces taj novi fajl da otvoris za citanje, a jos
jedan za pisanje, pa onda umesto prvih 7 bajtova upisi ono sto ti pise u
donjoj liniji i posle toga ucitavaj iz jednog i upisuj u drugi.
100 'Ovo je tekst koji se trazi !!!
150 FLAG=0:FOUND$=""
200 FOR F=3900 TO 53333! STEP 64
250 REM PRINT USING "#####";F;:PRINT" ";
300 FOR G=F TO F+63:PP=PEEK(G)
350 IF PP=&HD9 THEN FLAG=1:GOSUB 650
400 IF PP<32 OR PP>126 THEN PP=46
450 REM PRINT CHR$(PP);
500 NEXT G:PRINT
550 NEXT F
600 END
650 FLAG=0:FOUND$=""
700 FOR H=G+1 TO G+30:FOUND$=FOUND$+CHR$(PEEK(H)):NEXT H
750 IF FOUND$="Ovo je tekst koji se trazi !!!" THEN BEEP:PRINT:GOTO 850
800 RETURN
850 CLS:PRINT"Popni se kurzorom do linije sa LOAD, zameni --------.BAS sa
imenom programa,"
900 PRINT"a ##### u BSAVE sa duzinom programa, ponovo na liniju sa LOAD, i onda
samo"
950 PRINT"pritiskaj ENTER i nema da se sekiras":PRINT
1000 PRINT"LOAD ";CHR$(34);"--------.BAS";CHR$(34):PRINT:PRINT"NEW":PRINT
1050 PRINT"BSAVE ";CHR$(34);"NEWFILE.BAS";CHR$(34);","G+2;",#####":PRINT
1100 PRINT"LOCATE 14,16:PRINT HEX$(PEEK(";G"));:LOCATE 14,19:PRINT
HEX$(PEEK(";G+1;"));":PRINT
1150 PRINT"Sada samo iz PC-TOOLS-a ili NORTON-a zameni prve bajtove u tom fajlu
sa:"
1200 PRINT"FF 83 0F 01 00 ## ##":PRINT:PRINT
1250 PRINT"Fajl mozes normalno da ucitavas i snimas posle ovoga - nemoj da te
buni":PRINT"razlicita duzina fajla - to je mana sa BSAVE - kad ga prvi put
ucitas i"
1300 PRINT"ponovo snimis, bice sve OK"
1350 PRINT
bye... vbole
basic.81dejanr,
>> Obrisi suzne oci, evo ga program koji ce ti - nadam se - pomoci da resis
>> tvoj problem.
Svaka čast i za ideju i za realizaciju, vbole, da biramo prilog meseca
na Sezamu ovo bi bio odličan kandidat! Alal vera.
PS A vala i bila bi bruka da 10 godina pošto su napravili GWBASIC ne umemo
da rasštitimo zaštićen program! BTW, ja nisam ni znao da ta opcija ,P
postoji ;)
PSS Koliko sam malo pogledao, nisu ga zaštitili na neki očigledan način
- recimo, slovo A u nekom stringu se ne snimi uvek kao isto slovo,
a recimo ako snimaš stringove AB i AC ono A nije kodirano na isti
način. Tim je lepša ideja da se ne "pogađa" šifra nego da se sam
bejzik natera da sebe odštiti ;)
basic.82vbole,
> da rasstitimo zasticen program! BTW, ja nisam ni znao da ta opcija ,P
> postoji ;)
Nisam ni ja, ja sam prvo mislio da je rec o token-ima, htedoh to
i da odgovorim, al' me preduhitri bojanp.
> - recimo, slovo A u nekom stringu se ne snimi uvek kao isto slovo,
> a recimo ako snimas stringove AB i AC ono A nije kodirano na isti
Nije, to je i mene nerviralo, - a ja probao sa "123...321" ;)) ,
P-program (valjda protected ?), je u stvari 3-5 Bajta duzi, ako
uzmes da su drugi i treci bajt uvek 83 0F a zadnja tri uvek nule,
ali da li je sifra u tim Bajtovima ...
bye... vbole
basic.83vili,
Hvala nevidjeno! Boli glava! Svaka cast!
Nisam jos probao sa onim programom , ali sam testirao i to savrseno
radi. (jedino sto se gubi naredba u prvom redu programa, ali nista
nije savrseno.)
vili
PS. Za administratora Sezama:
Vbole-tu tri meseca produzenja pretplate. Obavezno. Jel' jasno?
basic.84dejanr,
>> Vbole-tu tri meseca produzenja pretplate. Obavezno. Jel' jasno?
Naravno, ako ti uplatiš :))
basic.85vbole,
> radi. (jedino sto se gubi naredba u prvom redu programa, ali nista
Pa ne bi trebalo, bas zbog toga sam i ubacio onaj red sa
LOCATE 14,16:PRINT HEX$(PEEK(";G")); ...
Kada na njemu pritisnes ENTER, on ti zameni "tarabe" u redu
ispod sa pravim vrednostima ( TOKEN naredbe i slovo iza naredbe ).
Mozda nisi pritisnuo ENTER u tom redu ??
bye... vbole
basic.86vili,
> Mozda nisi pritisnuo ENTER u tom redu ??
Naravno da sam pritisnuo enter.
Pazi ovako. Prvi program ima prvu liniju ovakvu:
100 ON ERROR ....
a ja sam dobio:
1 ERROR ....
Primer drugi:
100 REM "PROGR..."
a ja sam dobio:
1 "PROGR..."
Primer treci:
100 PRINT "....."
a ja sam dobio:
1 "....."
Sve sam lepo uradio kako si mi reko.
vili
basic.87feniks,
│ > Mozda nisi pritisnuo ENTER u tom redu ??
│
│ Naravno da sam pritisnuo enter.
└───────
Program je maestralno napisan i RADI - i ja sam par
zasticenih demo programa i igrica uspeo da razotkrijem ;)
Mozda nije bas najjasnije objasnjen postupak, a oni
koji se nisu radije bavili GWBASIC-om ne znaju da ne treba
samo pasivno pritiskati ENTER vec u ona tri reda programa
u koja treba uneti podatke:
1.postaviti kursor na zeljeni red i uneti trazeni podatak
2.pritisnuti taster "End" da kursor bude na kraju tog reda (skroz desno)
3.tek tada pritisnuti ENTER !
Ako ni sada ne uspes posalji mi na mail taj program da to sredimo ;)
Í─Ě Í─Ě
║ ║ ║
Ë─Ż đ đ
basic.88vbole,
> 100 ON ERROR ....
> a ja sam dobio:
> 1 ERROR ....
Sorry, ja sam isprobavao samo sa pocetnim linijama od 1 ili 10...
Nema veze, zakacio sam ti malo prepravljen program uz poruku, mislim
da je sada sve OK.
P.S. A sta taj tvoj program radi, kad ti je bilo toliko stalo da
ga izlistas ?? (Ako nije tajna, naravno).
bye... vbole
p-code.zipbasic.89danko,
Da li neko ima iskustva sa Microsoft VisualBasic-om 1.0 za Windows 3.0.
Meni se VEOMA sviđa, i čini mi se interesantnom i lakom latakom za
pisanje manih stvarčica u WINDSOWS-u. Praktično skoro jednina mogućnost
nama koji nismo full-time programarei da napišemo ponešto za WIN.
Međutim, primetio sam dve stvari koje mi prilično smetaju da otštampam
šta želim. Prvi problem je što nemožeš da štampaš na printer koji
izabereš već samo na predefinisani objekat Printer keji predstavlja
defaultu sistemski printer. Drugi problem je što iako možeš da dobiješ
spisak raspoloživih fonotva za ekran ili printer, ne možeš da dobiješ
u koji sve veličinama postoje ti fontovi!
Da li je neko koristio VisalBasic i ima li nekih iskustava.
DANKO
basic.90ssokorac,
-=)> Da li je neko koristio VisalBasic i ima li nekih
-=)> iskustava.
Aha, ja. :)
U njemu sam napravio par programčića, ne nešto posebno korisnih, recimo
Konvertor, služi za konvertovanje dinara u devize i obrnuto, po kursu
koji sam upišeš. U verziji 1.0 :) od deviza bile su samo marke, u
verziji 2.00 i 2.01 :) uveo sam i help i about... a u verziji 3.0
meni Country u kome biras državu, a on automatski menja valutu...
Imaš li ti neko (opširno) uputstvo za vb? Ja sam otkrivao sve pomoću
onih datih primera (cardfile, iconworks, calculator) i pomoću
tutoriala ali neki objekti se nigde ne koriste pa ne znam kako da ih
koristim. Mrzi da jurim po help-u...
Stasha
basic.91danko,
Imam ja uputstvo (kompletno) !
DANKO
basic.92hohlacov,
Moj kolega ima problem. Naime, piše jedan program u QBasic-u
i ne zan kako da isključi Ctrl-Break (tj. Ctrl. Ne pomaže
Break=OFF iz DOS-a (to je probao). Da li neko zna kako da u
programu napravi da može da isključi preprograma sa
tasterima Ctrl-Break (Ctrl-C) ?
Unapred zahvalan (moj kolega).
basic.93hohlacov,
Izvinjavam se za greške u poruci 3.92. Pitanje je kako
da se kontroliše (isključi) u QBasic programu prekid programa
pomoću tastera Ctrl-Break (tj. Ctrl-C).
basic.94gobradovic,
Prijatelj me je zamolio da postavim pitanje oko QB4.5, a tice se
mogucnosti pisanja programa vecih od 64k. Znaci, kako da pristupi
podacima ili varijablama koje bi trebalo da budu "dalje" od 64k
ofseta.
Branko.
basic.95vbole,
> Izvinjavam se za greske u poruci 3.92. Pitanje je kako
> da se kontrolise (iskljuci) u QBasic programu prekid programa
> pomocu tastera Ctrl-Break (tj. Ctrl-C).
Nema veze za greske, ali CTRL-BREAK i CTRL-C nije ista stvar, jer
je BREAK-taster posebno kodiran odn. salje kao neku sekvencu bajtova,
koja je malo komplikovana (ja ne znam kako iz BASIC-a) za dekodiranje.
Sto se tice CTRL-C, tu nema problema, njega filtriras sa KEY(n) ON/OFF
naredbom i ON KEY(n) GOSUB subrutina.
bye... vbole
basic.96drakce,
│ kako da se kontroliše (isključi) u QBasic programu prekid programa pomoću
│ tastera Ctrl-Break (tj. Ctrl-C).
└────
Nisam probao, ali mi deluje logično da je dovoljno koristiti ON ERROR GOTO
naredbu. Recimo, da je stavi na početak:
ON ERROR GOTO Prekid
... program ...
Prekid:
RESUME
i nek tako presreće sve greške. Verovatno se kao greška smatra i Ctrl-Break.
Možda će mu zatrebati sledeće funkcije:
ERR() - vraća kod greške
ERL() - vraća broj linije u kojoj je otkrivena greška
ERDEV$() - daje karakter string koji sadrži ime uređaja koji je javio grešku
ERDEV() - daje kod greške (integer) na uređaju koji je poslednji u sistemu
javio grešku
Pozdrav od Dragana
basic.97dejanr,
>> Znaci, kako da pristupi podacima ili varijablama koje bi trebalo da
>> budu "dalje" od 64k ofseta.
Koliko znam, QB ne dopušta strukture veće od 64K, a čini mi se da postoji
i ograničenje data segmenta na 64K za jedan od modula. Ukoliko mu treba
više memorije, može da koristi dinamičke strukture, ali je svaka od njih
ponaosob i dalje ograničena na 64K.
Sve to u 1992. godini :(
basic.98vbole,
> Izvinjavam se za greske u poruci 3.92. Pitanje je kako
> da se kontrolise (iskljuci) u QBasic programu prekid programa
> pomocu tastera Ctrl-Break (tj. Ctrl-C).
Nisam te (izgleda) prvo dobro shvatio, pa evo ponovo:
Direktno iz programa ne mozes da ukljucis/iskljucis Ctrl-Break,
ali mozes da izbegnes zaustavljanje programa sa tom kombinacijom.
Dakle, ako hoces da program reaguje na Ctrl-Break, kompajliras sa
bc/d imefajla
link imefajla
Ako neces, onda izostavis switch '/d', znaci:
bc imefajla
link imefajla
ili direktno iz QB-a izaberes Opciju RUN, podopcija Make EXE File pa
za reagovanje na Ctrl-Brk izaberes opciju * Produce Debug Code = on *
│ [] Produce Debug Code Produce: │
│ ^ () EXE Requiring BRUN45.EXE │
│ ( ) Stand-Alone EXE File │
a ako neces, postavis na OFF
│ [ ] Produce Debug Code Produce: │
│ ^ () EXE Requiring BRUN45.EXE │
│ ( ) Stand-Alone EXE File │
Ta je opcija ustvari predvidjena za CODE-VIEW, ali eto...
bye... vbole
basic.99vbole,
> Koliko znam, QB ne dopusta strukture vece od 64K, a cini mi se da
> postoji i ogranicenje data segmenta na 64K za jedan od modula. Ukoliko
> mu treba vise memorije, moze da koristi dinamicke strukture, ali je
> svaka od njih ponaosob i dalje ogranicena na 64K.
Normalno su samo moduli (i podaci u njima) ograniceni (svaki)na po 64K.
To ne vazi za program, stringove fiksne duzine i dinamicke nizove -
- kaze Microsoft, ne ja.
Ako se kompajlira sa opcijom /AH, trebao bi da prihvati (dinamicke)
nizove vece od 64K.
bye... vbole
basic.100max.headroom,
> Koliko znam, QB ne dopušta strukture veće od 64K, a čini
> mi se da postoji
Mislim da se stvar može rešiti korišćenjem Power Basic-a.
basic.101imandic,
Ima li neko Compiler za QBASIC??!
Nigde da ga nadjem u dir-u...
Ako nije dugacak,moze neko da ga ul-uje ovde...?
basic.102dejanr,
>> Ima li neko Compiler za QBASIC??!
Quick BASIC *je* kompajler i nije PD.
basic.103imandic,
A jel ima opciju za kreiranje EXE fajlova?
Valjda ima?
P.S Gledajuci sa piratske tacke gledista,meni je svaki Softwer PD i
Shareware,pa ne vodim mnogo racuna o tome ;>
basic.104vbole,
> Ima li neko Compiler za QBASIC??!
> Nigde da ga nadjem u dir-u...
> Ako nije dugacak,moze neko da ga ul-uje ovde...?
Kompajler za QB je BC.EXE, 97481 Bytes, treba da je na disku
(cak i piratskom). ;)
Direktno iz QB-a postupak je sledeci:
ALT/R
X
i ulazis u meni za pravljenje EXE-verzije.
bye... vbole
basic.105dejanr,
>> Kompajler za QB je BC.EXE, 97481 Bytes, treba da je na disku
>> (cak i piratskom). ;)
Od prošle poruke sam se "dopisivao" sa imandicem, a sad sam i sam
probao... QuickBASIC koji se dobija uz MS DOS *nema* dodatak za
generisanje samostalnog EXE fajla niti odgovarajuće stavke u meniju.
Nigde besplatnog ručka, što rekle amerikanke ;(
basic.107spantic,
Pa dobro. Vide li iko taj MS BASIC 7.1?
basic.108max.headroom,
> Ima li neko Compiler za QBASIC??!
Nabavi QBASIC V4.5 koji ima i kompajler i linker.
basic.109imandic,
Izgleda da cu morati...
basic.110smiloradovic,
Evo nečeg za ljubitelje bejzika, a bogami i raznih pričajućih
programa. Ovaj je pisan (koliko sam video) u spektrum maniru, dakle
malo bejzik malo mašinac. Na malo (stvarno malo!) bržim mašinama govori
kao Paja Patak, al' snaćićete se... Have fun!
Stojan
p.s. koristite basica ili gwbasic, tu provereno radi
talk.arjbasic.111imandic,
Sta je ovo,odem na nedelju dana,vratim se,a ono tema BASIC- prazna?
basic.112janko,
> Sta je ovo,odem na nedelju dana,vratim se,a ono tema
> BASIC- prazna?
I tako treba da ostane! (što reče zna se ko)
(Ma šalim se, nemojte da se mrštite).
Imam čak i pitanje: Da li je neko uspeo sa Visual BASIC-om
(to je ono za Windows) da napravi nešto iole korisno? Ako
jeste, neka se pohvali!
basic.113dusanp,
žemu sluzi onaj runtime modul iz win dira? Mrzi me
da ga dl pa probam.
basic.114bulaja,
│Cemu sluzi onaj runtime modul iz win dira? Mrzi me
│da ga dl pa probam.
└───
Pa ne mozes da ga probas ;). Sluzi za startovanje programa pisanih u
Visual Basicu, a koji se distribuiraju okolo bez tog modula.
basic.115ssokorac,
-=)> žemu sluzi onaj runtime modul iz win dira? Mrzi me
-=)> da ga dl pa probam.
Za korišćenje programa napravljenih u VB-u...
basic.116sasa.m,
=> Imam čak i pitanje: Da li je neko uspeo sa Visual BASIC-om
=> (to je ono za Windows) da napravi nešto iole korisno? Ako
=> jeste, neka se pohvali!
Ma,kakvi.Ja nisam uspeo ni da ga instaliram :(
Nesto nije u redu.Pokrenem install sa diskete,
hard malo šljaka i onda sve stane.
basic.117sasa.m,
=> žemu sluzi onaj runtime modul iz win dira? Mrzi me
=> da ga dl pa probam.
Služi za neke programčiće koji ga traže jer pravljeni su u
Visual Basicu,a nalaze se u PC.OS::windows
basic.118edelic,
"Pa dobro vide li ko taj MS Basic 7.1 ? "
S' obzirom da mi je ovo prvo javljanje u konferenciji o Basic-u dozvolite
mi uzurpaciju par redova više no što je uobičajeno.
Imao sam prilike da se susretnem sa Ms Basicom 7.1, ali koristim verziju
7.0 isključivo iz razloga što za nju imam kompletnu literaturu, a za
programe ovakvog ranga to život znači. Inače, literatura je nešto više
od 1600 stranica, ali korisnicima koji znaju Basic, a radili su malo i
sa klasičnim kompajlerima, korištenje tako obimne literature mislim da
ne predstavlja problem.
Moje mišljenje je da se radi o programskom paketu koji konačno treba da
izliječi sve (ili većinu) kompleksa Basic programera.
MS Basic 7.0 (dodatak "profesional" ne potice iz Microsofta, vjerovatno
mu je to nadimak, ali moj je zakljucak da ga po mnogo cemu zasluzuje)
pored QBX (Extended Quick#┬sici ćĚ║Y..žWľWhćąürĽüZŻ╔ą═ĐąüÜ┘ĽüĺĽ═ŇÁjrse, sadrži
biblioteke za rad sa mišem, prozorima, kreiranje korisničkih
interfejsa sa dopadljivim padajućim menijima, rad sa fontovima, grafikom,
osnovne matrične operacije, operacije za rad sa vremenom (od godina do
sekundi), finansijske funkcije, i kao vrhunac Professional ISAM Support
(e ovdje se javlja ono "profesional" i odnosi se samo na ISAM proširenje).
To je kompleks programa za rad sa bazama podataka, njihovu konverziju i
korištenje iz Basica. S' obzirom da mi baze podataka nisu predmet
interesovanja, to vam ne mogu dati komparativne karakteristike u odnosu
na Cliper, Fox Base i slično, ali ovdje prefiks profesional sigurno nije
samo propagandna caka.
Kompajler i linker pored opcija za kompajliranje programa iz QBX (Extended
Q Basica) imaju sve ono što možete susresti kod PASCAL, FORTRAN i sličnih
kompajlera, a moj utisak je da im je i brzina kompajliranja bliska.
Kombinovano linkovanje programa, podprograma, funkcija i subrutina
napisanih u drugim jezicima (PASCAL, C, FORTRAN, ASEMBLER itd) funkcioniše
bez problema, tako da sve ono što ste vi ili neko drugi ranije uradili ne
pada u vodu. To je pogotovu korisno ako koristite veliki broj fortranskih
rutina koje su testirane i potvrđene, i u koje ne morate sumnjati šta rade,
te se ne morate iscrpljivati praveći programe za odredjivanje determinante
matrice, rješavanje sistema diferencijalnih jednačina i mnoštvo drugih
problema koji su već riješeni. Moj "maternji" jezik je Basic, ali 90%
stvari koje znam raditi u Basicu znam i u PASCALU i FORTRANU. Stoga sam
bio stalno u poziciji da pred starijim kolegama (provjerenim, dokaza-
nim naučnicima - "fortrandžijama") objašnjavam kako BASIC ipak nije samo
igračka, ali kada sam njihove programe potjerao iz BASIC-a, a prethodno
ih "iskitio" korisničkim interfejsom, objašnjavanje je postalo suvišno,
i već ih nekolicina "kombinuje" prednosti MS Basica sa svojim jezicima.
Što je tiče brzine rada programa to je priča za sebe. Jednostavna progra-
mska petlja sa malo računa koju QB 4.5 radi oko 40 sec, na Turbo PASCAL-u
se vrti oko 6.5 sec, u MS Fortranu 5 to traje 15 sec, a MS Basic 7.0 posao
završava za 9.5 sec. Priznat ćete da je rezultat uistinu zavidan. Svjestan
sam da ovaj test ne mora da znači mnogo, ali nešto može da kaže.
Kompajlirani program je nešto veći nego kod navedenih jezika, radi se o
<10%, a ako se kompajlira kao RUNTIME, onda smo tu negdje.
Interpreter u mnogome olakšava programiranje, help je kako smo naučili
urađen maestralno (klasični QB help) i ja ne mogu a da ne kažem da je
uistinu divota kada iz gomile primjer programa iz HELPA običnim COPY/
PASTE izabrani primjer program preďžVŰSô+ő╦šüéŻ┘╔Ýą╣ŇüJüÜ┘ĽübąćĽ┴Ż5provjerimo.
U BIN direktoriju se nalaze još neki pomoćni programi: NMAKE kao olakšica
pri kompajliranju i linkovanju, odlični CodeView, ISAM programi za konve-
rziju baza podataka, HELPMAKE, ali za sada još ne mogu reći mnogo o
njihovim dometima.
S' obzirom da se program bez problema može raditi iz više cjelina, a
potom zajednički linkovati, to se granica maksimalno moguće dužine
programa znatno pomijera na gore, a ako kombinujete više EXE programa
sa razmjenama podataka kroz privremene datoteke, mislim da granica
maksimalne dužine programa (uvažavajući DOS-ova ograničenja) aktuelna
samo za prave akrobate i one koji traže dlake u jajetu. Podržan je i rad
sa COMMON blokovima, tako da razmjena podataka između programskih
segmenata ne mora biti limitirana brzinom rada hard-diska.
Programi koje ja radim nisu nikakve računarske akrobacije, ali znaju
biti dugi i tražiti i sa zahtjevima za povećanom tačnošću i većom brzinom,
prijatnim korisničkim interfejsom, malo grafike i slično. MS Basic je
po tom pitanju uistinu na visini zadatka i ja ga toplo preporučujem.
To što je skuplji od C-a ne mora da znači da je bolji, vjerovatno je
tražio više truda. Microsoft zna šta radi i vjerovatno će prva riječ
is skraćenice BASIC (Beginers) sve viće gubiti na značaju, i ostati
kao relikvija iz dana "gumice", C-64, Amstrada itd.
Ako neko želi komparirati MS Basic sa svojim programima pošaljite uz
poruku svoj test program u Basic-u sa pitanjima šta vam je potrebno,
šaljem vam kompajlirani program pa provjeravajte.
Izvinite zbog opširnosti!!!
basic.119ppekovic,
>> Izvinite zbog opširnosti!!!
Mislim da ti većina neće zameriti zbog opširnosti već upravo
suprotno, što nisi napisao još koji redak, jer ako si pročitao malo
starije poruke, video si koliko je Sezam gladan za informacijama o MSC
Basic-u 7.1 (7.0).
Svaka čast za poruku!
Paya
basic.120skoprivica,
>-> pored QBX (Extended Quick#┬sici
>-> cĚ║Y..CWľWhcąürĽüZŻ╔ą═ĐąüÜ┘ĽüĺĽ═ŇÁjrse, sadrzi
>-> PASTE izabrani primjer program
>-> preďCVŰSô+ő╦süéŻ┘╔Ýą╣ŇüJüÜ┘ĽübącĽ┴Ż5provjerimo.
Sta je pisalo u ovim redovima ?
>-> Izvinite zbog opsirnosti!!!
Ocemo jos, tj. ako ne mogu da ga vidim volim i da cujem nesto o
njemu...
basic.121skoprivica,
>-> Svaka cast za poruku!
TAKO JE....
basic.122edelic,
MS Basic 7.0
Pisalo je:
Moje mišljenje je da se radi ▀LprogramskomžĐXşWčŇK+Ë╣ů╣Żüó╔Ľëůü"ů5izliječi sve
(ili većinu) kompleksa Basic programera.
MS Basic 7.0 (dodatak "profesional" ne potice iz Microsofta, vjerovatno
mu je to nadimak, ali moj je zakljucak da ga po mnogo cemu zasluzuje)
pored QBX (Extended Quick Basic) interpretera, koji ne koristi sve resu-
rse, sadrži biblioteke za rad sa mišem, prozorima, kreiranje korisničkih
interfejsa sa dopadljivim padajućim menijima, rad sa fontovima, grafikom,
osnovne matrične operacije, operacije za rad sa vremenom (od godina do
sekundi), finansijske funkcije, i kao vrhunac Professional ISAM Support
(e ovdje se javlja ono "profesional" i odnosi se samo na ISAM proširenje).
Interpreter u mnogome olakšava programiranje, help je kako smo naučili
urađen maestralno (klasični QB help) i ja ne mogu a da ne kažem da je
uistinu divota kada iz gomile primjer programa iz HELPA običnim COPY/
PASTE izabrani primjer program prenesemo u radnu površinu i sve lijepo
provjerimo.
(Nadam se da će ovaj put veze biti "na nivou")
JOŠ:
S obzirom da mi je hard disk kapacitivan, to nisam mnogo brinuo koliko
ću morati odvojiti prostora, ali smatram da je značajno napomenuti i
taj podatak: naravno, možete birati pri instalaciji šta vam treba, od
minimuma QBX-a do instalacije i kompletnih biblioteka. Ja sam uzeo sve
što mi je nuđeno u maksimumu i izgubio nešto manje od 9 Mb prostora na
hard disku. Nisam oprobavao "siromašnije" kombinacije, ali mislim
da je ralno očekivati da kod minimalne konfiguracije programa smanjite
potreban prostor za oko 40-tak %. Ovo uistinu nije malo memorije, ali
program nije pisan za one koji vole imati na (svom malom) disku po
piratizovani "primjerak" većine jezika, par tekst procesora, DTP program,
malo grafike, nezaobilazni Windows itd. Kad ulazite u vode ovakvih
programa morate ili raditi generalne čistke diskova, ili dokupiti nešto
kapacitivnije i brže.
U ranijem tekstu sam pomenuo da su padajući meniji dopadljivi, ipak
smatram potrebnim napomenuti da je radna okolina Windowsa (a time i
Visual Basica i drugih Win-aplikacija) prijatnija i ljepša, ali kada
na tas stavite sve ostalo - zna se pobjednik.
Moram da kažem još da su me odgovori na moju prvu poruku malo ohrabrili,
mada sam uvijek mislio da za "mlade hakere" nemam nešto posebno zanimljivo
reći, stvari koje poznajem su u principu jednostavne jer računar mi je
ipak "pomoćna alatka" (naravno i najdraži hobi), ali ako ima nešto
što vas posebno interesuje u vezi MS Basica 7.0 - pitajte.
Pozdrav, Edelić
Ď
basic.123nboskovic,
*> (Nadam se da će ovaj put veze biti "na nivou")
A što lepo ne napraviš exec kod kuće pa ga pošalješ
na sezam ? Tada nema frke iako je veza loša.
(c) klap
nikola
basic.124janko,
>> -> pored QBX (Extended Quick#┬sici
>> -> cĚ║Y..CWľWhcąürĽüZŻ╔ą═ĐąüÜ┘ĽüĺĽ═ŇÁjrse, sadrzi
>> -> PASTE izabrani primjer program
>> -> preďCVŰSô+ő╦süéŻ┘╔Ýą╣ŇüJüÜ┘ĽübącĽ┴Ż5provjerimo.
> Sta je pisalo u ovim redovima ?
> Pisalo je:
> Moje mišljenje je da se radi
> ▀LprogramskomžĐXşWčŇK+Ë╣ů╣Żüó╔Ľëůü"ů5izliječi sve (ili
> većinu) kompleksa Basic programera.
:)
Sugestija EDeliću: Znate li kako se ostvaruju poruke bez
grešaka? Šaljete ih na Sezam koristeći Exec fajl, pomoću nekog
od protokola. Ako imate PC, skinite SOR, koji će za vas praviti
Exec fajlove, a ako ne, možete ih praviti 'peške.'
basic.125edelic,
Rekoh u prvoj poruci da sam novi u konferencijama, hvala na sugestiji,
Pozdrav -
edelic
basic.127icke,
HELP!
Ako ima nekog kompetentnog neka gukne. Imali smo kolokvijum iz
programiranja (predmet PJMP1 na ETFu) pa se u jednom test pitanju
pominjala basic naredba CHR$ (brojni izraz).
E sad taj brojni izraz kao rezultat daje realnu vrednost. Pošto je
nama rečeno da možemo (na kolokvijumu) da koristimo sve postojeće
verzije basic-a interesuje me da li postoji verzija u kojoj gore
navedeno ne šljaka tj. da li sve verzije basic-a prihvataju izraz
CHR$(real) ???
P.S. Nađite verziju basic-a u kojoj CHR$(real) vraća grešku i
učinićete mnogo studenata ETFa srećnim ! :)
pozdrav od Ivan-a
basic.128ssokorac,
-=)> P.S. Nađite verziju basic-a u kojoj CHR$(real) vraća
-=)> grešku i učinićete mnogo studenata ETFa srećnim ! :)
Spectrumov BASIC? ;)
basic.129nkbog,
>> pominjala basic naredba CHR$ (brojni izraz).
Basic principijelno ne pravi razliku između brojnih podataka:
naime ako neka funkcija koristi cele brojeve, on će realne brojeve
konvertovati u cele, et vice versa. Jedina situacija da ovde ne
mogu da se pojave realni brojevi je kod tzv. "celobrojnih" Basica,
koji PO DEFINICIJI nemaju realnih brojeva, pa se takav problem ni
ne može pojaviti.
NB.
basic.130ztuke,
> verzije basic-a interesuje me da li postoji verzija u kojoj gore
> navedeno ne šljaka tj. da li sve verzije basic-a prihvataju izraz
> CHR$(real) ???
>
> P.S. Nađite verziju basic-a u kojoj CHR$(real) vraća grešku i
> učinićete mnogo studenata ETFa srećnim ! :)
ZOOM karaktera sa ASCII kodom SQR(-175.68)
┌───────┐
│ĐĐĐĐĐĐĐ│ Dakle ako je BROJ=SQR(-175.68)
│ĐĐĐĐŠŠŠ│ onda će ti PRINT CHR$(BROJ) dati
│ŠŠŠŠŠŠŠ│ ovaj karakter!
│čččččŠĐ│
│ččččččč│
└───────┘
Koja je ovo verzija bejzika ne mogu ti reći zbog
reklame al' javi mi u mail pa ću ti reći! ;)))
ZT
basic.131janko,
> -=)> P.S. Nađite verziju basic-a u kojoj CHR$(real) vraća
> -=)> grešku i učinićete mnogo studenata ETFa srećnim ! :)
>
> Spectrumov BASIC? ;)
Zlobniče. ;(
Bejzici po definiciji rade sa Real-nim brojevima.
A=1 ili LET A=1 dodeljuje realan broj 1 u promenljivu A.
Spektum je malo pametniji, pa interno ima specijalno kodovanje
za brojeve u opsegu -65535..65535, koje pamti kao intidžere ako
nemaju frakciju, ali to korisnik ne vidi, osim u jednom bagu,
koliko se sećam. Znači, ne primećuješ uopšte tip promenljive,
znaš samo da je u njoj broj.
Ima i puno bejzika koji imaju eksplicitno proglašavanje tipa
integer, ali pošto nemaju deklaracije, to rade ekstenzijom na
ime, pa A%=1 stavlja INTEGER 1 u A% promenljivu.
basic.132ivans,
* Ima i puno bejzika koji imaju eksplicitno proglasavanje
* tipa integer, ali posto nemaju deklaracije, to rade
* ekstenzijom na ime, pa A%=1 stavlja INTEGER 1 u A%
* promenljivu.
Da, vecina bejzika nema deklaracije... Ali, izuzetaka ipak ima! Najprostiji
primer je GWBASIC... Kod njega postoje i deklaracije tipa DEFINT/SNG/DBL/STR,
kojima se, repsektivno, deklarisu celi brojevi, racionalni jednostruke
preciznodti, racionalni dvostruke preciznosti i stringovi. Naravno, uz sve ovo
vecina bejzika ima i deklaracije nizova ili matrica (DIM) - stavise, cak je i
bejzik "Galaksije" (sta to bese? :) imao neke deklaracije (cini mi se ARR$)...
Dakle, A%=1 stavlja zaista celi broj u A%, ali se isto postize i ako se stavi
negde u programu DEFINT A... Onda se ne stavljaju "procenti" (tj. ne A%=1), vec
samo A=1. Kratko i jasno! A lici na FORTRAN-ske deklaracije, jer je moguce
deklarisati grupu promenljiva abecednim redom... Ali, to je vec druga prica...
Pozdrav,
Ivans.
basic.133dejanr,
>> stavise, cak je i bejzik "Galaksije" (sta to bese? :) imao neke
>> deklaracije (cini mi se ARR$)...
Bejzik tog slavnog računara (zapravo, najslavnijeg domaćeg, zar ne? :)
imao je deklaraciju ARR$(n) kojom se rezervisao prostor za alfanumerički
niz X$(1), X$(2)..., X$(n) (možda je postojalo i X$(0)?). Kao da kažete
DIM X$(n), ali radi samo za jedan niz :)
Moram da priznam da sam morao da pogledam u Uputstvo da bih se toga
setio, "Galaksiju" ne upalih već par godina...
basic.134skoprivica,
>-> ZOOM karaktera sa ASCII kodom SQR(-175.68)
>->
>-> ┌───────┐
>-> │DDDDDDD│ Dakle ako je BROJ=SQR(-175.68)
>-> │DDDDSSS│ onda ce ti PRINT CHR$(BROJ) dati
>-> │SSSSSSS│ ovaj karakter!
>-> │ZZZZZSD│
>-> │ZZZZZZZ│
>-> └───────┘
>->
>-> Koja je ovo verzija bejzika ne mogu ti reci zbog
>-> reklame al' javi mi u mail pa cu ti reci! ;)))
Ne razumem sta si 'teo da kazes...Pojasni malo...
Aje... CTEBO.
basic.135dzakic,
>> nemaju frakciju, ali to korisnik ne vidi, osim u jednom bagu,
>> koliko se sećam.
INT (-65536) = -1 :))
basic.136ivans,
* >> stavise, cak je i bejzik "Galaksije" (sta to bese? :)
* >> imao neke deklaracije (cini mi se ARR$)...
*
* Bejzik tog slavnog racunara (zapravo, najslavnijeg
* domaceg, zar ne? :)
Bogami, TIM-011 je svojevremeno bio ozbiljna konkurencija i samom PC-u... Nisam
dovoljno kompetentan da o tome pricam, ali ono sto sam cuo - odusevilo me je.
Nadam se da ce se naci neko ko ce ovo umeti da objasni; na Sezamu ima takvih
ljudi, pa ako procitaju ovo, i ako smatraju potrebnim - neka jave!
Pozdrav,
Ivans.
basic.137dejanr,
>> Bogami, TIM-011 je svojevremeno bio ozbiljna konkurencija i samom
>> PC-u...
Odgovor je u RACUNARI/istorija.
basic.138ztuke,
> Ne razumem sta si 'teo da kazes...Pojasni malo...
Fora je propala zbog pogrešnih kodova itd., itd. ...
Nema veze! :)
ZT
basic.139spantic,
> Izvinite zbog opširnosti!!!
Hvala na njoj, više je nego opravdana.
basic.140skoprivica,
jel' neko voljan da mi objasni par stvari o VisualBasicu ?
Ocu da napisem : PRINT
"Hello World" :) Kako ?
Aje... CTEBO.
basic.143ssokorac,
:> Ocu da napisem : PRINT
:> "Hello World" :) Kako ?
Ovako: Uzmeš pa klikneš na veliko A - ikonu. Zatim napraviš prozor
gde hoćeš da se pojavi tekst. Zatim, izabereš border none za taj
prozor, i po želji mu promeniš ime u recimo, poruka.
Sada imaš dva izbora:
(1) dvaput klikneš na prozor (tj. gde je bio, jer se sada ne vidi)
i kucaš - poruka.caption="Hello World"
(2) izabereš caption medju opcijama i napišeš Hello World. Zatim
izabereš visible i napišeš false. Dvaput klikneš na prozor i kucaš
poruka.visible=-1
Eto, to je to. :)
basic.144predragd,
Zdravo
U prilogu vam saljem UBASIC. Program izgleda (samo izgleda) kao
GWBASIC, ali je prvenstveno namenjen za numericke proracune. Idealno
za one koji trenutno polazu taj ispit. Takodje je data verzija
programa namenjena 32-bitnim masinama.
Pozdrav, Pedja.
basic.145predragd,
Evo i nastavka.
Pedja.
basic.146feniks,
** Uz poruku 'ubasic.arj' (179504 bytes)
A gde je drugi deo ? ;)
basic.147ilazarevic,
█ Eto, to je to. :)
Mnooogo komplikovano ;)
basic.148predragd,
Izvinjavam se zbog kasnjenja, ali tog dana nisam bio u mogucnosti
da posaljem nastavak. Nadam se da nisi dugo cekao na nastavak, i da ce ti
se cekanje isplatiti.
Pedja.
basic.149mzarkov,
Nadam se da neko moze da pomogne.
Preveo sam sledeci fortran program u basic (Quick 4.5)
(Radi se o programu za predikciju koristeci Durbinov algoritam
(iz Stearns S.D. i David R.A. Signal Procesinsing Algorithms. 1988
Prentice Hall))
AAVECT je vektor observacija
L = order of system of equations
B = solution vector
IERROR 0 NO ERRORS
1 INVALID ORDER OF L (<0)
2 DIVIDE BY ZERO
Za L = 1 dobijam tacna resenja (B(0)=1.618; B(1)=-1), ali za L=10
(drugi primer) dobijam iste vrednosti za B(0) i B(1) i 0 za B(2 do 10)
umesto ocekivanih
B(0)=-0.007
B(1)= 0.004
B(2)= 0.004
B(3)=-0.007
B(4)=-1.000
I OSTALI SU JEDNAKI 0
U ovom slucaju i u primeru i kod mene program prijavljuje gresku
Divide by zero (sto i treba)
Dakle efo Fortran programa
DIMENSION AAVECT(0:2), B(0:1)
DATA L/1/
PI = 4. * ATN(1.)
DO 1 LL = 0, L + 1
AAVECT(LL) = .5 * (COS(2. * PI * LL / 10.))
1 CONTINUE
CALL SPDURB(AAVECT, L, B, IERROR)
IF (IERROR .NE. )0 THEN
PRINT*, 'Greska (1: L<0; 2: deljenje nulom) ', IERROR
PAUSE
ENDIF
PRINT 100, (I,B(I),I=0,L)
100 FORMAT (' FILTER COEF ',/,(' B(',I1,')='F10.3))
END
SUBRUTINE SPDURB (AAVECT, L, B, IERROR)
DO 1 I= 0, L
B(I) = 0.0
1 COMTINUE
IERROR = 0
IF (L .LT. 0) IERROR = 1
IF (ABS(AAVECT(0)) .LT. 1.E-10) IERROR = 2
IF (IERROR .NE. 0) RETURN
B(0) = -AAVECT(1) / AAVECT(0)
IF (L .EQ. 0) GO TO 7
IERROR = 2
DO 5 NN = 1, L
GAMMA = 0
GAMMAP = 0
DO 2 I = 1, NN
GAMMA = GAMMA - AAVECT(I) * B(NN - I)
GAMMAP = GAMMAP - AAVECT(I) * B(I - 1)
2 CONTINUE
SCL = AAVECT(0) - GAMMAP
IF (ABS(SCL) .LT. 1.E-10) GO TO 6
BETA = -(AAVECT(NN + 1) - GAMMA) / SCL
DO 3 J = 0 TO (NN - 2) /2
TMP = B(J)
B(J) = B(J) + BETA * B(NN - 1 - J)
IF (NN .GT. 1) B(NN - 1 - J) = B(NN - 1 - J) + BETA *
TMP
3 CONTINUE
IF (INT(NN - 2) / 2) .NE. INT((NN - 1) / 2) B((NN - 1) / 2) = B((NN -
1) / 2) + BETA * B((NN - 1) / 2)
B(NN) = BETA
5 CONTINUE
IERROR = 0
6 CONTINUE
7 DO 8 I = 0, L
B(I) = -B(I)
8 CONTINUE
RETURN
END
a evo i mog prevoda na basic:
DECLARE SUB SPDURB (AAVECT() AS DOUBLE, L!, B() AS DOUBLE, IERROR!)
DIM AAVECT(0 TO 11) AS DOUBLE, B(0 TO 10) AS DOUBLE
L = 10
PI = 4 * ATN(1)
FOR LL = 0 TO L + 1
AAVECT(LL) = .5 * (COS(2 * PI * LL / 10))
NEXT
CALL SPDURB(AAVECT(), L, B(), IERROR)
IF IERROR <> 0 THEN PRINT "Greska (1: L<0; 2: deljenje nulom) "; IERROR
NEXT
FOR I = 0 TO L
PRINT B(I)
NEXT I
SUB SPDURB (AAVECT() AS DOUBLE, L, B() AS DOUBLE, IERROR)
CLS
PRINT "SADA POCINJE"
FOR I = 0 TO L
B(I) = 0
NEXT I
IERROR = 0
IF L < 0 THEN IERROR = 1
IF (ABS(AAVECT(0)) < .0000000001#) THEN IERROR = 2
IF IERROR <> 0 THEN EXIT SUB
B(0) = -AAVECT(1) / AAVECT(0)
IF L = 0 THEN GOTO SEDMICA
IERROR = 2
PET: FOR NN = 1 TO L
GAMMA = 0
GAMMAP = 0
FOR I = 1 TO NN
GAMMA = GAMMA - AAVECT(I) * B(NN - I)
GAMMAP = GAMMAP - AAVECT(I) * B(I - 1)
NEXT I
SCL = AAVECT(0) - GAMMAP
IF (ABS(SCL) < .0000000001#) THEN GOTO HAHA
BETA = -(AAVECT(NN + 1) - GAMMA) / SCL
FOR J = 0 TO (NN - 2) STEP 2
TMP = B(J)
B(J) = B(J) + BETA * B(NN - 1 - J)
IF NN > 1 THEN B(NN - 1 - J) = B(NN - 1 - J) + BETA *
TMP
NEXT J
IF INT((NN - 2) / 2) <> INT((NN - 1) / 2) THEN B((NN - 1) / 2) = B((NN
- 1) / 2) + BETA * B((NN - 1) / 2)
B(NN) = BETA
NEXT NN
IERROR = 0
GOTO SEDMICA
HAHA:
SEDMICA: FOR I = 0 TO L
B(I) = -B(I)
NEXT I
END SUB
Hvala unapred.
MZ
basic.150vili,
Ovo u Basicu :
FOR J = 0 TO (NN - 2) STEP 2
nije isto sto i ovo u Fortranu:
DO 3 J = 0 TO (NN - 2) / 2
Vili
PS. Ispravi ovo pa ce mozda biti u redu.
basic.151iboris,
Mom ortaku treba Borlandov TURBO BASIC. Da li neko zna gde se to moze nabaviti.
Istovremeno pita postoji li Besic kompajler za programe napisane u Turbo
BASICU.
Pozdrav, Boris
basic.152bulaja,
│Mom ortaku treba Borlandov TURBO BASIC. Da li neko zna gde se to moze
│nabaviti. Istovremeno pita postoji li Besic kompajler za programe
│napisane u Turbo BASICU.
└───
Turbo Basic vise ne postoji. Borland je digao ruke od njega, a sva prava
je preuzela neka pojma-nemam-koja softverska kuca (cini mi se neki
skandinavci, al' nisam mnogo siguran ;). Promenili su i ime (ni njega
neznam ;), ali u reklamama pise "Formerly Turbo Basic from Borland".
basic.153predrag,
>> Turbo Basic vise ne postoji. Borland je digao ruke od
>> njega, a sva prava
Koliko znam covek koji je napisao turbo basic je
otisao iz firme (nisam bas siguran) ali je napisao
novi basic koji se zove POWER BASIC i koji je kompatibilan
sa starim ali je dodao jos mnogo novih stvari.
basic.154macak,
█ Mom ortaku treba Borlandov Turbo Basic
Imam ja TB verzija 1.0 i mislim da je bezveze.Za druge verzije
ne znam (ne znam ni da li postoje).Í
Bolje se mani toga. :)
basic.155dragoslavr,
you > skandinavci, al' nisam mnogo siguran ;). Promenili su
you > i ime (ni njega neznam ;), ali u reklamama pise
you > "Formerly Turbo Basic from Borland".
Power Basic...
basic.156feniks,
Jel' trac ili istina da se pojavio neki GFA Basic za PC,
koji je navodno 3-4 puta brzi od Turbo Basic-a i Quick Basica-a?
Ako to cudo postoji, zanima me demo verzija ;)
P.S. Naravno, brze radi i od onog na Atari-ju :)))
Pozdrav
basic.157imandic,
Ma kakav demo,ja bi hteo original!
Ako je to istina-moram da imam!
basic.158bulaja,
│Jel' trac ili istina da se pojavio neki GFA Basic za PC,
│koji je navodno 3-4 puta brzi od Turbo Basic-a i Quick Basica-a?
│Ako to cudo postoji, zanima me demo verzija ;)
└───
E pazi sad ;) - DEMO verzija zaista postoji, i moze se naci u PC.SOFT
konferenciji uz poruku 5.105.
basic.159feniks,
│E PAZI SAD ;) - DEMO VERZIJA ZAISTA POSTOJI, I MOZE SE NACI U PC.SOFT
│KONFERENCIJI UZ PORUKU 5.105.
└────
1:0 za Bulaju :)))))))
Informacija je ipak korisna, jer sad sigurno znam da postoji
MS.DOS verzija GFA Basic-a, ali kakav je? Demo verzija je prakticno
neupotrebljiva :(
Bilo bi interesantno da iznesu svoja misljenja i korisnici
ORIGINALNE verzije ovog paketa ;)
P.S. Ovo je bila druga faza procedure "pecanje" :)))
basic.160dega,
|... Mom ortaku treba Borlandov TURBO BASIC. Da li neko zna gde
|... se to moze nabaviti.
Znam ja ;), mail-ni me!
basic.161yoki,
Help , da li neko ima ili moze da nabavi proisadm.exe !!!!
Y O K I
basic.162sveto,
Da li neko ima nesto od literature za Visual Basic?
Sveto
basic.163tesloni,
Vozdra narode ....
Pitanje : Kako se u Turbo Basicu može otvoriti više
od 20 datoteka istovremeno ?
Može i neki rezidentni program koji bi se
startovao pre samog programa u TB .
... Ú-> Tesloni <-Ú
basic.164tesloni,
(*
Na zahtev mog šefa ponavljam pitanje :
( njega životno interesuje Ú-> )
*)
Dakle da li je moguće ikako u Turbo Basicu otvoriti
više od 20 datoteka i kako ? Misli se na programe
pisane u istom ... Svaka ideja dobro došla ..
(*
( Potreban odgovor , hoće da mi isključe modem pa moram
opravdati rad . Ako neko pastuje , ovo neka izostavi
kao i ono u uvodu , da me šef ne .... Ú-> )
*)
... Ú-> Tesloni <-Ú
basic.165imandic,
Mozda nekim zahvatom u assembleru,prvo napises rutinu u njemu,onda u
TBasicu sa CALL pozoves istu?
Neznam,samo mislim...
basic.166sveto,
Ponavljam pitanje> Ima li neko knjigu za Visual Basic?
Pozdrav, Sveto
basic.167sslavko,
Da li Visual Basic ima nešto poput IN i OUT instrukcija odnosno nešto
kao port,portw i portl u Turbo Pascalu? Uglavnom bilo šta preko čega
mogu da pristupim direktno hardveru?
Pozdrav
Slavko.
basic.168pedjam,
HELP!!! Kako da iz BASIC-a sliku sa ekrana (VGA 640x480x16) smestim u
memoriju i kasnije vratim. žisto BLOAD i BSAVE radi samo crno-belo,
a ne čuva mi paletu. Znam da ima neka caka kako iz više ravni pokupiti
sve informacije, ali ne znam da je izvedem.
Pomagajte ! ! !
Unapred hvala, / /
Pedja Milicevic
basic.169putnik,
Please da mi neko pomogne...
Evo dela programa (program je radjen u Qbasicu iz DOS-a 5.00):
300 CLS
310 LOCATE 8, 25: PRINT "F1 ...o ovom programu"
320 LOCATE 9, 25: PRINT "F2 ...dokumentacija "
330 LOCATE 10, 25: PRINT "F3 ...biografski podaci o autoru"
340 LOCATE 11, 25: PRINT "F10 izlaz u DOS"
350 LOCATE 14, 20: PRINT "Izaberi"
360 IF INKEY$ = CHR$(59) THEN GOTO 500
370 IF INKEY$ = CHR$(60) THEN GOTO 600
380 IF INKEY$ = CHR$(61) THEN GOTO 700
390 IF INKEY$ = CHR$(68) THEN GOTO 800
500 CLS : PRINT "F1 podaci o programu...": SLEEP 0: GOTO 300
600 CLS : PRINT "F2 podaci TI...": SLEEP 0: GOTO 300
700 CLS : PRINT "F3 biografija...": SLEEP 0: GOTO 300
800 CLS : INPUT "jesi li siguran (d/n)?"; d$
900 IF d$ = "d" THEN PRINT "BYE": SYSTEM: ELSE GOTO 300
Problem je u tome sto ne radi dobro IF INKEY$. Naime, kada dodje do
360 linije, program ne ceka da ja pritisnem F1,F2,F3 ili F10, nego
odmah ide na 500 liniju, kao da sam pritisnuo F1. A trebalo bi, naravno,
da saceka moj izbor. Kako da resim ovo?
I jos jedno pitanje. Kako se radi sa naredbom PLAY (za muziku)?
Ne bas razumem objasnjenje u HELP-u.
Brana
basic.170vbole,
> Problem je u tome sto ne radi dobro IF INKEY$. Naime, kada dodje do
> 360 linije, program ne ceka da ja pritisnem F1,F2,F3 ili F10, nego
> odmah ide na 500 liniju, kao da sam pritisnuo F1. A trebalo bi, naravno,
> da saceka moj izbor. Kako da resim ovo?
Ako nije pritisnut nijedan taster, program jednostavno prolazi sva ona
ispitivanja i nastavlja od linije 500, zato ubaci sledeće linije:
352 KOD$ = INKEY$
354 IF KOD$ = "" THEN 352
Ovako je bolje, jer:
a) u varijabli KOD$ imaš sačuvan kod pritisnutog tastera
b) funkcijski tasteri daju kod od 2 bajta, a ne jednobajtni, znači za
njih bi morao da uvedeš 2 ispitivanja, otprilike ovako:
356 IF ((LEN(KOD$) <> 2) OR (LEFT$(KOD$,1) <> 0)) THEN 352
358 KOD$ = RIGHT$(KOD$,1)
Pa onda nastavljaš sa ispitivanjem koji F-taster je stisnut:
360 IF KOD$ = CHR$(59) THEN 500
370 IF KOD$ = CHR$(60) THEN 600
380 IF KOD$ = CHR$(61) THEN 700
390 IF KOD$ = CHR$(68) THEN 800
Nije nijedan od onih koji tebi trebaju, ajd' ponovo na početak:
395 BEEP:GOTO 352
> Evo dela programa (program je radjen u Qbasicu iz DOS-a 5.00):
!!!!!!!
Jesi li siguran ??
basic.171ivans,
* 360 IF INKEY$ = CHR$(59) THEN GOTO 500
* 370 IF INKEY$ = CHR$(60) THEN GOTO 600
* 380 IF INKEY$ = CHR$(61) THEN GOTO 700
* 390 IF INKEY$ = CHR$(68) THEN GOTO 800
* 500 CLS : PRINT "F1 podaci o programu...": SLEEP 0: GOTO 300
* Problem je u tome sto ne radi dobro IF INKEY$. Naime, kada
* dodje do 360 linije, program ne ceka da ja pritisnem
* F1,F2,F3 ili F10, nego odmah ide na 500 liniju, kao da sam
* pritisnuo F1. A trebalo bi, naravno, da saceka moj izbor.
* Kako da resim ovo?
Problem je u tome što IF INKEY$ radi dobro :). Naime, INKEY$ ne čeka da ti
pritisneš neki taster, nego, ako nije pritisnuto ništa vraća prazan string. Da
bi to izbegao, neka ti neki čVRLJ$ pokupi podatke o pritisnutom tasteru, ovako,
na primer:
355 čVRLJ$=INKEY$
Zatim promeni redove 360-390 po sledećem šablonu:
360 IF čVRLJ$ = CHR$(59) THEN GOTO 500
Zatim stavi liniju (da ne bi prešao na 500)
400 IF čVRLJ$ = "" THEN GOTO 360
I to bi bilo to. E, sada ostaje pitanje da li one funkcijske tastere možeš da
kontrolišeš samo pomoću INKEY$, jer oni vraćaju dva koda... No, to nije neki
problem ispitati i primeniti (-->Implementirati? How Quaint! :)).
Pozdrav,
Ivans.
basic.172jpavlov,
A, da staviš
359 TIPKA$=INKEY$
400 GOTO 359?
sintaksa: PLAY string
10 muzika$="L4MLcde"
20 PLAY muzika$
L4 - dužina trajanja note
ML - legato (povezano) * ovo je malo laički, muzičari
znaju šta znači taj izraz.
MN - normalna muzika. Nota traje 7/8 vremena određenog sa L.
MS - staccato. Nota traje 3/4 vremena određenog sa L.
cde - ce de e (ili do re mi)
Tn - tempo. n=br. četvrtina u minutu.
ima još mnogo toga - povisilica #+, snizilica #- itd.
basic.173drakce,
│ Problem je u tome sto ne radi dobro IF INKEY$. Naime, kada dodje do 360
└─────
INKEY$ samo ispita (i zapamti) da li je neki taster pritisnut, pa nastavi
dalje. Zato staviš jednu petlju u kojoj ćeš stalno ispitivati INKEY$. Takođe,
funkcijski tasteri daju tzv "extended code" pa im dodaš jedno CHR$(0) ispred.
Naprimer F1 je CHR$(0)+CHR$(59).
300 CLS
310 LOCATE 8, 25: PRINT "F1 ...o ovom programu"
320 LOCATE 9, 25: PRINT "F2 ...dokumentacija "
330 LOCATE 10, 25: PRINT "F3 ...biografski podaci o autoru"
340 LOCATE 11, 25: PRINT "F10 izlaz u DOS"
350 LOCATE 14, 20: PRINT "Izaberi"
355 KEY$ = INKEY$
360 IF KEY$ = CHR$(0) + CHR$(59) THEN GOTO 500
370 IF KEY$ = CHR$(0) + CHR$(60) THEN GOTO 600
380 IF KEY$ = CHR$(0) + CHR$(61) THEN GOTO 700
390 IF KEY$ = CHR$(0) + CHR$(68) THEN GOTO 800
395 GOTO 355
500 CLS : PRINT "F1 podaci o programu...": SLEEP 0: GOTO 300
600 CLS : PRINT "F2 podaci TI...": SLEEP 0: GOTO 300
700 CLS : PRINT "F3 biografija...": SLEEP 0: GOTO 300
800 CLS : INPUT "jesi li siguran (d/n)?"; d$
900 IF d$ = "d" THEN PRINT "BYE": SYSTEM: ELSE GOTO 300
BTW ne trebaju ti brojevi linija u Quick Basicu, al' o tom potom :)
Pozdrav
basic.174mladenp,
> 350 LOCATE 14, 20: PRINT "Izaberi"
> 360 IF INKEY$ = CHR$(59) THEN GOTO 500
> Problem je u tome sto ne radi dobro IF INKEY$. Naime, kada
> dodje do 360 linije, program ne ceka da ja pritisnem
> F1,F2,F3 ili F10, nego odmah ide na 500 liniju, kao da sam
> pritisnuo F1. A trebalo bi, naravno, da saceka moj izbor.
> Kako da resim ovo?
IF INKEY$ radi savršeno. Kada pozoveš funkciju INKEY$, ako je
neki taster pritisnut, ona vrati njegov kod, a ako nije,
vrati prazan string i ide dalje. Štos je u tome što ne čeka.
Ti moraš da obezbediš čekanje petljom iz koje se izlazi
ako je pritisnut neki taster. Na primer:
DO
Taster$ = INKEY$
LOOP WHILE (Taster$ = "")
Zatim idu grananja:
IF Taster$ = CHR$( itd.
Drugi način je naredbom KEY (). Pritiskom na funkcijski taster
poziva se odgovarajući potprogram.
basic.175glisin,
ŢŢŢ Odgovori: 170, 171, 172, 173, 174
Boga ti! Svi kao nešto pljuc BASIC, fuj BASIC etc... kad ono čovek postavi
pitanje i svi skoče za par sati "ja ja znam, evo, evo", jedva čekali! ;-)))
Ispade da nas par stvarno ne zna da napiše program u BASIC-u, nego samo tamo u
nekom C-u, Pacalu, Moduli, etc...
Hm... moraću da počnem da učim ;-)
ŢŢŢIGGYŮŮŮ
basic.176ivans,
* Ispade da nas par stvarno ne zna da napiše program u
* BASIC-u, nego samo tamo u nekom C-u, Pacalu, Moduli,
* etc...
Je l' ovo trebalo da bude duhovito? ;-)
basic.177mladenp,
> Hm... moraću da počnem da učim ;-)
Samo napred. Ako bude problema nemoj se ustezati da pitaš. ;)
basic.178ssokorac,
:> Hm... moraću da počnem da učim ;-)
Pa, basic spada u osnovnu kulturu zašto bi se i zvao BASIC? :)