Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: *QB* GUI-hommaa taas.....

Sivun loppuun

juhaz [14.10.2002 20:02:56]

#

Joo no olen saanut jo kaikenlaista muuta rakenneltua, kun olen tehnyt omaksi huvikseni vieläkin tuota GUI-hommelia, kun muut tällä foorumilla kirjoitelleet varmaan ovat jo lopettaneet aikaa sitten, mutta olen joutunut luopumaan joistain ideoista taidottomuuteni takia ja soveltamaan muita keinoja, mutta pari hauskaa asiaa olisi kiva saada tietää jos joku tietäisi mitenkä niitä voisi onnistua tehdä?

Ohjelman päälläolo aika? Minä ajattelin, että ohjelma tallentaisi käynnistyksessä login, että milloinka ohjelma on käynnistetty ja sitten jossain jutussa näyttäisi, että "ohjelma käynnistettiin ?", mutta ajattelin myös päälläolo aikaa eli esimerkiksi minuuteissa....?

Kuinka te tuon tekisitte? Itse en keksinyt keinoa tuohon minuuttihommeliin, mutta ekan vaihtoehdon kyllä sain toimimaan, että se näyttää vaan milloinka se ohjelma on käynistetty.

Näytönsäästäjä? Ajattelin, että käyttäjä voisi asetuksissa valita kuinka pitkän ajan käyttämättömyyden jälkeen tulisi jokin näytönsäästäjän tapainen ruutuun..... esimerkiksi 10:nen minuutin päästä vaikka musta ruutu missä kiertää vaikka teksti "GUI" ja se näytönsäästäjä loppuisi, kun nappia painaa ja se menee sitten siihen alkuun missä se näytönsäästäjä alkoi.....????? Oikeastaan se pelkkä musta ruutukin kelpaisi varmaankin, mutta en ole tästä edes niinkään varma, että viitsisikö tätä laittaa mukaan?

ps: GUI/CLI on sen verran valmis, että enään tavallaan noi pari juttua puuttuu ja ohjelmassa ei ole pelejä eikä ohjelmia vaikkakin niitäkin voi siinä sitten tavallaan ajaa kirjoittamalla pelin tai ohjelman täydellinen osoite.....
Ohjelmassa on nyt:

Valikko -Ohjelman käyttöä helpottaa kummasti varsinkin jos testasit edellisiä GUI-ohjelmiani niin nehän olivat varsinaisesti pelkkiä komentoja joita piti kirjoitella, mutta nyt ohjelmassa on valikko, joka helpottaa kummasti ohjelman käyttöä.

Dossin tyylinen osio vähän osaavammille käyttäjille :D

Pelejä/ohjelmia -Niitä ei ole, mutta on omat osat kuitenkin joissa voi ajaa niitä ohjelmia tai pelejä

Optionsseja -taustan ja tekstin väri on mahdollista muuttaa..... ehkä myös laittaa näytönsäästäjän tuloaika minuuteissa jos saan rakennettua sellaisen ja tietenkin jos te autatte

-päälläolo aika.... tällä hetkellä näyttää vain koska viimeksi on ohjelma avattu

ps: En tiedä tässä nyt mitenkään erikoisempaa juttua vaan ohjeiden teko? Englanninkielen taito on mulla 4:sen tasoa vaikkakin ohjelmassa käytetty englanti on kovin hyvää minun mielestäni.... tosin en sitä enkunkieltä siihen itse vääntänytkään vaan ohjeet puuttuvat vielä ohjelmasta ja niiden pitäisi olla englanniksi, joten jos joku haluaa tehdä ohjeet englanniksi siis siihen ohjelmaan niin olisin hyvin iloinen eli jos ohjeita haluat auttaa tekemään niin mun tarttee varmaan laittaa tänne ohjelma kopsattavaksi, että voisi sen pohjalta sitten ohjeita väkertää.....???

juhaz [14.10.2002 20:16:07]

#

Ohjeista vielä! Enpä tiedä tartteeko nyt erikoisesti sillä ohjelman käyttö on varsin helppoa, että tuskinpa siinä mitenkään erikoisesti ohjeita tarvitaan, mutta kuitenkin jotain pitäisi hommailla..... kuten tekijöitä.... ym, mutta ne kyllä saatan jopa itse osata kirjoittaa?

Antti Laaksonen [14.10.2002 21:38:18]

#

Tämä funktio laskee kahden päivämäärä-aika -parin eron ja ilmoittaa sen päivinä, tunteina, minuutteina ja sekunteina. Funktio on hieman epätarkka, mutta GUI:n päälläoloajan tapauksessa virhe on korkeintaan joitakin sekunteha.

Eli tallennat ohjelman aloitusajan ja sitten vertaat sitä tuolla funktiolla nykyiseen aikaan. QB taitaa käyttää hieman erilaista aikaformaattia, joten sen muuttaminen funktiolle sopivaksi jää sinun tehtäväksesi :)

DECLARE FUNCTION LaskeAikaEro$ (aa$, la$)
PRINT LaskeAikaEro("08:01:22 12.10.2002", "20:19:15 14.10.2002")

'Funktio laskee eron kahden päivämäärän / ajan välillä.
'Formaatti on tt:mm:ss PP.KK.VVVV
'esimerkiksi: 19:58:00 14.10.2002'
FUNCTION LaskeAikaEro$ (aa$, la$)
  DIM a AS DOUBLE, l AS DOUBLE
  DIM paivat AS INTEGER, tunnit AS INTEGER
  DIM minuutit AS INTEGER, sekunnit AS INTEGER
  DIM p AS STRING

  a = a + VAL(RIGHT$(aa$, 4)) * 365
  a = a + VAL(MID$(aa$, 13, 2)) * 30
  a = a + VAL(MID$(aa$, 10, 2))
  a = a + VAL(LEFT$(aa$, 2)) / 24
  a = a + VAL(MID$(aa$, 4, 2)) / 24 / 60
  a = a + VAL(MID$(aa$, 7, 2)) / 24 / 60 / 60

  l = l + VAL(RIGHT$(la$, 4)) * 365
  l = l + VAL(MID$(la$, 13, 2)) * 30
  l = l + VAL(MID$(la$, 10, 2))
  l = l + VAL(LEFT$(la$, 2)) / 24
  l = l + VAL(MID$(la$, 4, 2)) / 24 / 60
  l = l + VAL(MID$(la$, 7, 2)) / 24 / 60 / 60

  paivat = INT(l - a)
  p = STR$(paivat) + " päivää,"
  l = (l - a) - INT(l - a)

  tunnit = INT(l / (1 / 24))
  p = p + STR$(tunnit) + " tuntia,"
  l = l - tunnit * (1 / 24)

  minuutit = INT(l / (1 / 24 / 60))
  p = p + STR$(minuutit) + " minuuttia,"
  l = l - minuutit * (1 / 24 / 60)

  sekunnit = INT(l / (1 / 24 / 60 / 60))
  p = p + STR$(sekunnit) + " sekuntia"
  LaskeAikaEro = p
END FUNCTION

Ja sitten noista ohjeista. Minusta tuntuu vähän oudolta, että suomalainen henkilö tekee suomalaisille ohjelmia - englanniksi. Eli suosittelen vähintään ohjeiden tekemistä suomeksi, varsinkin jos englanninnumero on nelosen tuntumassa.

juhaz [14.10.2002 21:57:16]

#

"Ja sitten noista ohjeista. Minusta tuntuu vähän oudolta, että suomalainen henkilö tekee suomalaisille ohjelmia - englanniksi. Eli suosittelen vähintään ohjeiden tekemistä suomeksi, varsinkin jos englanninnumero on nelosen tuntumassa."

Kieltämättä.... mietinkin tässä, että mitenkä olisi jos muuttaisin vielä suomeksi tuon ohjelman? :D

Gevil [15.10.2002 12:33:16]

#

Voithan sä pistää sinne asetuksiin kielivalinnan. Pistät sinne vaihtoehdoiksi englannin ja suomen.

juhaz [16.10.2002 07:46:56]

#

Hmm.... voisi tulla kuitenkin jo aika iso työ jos pitäisi kahdelle kielelle tehdä tuo..... ehkä jos tekisi erillisen version joka on vaikka suomeksi, mutta jonkin sortin ohjeet ja jotain tietoa tekijöistä ja ohjelmasta pitäisi kuitenkin siinä vaiheessa kirjoittaa....

Ai niin..... mä lisäsin nyt siihen pari juttua..... screen modeja 1, 7,8 ja 9:n eli ne missä palette komento toimii..... ainakin mulla? Ja kellon, mutta ohjeet, ohjelmia ja pelejä puuttuu siitä, mutta tästä varmaan tulee paras CLI tai siis tekstillä tehty "GUI" tai OS..... (Monista vielä huonommista tekeleistä sanotaan myös OS eli operating system vaikkakin eihän qb:llä ees sillaista voisi tehdä todellisuudessa)

juhaz [16.10.2002 21:18:29]

#

Mietin tässä joitain asioita ja tulin siihen ajatukseen, että muutamaa ehkä en edes tohon yritäkkään hommailla, joten ohjelma olisi jo aika valmis..... vain yksi idea ja muutama juttu vielä puuttuu.....

1.Näytönsäästäjä..... ei varmaan kuitenkaan kovin tärkeä, mutta eikös olisi kuitenkin hienoa, että näytöllä alkaisi pyörimään vaikka joku teksti.... ym? Itse löysin vastaavasta sillaisen näytönsäästäjän vaan en saanut sitä toimimaan missään muodossa muualla enkä viitsinyt oikein alkaa edes sen ohjelman koodia tutkimaan tai sitten kopioimaan.

2.Pelejä ja ohjelmia ei ole vielä mukana

3.Ohjeet

Mutta ohjelman löytää silti jo osoitteesta
http://koti.mbnet.fi/juha2002/Files/WindoX.zip

juhaz [16.10.2002 21:21:19]

#

Noista ohjeistakaan en kyllä ole kovin varma sillä ohjelma on varsin helppokäyttöinen, mutta kuitenkin ehkä noita screen moodien selityksiä sinne voisi työntää?

tuobbi-89 [16.10.2002 22:07:51]

#

Ihan hienohan tuo sinun GUI:si on! Mukava ohjelma!

Gevil [16.10.2002 23:31:14]

#

Menin helppiin ja se yritti avata sitä qbasiciin.. sit sammutin qbasicin ja se meni takas windoxiin.. siellä sitten rupes vilkkumaan se teksti kahen eri värin välillä, käykö teillä näin?

juhaz [17.10.2002 06:38:45]

#

Ei kyllä ainakaan minulla? Mitä screen moodia sä käytät?

Itseasiassa mulla ei tule millään screen moodilla tuota ongelmaa mitä tuossa voi käyttää..... (1,7,8 ja 9) Mitä asetuksia sä käytät? Siis väri ja screen asetuksia?

Tuo help pitäisi aueta siihen edit ohjelmaan ja mulla ei kyllä aiheuttanut tuollaista ongelmaa.

trinit [17.10.2002 10:15:01]

#

Pitäisikö tuossa helpissä olla jotain sisältöäkin? Näyttäisi olevan tyhjä tiedosto... Ja sana "avaible" kirjoitetaan oikeasti "available" ;)

juhaz [17.10.2002 11:06:14]

#

ohhoh.... no joo available :D
Juu tuonne helppiin kyllä jotain täytyisi saada, kuten jo tästä koko hommasta ilmenee..... eli ohjeet englanniksi vaikkakin ohjelma kyllä on varsin helppokäyttöinen, mutta esimerkiksi jotain selityksiä noista screeneistä ja muusta....

thefox [17.10.2002 13:29:46]

#

Noita .OBJ:eja ei mukaan tarvitse laittaa. Lisäksi kaikki asetukset kannattaisi tallentaa samaan tiedostoon, muuten kuluu turhaan levytilaa kun jokainen asetustiedosto on vain 1-2 tavua pitkä.
Mutta mikäs tuossa.. turha tuo kyllä on mutta kaipa se harjoituksesta aina käy :)

juhaz [17.10.2002 13:53:43]

#

Kyllähän mää tuota mietin.... siis yhtä asennustiedostoa, johon sitten suurin osa jutuista asetettaisiin vaan eikös se ole ihan sama onko montaa asetustiedostoa, jotka on esimerkiksi yhteensä 5kilotavua kuin yksi, joka kuitenkin olisi 5kilotavua?
Oudoin asia minkä mää oon huomannut niin yksi saman tyyppinen ohjelma, joka oli myös QB:llä tehty niin siinä ei ollut asetustiedostoja ollenkaan, mutta samaa silti kuin mulla asetustiedostojen kanssa...... Ihmettelin vaan, että kuinka ihmeen on mahdollista? Valitettavasti siinä ei ollut sourcea mukana..... olisikohan tuo homma tehty jollain muulla kuin QB:llä?

Juu huomasin...... toimii hyvin ilman OBJ tiedostoja..... mitähän niilläkin tehdään?

Gevil [17.10.2002 13:58:49]

#

lainaus:

Mitä asetuksia sä käytät? Siis väri ja screen asetuksia?

Jos.. siis jos.. sillä on jotain merkitystä mihinkään, niin ajoin sen ohjelman NT:llä.. Taustavärinä oli musta ja tekstin värinä keltainen.. screen modi.. hmm.. se oli varmaan se mikä siinä on oletuksena..

thefox [17.10.2002 14:13:05]

#

OBJ tiedostot vääntää kääntäjä, ja sitten linkkeri linkkaa ne EXE:ksi. Jos sinulla on pienikin tiedosto, vaikka yhden tavun kokoinen, vie se aina vähintään yhden varausyksikön (FAT32:ssa yleensä 512 tavua, NTFS:ssä kai jopa 4KB).
Eli lasketaanpa, jos sinulla on vaikka yksi tiedosto jossa on kaikki asetukset (sanotaan vaikka 5 eri asetusta), vie se tuon 4KB. Jos sinulla taas on 5 eri tiedostoa, vievät ne yhteensä kovalevyltä 4KB * 5 = 20KB :) Toivottavasti en taas puhunut ihan soopaa.. ;9

juhaz [17.10.2002 14:16:10]

#

jaa.... outoa.....???? Itse olen nyt testannut XP:ssä ja 98:ssa kaikilla ohjelmassa käytössä olevilla väreillä ja screen moodeilla vaan ei kummassakaan ole tuollaista ongelmaa tullut.
Ohjelman käynnistäminen kuitenkin siellä on minulle XP:ssä aiheuttanut vähän vastaavan asian. Pelit osiossa minulla muuttui tausta mustaksi, kun pelia käynnistin, mutta sitten alkuvalikossa oli taas sininen, mutta muuten mitään tuon sorttista ei ole ollut.

juhaz [17.10.2002 14:22:29]

#

Fawkz, noo jaa..... en tiedä oikeastaan nyt mitään, kun pää meni hitusen pyörälle :D

No kuitenkin jos kerran puhutaan parin kymmenen kilon jutuista niin tuskinpa sillä nyt erityisemmin ole mitään haittaa?

Gevil [17.10.2002 19:33:48]

#

Tähän tiedostonkoko juttuun tein pienen testin.

Minulla on luvut 1,2,3,4,5.

1-tapa, jolla nämä tallensin
6.txt:

1
2
3
4
5

2-tapa, tein 5 eri tiedostoa (1.txt, 2.txt, 3.txt, 4.txt, 5.txt)
1.txt:

1

2.txt:

2

3.txt:

3

4.txt:

4

5.txt:

5

6.txt vie 13 tavua
1-5.txt vievät yhteensä 5 tavua

Ja nämä tavumäärät on suoraan otettu Windows 98 tiedoston ominaisuuksista, jos siis W98 on luottaminen niin fawkzin teoria kumoutuu täysin, sillä näyttäisi siltä, että monta tiedostoa vie vähemmän. Tietenkin on muistettava, että 6.txt sisältää rivinvaihtoja.

Jos 6.txt on seuraavanlainen (pilkuilla erotettu luvut)

1,2,3,4,5

tai väleillä

1 2 3 4 5

Se vie 9 tavua

Jos luvut ovat peräkkäin

12345

Se vie 5 tavua, joka on saman verran kuin jos tieto olisi erillisinä tekstitiedostoina. Tässä pulmana saattaa olla tiedon erotteleminen (ellei asetustiedot aina ole samaa formaattia.. tj)

Eli näiden testien nojalla vaikuttaa siltä, että tieto eri tiedostoissa olisi jopa parempi tapa koon kannalta..

Antti Laaksonen [17.10.2002 19:45:47]

#

Tein saman testin itse (Win2000:lla), ja äkkiseltään näytti tosiaan siltä, että 5 tiedostoa vie paljon vähemmän, kuin yksi iso. Mutta kun katsoin tiedoston ominaisuuksia tarkemmin, listattuna oli erikseen koko ja koko LEVYLLÄ.

1.txt + 2.txt + 3.txt + 4.txt + 5.txt = 2560 tavua
6.txt = 512 tavua

Eli fawkzin teoria piti paikkansa, erilliset tiedostot vievät viisi kertaa enemmän tilaa levyltä kuin yksi viiden rivin tiedosto.

Gevil [17.10.2002 20:39:31]

#

Jep, tätä mä vähän arvelinkin. Muuten mikähän on luotettavin ja tarkin tapa saada selville tiedoston kokonaiskoko. Windowsin omiin hommiin en ole luottanut, kavereille ja itselleni käynyt mitä ihmeellisimpiä asioita Windowsin antamissa tiedoston koko jutuissa..

juhaz [17.10.2002 21:29:30]

#

Testasin itsekkin tuota noilla windoXin asetustiedostoilla ja ilmeni, että yksi asetustiedosto missä olis kaikki olisi koolta noin pari kiloa pienempi kuin ne kaikki erikseen.


Sivun alkuun

Vastaus

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

Tietoa sivustosta