Tag Archives: programowanie

Loading
loading..

Po przeczytaniu tego wpisu będziesz wiedział jak w łatwy sposób pobrać pełną ścieżkę pliku. Do tego celu można wykorzystać metodę GetOpenFilename obiektu Application lub metodę GetSaveAsFilename obiektu Application.

Metoda GetOpenFilename wyświetla dobrze wszystkim znane okno dialogowe Otwieranie, gdzie wskazujemy folder oraz wybieramy plik, który nas interesuje.
okno otwierania

Co ważne metoda ta nie otwiera wskazanego pliku a jedynie pobiera jego ścieżkę oraz nazwę i zwraca jako łańcuch znaków.

Poniżej przykład implementacji metody GetOpenFilename

Sub PobierzSciezkePliku()
    Dim SciezkaPliku As Variant 'Deklaracja zmiennej, która będzie przechowywać ścieżkę pliku
    Dim FileFilter As String 'Deklaracja zmiennej, która będzie argumentem FileFilter
    
    FileFilter = "Pliki Excel XLSX (*.xlsx),*.xlsx," 'Tutaj podajemy łańcuch określający kryterium filtrowania plików
    
    SciezkaPliku = Application.GetOpenFilename(FileFilter) 'Otwarcie okna dialogowego Otwieranie oraz pobranie ścieżki pliku do zmiennej
End Sub

Wszystkie argumenty metody GetOpenFilename są opcjonalne.

Application.GetOpenFilename(FileFilter, FileIndex, Title, ButtonText, MultiSelect)

FileFilter – argument ten określa co pojawi się na liście rozwijanej okna dialogowego Otwieranie. Jeżeli pominiemy ten argument to w oknie będą wyświetlane Wszystkie pliki. Jest to równoznaczne z podaniem argumentu „Wszystkie pliki (*.*),*.*

W powyższym przykładzie wyświetlamy tylko pliki formatu .xlsx. Argument FileFilter jest równy: „Pliki Excel XLSX (*.xlsx),*.xlsx,”
Pierwsza część łańcucha: Pliki Excel XLSX  definiuje jaki tekst będzie wyświetlany na liście rozwijanej Pliki typu. Druga część: (*.xlsx),*.xlsx, określa jakie pliki zostaną wyświetlone w oknie (tylko o formacie .xlsx).

FilterIndex – argument ten definiuje domyślne kryterium filtrowania plików (Ma to znaczenie w przypadku gdy FileFilter posiada więcej niż jedno kryterium. Poniżej jest zaprezentowany przykład gdy argument FileFilter składa się z 3 kryteriów).

Title – tytuł okna dialogowego (jesli zostanie pominięty, tytułem będzie łańcuch Otwieranie

ButtonText – argument stosowany tylko w przypadku systemu Macintosh

MultiSelect – jeżeli argument ma wartość True, wybranych może być więcej niże jeden plik. Wartością domyślną jest False (możliwość wybierania tylko jednego pliku). Gdy argument będzie równy True to metoda GetOpenFilename będzie zwracać tablicę.

Poniżej przykład gdy mamy 3 kryteria filtrowania plików:

Sub PobierzSciezkePliku()
 Dim SciezkaPliku As Variant
 Dim FileFilter As String
 
 FileFilter = "Pliki Excel (*.xlsx;*.xls),*xlsx;*.xls,"
 "Pliki Excel XLSX (*.xlsx),*.xlsx,"
 "Pliki Excel 97-2003 (*.xls),*.xls,"
 
 SciezkaPliku = Application.GetOpenFilename(FileFilter)
End Sub

Następnie spróbujmy zdefiniować 4 kryteria filtrowania plików, ustawić czwarte kryterium jako domyślne i zmienić tytuł okna dialogowego.

Sub PobierzSciezkePliku()
    Dim SciezkaPliku As Variant
    Dim FileFilter  As String
    Dim FilterIndex  As Integer
    Dim Title As String
    
    FileFilter = "Pliki Excel (*.xlsx;*.xls),*xlsx;*.xls," & _
    "Pliki Excel XLSX (*.xlsx),*.xlsx," & _
    "Pliki Excel 97-2003 (*.xls),*.xls," & _
    "Wszystkie pliki (*.*),*.*"
    
    FilterIndex = 4 'Wybieramy domyślny filtr. 4 oznacza że domyślnie wybieramy filtr Wszystkie pliki (*.*)
    Title = "Otwórz plik Excela"
    
    SciezkaPliku = Application.GetOpenFilename(FileFilter, FilterIndex, Title)
    
    'Wyświetlenie  MessageBox, jeśli w oknie dialogowym zostanie naciśnięty przycisk Anuluj
    If SciezkaPliku = False Then
        MsgBox "Nie wybrano żadnego plikU."
        Exit Sub
    End If
End Sub

Metoda GetSaveASFilename jest prawie identyczna jak metoda GetOpenFilename. Różnica jest taka, że wyświetla ona okno dialogowe Zapisywanie jako i umożliwia wybranie pliku lub podanie nazwy pliku. Funkcja również zwraca ścieżkę pliku wraz z nazwą i nie podejmuje żadnej akcji. Wszystkie argumenty tej funkcji są opcjonalne. Argument InitialFilename pozwala określić sugerowaną nazwę pliku (wraz ze ścieżką do pliku).

Poniżej zadania, które pomocą Ci poćwiczyć sprawniejsze posługiwanie się pętlami.

Zadania powinny być uniwersalne w każdym języku imperatywnym
Czyli niezależnie od tego jakiego języka programowania się uczysz, zadania powinny być rozwiązywalne. ( C, C++, C#, JAVA, JavaScript, VBA, Ruby, Python)

Zadania na wykorzystanie pętli

Napisz funkcję/procedurę/metodę, której wywołanie pozwoli na:

  1. wypisz liczby od 1 do 100
  2. wypisz liczby od 8 do 50
  3. wypisz liczby parzyste od 2 to 50
  4. wypisz liczby od 100 do 1
  5. wypisz liczby podzielne przez 8 ( w zakresie 1..100)
  6. wypisz liczby podzielne przez 3 lub 5 ( w zakresie 1..100)
  7. wypisz liczby podzielne przez 3 albo 5 ( w zakresie 1..100) (nie wypisuj tych podzielnych jednocześnie przez 3 i 5)
  8. wypisz największą liczbę niepodzielną przez 2,3,5,7 ale mniejszą od 1000
  9. sprawdź czy podana jako parametr liczba jest parzysta
  10. sprawdź czy podana jako parametr liczba jest liczbą pierwszą. (podzielna tylko przez 1 i przez samą siebie) (opis tutaj
  11. wylicz największy wspólny dzielnik 2 liczb podanych jako parametry (opis tutaj)
  12. wylicz najmniejszą wspólną wielokrotność liczb podanych jako parametry (opis tutaj)
  13. ile jest liczb pierwszych w zakresie od a do b podanym jako parametry
  14. sprawdź czy 2 liczby podane jako parametr są liczbami względnie pierwszymi. (opis tutaj)
  15. sprawdź czy pesel ( jako parametr) jest prawidłowym peselem (tutaj opis)
  16. oblicz silnię n (n – podane jako parametr) (tutaj opis)
  17. oblicz n-tą liczbę ciągu fibonacciego (n – podane jako parametr) (tutaj opis)
  18. oblicz n-tą liczbę pierwszą (n – podane jako parametr)

Wszystkie rozwiązania mile widziane, umieszczę pod zadaniami.
Jak będziesz miał jakieś pytania, któreś z zadań będzie za trudne do rozwiązania, to pisz na maila, spróbuję podpowiedzieć i wytłumaczyć.

Powodzenia!

KROK 1: Instalacja Pythona

  1. Wchodzisz na stronkę www.python.org
  2. Pobierasz program
  3. instalujesz

Tutaj nie powinno być żadnych problemów

KROK2: Dodanie zmiennych środowiskowych

Żeby tego wygodniej używać poleceń python i pip trzeba dodać do PATH foldery z pythonem i skryptami
Najczęściej są to: C:\Python34 oraz C:\Python34\Scripts

Wykonujemy:

  1. zapamiętyjesz gdzie jest python i zapamiętujesz gdzie jest pip
  2. Mój Komputer prawym -> właściwości -> zaawansowane ustawienia systemu -> Zaawansowane -> Zmienne środowiskowe
  3. w dolnym okienku szukasz Path i edytuj
  4. na końcu wartości dopisujesz te 2 foldery

U mnie wygląda to jakoś tak:
…..owsPowerShell\v1.0\;C:\Python34\;C:\Python34\Scripts\

Co to jest zmienna środowiskowa PATH?

Tutaj znajdują się foldery, które ma przeszukać po wydaniu polecenia w commandline
Czyli już nie będziesz musiał przechodzić do C:\Python34, żeby uruchomić cokolwiek
Powinno już wszystko działać jak w tutorialu.

Przed kolejnym krokiem trzeba zrestartować komputer (Zmienne środowiskowe ładują się przy uruchamianiu)

KROK3: Zainstalowanie Django

  1. Wchodzisz w Command Line (na jeden ze sposobów)
    • Start -> uruchom -> wpisujesz cmd -> klikasz ok
    • Skrót klawiszowy WIN+ R -> wpisujesz cmd -> klikasz ok
  2. wpisujesz: pip install Django==1.7.4

Zainstalowane.

polecam na początek przerobić tutorial ze strony www.djangoproject.com

Zadanie na GUI:

1. zrób formularz osobowy: 2 labele, 2 textboxy     (imię i nazwisko) + radiobutton z wyborem płci + przycisk DODAJ
Na początku żaden z radiobuttonów nie powinien być zaznaczony.
Dodatkowo program powinien uniemożliwić kliknięcie przycisku bez wpisanych danych lub bez zaznaczonej płci. (proponuję zrobić to po prostu właściwością Enabled)
po wpisaniu danych i kliknięciu przycisku program dopisuje koleją osobę na końcu pliku i czyści to co wpisaliśmy w textboxach oraz odznacza wszystko w radiobutton.

Zadanie STOS:

2. Napisz klasę, która będzie stosem (stack). Jest to struktura danych, która udostępnia 4 metody:
* bool czyPusty
* bool czyPełny
* void dodaj(int x)
* int pobierz()
Elementy dodawane do stosu układane są tak jak np. dokumenty na stole:
Jeśli dodam nowy dokument to będzie on na wieżchu stosu. ( instrukcja dodaj)
Jeśli dodam kolejny, to ten będzie na górze a poprzedni pod nim. ( instrukcja dodaj)
Jeśli teraz chciałbym pobrać dokument, to bez rozwalania stosu mogę wziąć tylko ten na górze. (instrukcja pobierz)
Stos możesz oprogramować za pomocą:
*  listy (dodajesz zawsze na początek i pobierasz również z początku listy)
* tablicy (początek tablicy jest spodem stosu, a ty pamiętasz ile papierów tam już masz i jeśli dodajesz nową liczbę, to zwiększasz indeks pamiętający górę stosu).
Zastanów się, zrób jedną a najlepiej obie implementacje.
Jeśli się zatniesz, to pisz.
W internecie (chociażby na Wikipedii) znajdziesz sporo info o implemenacji stosów.

Zadanie dodatkowe. Sprawdź jak w bibliotece STL rozwiązany jest stos. I jak go używać.

Layout mode
Predefined Skins
Custom Colors
Choose your skin color
Patterns Background
Images Background

Zapisz się na nasz newsletter dotyczący nauki Excela

Wysyłaj mi newsletter (możesz się wypisać w każdym dowolnym momencie).

FreshMail e-mail marketing free online marketing software