Adres bazy danych, ustawienia przechowywane w pliku txt,cfg,ini

Ostatnio dostałem maila w którym jeden z internautów pyta się o metodę która pozwoli mu na przechowywanie adresu bazy danych w pliku *.txt tego typu rozwiązanie jest powszechnie stosowane a pliki tego typu mają zazwyczaj rozszerzenie *.ini. Przygotowałem dla was tego typu rozwiązanie.

Witam
Nie będę tu wychwalać bloga, bo i nie o to mi chodzi (blog super znalazłem w nim wiele podpowiedzi 🙂 )
Jednak mam pytanie.
Od dłuższego czasu borykam się z problemem przeniesienia pliku bazy danych login.sdf poza obszar uruchamiania programu (czyli ścieżkę określoną w properties/setting: Data Source=|DataDirectory|\Login.sdf)
Można to oczywiście zmienić ręcznie i wpisać tu zamiast |DataDirectory| np: d:\ przenosząc jednocześnie plik na dysk d:\.
Problem polega na tym że chciałbym aby lokalizacja pliku była elastyczna, czyli aby wartość |DataDirectory| mogła być odczytana np. z pliku serwer.txt zawierającym pełną ścieżkę do położenia pliku Login.sdf.
Czy jest jakiś prosty sposób aby tego dokonać 🙂 (sam się już nieraz stukałem w głowę że rzeczy nad którymi siedziałem godzinami można było rozwiązać w 3 minuty).
Niestety poziom mojej wiedzy w zakresie VB nie jest jakiś super (jakoś sobie radzę, czytam, wertuję strony WWW) ale cóż powoli się poddałem w tej kwestji.
Jeśli to możliwe proszę o pomoc..
 Trzymanie wszelkiego rodzaju ustawień w plikach edytowalnych takich jak txt, cfg lub ini jest powszechne i bardzo wygodne. Utworzenie pliku który będzie łatwo edytowalny w strukturze programu jest zazwyczaj niemożliwe. Takie rozwiązanie daje administratorowi możliwość edytowania istotnych informacji a programowi przechowywanie i przywracanie danych. Najpierw nasz program sprawdzi czy plik konfiguracyjny istnieje. Zrobimy to przy pomocy kodu:
 Efekt :
plikkonfiguracjiwtxt
 Jeśli plik nie istniał, znaczy że nie przechowywał żadnych opcji, należy więc uzupełnić te opcje przy tworzeniu pliku. Dodam kilka zmiennych których opcje ustawimy. Ja wprowadziłem takie oto zmienne:
Należy teraz usunąć nasz plik „\ustawienia.cfg” z folderu Debuger, ponieważ nie zostanie on utworzony gdyż już istnieje. Po jego usunięciu i uruchomieniu programu otrzymamy efekt:
 plikkonfiguracjiwtxt2Są to ustawienia domyślne jakie narzucimy z góry przy pierwszym uruchomieniu programu. Bierzemy pod uwagę w tym wypadku dwie opcje:
1. Plik nie istnieje. (Trzeba go utworzyć)
2. Plik istnieje, lecz jest uszkodzony. (Trzeba usunąć uszkodzony plik i utworzyć nowy)
 Efekt jest widoczny na obrazku:
plikkonfiguracjiwtxt3Drugi warunek mamy spełniony, plik nie istnieje więc ustawienia fabryczne są zapisywane. Co jeśli plik uszkodzimy? Wpisanie dodatkowych linii do naszego pliku cfg  lub je usunięcie będzie wyświetlało komunikat:
plikkonfiguracjiwtxt4
 Komunikat otrzymujemy dzięki wykorzystaniu pętli „Try…Catch ex As Exception…End Try” w momencie natrafienia na błąd w pętli zostanie wyświetlony komunikat o błędzie odbywa się to za pośrednictwem kodu: MsgBox(ex.ToString) gdzie ex przechowuje informacje o błędzie. Należy po prosu w momencie natrafienia na błąd wprowadzić ustawienia fabryczne:

Nasze zmienne będziemy zapisywać przy zamykaniu formy. Tutaj mamy trzy możliwości

1. Usuwamy plik i tworzymy nowy. (przykład w UstawieniachFabrycznych).

2. Czytamy linie pliku i nadpisujemy każdą po kolei.

3. Otwieramy plik, czyścimy wszystkie linie i zapisujemy nowe.

Czy obie opcje działają, sprawdźcie sami. U mnie wszystko działało poprawnie. Dodałem kilka modyfikacji, połączenie z bazą danych itp:

plikkonfiguracjiwtxt5

Pełen kod dostępny tutaj:  plikkonfiguracyjny_visualmonsters-cba-pl

 

 

 

 

Permalink do tego artykułu: https://visualmonsters.cba.pl/adres-bazy-danych-ustawienia-przechowywane-w-pliku-txtcfgini/

Dodaj komentarz

Twój adres email nie będzie publikowany.