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
Mistä ohjelma saa selville tuon näytettävän tiedoston nimen?
No, sitä minä myös mietin...
Mutta mikä on näytettävä tiedosto? Ohjelma itse vai jokin muu?
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...
Näytettävän tiedoston voisi itse kirjoittaa. (nimen)
lurah,
Et näköjään pidä elämää kovinkaan suuressa arvossa. Häpeäisit edes vähän.
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!
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.
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.
Kiitos! nyt toimii!
Aihe on jo aika vanha, joten et voi enää vastata siihen.