c.1ljubao,
Da li neko zna kako se podvlače slova u dijalozima ? Npr. taster OK,
podvučeno je 'O' => može da se izabere sa Alt O. Znate na šta mislim ?
Nešto sam gledao RSC fajlove programa kod kojih je ovo moguće i svi
imaju (čini mi se) '[' pre potrebnog slova. Sada, da li je to neki standard
ili neka fora u GEM-u za koju ne znam ?
Koliko ja znam tako nešto ne postoji u GEM-u, pa me zanima da li po-
stoji neki standardni način za to ili se svako snalazi kako zna i ume.
Ljuba
P.S. Ako je neko radio ovo, mogao bi i da objasni ukratko kako (što da se
mučim za džabe ;) ).
c.2lanik,
Moraš da imaš source FLYING DIALOGUES od Julian F. Resche-a, koji je
napravio rutine za dijaloge iz gemini-ja , Rufusa i drugih programa. One
omogućavaju da se dijalozi pomeraju po ekranu kao prozori i da su slova
podvučena te se biraju sa alernate.
Ipak, najlakše (i najbolje) je da koristiš FormDoIt, imaš ga u
ATARIST\UTILS ili ATARIST\UTILS\BOOT, čini mi se, koji omogućuje SVAKOM GEM
programu da se dugmići biraju na ovaj način (i još mali milion drugih
poboljšalnja, kao npr. ALT-nnn ti daje karakter nnn ASCII koda, bolje
editovanje texta, INSERT otvara prozor gde mišem možeš izabrati karakter koji
ne postioji na tastaturi i slično)
Imaš i Let 'em Fly, koji radi sličnu stvar, plus isto omogućava većini
dijaloga i svim alertima da "lete" preko ekrana :)
c.3ljubao,
Ako sam dobro shvatio nijedan program iz direktorijuma nema source, što
meni i treba. :( Ne sviđa mi se ideja, da uz moj program moram da imam i te
rutine u AUTO folderu.
A gde se može naći source koji si spomenuo ?
Ljuba
c.4lanik,
Što? FormDoIt _radi_ sa svakim programom. Samo ga staviš u AUTO folder, i
svaki GEM program dobije te opcije (tj. FormDoIt zameni form_do funkciju)...
To je mnogo "legalnije" nego pisati program koji će te opcije obezbediti
sebi... (i nijednom drugom :)
A za source, ne znam... možda bi trebalo kontaktirati direktno autora
e-mail-om... AKo je "dao" source autorima Rufusa i Gemini-ja, zašto ne bi i
tebi? :)
c.5ljubao,
Ko zna koja C funkcija nalazi string u stringu ? Probao sam
skoro sve funkcije i nema 'leba. 'Ajde pomagajte !
Ljuba
c.6madamov,
Nema, samo while petlja i strcmp ili memcmp.
c.7ljubao,
Da li neko zna šta po definiciji rade ove funkcije ?? Naravno, ne
zanimaju me 'obične' već ove sa 'i' u imenu jer sam zaboravio šta rade, a
mrzi me da eksperimentišem.
int strcmp( const char *s1, const char *s2 );
int stricmp( const char *s1, const char *s2 );
int strcmpi( const char *s1, const char *s2 );
int strncmp( const char *s1, const char *s2, size_t n );
int strnicmp( const char *s1, const char *s2, size_t n );
int strncmpi( const char *s1, const char *s2, size_t n );
Ljuba
c.8madamov,
One sa i su case insencitive, znači kod upoređivanja ignorišu da li su u
pitanju mala ili velika slova, tj. sa njihovog stanovištva string SaRaJeVo je
isti kao i sarajevo, SARAJEVO, SAraJevo itd.
c.9ljubao,
Evo vam par funkcija za Turbo C koje će vam možda trebati.
- int str_iyu_cmp(char *s1, char *s2)
Radi isto što i original, samo što vraća rezultat po ćirilici (služi za
sortiranje po ćirilici a ne abecedi). Ne pravi razliku između malih i velikih
slova.
- int to_yu_upper(int c)
Zna se šta radi, samo uzima u obzir i naša slova.
- int to_yu_lower(int c)
- int is_yu_upper(int c)
- int is_yu_lower(int c)
- int is_yu_alpha(int c)
- int is_yu_alnum(int c)
Ove isto rade poznatu stvar i uzimaju u obzir i naša slova. I zadnje dve
koje u stvari potprogrami glavnoj str_iyu_cmp funkciji, ali sam ih napisao
tako da mogu da se posebno pozivaju.
- int to_yu(int c)
Ova funkcija vraća za zadato slovo njegov kod po ćirilici. Npr. za č će
vratiti H jer je
ABVGDĐEčZI...
ABCDEFGHIJ...
^
Nadam se da je jasno šta sam hteo da kažem. I na kraju
- int check(char *s)
koja radi isto što i funkcija to_yu, samo što uzima u obzir i lj, nj i dž
i vraća njihove 'kodove' po azbuci.
To bi bilo to. Sve je napisano u asembleru i radi po YUASCII rasporedu.
Ako ovo nekoga zanima i ima neku muzičku želju neka požuri dok još imam
Atari.
Ljuba
str_yu.oc.10radek,
Kako da kompajliram programe u turbo C-u 2.01?
Koje parametre treba postaviti u "OPTIONS"?
Kada pokušam da kompajliram ispisuje nešto kao:
Warning A:\<dir>\<prog>.c 5: Function should return a value in function main
Pozdrav svim atariSTima
radek
c.11madamov,
Trebalo bi da daš detaljniji opis. Sigurno je da si deklarisao neku
funkciju koju pozivaš tako da vraća neku vrednost, a u njoj ne postoji return
naredba.
c.12lanik,
Samo na kraju funkcije ubaci liniju
Return 0;
i vozdra! ;))
c.13radek,
Jedina funkcija u "programu" je bila printf("Zdravo, C-programeri");
ali ja sam sve do sada mislio da mi je kompajler neispravan, i digo
ruke od C-a.
Sa Return 0; kompajler je proradio B)).
Hvala na odgovorima a sad odoh da se bacim na CCCC...
pozdrav Radek
c.14madamov,
žudno. Da nije umesto void main(void) stajalo int main ili slično? Ili ti
je i printf bio u nekoj funkciji?
c.15lanik,
Pa morao je on da radi i bez tog Return 0; ali sa prijavljivanjem
"Warning"-a...
c.16radek,
E sad mi tek ništa nije jasno. Kompajler je stvarno radio i ranije (uz
warning). Sa funkcijom <return 0;> je kompajlirao i programu dao ekstenziju
.prg, ali je prilikom poziva programa dao TOS grešku 35. Posle sam nešto
petljao u meniju <Options> pa mi je kompajliranom programu davao ekstenziju
.O ?! Evo čitavog programa:
#include "stdio.h"
main()
{
printf("Zdravo, C-programeri.");
return 0; /* Ovo sam dodao naknadno */
}
Koristim knjigu M.Šolajića "C korak po korak" (AMIGA,ATARI,PrC) i u njoj stoji:
"Otkucajte sledeći program onako kako je izlistan, prevedite ga C kompilatorom
i onda startujte."
Šta treba da radim pa da na monitoru dobijem tekst iz programa? Nekako
mi je glupo da dalje učim C funkcije a da ne mogu da vidim šta u stvari
dobijam.
Postoji li neka bolja knjiga o C-u ili je i ova dobra (a ja loš :().
pozdrav radek
c.17madamov,
>> E sad mi tek ništa nije jasno. Kompajler je stvarno radio i ranije
>>(uz warning). Sa funkcijom <return 0;> je kompajlirao i programu dao
>>ekstenziju.prg, ali je prilikom poziva programa dao TOS grešku 35. Posle
>>sam nešto petljao u meniju <Options> pa mi je kompajliranom programu
>>davao ekstenziju.O ?!
Uh, ti nešto strašno pogrešno radiš. Kompajler ni ne treba da ti
napravi program, to ti uradi linker, a kompajler mu pripremi object fajl.
Kao prvo, napravi project fajl za svoj program. Neka se tvoj C kod nalazi
u fajlu sa imenom program.c. Napravi sledeći PRJ fajl:
program.prg
=
tcstart.o
program.c
tcstdlib.lib
i snimi ga kao PROGRAM.PRJ, najbolje u isti folder gde ti je PROGRAM.C.
Zatim idi u Link meni ili već kako se zove i odaberi opciju Select PRJ.
Kad ti se pojavi file selector pronađi PROGRAM.PRJ koji si malopre
napravio i selektuj njega. Od sada na dalje sve što budeš linkovao,
povezivaće se prema onome što si stavio u taj PRJ fajl. Ukoliko nema
grešaka prilikom kompajliranja, u istom folderu gde ti je PROGRAM.C
dobićeš izvršni fajl PROGRAM.PRG.
>> #include "stdio.h"
>>
>> main()
>> {
>> printf("Zdravo, C-programeri.");
>> return 0; /* Ovo sam dodao naknadno */
>> }
Sad mi je već jasnije zašto ti je javljao onaj warning. Kao prvo,
return 0 ti uopšte ne treba. Umesto main() stavi void main(void) i
slobodno možeš da izbaciš return 0. Koliko vidim, tek počinješ da učiš C,
pa bih ti preporučio da odmah učiš po ANSI standardu i da, za prvo vreme
dok ne počneš da se srećeš sa tuđim sourcevima, zaboraviš na K&R standard
po kome je knjiga iz koje učiš pisana.
>> Postoji li neka bolja knjiga o C-u ili je i ova dobra (a ja loš :().
Bolja knjiga postoji i treba da je kupiš što pre. Knjige domaćih
autora o C-u nisu za neku pohvalu. Pronađi knjigu (tzv. Bibliju) od autora
samog programskog jezika C, The C programming language, najbolje drugo
izdanje (second edition) gde je definisan C po ANSI standardu. Ta je
najbolja, možda ne za učenje, ali je najbolja jer su je pisali ljudi koji
su napravili C jezik.
c.18ljubao,
** # include "stdio.h"
** main()
** {
** printf("Zdravo, C-programeri.");
** return 0; /* Ovo sam dodao naknadno */
** }
Prvo, druga linija citata treba da bude int main(void) i onda ti
neće prijavljivati nikakve greške, a preporučio bih ti (pošto tek počinješ)
da uključiš najveći warning level i navikavaš se na ANSI C.
Već sam malo zaboravio kako sam radio u TC-u, ali probaću da se
setim.
Elem, najbolje je da radiš preko PRJ fajla. Učitaj default.prj i
ispod TCSTART.O (ako se ne varam) dopiši imena tvojih *.O fajlova koji treba
da se linkuju.
To ti je dovoljno za početak, a kasnije možeš da prepravljaš PRJ
fajl prema potrebi (koji fajlovi treba da se kompajliraju, možeš da izbaciš
neke biblioteke, npr. za rad sa float brojevima itd.)
Uostalom, u PRJ imaš komentare pa se muči malo. Što se tiče one
poruke TOS-a, stvarno se ne sećam šta znači.
I na kraju, sistemske hedere piši #include<*****.h> da bi ih
tražio u direktorijumu koji takođe možeš da promeniš.
Ljuba
c.19radek,
H V A L A S V I M A !
RADEK
c.20madamov,
Nema na čemu, samo ti pitaj ako ti još nešto zatreba.
c.21voskresenski,
Jel ima neko HELP za TC2.0 na ENGLESKOM? (jes da se iz poziva svasta moze
primetiti ali bih ipak preferirao da sve sto je ispod i razumem a da pri tom ne
ucim nemacki)
pozdrav: iksneserksov
c.22madamov,
Help na engleskom za Turbo C nema niko, jer ne postoji. žak i kad
kupiš Turbo C (sad se zove Pure C) u SAD od američkog zastupnika nemačke
firme koja ga je napisala, dobijaš uputstvo i help na nemačkom. Na žalost,
moraćeš da se snalaziš sa ovim helpom. Ja sam se navikao i, veruj mi, nije
frka. Ako imaš neki konkretan problem, rado ću pomoći ako mogu. Samo pitaj
šta god te zanima.
c.23voskresenski,
Toga sam se i bojao, znaci nema TC engleskog helpa. Fala na ponudjenoj pomoci,
ako mi zafali nesto kukacu. Za{ada ide ko sto ti rece bez vecih problema ali
english is englesh, a, deutch ist deutch...
pozdrav svima: iksneserksov
c.24madamov,
Na žalost, tako je. Ne sumnjam da ćeš se brzo naviknuti.
c.25madamov,
Kao što sam obećao, evo i Atari ST verzije Filer-a. Vrlo je slična
(vizuelno i koncepcijski) onoj sa Macintosha. U arhivu sam kao i kad sam
poslao Mac verziju strpao i C source i to najviše zbog toga da vidite jedno
rešenje problema za fsel_exinput i fsel_input o kome smo nedavno
raspravljali. Napisao sam funkciju koju pozivam na mestu gde bih inače pozvao
fsel_exinput ili fsel_input. Ona ispituje da li je verzija TOS-a niža od 1.4
i onda poziva odgovarajući fsel_. Uz to, ona ima još jedan parametar kojim
joj prenosimo podatak da li pozivamo file selector da bi nešto snimili ili
učitali. Ako je ono prvo, posle pozvanog fsel_, ispita da li odabrani fajl
već postoji i korisniku prikaže alert sa pitanjem da li želi da uradi
"replace" tog fajla. Klik na Yes znači da hoće (znači isto on što je već
odabrao u fsel), a ako klikne na No funkcija vraća vrednost kao kada fsel
vrati vrednost posle klika na Cancel u file selectoru. Ukoliko je funkcija
pozvana za učitavanje ispituje da li odabrani fajl postoji. Ako ne postoji
vrati vrednost kao da je kliknuto na Cancel u file selectoru. Mislim da ću
ubaciti još jedan parametar u kome će vraćati već namešten path i ime fajla,
a ne samo odvojeno path i ime, jer se uglavnom posle poziva file selectora
manipuliše sa ta dva stringa da bi se namestilo kompletno ime fajla sa
pathom. Tvorci GEM-a su očigledno mislili da će se prvo pozivati SetPath pa
onda otvarati fajl, što je nezgodno kad se radi u ANSI C-u i kad se želi
imati prenosiv source. Eto, to je to, probajte malo, a ako modulator misli da
ovo zaslužuje u direktorijum, ja mu se zahvaljujem. B)
c.26lanik,
>> Eto, to je to, probajte malo, a ako modulator misli da ovo zaslužuje u
>> direktorijum, ja mu se zahvaljujem. B)
How yes no, how yes no! Svaka čast na izuzetno korisnom i (po meni,
još važnije) _pravom_ GEM programu!
Ako nije rano za sugestije, možda bi u "settings" mogla da postoji i
opcija koja bi označavala da ne treba da pita posle pisanja svakog dela
fajla za potvrdu njegovog imena već da odmah upiše sve delove bez ikakovog
confirm-a?
--> Well, as long as there's sex and drugs,
--> I could do without the rock 'n roll.
c.27madamov,
>>How yes no, how yes no! Svaka čast na izuzetno korisnom i (po meni, još
>>važnije) _pravom_ GEM programu!
Hvala, hvala. Kad imaš Mac-a pored sebe prosto si nateran da pišeš i
prave GEM programe. Nije da to nisam činio i ranije, ali mi je sada lakše
kad imam toliko primera Mac softvera.
>>koja bi označavala da ne treba da pita posle pisanja svakog dela fajla za
>>potvrdu njegovog imena već da odmah upiše sve delove bez ikakvog
>>confirm-a?
Što bi se reklo, biće u sledećoj verziji. A ako budem raspoložen,
možda ubacim i neke batch fajlove koje bi snimao na disketu ili disk
zajedno sa output fajlom kod splita da bi posle samo startovanjem njega
spojio te fajlove.
Nego što ne ubaci u opis da je tu i source u arhivi?
c.28madamov,
Potkrala mi se greška prilikom uplaoda, nedostaje jedan heder. Evo
ispravljene arhive. Inače, taj heder držim među ostalim standardnim hederima i
već sam počeo da mislim na njega kao na standardni Turbo C-ov heder.
c.29lanik,
EVo ga onaj heder o kome smo pričali preko telefona, sa svim tasterima...
keycodes.zipc.30madamov,
Hvala, imaš li još nešto slično? Mislim na neke sources i slično?
c.31madamov,
Jeste da je iz imena jasno šta je, ali napiši i opiši o čemu se radi, otkud
ostali da znaju šta ti i ja pričasmo preko telefonske žice? B)))
c.32madamov,
halo, modulatore, nedostajeu opisu filera da ne samo što deli, već i spaja
fajlove. Nemoj da se brineš, ja samo nešto da ti zamerim. B)))
c.33lanik,
Ima, šta te interesuje? ;))
c.34lanik,
Yes, ali drugi put, malo me zamara pisanje on-line zbog djubreta...
c.35lanik,
Well, nije bilo mesta u jednoj liniji. Ako te ne mrzi, napiši long opis od
nekoliko redova pa ću da ga prikačim - ko je bolji za pisanje opisa od autora
programa!! ;))
c.36madamov,
>>Ima, šta te interesuje? ;)
Kaži mi prvo šta imaš, a svaki PD source je dobro došao, pogotovo ako
mu je tematika GEM.
c.37madamov,
>>Yes, ali drugi put, malo me zamara pisanje on-line zbog djubreta...
Nema frke, samo nam se ti dobro odmori ... i kupi konačno MNP modem!
B))))
c.38madamov,
Napisaću ga, ali program nije toliko komplikovan da mu treba long
opis baš toliko. Šta misliš da usvojimo neke standarde za označavanje
datoteka u short opisu, recimo $C ili $MOD ili $GFA ili $S ako arhiva ima i
source u C-u, Moduli 2, GFA Basicu ili asembleru i slično. Ovaj fazon sam
video na nekom BBS-u u USA, čini mi se.
c.39mrbin,
Da li neko zna kako da u svojim C programima koristim semplovane zvukove
ili pesme koje su kreirane nekim programom za muziku (kao što je ST Sound
Machine ili Pro Sound Designer). Takođe i čemu služi opcija Compile u ST
Sound Machine.
c.40madamov,
Vrlo teško, ako nemaš neku biblioteku sa funkcijama za reprodukciju istih.
Možda će Dule moći nešto više da ti kaže o "sviranju" iz tvog programa, on se
time baktao koliko sam upoznat. Doduše u mašincu, ali nije teško sa TC-om
polinkovati sve to zajedno.
c.41mrbin,
Hvala, nisam ni mislio da će moći sa jednom funkcijom sve da se reši
(mada bi bilo dobro), niti mi je sve to puno potrebno. Samo sam radoznao.
Hvala na odgovoru u svakom slučaju.
c.42madamov,
Nema na čemu. I ja se slažem da bi bilo lepo da kao na Mac-u samo
kažeš PlaySound("A:\PESMA.SND") ili slično, a da to stvarno svira, a ne
proizvodi tamo neki bip.
c.43madamov,
Ljudi, evo jednog problema čudne prirode. Da li je, što bi se reklo,
bug ili feature Turbo C-a? Napiše jedan moj drugar ovo parče koda:
#include <stdio.h>
void main(void)
{
float prvi, drugi;
prvi = (3/4)*3.0;
drugi = ((float)3/4)*3.0;
printf("3/4 = %f ... (float)3/4 = %f",prvi,drugi);
}
i napravi ovakav PRJ:
float.tos
=
tcstart.o
*
tcfltlib.lib ; ovo mora pre stdlib zbog printf sa float parametrima
tcstdlib.lib
tctoslib.lib
I ubi se da mu to proradi, stalno je dobijao poruke od linkera u
stilu: "Doubly defined symbol taj i taj!" ili "Undefined symbol taj i
taj!". Pošalje on meni sve to da probam kod sebe i stvar proradi iz prve,
dobijem float.tos koji radi ono što treba da radi. Iako smo 100% sigurni da
imamo iste verzije TC-a, pošaljem ja njemu tcstart.o, tcfltlib.lib,
tcstdlib.lib i tctoslib.lib koje ja koristim, ali se opet desi ista stvar.
Zatim se ispostavilo da ne samo da imamo iste verzije TC-a, već i istu
verziju TOS-a. Proverimo compiler i linker options i on namesti sve
identično što imam i ja. Odgovor pogađate, opet nije proradilo. Zatim on
prebaci bekap TC-a sa diskete misleći da je došlo do oštećenja nekog fajla
ili ko zna čega, ni sa njegovim ni sa mojim bibliotekama nije proradilo.
Ostalo je još da mu pošaljem ja svoj TC.CFG. I gle čuda, kad je ubacio moj
TC.CFG stvar je proradila! Vrlo čudno, šta to još osim compiler i linker
options (koje su mogle da utiču na sve ovo) i nekih path-ova može da bude
zapisano u TC.CFG? Jeste da je moj TC.CFG bio duži od njegovog, ja sam
mislio da je to zbog razlike u pathovima, ali izgleda da nije. Da li je
neko voljan da proba ovo parče koda sa ovim PRJ-om? A uz poruku kačim i moj
TC.CFG, za svaki slučaj.
tc.cfgc.44mrbin,
Da li neko može da mi kaže kako i gde Tos funkcija Ikbdws(int, void *)
vraća paket informacija.
Takođe me interesuje kako da promenim rutinu za joystick. U SK 2/90
Ivan Vujisić je napisao članak "ST joystick" (za postavljanje svoje rutine
za joystick). Probao sam, i nije radilo. Kako to treba da se napiše?
c.45madamov,
********
Da li neko može da mi kaže kako i gde Tos funkcija Ikbdws(int, void *) vraća
paket informacija.
********
void Ikbdws(int number, void *pointer) - This XBIOS function serves to
transmit commands to the keyboard processor (intelligent keyboard). The
parameter pointer is address of a string to be sent, number is length of a
string minus 1.
Atari ST Internals
Dakle, ova funkcija ništa ne vraća, već šalje komande tastaturnom
procesoru. Jednom rečju, takoreći neupotebljiva za obične smrtnike kao što smo
mi.
c.46dusan,
>>Dakle, ova funkcija ništa ne vraća, već šalje komande tastaturnom proc..
>>Jednom rečju, takoreći neupotebljiva za obične smrtnike kao što smo mi.
Možda je neupotrebljiva za vas smrtnike ali za nas hackere to je peace of
cake ;))) Funkcija šalje 25 postojećih naredbi procesoru tastature i svaka
ima svoj kod i objašnjenje šta radi.
kod objašnjenje:
07 Postavlja indikator stanja kad je aktivan miš taster.
08 Izveštaj o relativnoj poziciji miša.
09 Izveštaj o apsolutnoj poziciji miša.
10 Izveštaj o kretanju miša kusor tasterima.
11 Memorisanje kretanja miša.
12 Postavljanje razmere za kretanje miša.
13 žita se trenutna apsolutna pozicija miša.
14 Setuje unutrašnji koordinatni sistem.
15 Y coor skok
16 Y source above
17 Otključava prenos podataka (posle #19)
18 Mouse off.
19 Zaključava prenos podataka.
20 Izveštaj o kretanju palice.
21 Isključuje funkciju #20 i miša.
22 Prenos pozicije palice.
23 Praćenje palice kontinualno.
24 Kontinualno praćenje tastera palice.
25 Praćenje palice aktiviranjem kusor aktivnostima.
26 Joystick off.
27 Setovanje vremena i datuma.
28 Stanje trenutnog vremena.
32 Unos memorije tastature.
33 žitanje memorije tastature.
34 Startovanje programa u procesoru tastature.
Eto toliko. Samo radi informacije: Postoji hardverski projekat koji se
kači na procesor za tastaturu i ima svoju bateriju tako da prilikom samog
uključenja računara startuje program koji se nalazi u memoriji tastaturnog
procesora. Možete napraviti svašta, npr. unos šifre da bi se digao
sistem.
c.47mrbin,
Hvala na odgovorima, u umetku Računara Tos za programere sam video kako
se šalje program tastaturnom procesoru (probao sam i sve je radilo kako treba),
ali mi nije jasno gde se vraća paket informacija koje su rezultat tog programa.
c.48dusan,
Procesor tastature komunicira sa sistemom a korisnik ili ti programer nema
pojma šta se u tom trenutku dešava. Bez veze, ja bih ipak mogao da nateram
porcesor tastature da komunicira sa mnom ;)))
c.49madamov,
******
Možete napraviti svašta, npr. unos šifre da bi se digao sistem.
******
I ubaciti virus u tastaturni procesor. B))) Što nisi ranije ostavio ovo da
se malo poigram sa tastaturnim porcesorom, sad je kasno, jer ...
---> Right now, I have no Atari on my desk
c.50madamov,
Dule, šta bi sa onim playem? Sad videh fajl u mailu (malo sam listao stare
poruke) i videh tamo pa da pitam jesi li završio.
c.51dusan,
Uh! ja i zaboravio na to. Sve mi stoji onako djuture na hardu u jednoj
particiji i čeka tebe da ga ponovo prepraviš (znaš ono addr i dužina) ;))
c.52madamov,
Hajde ga baci u mail pa ću od Prote da ga skinem i tamo prepravim. Nisi mi
još odgovorio koji je opseg brzine svirke da ubacim u onaj demo player.
c.53tigor,
Je li sam bag Turbo C-a 2.0 ili samo moje verzije to sto kada ucitam is-
ti, prvo startovanje prevedog programa iz njegove radne okoline ignorise
svaki moguci ispis? (kasnije sve lepo radi!)
_the_
c.54madamov,
******
Je li sam bag Turbo C-a 2.0 ili samo moje verzije
******
Prvo isključi sve ACC-e i AUTO programe pa onda probaj da li će da radi. ja
uopšte nisam mogao da startujem program iz TC Shell-a dok nisam isključio
QuickST (radi se o TOS 1.4). Ako ne radi, onda je bag TC 2.0, ako radi neko
drugi je kriv.
c.55lanik,
Meni TC 2.0 radi sa NVDI-jem kako treba, verovatno je neka greška sa Quick
ST-om ili Turbo ST-om...
c.56madamov,
******
Meni TC 2.0 radi sa NVDI-jem kako treba, verovatno je neka greška sa Quick
ST-om ili Turbo ST-om...
******
To i ja kažem pa sad stalno kad ulazim u TC kod Prote izbacujem Quick ST.
Prvenstveno zbog debuggera, program i onako startujem pošto izađem iz TC
shell-a, osim ako se ne radi o nekom trivijalnom TOS ili TTP programu.
c.57tigor,
>> Prvo iskljuci sve ACC-e i AUTO programe pa onda probaj da li ce da radi.
Pa... sto se tice ACC - to nije u pitanju (nemam ih)... a za auto programe
bas i nisam siguran. Imam naime u auto folderu maxidisk.prg ali sa njim mo-
ram jer nemam hard disk. Uostalom, on mi lepo radi i na moduli i na paska-
lu, prologu, lispu, flash-u (?) ...
c.58dusan,
Imam source u C-u za ucitavanje GIF-ova i to pakovane sa GIFLITE tj 89a
verzija! Pisan je na PrCu i onaj ortak koji je to pisao je totalan manijak i
neznalica, mada je na toj masini sve ionako glupost. Zezao sam se dosta sa tim
sourceom i jos uvek zajebava. Ima li dobrovoljaca da vidi to i malo procacka?
c.59madamov,
******
Ima li dobrovoljaca da vidi to i malo procacka?
******
Hajde ga baci u mail, pa ću da ga pogledam kad budem imao vremena.
c.60tigor,
Ovako... Poceo sam pre neki dan da radim na T.C-u i zaglavilo oko AES
funkcija za rad sa dijalozima. Sve je OK( i kada sam uradim i kada ucitam
RSC) ali iscrtavanje dijaloga nikako ne ide. Koliko znam, za to sluzi
objc_draw( br_dialoga,pocetni_objekat,dubina_iscrtavanja, ... )
ali... jok! Probao sam i sa form_dial ali nista...
Ako moze neko, ajd' nek' ostavi ukratko postupak ili u cemu je vec greska!
Pozdrav.
c.61lanik,
>> Sve je OK( i kada sam uradim i kada ucitam RSC) ali iscrtavanje
>> dijaloga nikako ne ide. Koliko znam, za to sluzi objc_draw
Aha, i ide otprilike ovako:
form_center( dialog, &x, &y, &w, &h );
form_dial( FMD_START, x, y, w, h, x, y, w, h );
objc_draw( dialog, 0, 2, x, y, w, h );
/* Ovde se predaje kontrola AES-u */
form_do( dialog, 0 );
/* ako imas unos texta ili button-e u dialogu, ovde ih treba
"procitati" */
form_dial( FMD_FINISH, x, y, w, h, x, y, w, h );
--> Keyboard? How Quaint!
c.62madamov,
******
objc_draw( br_dialoga,pocetni_objekat,dubina_iscrtavanja, ... )
******
Prvi parametar nije broj dijaloga, već adresa dijaloga (pointer na dijalog
ili ti OBJECT *). Verovatno da ti je ovde greška, jer to je jedino mesto gde bi
mogao da se zaglavi. Pre onog klasičnog dela za prikaz dijaloga ili objekata na
ekranu sa objc_draw, tj. na samom početku, dakle i pre bilo kog form_dial i
form_center, treba sa jednim rsrc_gaddr da proneđeš adresu dijaloga pa onda nju
da prenosiš kao parametre ostalim funkcijama. Ako si stavio broj dijaloga
umesto toga onda si skoro sigurno otišao u prva 1024 bajta memorije kojima se
kod Motorole isključivo može pristupiti samo iz Supervisor moda pa otud
zaglavljivanje.
c.63madamov,
******
form_do( dialog, 0 );
/* ako imas unos texta ili button-e u dialogu, ovde ih treba
"procitati" */
******
Ako ima editable polja u dijalogu onda umesto nule mora da stoji indeks
(broj) prvog takvog objekta u dijalogu da bi AES znao gde da postavi onu tarabu
za unos.
c.64tigor,
>> Aha, i ide otprilike ovako:
>> form_center( dialog, &x, &y, &w, &h );
>> (...)
OK. Hvala. Mada mi i dalje nije jasno zasto moja verzija nije radila???
Sve je bilo isto osim form_center koga nisam zadao, jer nisam ni hteo da
postavim dijalog na sredini ekrana vec onako kao je definisano u RSC...
I jos nesto! Otto RCS pomalo "brlja"( da li brlja? ) sa W i H parametrima
objekata i u C source postavi cudne vrednosti. Mislim da bi W i H trebalo
da budu izrazeni u pikselima a on ih daje ili kao br. kolone i br. reda ili
vrati int vrednosti u opsegu 1000-3000( ? )... Sta je u pitanju?
I ima li nacina da iz C-a konvertujem ove koordinate u podesnu formu?
Da, da ne zaboravim! Na sta pokazuje OBSPEC za G_BOX? Izvinjavam se sto pi-
tam ovakve banalnosti ali na zalost trenutno nemam nista pri ruci vezano za
T.C.
Pozdrav.
c.65lanik,
Znam, ali me je (po običaju) mrzelo da pišem vise o tome ;)) a i ceo primer
je bio bez tih zezalica za čitanje editabilnih tekst polja i tastera, pa nisam
heto da komplikujem (evo sad potroših silne kilodžule kucajuci) ;))
c.66madamov,
******
Otto RCS pomalo "brlja"( da li brlja? ) sa W i H parametrima objekata i u C
source postavi cudne vrednosti. Mislim da bi W i H trebalo da budu izrazeni u
pikselima a on ih daje ili kao br. kolone i br. reda ili vrati int vrednosti u
opsegu 1000-3000( ? )
******
To je radio i RCS2. I to namerno rade i treba tako. Zašto? Zato što time
možeš na mono monitoru da napraviš RSC za kolor monitor, za bilo koju veličinu
(rezoluciju) monitora, tj. iz svog C programa pomnožiš te vrednosti sa 8 ili 16
u zavisnosti o kakvom se monitoru radi. Ovako ako bi odmah upisivao vrednosti
koje stvarno imaš ti na mono monitoru, nekom sa kolor monitorom bi moglo da se
desi da tvoj dijalog ode sa ekrana. Još ako nemaš default exit objekat u
dijalogu može da mu se desi da mora da resetuje kompjuter, jer ne može mišem da
klikne na izlazni objekat kog ne vidi. Vrednosti su velike jer stavljaju u
Intel formatu, prvo niži pa viši bajt.
c.67madamov,
******
Na sta pokazuje OBSPEC za G_BOX?
******
Ne pokazuje ni na šta, tu je samo jedna long vrednost. Ne mogu da se setim
šta znači, morao bih da pogledam, ali nemam na čemu dok ne odem do Prote.
Prošvrljaj malo po helpu i OBJECT strukturi.
c.68tigor,
>> Vrednosti su velike jer stavljaju u
>> Intel formatu, prvo nizi pa visi bajt.
Koliko se secam, Otto RCS ima u OUTPUT FILES opciju da se ovakav( Intelov )
zapis ukljuci/iskljuci. Kod mene to nije aktivirano, dakle nije to u pitanju.
I jos nesto! Mislim da sam video kod GFA da tamo rsrc_load, odnosno rsrc_
_obfix vrsi konverziju ovih koordinata u vec odgovarajuci zapis. Ima li toga
i u T.C-u ( ako je i prvo tacno? ) ???
c.69tigor,
>> Prosvrljaj malo po helpu i OBJECT strukturi.
Cackao sam! Uradio n-ti broj RSC sa razlicitim G_BOX-ovima i pronasao po
nesto. Hvala!
c.70madamov,
******
I jos nesto! Mislim da sam video kod GFA da tamo rsrc_load, odnosno rsrc_obfix
vrsi konverziju ovih koordinata u vec odgovarajuci zapis. Ima li toga i u T.C-u
( ako je i prvo tacno? ) ???
******
Ima, jer je to u AES-u, samo rsrc_load ti ne vredi kad imaš resource u C
source, onda ni ne radiš load, jer ti je resource alociran u samom PRG fajlu.
Za rsrc_obfix sam samo pročitao, ali nikad nisam probao, uvek sam prvo
pronalazio rezoluciju u kojoj sam, pa onda u zavisnosti od nje množio
koordinate objekata sa 8 ili 16.
>>> Modes are most confusing when you're in wrong one.
c.71mrbin,
Koji C++ compiler za ST mi preporucujete ( i kako mogu da ga nabavim )?
Video sam da ima i PD C++, da li ga neko ima?
c.72madamov,
Ja sam se nakanjivao da skinem GNU C++, ali nikada to nisam uradio. On je
PD, kao i sve što ima GNU u svom imenu, ali ti za bilo kakav rad sa GNU
kompajlerima treba hard disk i bar 2Mb RAM-a, to su govorili svi u onim
Digestima i online časopisima. Ne znam da li ga neko ima, ali ti se pridružujem
u potrazi za istim.
c.73mrbin,
Kako se isključuje sistemski bafer za datoteke otvorene sa Fopen, odnosno
kako se fflush-uju baferi? Probao sam standardnu c funkciju fflush(FILE *p),
kao i isključivanje bafera sa setbuf(p, NULL), ali izgleda da to ne važi za
sistemski bafer. Sve to sam probao sa Turbo C-om.
c.74ognjan,
>> kao i isključivanje bafera sa setbuf(p, NULL), ali izgleda da
>> to ne važi za sistemski bafer. Sve to sam probao sa Turbo C-om.
Pa nema ni logike da ti dozvoli potpuno ukidanje bafera. Kako bi
onda citao datoteku? Bajt po bajt? :))
Ogy.
c.75mrbin,
Da li neko ima Pure C ili neki C++ ?
c.76madamov,
Danas se igrah malo sa Pure C-om. Izvanredan je, pravi manji kod od TC 2.0,
što se moglo i očekivati. Nisam bio u mogućnosti da isprobam nove funkcije jer,
jelte, nismo svi srećnici sa najnovijim verzijama TOS-a, ali ih ima dosta. Sve
u svemu, Kermite, očekuj člančić ovih dana.