Tarkiste VB6:seen

Miten sais ohjelman tarkistamaan onko sanojen väliin syötetty pilkku vai ei? Esim. Kirjoitetaan tekstikenttään kaksi sanaa ja niiden väliin pilkku ja nappia painamalla pitäis ohjelman tarkistaa onko siellä pilkkua...kuulostaa yksinkertaiselta, ja varmaan onkin...

Apua vailla
9289
Äänestä

Muut lukivat myös

Vastaukset 9

Vanhimmat

InStr Function Example
This example uses the InStr function to return the position of the first occurrence of one string within another.

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' String to search in.
SearchChar = "P" ' Search for "P".

' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(4, SearchString, SearchChar, 1)

' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(1, SearchString, SearchChar, 0)

' Comparison is binary by default (last argument is omitted).
MyPos = Instr(SearchString, SearchChar) ' Returns 9.

MyPos = Instr(1, SearchString, "W") ' Returns 0.

Äänestä

Toi Instr-funktio on the virallinen tapa, mutta tämäkin saattaa olla joissain tilanteissa käyttökelpoinen, riippuu tietenkin siitä mitä tekee:

Dim s, a, i
s = "eka,toka,kolmas"
a = Split(s, ",")

For i = LBound(a) To UBound(a)
List1.AddItem a(i)
Next

-Jonttu-

Äänestä
  • Hmm...
    Tarkoituksena varmaan määritellä muuttujat???
    s => string
    a => array (tällaista ei ole)
    i => integer

    Dim ilman tietotyyppiä => Variant
    eli tuo Dim on tuossa ihan turhaa koska Variant on oletuksena.

    If you don't specify a data type or object type, and there is no Deftype statement in the module, the variable is Variant by default

    Äänestä

  • Bill Gates kirjoitti:

    Hmm...
    Tarkoituksena varmaan määritellä muuttujat???
    s => string
    a => array (tällaista ei ole)
    i => integer

    Dim ilman tietotyyppiä => Variant
    eli tuo Dim on tuossa ihan turhaa koska Variant on oletuksena.

    If you don't specify a data type or object type, and there is no Deftype statement in the module, the variable is Variant by default

    ... koodin toimintaa? Kyllä se toimii ihan oikein huolimatta tuon taulukon määrittelemättömyydestä. Variantti on variantti siksi, koska se voi olla myös taulukko ... ainakin mikkisoftissa ... ja mähän en ottanyt kantaa VB:n kauneuteen yleensä.

    VB:ssä muuttujia ei tarvitse esitellä "Dim":llä silloin, jos koodin alussa ei ole "Option Explicit"-lausetta. Mä taasen käytän sitä lausetta tarkoituksella, koska se estää esim. vahingossa tapahtuvat muuttujien käytöt, joista voi seurata paljon harmaita hiuksia.

    Kuvittele vaikka tilanne, että käytät muuttujaa "mustalinna" ja sitten jossain kriittisessä kohtaa kirjoitatkin "if mustajinna = 0 then increasePowerInReactor...". Niin, tässä tapauksessa kääntäjä ei ilmoita virheestä, koska "mustajinna" on ok muuttujan nimenä...

    -Jonttu-

    Äänestä

  • Jonttu kirjoitti:

    ... koodin toimintaa? Kyllä se toimii ihan oikein huolimatta tuon taulukon määrittelemättömyydestä. Variantti on variantti siksi, koska se voi olla myös taulukko ... ainakin mikkisoftissa ... ja mähän en ottanyt kantaa VB:n kauneuteen yleensä.

    VB:ssä muuttujia ei tarvitse esitellä "Dim":llä silloin, jos koodin alussa ei ole "Option Explicit"-lausetta. Mä taasen käytän sitä lausetta tarkoituksella, koska se estää esim. vahingossa tapahtuvat muuttujien käytöt, joista voi seurata paljon harmaita hiuksia.

    Kuvittele vaikka tilanne, että käytät muuttujaa "mustalinna" ja sitten jossain kriittisessä kohtaa kirjoitatkin "if mustajinna = 0 then increasePowerInReactor...". Niin, tässä tapauksessa kääntäjä ei ilmoita virheestä, koska "mustajinna" on ok muuttujan nimenä...

    -Jonttu-

    ja toimiihan se, ei siinä mitään.

    Mutta jos kerran muuttujat määritellään niin miksei saman tien oikean tyyppisiksi jolloin muistiakaan ei kulu turhaan, tosin koodaamisessa ei saa tulla sitten virheitä eli syötetään vääräntyyppistä dataa muuttujaan, varianteilla kun pelaa niin silloinhan ei tarvi olla niin tarkkana.

    Äänestä

  • Bill Gates kirjoitti:

    ja toimiihan se, ei siinä mitään.

    Mutta jos kerran muuttujat määritellään niin miksei saman tien oikean tyyppisiksi jolloin muistiakaan ei kulu turhaan, tosin koodaamisessa ei saa tulla sitten virheitä eli syötetään vääräntyyppistä dataa muuttujaan, varianteilla kun pelaa niin silloinhan ei tarvi olla niin tarkkana.

    ...kun olin niin en jaksanut kiinnittää sen enempää huomiota muistin käyttöön. No, mulla on koneessa 536 870 912 tavua muistia, et siinä ei paljon parinkymmenen tavun haaskaus tunnu.

    Periaatteellisella tasolla, isoissa taulukoissa ja laajemmissa ohjelmissa asiaan kannattaa kuitenkin kiinnittää huomiota.

    -Jonttu-

    Äänestä

  • Jonttu kirjoitti:

    ...kun olin niin en jaksanut kiinnittää sen enempää huomiota muistin käyttöön. No, mulla on koneessa 536 870 912 tavua muistia, et siinä ei paljon parinkymmenen tavun haaskaus tunnu.

    Periaatteellisella tasolla, isoissa taulukoissa ja laajemmissa ohjelmissa asiaan kannattaa kuitenkin kiinnittää huomiota.

    -Jonttu-

    Jäi vielä mainitsematta että ei taida hyvää seurata jos annat API:lle parametriksi variantin kun pitäisi antaa esim Long.

    Äänestä

  • Bill Gates kirjoitti:

    Jäi vielä mainitsematta että ei taida hyvää seurata jos annat API:lle parametriksi variantin kun pitäisi antaa esim Long.

    ... on tietotyyppi siinä kuin muutkin. Eli, totta v...ssa ohjelmoijan pitää huolehtia tyypin oikeellisuudesta ennen API:n kutsumista, koska API on tehty mitä luultavimmin C:llä ja joka ei tee automaattista sekä ajonaikaista tyyppimuunnosta VB:n lailla (VB on tulkki).

    -Jonttu-

    Äänestä

  • Jonttu kirjoitti:

    ... on tietotyyppi siinä kuin muutkin. Eli, totta v...ssa ohjelmoijan pitää huolehtia tyypin oikeellisuudesta ennen API:n kutsumista, koska API on tehty mitä luultavimmin C:llä ja joka ei tee automaattista sekä ajonaikaista tyyppimuunnosta VB:n lailla (VB on tulkki).

    -Jonttu-

    Siksipä niitä variantteja ei pitäs yleisesti roiskia joka paikkaan vaikka VB:ssä se tietenkin houkuttelee.

    Äänestä

Kommentoi aloitusta


VB6 opiskelija kirjoitti:

Miten sais ohjelman tarkistamaan onko sanojen väliin syötetty pilkku vai ei? Esim. Kirjoitetaan tekstikenttään kaksi sanaa ja niiden väliin pilkku ja nappia painamalla pitäis ohjelman tarkistaa onko siellä pilkkua...kuulostaa yksinkertaiselta, ja varmaan onkin...

Apua vailla

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu