Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB: Fixmix_X

Sivun loppuun

gamehouse [27.05.2007 16:24:18]

#

Asia koskee siis omaa Fake OS:siani... Pulma on seuraava:
Miten saan QBasicissa näkymään tiedoston pääte? esim. Jos on tiedosto Testi.exe, niin ohjelma näyttäisi TESTI.EXE, eikä näin: TESTI

Antti Laaksonen [27.05.2007 18:17:53]

#

Mistä ohjelma saa selville tuon näytettävän tiedoston nimen?

gamehouse [28.05.2007 11:40:43]

#

No, sitä minä myös mietin...

Antti Laaksonen [28.05.2007 11:45:00]

#

Mutta mikä on näytettävä tiedosto? Ohjelma itse vai jokin muu?

E.K.Virtanen [28.05.2007 13:23:11]

#

Ampukaa jos nyt aivan höpöjä puhun mutta eikös QB:lla voi tulla ongelmia >8 merkkiä pitkien nimien kanssa?
Tällöin voisi SHELL "dir *.* > filut.tmp" joka loisi tiedoston jossa dir listaus olisi kokonaan, myös >8 merkkiä pitkät tiedostojen nimet?
Siitähän sitten voisi lukea stringiin vaikka kuinka pitkiä nimiä.
Hieman ehkä kärpäsen ampumista tykillä mutta kuitenkin...

gamehouse [28.05.2007 14:08:34]

#

Näytettävän tiedoston voisi itse kirjoittaa. (nimen)

hejppa [28.05.2007 15:17:09]

#

lurah,

Et näköjään pidä elämää kovinkaan suuressa arvossa. Häpeäisit edes vähän.

gamehouse [01.06.2007 13:57:59]

#

OK, nyt on näköjään niin, että tähän kysymykseen ei ole tullut vastauksia, joten annan uuden kysymyksen:
Olen rakentamassa nyt salasanan ja tunnuksen vaihtoa, ja se on minulla jo valmiina, mutta nyt se vaikuttaa vain yhteen käyttökeraan, joten salasana ja tunnus pitäisi tallentaa tiedostoon, mutta tiedosto pitäisi kryptata, ettei tiedostoa voisi lukea tuosta vain. Tarvitsen siis apua tunnuksen ja salasanan tallennuksessa ja kryptauksessa. Apua!

E.K.Virtanen [01.06.2007 15:08:39]

#

Suht helppo tapa on käyttää simppeliä matematiikkaa.

Käyttäjätunnus = krisu (107, 114, 106, 115, 117) ASCII merkkeinä.
Nyt keksit jonkin kivan matemaattisen jekun tuohon ennen kuin tallennat. Kerrot, vähennät tms. arvoja sopivasti ja sisällytät kaavan itse ohjelmaan.

Samoin menettelet salasanan kanssa. Lisää saat jippoiltua kun sekoittelet sopivasti sekä käyttäjätunnuksen että salasanan kanssa keskenään.
Stringistä sai muistaakseni luettua merkin ascii arvon ASC komennolla.

Antti Laaksonen [01.06.2007 16:21:05]

#

gamehouse kirjoitti:

nyt on näköjään niin, että tähän kysymykseen ei ole tullut vastauksia

Tämä johtuu luultavasti siitä, että moni ei vieläkään tajunnut, mistä oli kysymys.

gamehouse kirjoitti:

Tarvitsen siis apua tunnuksen ja salasanan tallennuksessa ja kryptauksessa.

Tässä on ensinnäkin kahden merkkijonon tallennus ja lataus:

' tallennus
OPEN "tiedot.dat" FOR OUTPUT AS #1
PRINT #1, tunnus$
PRINT #1, ssana$
CLOSE #1

' lataus
OPEN "tiedot.dat" FOR INPUT AS #1
LINE INPUT #1, tunnus$
LINE INPUT #1, ssana$
CLOSE #1

Sitten tarvitaan enää kaksi funktiota, joista toinen salaa merkkijonon ja toinen purkaa salauksen. Merkkien muuttaminen heksaluvuiksi hämännee useimmat tiedoston tarkastelijat.

FUNCTION SALAUS$ (mjono$)
   FOR i% = 1 TO LEN(mjono$)
      uusi$ = uusi$ + HEX$(ASC(MID$(mjono$, i%, 1)))
   NEXT
   SALAUS$ = uusi$
END FUNCTION

FUNCTION PURKU$ (mjono$)
   FOR i% = 1 TO LEN(mjono$) STEP 2
      osa$ = "&H" + MID$(mjono$, i%, 2)
      uusi$ = uusi$ + CHR$(VAL(osa$))
   NEXT
   PURKU$ = uusi$
END FUNCTION

Nyt esim. sanasta "testi" tulee käsittämätön numerokoodi 7465737469, jonka pystyy kuitenkin palauttamaan helposti lähtösanaksi, kun vain tietää oikean keinon. Funktioita voi käyttää tähän tapaan:

' tulostaa koodin 7465737469
PRINT SALAUS$("testi")
' purku kumoaa salauksen
PRINT PURKU$(SALAUS$("testi"))

Erilaisia salaustapoja, niin kuin lurah mainitsikin, voi tietysti keksiä loputtomasti. Oleellista on vain, että salatusta merkkijonosta pystyy jotenkin luotettavasti selvittämään alkuperäisen sanan.

gamehouse [03.06.2007 09:53:11]

#

Kiitos! nyt toimii!


Sivun alkuun

Vastaus

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

Tietoa sivustosta