A A A

Dobre źródła

PC Format 12/2007
Jeżeli uważnie śledziłeś dotychczasowe odcinki naszego kursu pisania skryptów, to poznałeś już podstawowe zagadnienia związane z wykorzystaniem języka Visual Basic Script. Teoria więc była. Nadszedł czas na praktykę.

Usuwanie znaków tabulacji z plików tekstowych

Ręczne kasowanie znaków tabulatora z dużego pliku tekstowego to nużące i długotrwałe zajęcie. Tymczasem, korzystając z prostego skryptu, możesz to załatwić błyskawicznie. Warto przyjrzeć się tym razem temu, co kryje w sobie kod przedstawiony w listingu 2.


Pierwsze dwie linie (1 i 2) to deklaracja dwóch stałych (od razu z przypisaniem im wartości – w końcu to stałe, więc wartości te nie ulegną zmianie aż do końca skryptu), których będziesz używał w skrypcie do operacji na pliku.


W kolejnej linii tworzony jest obiekt Scripting.FileSystemObject, dzięki któremu – posługując się metodą OpenTextFile – otwierasz plik tekstowy do odczytu. Oczywiście ścieżka do pliku tekstowego widoczna w linii 4 jest zupełnie dowolna. Możesz zmodyfikować ten fragment, dostosowując go do własnych potrzeb.


Blok kolejnych ośmiu linii to znana z poprzednich odcinków kursu pętla Do Until. Pętla będzie kontynuowana tak długo, aż właściwość pliku (objFile) AtEndOfStream przyjmie wartość true. Innymi słowy, działania będą zapętlone, dopóki nie zostanie osiągnięty koniec pliku.


Zwróć uwagę, że wewnątrz wspomnianej pętli znajduje się jeszcze konstrukcja warunkowa If Then End If. Sprawdza ona, czy ostatni znak w danym wierszu jest znakiem tabulatora (który z założenia należy usunąć). Skąd skrypt „wie”, że chodzi o znak tabulatora? Wyrażenie Chr(9) oznacza znak o kodzie ASCII równym 9, a taki właśnie kod ma znak tabulatora. A skąd wiadomo, że chodzi o ostatni znak w wierszu? O tym z kolei decyduje obecność funkcji Right widocznej w linii 9.


W linii 10 za pomocą funkcji Len jest badana liczba znaków w wierszu. Następnie w linii 11 za pomocą funkcji Left są pobierane znaki, ale bez ostatniego, o czym świadczy wartość inLenght-1. Kolejna linia dodaje do każdego wiersza otwartego pliku znak przejścia do nowej linii i powrotu karetki. W jaki sposób? Za pomocą wewnętrznej stałej vbCrLf (którą miałeś okazję poznać w poprzednim odcinku naszych skryptowych zmagań).


Na obecnym etapie, po wykonaniu pętli skrypt będzie przechowywał w pamięci komputera zmodyfikowaną wersję wejściowego pliku tekstowego, pozbawioną już znaków tabulatora. Trzeba teraz ten wynik zapisać do pliku. Aby to zrobić, najpierw należy zamknąć wciąż otwarty plik, czego dokonuje kod zawarty w linii 16.


W linii 18 plik jest ponownie otwierany, za pomocą użytej wcześniej metody Open TextFile. Oczywiście ścieżkę do pliku widoczną w nawiasie możesz dowolnie zmodyfikować. Gdy plik zostanie otwarty, używasz metody Write (patrz linia 19), by zawartość pamięci (zmodyfikowany plik) zapisać na dysku. Ostatnia linia to zamknięcie pliku.


Szczególną cechą tego skryptu jest to, że nie widać jego działania. Po prostu po jego uruchomieniu niemal natychmiast wskazany plik tekstowy (w linii 5) zostaje zmodyfikowany.

Przydatne adresy

Analiza gotowych skryptów to znakomity sposób na naukę. Zwłaszcza wtedy, gdy kod oglądanych skryptów jest dobrze udokumentowany. Skąd zatem wziąć gotowe skrypty? Oczywiście z internetu. Wspomniany i polecany przez nas serwis Microsoftu „Cześć, skrypciarze!” to niejedyne miejsce w sieci, gdzie znajdziesz gotowe skrypty. Na stronach dostępnych pod podanymi poniżej adresami znajdziesz nie tylko skrypty, ale także bogatą dokumentację, porady dotyczące pisania skryptów i wyjaśnienia odnośnie obiektów czy funkcji stosowanych w skryptach.

- www.microsoft.com/poland/technet/scriptcenter/default.mspx
- www.microsoft.com/poland/technet/scriptcenter/resources/qanda/default.mspx
- www.microsoft.com/technet/scriptcenter/default.mspx


Ocena:
Oceń:
Komentarze (0)

Redakcja nie ponosi odpowiedzialności za treść komentarzy. Komentarze wyświetlane są od najnowszych.
Najnowsze aktualności


Nie zapomnij o haśle!
21 czerwca 2022
Choć mogą się wydawać mało nowoczesne, hasła to nadal nie tylko jeden z najpopularniejszych sposobów zabezpieczania swoich kont, ale także...


Artykuły z wydań

  • 2024
  • 2023
  • 2022
  • 2021
  • 2020
  • 2019
  • 2018
  • 2017
  • 2016
  • 2015
  • 2014
  • 2013
  • 2012
  • 2011
  • 2010
  • 2009
  • 2008
  • 2007
Zawartość aktualnego numeru

aktualny numer powiększ okładkę Wybrane artykuły z PC Format 1/2022
Przejdź do innych artykułów
płyta powiększ płytę
Załóż konto
Co daje konto w serwisie pcformat.pl?

Po założeniu konta otrzymujesz możliwość oceniania materiałów, uczestnictwa w życiu forum oraz komentowania artykułów i aktualności przy użyciu indywidualnego identyfikatora.

Załóż konto