Varastointiohjelma

APUA tarviva

Hei,
Miten luodaan Visual Basiclla perus varastointi ohjelma.
Siinä tulee näkyä lisäys ja poisto.
Tuotenimi ja määrä joka ei saa mennä alle nollan?
Auttaakaa!!!!

3

783

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • pohdintaa...

      "Siinä tulee näkyä lisäys ja poisto. "

      Oletan että ohjelman pitää osata laskea yhteen ja vähentää, eli käyttäjä syöttää määriä joita lisätään ja vähennetään varastosta...

      No sehän ei ole kovin vaikeaa...

      Juuri sillä hetkellä käsiteltävän tavaran määrä tallennetaan vaikkapa muuttujaan X, ja käyttäjä syöttää arvon MUUTOS, muutos voi siis olla positiivinen tai negatiivinen, riippuen siitä kumpaan suuntaan tavaraa ollaan liikuttamassa.

      Käyttäjän syötettyä muutoksen voidaan laskea uusi määrä seuraavalla kaavalla:

      X = X MUUTOS

      "ja määrä joka ei saa mennä alle nollan? "

      Tuossa ennen kaavaa voidaan ehtolauseella rajata muutoksen suuruutta vaikka niin, että suurin mahdollinen varastosta otettava määrä on varastossa oleva määrä, eli näin:

      If -MUUTOS > X And MUUTOS < 0 Then MUUTOS = -X

      Siis olettaen että positiivinen MUUTOS tarkoittaa tavaran lisääntymistä varastossa, ja negatiivinen vähennystä...

      Tietysti homman voi myös toteuttaa niin, että vähennyksille ja lisäyksille on omat sarakkeensa (ja muuttujansa)...

      Silloin tuo ehtolause olisi muotoa:

      If VÄHENNYS > X Then VÄHENNYS = X

      Ja uusi määrä laskettaisiin seuraavasti:

      X = X LISÄYS - VÄHENNYS

      Tietojen tulostus (ruudulla) sujuu ehkäpä helpoiten siten, että jokaiselle asialle (tuotenimi, määrä, jne.) on oma labelinsa, ja ehkäpä otsikotkin voi sijoittaa omiin laatikoihinsa.

      Tietojen tallennuksen voi toteuttaa ainakin kahdella tavalla:

      Tapa1:

      Tiedot sijaitsevat yhdessa tiedostossa, joka voisi olla nimeltään vaikkapa Varasto.dat, tiedoston sisältämät asiat voidaan erotella toisistaan käyttämällä jotain sopivia välimerkkejä, vaikka näin:

      Tuotenimi#määrä#...

      Toisaalta se tarkoittaa sitä, että tiedot on lukuvaiheessa eroteltava toisistaan lukemalla yksi merkki kerrallaan, ja katkaisemalla lukeminen kun luettu on sama kuin käytetty välimerkki (tässä tapauksessa risuaita.

      Tapa2:

      Tiedot voidaan myös tallentaa moneen eri tiedostoon... Vaikka näin:

      Tiedosto Varasto.tnm sisältää tuotenimikkeet, tiedostosta Varasto.qty löytyy määrät jne.

      Montaa tiedostoa käytettäessä täytyy tosin muistaa aina kirjoittaa rivinvaihto jos ei ole mitään muuta kirjoitettavaa, muuten tiedoston pituudet eivät täsmää ja tiedot päätyvät väärille riveille.

      Tallensipa tiedot sitten miten hyvänsä, niin tuotenimikkeitä tulee melko suurella todennäköisyydellä niin paljon että olisi vaikea saada niitä kaikkia mahtumaan samalle ruudulle, ja siksi pitää ohjelmaan todennäköisesti lisätä semmoinen "vierityspalkki" (scrollbar)...

      Scrollbar'n voi oletuksena asettaa toimintakyvyttömäksi (disabled), ja ottaa käyttöön kun tietoja ruudulle mättävä subi tulee siihen tulokseen että tiedostossa on enemmän rivejä kuin mitä ruudulle mahtuu. Se taas kuinka paljon rivejä mahtuu riippuu lähinnä fonttikoosta, ja labeleiden korkeudesta, ja käytännössä helpoin tapa ottaa selvää siitä paljonko rivejä mahtuu on kokeilla käytännössä.

      Tuossa on pätkä koodia jota olen itse käyttänyt jossain ohjelmassa...

      Pos = VScrollBar1.Value 1
      Kaikki = LineInput(9) Chr(10)
      Do Until EOF(1) Or Progress > (Pos 7)
      Progress = Progress 1
      Luettu = LineInput(1)
      If Not Progress < Pos Then Kaikki = Kaikki Luettu Chr(10)
      Loop
      Progress = 0
      Label21.Text = Kaikki

      Tuosta koodista voisin mainita ainakin sen verran, että minulla oli tiedostossa nro 9 tallennettuna kaikki otsikot. Ja tuon koodin sitten toistin melkein samanlaisena niin monta kertaa kuin minulla oli sarakkeita käytössä... Tiedostojen ja labeleiden numerot tietenkin vaihtuivat...

      Kysymyksesi on sen verran laaja, että tässä vaiheessa en käsittele tätä asiaa tämän tarkemmin, sillä muuten olisin kohta jo itse tehnyt koko ohjelman.

      Jos löytyy jotain hieman tarkemmin määriteltyä kysymystä, niin voin yrittää vastata (jos osaan).

      • retsi

        Varmaan tyhmä kysymys, mutta kysyn nyt,,Kun Visual Basic avataan Exelin kautta, niin kun haluan kirjoittaa koodia lomakemoduuliin, mistä avaan sen, miten koodin ajaminen tapahtuu??!!

        t;apua kipeästi tarvitseva


      • en voi auttaa :(
        retsi kirjoitti:

        Varmaan tyhmä kysymys, mutta kysyn nyt,,Kun Visual Basic avataan Exelin kautta, niin kun haluan kirjoittaa koodia lomakemoduuliin, mistä avaan sen, miten koodin ajaminen tapahtuu??!!

        t;apua kipeästi tarvitseva

        "Kun Visual Basic avataan Exelin kautta,"

        Valitettavasti, minulla ei ole exeliä, joten en tiedä.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Valtion alijäämä = yritystukien määrä = 10 mrd. euroa

      Mutta persut eivät vaan suostu tasapainottamaan valtion budjettia, vaikka yritystuet on tiedetty haitallisiksi. Miksi p
      Maailman menoa
      108
      7745
    2. Suomi käyttää sosiaalietuuksiin suhteessa eniten rahaa koko maailmassa

      Suomi käyttää sosiaaliturvaetuuksiin enemmän rahaa suhteessa bruttokansantuotteeseen kuin mikään muu maa maailmassa. Su
      Maailman menoa
      368
      6830
    3. Grahn-Laasonen: "Kansalainen joutuu pettymään, jos demareita äänestää"

      Ministeri viittaa tuoreeseen Helsingin Sanomien juttuun, jossa demarijohtajan keinoja Suomen suunnan muuttamiseksi esite
      Maailman menoa
      74
      4207
    4. Vähän fiksumpi Nimi kisa ? :=)

      Kirjoita teidän etunimet allekkain. Jos nimissä on joku kirjain sama, poista se. Tee sama tarkistus kaikille kirjaimill
      Ikävä
      29
      3919
    5. Mikä on suurin luonne- eroavuus sinussa

      Ja kaivatussasi? Vaikuttaako se huonoon vai hyvään suuntaan siinä, että teistä voisi tulla jotain?
      Ikävä
      202
      2398
    6. Kenen haluaisit voittavan Amazing Racen: Tuomas ja Esko, Millu ja Karoliina vai Maria ja Vilma?

      Amazing Race Suomi huipentuu lauantaina finaaliin. Jäljellä on kolme paria ja tiedossa on tehtäviä, jotka järkyttävät os
      Tv-sarjat
      24
      2095
    7. Mitä haluaisit sanoa tänään hänelle?

      Rakastamallesi ihmiselle.
      Ikävä
      73
      1912
    8. Gallup: Katsotko Salkkareita tai oletko katsonut?

      Salatut elämät on suomalaisten suosikkisarja vuosikymmenestä toiseen. Salkkareiden parissa viettää aikaa sukupolvet laps
      Tv-sarjat
      19
      1803
    9. Elämäni biisi starttaa uudessa muodossa - Voi olla pettymys faneille!

      Elämäni biisi ja juontaja Katja Ståhl ovat suomalaisten suosikkeja. Lauantai-iltaisin ohjelma on vetänyt tv-katsojat arv
      Tv-sarjat
      1
      1670
    10. Amazing Race Tomas rehellisenä Esko-appiukon, 63, tilasta: "Sairastelut ja..."

      Tomas Grekov ja Esko Rotola-Pukkila ovat mukana Amazing Race Suomi -kisassa. Ja nyt vuorossa on finaali. Hankaluuksia m
      Tv-sarjat
      1
      1667
    Aihe