Yritän tässä vääntää ohjelmaa johon vois tallentaa monta käyttäjää mutta, en tajua kuinka ne tallennetaan.
Ja se ohjelma on tällänen:
**Valikko formi**
-komponentit: 4 texboxia(kNimi, kPass, rNimi ja rPass) ja 2 commandbuttonia(Rekkaa ja ok)
Eli:
kNimi = Kirjautumis nimi esim. The Znottari(eli minä) täällä ohjelmointiputkassa
kPass = Kirjautumis salasana esim. tai no... unohtakaa esim. :D
rNimi = rekisteröitymis nimi
rPass = rekisteröitymis salasana
ok = kun on annettu kNimi ja kPass se etti ne App. Path\Käyttäjä:stä
Rekkaa = kun on annettu rNimi ja rPass se tallentaa ne App. Path\Käyttäjät
Ongelma: En oikee tajuu miten sen sais toimimaa silleen että se ei tallenna edellisen päälle.
EDIT: voiko VB luoda esim tuossa Rekkaa kohdassa itse sen kansion Käyttäjät?
Sinulla on varmaa siinä joku
Open "tiedosto" For Output As #1
Vaihda se:
Open "tiedosto" For Append As #1
Append aloittaa kirjoittamisen tiedoston lopusta, jolloin edelliset tiedot eivät tärvelly.
Kirjoitatko nuo tekstitiedostoon vai rekisteriin? Jos tekstitiedostoon, niin käytä Append:ia, eli...
Open "Passut.txt" For Append As #1 'Loistava tiedostonnimi!
umm... en tainnu ihan tota tarkottaa... selitin huonosti... Tarkempi selitys tällä kertaa.
Siis ongelma:
Kun teen vaikka käyttäjän The Znottari niin sen pitäisi tallentaa se käyttäjä kohteeseen App. Path\Käyttäjät\The Znottari\The Znottari.user
Ja salasana samaan paikkaan mutta The Znottari.pass
Ja jos "vahingossa" teen toisen The Znottarin niin se tallentaakin sen tuon edellisen päälle... se täytyisi estää...
EDIT:
mikä tässä mättää??
Private Function kirjoitafilu(tiedosto As String, data As String) Open tiedosto For Output As #2 Print #2, data Close #2 End Function Private Sub Rekkaa_Click() kirjoitafilu "C:\Käyttäjät\" & rNimi.Text & rNimi.Text.txt, rNimi.Text End Sub
Mitä haluat että se ohjelma sitten tekee, jos sieltä löytyy jo saman niminen käyttäjä?
no vaikka MsgBox "V*t*uako sä tallennat jo kerran tallennettuu tiedostoo??!"
Ja sit se estää sen ja sillee.... Mut toi oli esimerkki... ja hei, voitkos kertoa mikä tossa ylemmässä mättää?
The Znottari,
Tuossa rekisteröintijutussa (sehän se on?) voisit tehdä näin:
kirjoitafilu "C:\Käyttäjät\" & rNimi.text & ".user", rNimi.Text
Edellisessä oletan että rNimi sisältää vain käyttäjän nimen esim. "meikäläinen". Tällöin luodaan tiedosto jonka nimi on meikäläinen.user ja tiedostoon tulee teksti "mäikäläinen".
Voit käyttää esimerkiksi VB:n Dir funktiota selvittämään onko tiedosto (esim. "meikäläinen.user") olemassa rekisteröityessä (otetaan käyttäjän antama nimi ja lisätään siihen .user). Jos Dir palauttaa positiivisen tuloksen (korjatkaa?), haluat mahdollisesti antaa viestin "Käyttäjänimi on jo käytössä, valitse toinen." tai jotain vastaavaa.
Vaihtoehtoisesti ohjelma voi tehdä esim. "users.dat" tiedoston, jossa se listaa rivi riviltä käyttäjien nimet:
meikäläinen
The Znottari
jne...
Rekisteröityessä luetaan rivi kerralla ja katsotaan onko annettu nimi vielä käytössä.
-DuClare-
If Dir$(App.Path & "\Käyttäjät\" & rNimi.Text & "\" & rNimi.Text & ".user") = "" Then MsgBox "Eep, tollanen on jo" Else ' Do j00r magick End If
The Znottari kirjoitti:
mikä tässä mättää??
[...]
kirjoitafilu "C:\Käyttäjät\" & rNimi.Text & rNimi.Text.txt, rNimi.Text
kirjoitafilu "C:\käyttäjät\" & rNimi.Text & "\" & rNimi.Text & ".txt"
Vieläki mättää toi... vaikka korjasin sen C:\Käyttäjät jutun..
Siis mikä mättää viel!! ArGgRH
The Znottari kirjoitti:
Vieläki mättää toi... vaikka korjasin sen C:\Käyttäjät jutun..
Siis mikä mättää viel!! ArGgRH
Saanko virheilmoituksen & muuta mahdollista tietoa, joka voisi auttaa jaljille?
"'kk;set sekosivat yht'kki' ja odottamatta )S
Aihe on jo aika vanha, joten et voi enää vastata siihen.