Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Skracanie pliku
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004
Skracanie pliku

W jaki sposób można skrócić plik pod VB?

Przypuśmy, że mam plik zawierając:

ala ma kota

I chcę, żeby zawierał:

ala ma

(i na tym się końcył).

Do tak krótkich plików można oczywiscie użyć metody zassać_do_zmiennej -> uciąć -> zapisać_w_trybie_output.
Ale w przypadku plików majacych np. 3MB ta metoda nie przejdzie. Kasowanie pliku i tworzenie nowego też mi nie odpowiada.


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

13-03-2004 17:31
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
anonim




Typ: Nie zarejestrowany

Jeśli dobrze zrozumiałem o co ci hodzi, to trzeba jakoś odzytać kilka wyrazów na końcu pliku i uciąć.
Następnie zapisać.
Oto hodzi?

14-03-2004 13:31
  
m-a-x



Typ: neutral
Postów: 366
Zarejestrowany: Jan 2003

Chyba wiem o co Ci chodzi. Nie musisz pakować całego pliku do zmiennej - to by było tylko marnotrawienie pamieci. Zamiast tego lepiej użyć bufora odczytu i zapisu. A zrobić to można w ten sposób (pisze z głowy wiec mogą być błędy):

Dim Buffer(63) As Byte
Open "zonk.txt" For Binary As #1
Open "cel.txt" For Binary As #2
Do Until (EOF(1))
    Get #1, , Buffer
    Put #2, , Buffer
Loop
Close #1
Close #2


oczywiście trzeba tam dodać jakąś instrukcje sprawdzającą ile danych zostało zapisanych lub ewentualnie ile danych pozostało do zapisu (wielkość pliku mozna sprawdzić za pomocą LOF(1))


_____________________________________________

Problemem zazwyczaj nie jest brak osób znających odpowiedź a zadanie właściwego pytania!

16-03-2004 15:21
Pokaż profil m-a-x  Wyślij email do m-a-x   
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004


Jeśli dobrze zrozumiałem o co ci hodzi, to trzeba jakoś odzytać kilka wyrazów na końcu pliku i uciąć.
Następnie zapisać.
Oto hodzi?


Właśnie nie o to. Gdyby o to chodziło - nie byłoby problemu. Potrzebuję po prostu uciąć końcówkę pliku.


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

17-03-2004 16:26
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Do m-a-x:
"Kasowanie pliku i tworzenie nowego też mi nie odpowiada."...
Wiem, o co ci chodzi, ale to wymaga utworzenia dodatkowego pliku.

A mnie chodzi o to, czy można uciąć dany plik.


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

17-03-2004 16:57
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
m-a-x



Typ: neutral
Postów: 366
Zarejestrowany: Jan 2003

Możesz spróbować czegoś takiego otworzyć plik w trybie random i...

Open "FILE" For Random As #1 Len = Len(recRecord)

...i np wrzucać pod koniec

Put #1, nr, ""


_____________________________________________

Problemem zazwyczaj nie jest brak osób znających odpowiedź a zadanie właściwego pytania!

17-03-2004 17:26
Pokaż profil m-a-x  Wyślij email do m-a-x   
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003
Per analogiam, czyli myślenie o ...

Zauważ, że większość programów - edytorów tekstu - tworzy podczas edycji nad danym plikiem całe multum plików tymczasowych. Dzieje się to, oczywiście, w jakimś określonym odstępie czasowym, ale się dzieje. W finalnej wersji, kiedy użytkownik zdecyduje się zapisać plik, ten pierwotny plik jest zastępowany - ostatnią tymczasową wersją wraz z późniejszymi zmianami.
Zatem, wniosek jest jeden:
Aby skutecznie dokonywać zmian na pliku - twórz jego kopię, a następnie nadpisuj nią (tą kopią) oryginał.


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

17-03-2004 19:33
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
Wszystkich odpowiedzi: 6 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1