Kirjoittaja |
Viesti |
JPQ
| Maanantaina, 1. maaliskuuta, 2004 - klo 1.29: | | Miksei tämä koodi luo tiedostoa ? FOsoit=WriteFile(0,"ram:tiedosto") FileOutput 0 For lask=0 To 16383 arvo=TriWv(lask MOD 255) Print Chr$(arvo) Next CloseFile 0 karsin tästä kaiken joka ei asiaan vaikuta pois. Eli neuvoja kaipaisin ja toiseksi yritin lukea taulukkoa tiedostosta sekään ei sujunut mikähän ihme tässä on.... eli esimerkki koodia ja muutakin apua kaipaisin. PS. Ei muuten kamalasti väliä mutta olisi kiva kehittää ideat blitz basicilla ja kääntää kun ne toimivat ne C kielelle ja syy miksi olisi kiva on osaan BB:tä tällä hetkellä paremmin. PPS. Te jotka mietitte mikä ihmeen TriWv niin se on Triangle Wave.
|
miksuh
| Maanantaina, 1. maaliskuuta, 2004 - klo 19.33: | | No mä en tunne Blizbasic:a ollenkaan, en ole koskaan sillä tehnyt mitään, eli tämä on vain arvailua ilman mitään sen kummempaa tietoa. Yksi asia pistää kuitenkin silmään. Rivin Print Chr$(arvo) olisi kai tarkoitus tulostaa arvo tiedostoon ? Mutta ainakin muissa ohjelmointikielissä tuossa lauseessa pitäisi olla jokin tiedosto- kahva/handle/osoitin. WriteFile() -lause palauttaa FOsoit:n, joka on kai tuommoinen kahva/osoitin avattuun tiedostoon ? Tosin sitten en ihan ymmärrä mihin tuota FileOutput 0 -lausetta käytetään... Eli ehkä sillon jotain tämmöistä voisi olla tarvis: Print FOsoit,Chr$(arvo) tai... Print 0,Chr$(arvo) En tiedä, mutta ehkä BlizBasic luo tieoston vasta kun sinne kirjoitetaan jotakin ? Tuo alkuperäinen Print() -lause näyttää siltä kuin se tulostaisi ruudulle jotakin. Tuossa ei kerrota mihin tulostus ohjautuu, vai tekeekö toi Fileoutput sen jotenkin ? Kuten näkyy minulla ei ole hajuakaan BlizBasicista
|
miksuh
| Maanantaina, 1. maaliskuuta, 2004 - klo 20.00: | | Hmmm toi 0 taitaakin ola jonkinlainen filehandle BlizBasicissa, päätellen siitä, että sulla on toi 0 CloseFile-lauseessakin. Paras kun joku muu yrittää selvittää tota Mä ajattelen selvästi liian C ja C++ tyylisesti
|
Joanna
| Maanantaina, 1. maaliskuuta, 2004 - klo 20.19: | | Monissa basikeissa se oli jotenkin tyyliin... Open #1,"file" Print #1,"mitä sinne piti tunkea" Close #1 Ainakaan niissä mitä minä tiedän noiden filedescien numerot alkoi ykkösestä ylöspäin, mutta eikai se kaikissa ole sama? Alla on suora esimerkki jonka lainasin Bliz3D:n on-line ohjeista. Se lienee lähinnä mitä nyt nurkistä löytyy vaikkakin PC:n versio on kehittynyt monelta osaa niin tuskin nämä asiat ovat paljon muuttuneet. ; Changing part of a file using OpenFile, SeekFile and WriteInt ; Open/create a file to Write fileout = WriteFile("mydata.dat") ; Write the information to the file WriteInt( fileout, 1 ) WriteInt( fileout, 2 ) WriteInt( fileout, 3 ) WriteInt( fileout, 4 ) WriteInt( fileout, 5 ) ; Close the file CloseFile( fileout ) DisplayFile( "The file as originally written", mydata.dat" ) ; Open the file and change the Third Integer file = OpenFile("mydata.dat") SeekFile( file, 8 ) ; Move to the third integer in the file WriteInt( file, 9999 ) ; Replace the original value with 9999 CloseFile( file ) DisplayFile( "The file after being midified", "mydata.dat" ) WaitKey() ; **** Function Definitions follow **** ; Read the file and print it Function DisplayFile( Tittle$, Filename$ ) Print tittle$ filein = ReadFile( Filename$ ) While Not Eof( filein ) Number = ReadInt( filein ) Print Number Wend CloseFile( filein ) Print End Function
|
JPQ
| Maanantaina, 1. maaliskuuta, 2004 - klo 20.31: | | Jos tarvitsette käskyjen parametrejä niin nekin voinen pistää. vaikka eipä teidän jutuista ole ainakaan vielä apua. ja toiseksi täytyy tässä ehkäpä kohta hommaa jatkaa.
|
allu
| Maanantaina, 1. maaliskuuta, 2004 - klo 20.58: | | moi JPQ, en ole ikuna blitzillä mitään tehnyt, mutta satun omistamaan bb2.1:en manuaalin. nopealla vilkaisulla koodisi näyttäisi olevan ihan oikein, paitsi ettet tarkista WriteFile:n paluuarvoa. ja sillä edellytyksellä, että file-numerona käytetty nolla on todellakin nolla. eli, vika saattaakin olla jossain muualla, esim. ram: levyssä. enivei, manuaalissa oli tälläinen esimerkki(sisennys näköjään katoaa johonkin Sakun syövereihin): If WriteFile(0,"phonebook.data") FileOutput 0 ResetList people() While NextItem(people()) For i=0 To #num-1:NPrint \info[i]:Next Wend CloseFile 0 EndIf ja kyllä, FileOutput asettaa Print:in ja NPrint:in ulostulon fileen. btw. jos TriWv() taulukkosi sisältää 256 arvoa, käytä "mod 256", jotta saat vielä sen viimeisenkin arvon fileen. ei tule rapinoita fileen ;).
|
JPQ
| Maanantaina, 1. maaliskuuta, 2004 - klo 22.27: | | allu: En ennenkään WriteFileen paluu arvoa ole tarkistanut eikä siitä ole hyötyä luulisin nytkään. noh kiitos siltikin ja yritän vielä kaikkea mitä keksin. tuota lainaamaasi koodiasi kokeilla varioida ja kokeilen myös bb2:een uudelleen masennusta josko se olisi jollain tavoin solumssa. mulla ainakin ennen tiedoston talletus ram levylle bb:stä sujunut ja ongelmani on koodauksesta on vaan pitkään. ja sisältäähän se 256 arvoa tuo taulukko. PS. mitens sulla tuon manuaali on? eikä ohjelmaa itseään lainkaan ?
|
allu
| Tiistaina, 2. maaliskuuta, 2004 - klo 0.33: | | JPQ: kyllähän se paluuarvo kilteissä ohjelmissa tietenkin pitää tarkistaa. ja näkeehän siitä bb:n näkemyksen siitä, saiko se filua auki vai ei. manuska väittää, että palauttaa -1 jos sai auki ja nollan, jos ei saanut. > ja sisältäähän se 256 arvoa tuo taulukko. juu, mutta sun indeksointi ei ota kuin 255 ensimmäistä arvoa sieltä. ps. on mulla ohjelmakin, tuli 1200:sen mukana. en vaan sillä ole mitään tehnyt.
|
JPQ
| Tiistaina, 2. maaliskuuta, 2004 - klo 3.17: | | allu: ymmärsin tuon ideksointi jutun ja kämmäsin myös siinä.
|
|