Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB, VB6: Merkkihommia

Grey [06.06.2003 02:09:29]

#

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-

Teme [06.06.2003 11:54:28]

#

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.

thefox [06.06.2003 13:58:44]

#

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

trinit [06.06.2003 16:21:16]

#

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/23830-vb6-explode-funktio-vb-lle

thefox [06.06.2003 16:23:12]

#

lainaus:

En nyt muista, mutta olikohan QBasic:ssa SPLIT-funktiota kuten VB:ssä?

Ei.

Antti Laaksonen [06.06.2003 17:52:06]

#

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

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta