Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: vb 5 + muutama ongelma

juhaz [08.08.2003 20:28:56]

#

1.Trash hakemisto sijaitsee C:\winux\bin\trash ja haluaisin niin, että Combo1... tjs ja File1... tjs ovat käytössä ja, kun painaa command2 eli nappulaa niin se tiedosto mikä on File1.filename:na tjs... (valittuna) niin se siirrettäisiin tuonne trashin hakemistoon ja poistetaan sieltä missä se on alkujaan.

Combo1-objektissa voisi lukea vaikka C:\winux\tmp\, joten tiedostolistassa näkyy siis tuon C:\winux\tmp\ hakemisto hommelin tiedostot.

Sori epäselvästä kysymyksestä, mutta en osaa oikein muotoilla sitä :)

olen yrittänyt jotenkin näin

Private Sub Command1_click()
rootdir$ = "c:\winux\"
shell ("copy " rootdir$ & combo1 & file1.filename & " " & "C:\winux\bin\trash\" & File1.Filename)

kill (rootdir$ & combo1 & file1.filename)

en saanut toiminaan sillä tapaa...

juhaz [10.08.2003 11:09:21]

#

1.Ohjelma kopioidaan *:\*\bin\trash\ hakemistoon
* = Voivat olla mitä tahansa ja ne haetaan c:\cshell.001 tiedostosta eli siellä voi lukea esimerkiksi c:\winux\

2.Ohjelma, joka aluksi kopioidaan trash-hakemistoon poistetaan alkuperäisestä paikasta.

Eli jos käyttäjä antaa komennon delete c:\windows\win.ini niin se c:\windows\win.ini katoaa, mutta se löytyy yhä c:\winux\bin\trash\

3.poistetaan vasta, kun käyttäjä antaa komennon trash -a eli trash ohjelmalle käsky -kaikki niin se poistaa kaiken trash-hakemistosta tai trash [tiedoston nimi], jolloin poistetaan ekasta eroten vain se yksi tiedosto, jonka käyttäjä käskee poistettavaksi.

ja tämä pitäisi toteuttaa vb5:lla, mutta itse en saanut toimimaan jostain syystä.

Poistaa se osaa, mutta ei kopioida :(

Private sub Command1_click()
open "C:\cshell.001" for input as #1
input #1, rootdir$
close #1
shell ("copy " + rootdir$ + combo1 + file1.filename + " " + rootdir$ + "bin\trash\" + file1.filename

shell ("del " + rootdir$ + combo1 + file1.filename)

jotain tuon tyylisiä olen yrittänyt, mutta en saa toimimaan ja tämä siis oli visual basic 5:ssa.

Toivottavasti nyt tuli selkeämpää tekstiä, että siihen saa jotain apua :)

Antti Laaksonen [10.08.2003 22:20:44]

#

Kannattaa ennemmin käyttää Visual Basicin omia tiedostonkäsittelykomentoja, sillä ne toimivat luotettavammin.

lainaus:

Eli jos käyttäjä antaa komennon delete c:\windows\win.ini niin se c:\windows\win.ini katoaa, mutta se löytyy yhä c:\winux\bin\trash\

Käytä Name ... As ... -rakennetta, sitä voi käyttää paitsi tiedoston uudelleennimeämiseen myös kopioimiseen.

http://vb.ohjelmointiputka.net/?Name

lainaus:

3.poistetaan vasta, kun käyttäjä antaa komennon trash -a eli trash ohjelmalle käsky -kaikki niin se poistaa kaiken trash-hakemistosta tai trash [tiedoston nimi], jolloin poistetaan ekasta eroten vain se yksi tiedosto, jonka käyttäjä käskee poistettavaksi.

Kill-komento poistaa tiedoston. Jos hakemiston kaikki tiedostot täytyy poistaa, tiedostojen nimien selvittäminen onnistuu Dir-funktiolla.

http://vb.ohjelmointiputka.net/?Kill
http://vb.ohjelmointiputka.net/?Dir

Testaamaton esimerkki, joka tyhjentää hakemiston:

Dim hak As String, nimi As String
hak = "c:\winux\bin\trash\"
nimi = Dir(hak & "*.*")
While nimi <> ""
   Kill hak & nimi
   nimi = Dir
Wend

juhaz [11.08.2003 01:32:54]

#

Kiitos! Noi Antti Laaksosen jutut toimii hyvin.
Olen nyt jaktamassa sitä "GUI"... tjs windowsiin ohjelmaa, jota tein joskus muinaisina aikoina, josta kerroin siinä "Gallup: Isoin projekti, jonka olet tehnyt" keskustelussa, mutta muutin sitä hieman niin, että se perustuu windoxin (unix-tyylisen fake ossin) quickbasic versioon ja siitä sitten siis unixiin.

VB:n ansiosta saan tehtyä monia asioita, joita en quickbasicilla olisi pystynyt koskaan tekemään.


Projekti siis lähti ihan alusta, mutta nyt siitä löytyy jo mahdollisuus käyttää monta käyttäjää, alkeellinen komentokehoite (lähes pakollinen), jonkinsorttinen "my computer"... tjs, josta näkee olemassa olevat hakemistot, tiedostot ja niitä pystyy hallitsemaan.

Hakemistot, jotka löytyvät tai siis ovat systeemin hakemistoja
\
bin\
bin\trash\
etc\
etc\tsk\
usr\
home\käyttäjä\
home\käyttäjä\desk\
mnt\
mnt\floppy\
mnt\cdrom\
usr\
usr\logs\
src\
hlp\
hlp\man\
hlp\how to\

---
tossa home\käyttäjä\ se 'käyttäjä' voi olla mikä tahansa.... esimerkiksi 'antti' ja jokaisella käyttäjällä siis on oma työpöytä, jota toinen käyttäjä ei pysty näkemään.

Työtä on vielä paljon ja olen aikeissa tehdä vielä paljon enemmänkin, mutta ensiviikko menee koulun kanssa ja joudun asustamaan ensiviikon poissa tietokoneelta, kun kumpikin vanhemmista on lomalla ja minä joudun sen takia asumaan noin 70-80km matkan päässä kotikoneestani, jolla sitä projektia teen :)

thefox [11.08.2003 12:10:30]

#

Tuollainen roskakori on melko turha ellei sieltä voi palauttaa tiedostoja.

juhaz [11.08.2003 13:49:01]

#

joo sieltä voi palauttaa myös ne tiedostot.... miksi muuten haluaisinkaan tehdä mitään tollasta?

Vastaus

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

Tietoa sivustosta