Haku ei minua paljoa auttanut, koska en tiedä millä nimellä voisin tätä kutsua. Eli siis kyse on Qbasicissa STRING - muuttujista, joihinka ladataan asetuksia ja annettuja komento. Niissä on tietty merkki. Esim. =, / tai joku muu joka sitten pitäisi tunnistaa, ja siitä kohtaa laittaa muuttuja joko kahteen osaan. Tahi sitten tunnistaa muuttuja valitsimeksi. Sekä muita merkkihommia. Eli tälläiseen tyyliin:
[CONFIG] DIR=FILES /OP
Asian ymmärtävät tajuavat mitä haen takaa. Valitettavasti en tunnu kuuluvan tuohon joukkoon, jotenka toivoisin pieniä koodivinkkejä. Mitä pienempi vinkki sen parempi. En kuitenkaan usko että tästä nyt mitään isoja vinkkejä ilmaantuu. Kiitokset jo etukäteen kuitenkin..
-Grey-
Ymmärrän mitä tarkoitat ja voisin selittää sen ehkä hieman eri tavalla jos sitten muutkin tajuaisivat sen helpommin.
Eli kyseessä on merkkijonon pilkkomista. Täysin samaan tapaan kuin PHP:ssä "explode()"-funktiolla. Merkkijonot tarvitsisi pilkkoa joko "=" tai "/" merkkien kohdalta.
Juu ja QB:ssä pilkot ne helposti MID$ ja INSTR -funktioiden yhteiskäytöllä (mahdollisesti myös LEFT$ ja RIGHT$)
Veikkaan että olet jo niihin ehkäpä tutustunut, jos et ole niin https://www.ohjelmointiputka.net/hak/?kieli=QBasic&alue=Merkkijonot
En nyt muista, mutta olikohan QBasic:ssa SPLIT-funktiota kuten VB:ssä? Tekee ainakin VB:ssä saman kuin PHP:n explode() funktio joka pilkkoo merkkijonot taulukkoon tietyn erotinmerkin mukaan.
Mikäli itse haluat tehdä oman funktion sitä varten niin ehkäpä tämä kirjoittamani koodivinkki VB:lle _voi_ auttaa siinä: https://www.ohjelmointiputka.net/koodivinkit/
lainaus:
En nyt muista, mutta olikohan QBasic:ssa SPLIT-funktiota kuten VB:ssä?
Ei.
SPLIT-funktion vastineen tekeminen QBasicille voi olla hankalaa, koska funktio ei pysty palauttamaan taulukkoa. Mutta tässä lyhyt tapa jakaa merkkijono osiin tiettyjen merkkien kohdalta. Merkkijonon osat tulevat silmukassa o$-muuttujaan ja viimeinen (tai ainoa) osa jää lopuksi j$-muuttujaan.
j$ = "EKA=TOKA=KOLMAS" 'jaettava merkkijono e$ = "=" 'erotinmerkki k% = INSTR(j$, e$) 'ensimmäisen erotinmerkin kohta DO WHILE k% 'jatketaan, kunnes erotinmerkkejä ei ole (k% = 0) o$ = LEFT$(j$, k% - 1) 'osa ennen erotinmerkkiä PRINT i%; o$ 'tulostetaan laskuri ja osa j$ = MID$(j$, k% + 1) 'merkkijonon loppuosa k% = INSTR(j$, e$) 'seuraavan erotinmerkin kohta i% = i% + 1 'lisätään laskuria LOOP PRINT i%; j$ 'tulostetaan laskuri ja viimeinen osa
Aihe on jo aika vanha, joten et voi enää vastata siihen.