Tarkoitu olisi tehdä sellainen ohjelma, joka katsoo tällaisesta listasta tietoja:
tieto1,tieto2,tieto3,tieto4,tieto5 ...
Ja sitten syöttää ne formille joka syöttää ne batille joka luo esim. tunnukset. Noita tietorivejä on paljon, eli:
tieto1,tieto2,tieto3,tieto4,tieto5 pälä,pölö,kölö,kälä,sälä blaa,bloo,blii,bluu,blee jne...
Se looppaisi tuota em. juttua kunnes lista loppuisi. Onko mahdollista? jos on, pistäisittekös esimerkkikoodia...?
pöh. hirveesti typoja eikä tota pysty enää muokkaamaan...no mutta kuitenkin... Tuosta alemmasta: Siis?
VB kutosella:
dim Free as integer Free = FreeFile() Dim taul(999) as String ' tiedostossa voi olla 999 riviä dim i as integer Open "tiedosto.dat" For Input As Free Do Until EOF(Free) i += 1 Line Input Free, taul(i) Loop close Free
Nyt taul -taulukko sisältää koko tiedoston.
Nyt vain left tai mid käskyillä erottelet raakadatasta tiedot(pilkulla erotellut). Eli katsot missä on pilkku ja nappaat rivistä sihen asti. Katsot missä seuraava ja taas nappaat siihen asti ja niin edelleen.
En voi tästä esimerkkiä laittaa, sillä käytän itse VB .NET:iä, eivätkä sen käskyt kunnolla toimi VB kutosessa.
tota oon vähän tyhmä eli voisko joku tehä tosta ninku selvemmän version en tajuu tosta mitään...
Mäpä selitän.
rivi 1) Varataan Free muuttuja(tänne tallennetaan vapaan tiedostokahvan numero)
rivi 2) Haetaan vapaa tiedotokahva
rivi 3) Varataan taulukko, johon rivit tallennetaan
rivi 4) kommentti
rivi 5) varataan countteri, joka kertoo mihin taulukon indeksiin viitataan
rivi 6) Avataan tiedosto "tiedosto.dat" lukemista varten, käytetään Free muuttujaa kahvana
rivi 7) Kelataan tiedostoa loppumerkkiin saakka(EOF = EndOfFile)
rivi 7) kasvatetaan countteria yhdellä, jotta se viittaisi oikeaan indeksiin
rivi 8) ladataan rivi tiedotosta taulukkoon
rivi 9) Loop sulkee Do käskyn
rivi 10) Suljetaan tiedosto
Edit: Et sä oo tyhmä. Ei kukaan tajua "vasta-alkajana" tuollaista.
Kukaan, joka ohjelmoi, ei voi olla tyhmä.
Ei viitsitä edes käyttää sanaa "tyhmä". On silti totta, ettei kaikilla looginen ajattelu kehity yhtä hyvin. Mutta ei tässä ole siitäkään kysymys. Tuo pitää vain tietää, ei sitä voi päätellä.
peki kirjoitti:
Nyt vain left tai mid käskyillä erottelet raakadatasta tiedot(pilkulla erotellut). Eli katsot missä on pilkku ja nappaat rivistä sihen asti. Katsot missä seuraava ja taas nappaat siihen asti ja niin edelleen.
Helpommallakin pääsee; Split-funktio tekee tuon suoraan.
Dim Teksti As String, Taulukko() As String Teksti = "yks,kaks,kol,nel,viis,kuus,seittemän,kaheksan,yheksän,kymmenen" Taulukko = Split(Teksti, ",", -1) 'Taulukko(0) = "yks" 'Taulukko(1) = "kaks" jne.
Ja onko tuossa "listassa" nyt varmasti kyse tiedostosta, vai jostain formille pistämästäsi ListBoxista?
blaze, vieläki helpommalla: taulukko=array("yks,kaks,kol,nel,viis,kuus,seittemän,kaheksan,yheksän,kymmenen") :)
Kas, aina oppii jotain uutta. No, käyköön tuo omani esimerkkinä siitä, miten voi tehdä, jos erotinmerkki on joku muu, kuin pilkku.
Listan olisi tarkoitus olla tiedosto, ja sen jälkeen ohjelman pitäisi vielä suorittaa bat (no sen kyllä osaan) ja syöttää rivi kerrallaan batille siis:
Alkup. lista:
yy,kaa,koo,nee,vii,kuu 11,22,33,44,55,66
HUOM: OHJELMAN MUISTISSA oleva lista:
'1 2 3 4 5 6) yy kaa koo nee vii kuu 11 22 33 44 55 66
ja batille:
Shell "bat.bat" & 1 & " " & 2 & " " & 3 & " " & 4 & " " & 5 & " " & 6
(1=%1) (2=%2) jne...
silloinhan olisi 6 parametria, batti olisi esimerkiksi tällainen:
echo eka parametri: %1 echo toka parametri: %2 echo kolmas parametri: %3 echo neljäs parametri: %4 echo viides parametri: %5 echo kuudes parametri: %6
Ehkä nyt ymmärrätte minua paremmin (en nimittäin ymmärtänyt hirveästi että mitkä kohdat leikkaan ja liimaan yhteen...)
Aihe on jo aika vanha, joten et voi enää vastata siihen.