Strona 1 z 2 12 OstatniOstatni
Pokaż wyniki 1 do 10 z 11

Temat: C++ - Funkcje aplikacji.

  1. #1
    Zarejestrowany
    Apr 2010
    Postów
    7

    Domyślnie C++ - Funkcje aplikacji.

    Witam już ponownie. ^^ Ostatnio oglądałem Video-Poradnik na temat programowania w C++ aplikacji okienkowej (rozmieszczanie guziczków, paseczków itp.). Ostatnio chciałem sobie stworzyć mały instalator do pewnej gry, jednak posiadam z tym problem. Chciałbym, abyście wymieniali mi tutaj funkcje aplikacji typu "Application::", dla buttonów (możecie dawać też spisy ^^). Z góry dziękuję za pomoc, ponieważ jak na razie to umiem tylko zamknąć swoją aplikację funkcją "Application::Exit();".

  2. #2
    Zarejestrowany
    Apr 2010
    Postów
    7

    Domyślnie

    Ok, no to może inne pytanie (nie chcę zakładać kolejnego tematu, żeby nie oskarżono mnie o to, że tylko licznik postów nabijam...).

    Jak zrobić argument aplikacji/opcję uruchamiania?

    Np. mam plik "programus.exe". Jest to program, który po uruchomieniu wyświetla każdemu znane "Hello World!" w konsoli. Jednak, jeśli uruchomię program z argumentem "-inny" (programus.exe -inny), program pod "Hello World!" wyświetla mi napis "Fajny argumencik! :>". Służy do tego jedna funkcja, czy może parę?

  3. #3
    Zarejestrowany
    Jan 2009
    Postów
    230

    Domyślnie

    Wykorzystaj argumenty wywołania funkcji głównej, podobnie jest z aplikacjami winapi.

    Kod:
    #include <stdio.h>
    int main(int argc, char *argv[]){
    puts("hello world");
    //sprawdzenie argumenty wywolania
    if(argc>1)
    //wyswietlenie na stdout konkretnych infomracji
    puts("dodatkowy argument!");
    return 0;}
    
    #include <iostream>
    using namespaces std;
    int main(int argc, char **argv){
    cout << "hello world" << endl;
    if(argc>1)
    cout << "dodatkowy argument" << endl;
    return 0;}


  4. #4
    Zarejestrowany
    Oct 2009
    Postów
    19

    Domyślnie

    służy do tego argument funkcji main() czyli adres spod którego rozpoczyna się wykonywanie kodu programu.
    Stąd zabrało się char **argv czyli argument main(), służy do uruchomienia programu z jakimś argumentem. W char **argv przechowywany jest twój argument.

  5. #5
    Zarejestrowany
    Apr 2010
    Postów
    7

    Domyślnie

    Cytat Napisał cyber_pl Zobacz post
    Wykorzystaj argumenty wywołania funkcji głównej, podobnie jest z aplikacjami winapi.

    Kod:
    #include <stdio.h>
    int main(int argc, char *argv[]){
    puts("hello world");
    //sprawdzenie argumenty wywolania
    if(argc>1)
    //wyswietlenie na stdout konkretnych infomracji
    puts("dodatkowy argument!");
    return 0;}
    
    #include <iostream>
    using namespaces std;
    int main(int argc, char **argv){
    cout << "hello world" << endl;
    if(argc>1)
    cout << "dodatkowy argument" << endl;
    return 0;}
    No przyjemnie, ale jak w końcu jest ten argument? Gwiazdeczka, czy co? Wkleić ten kod do jednego pliku cpp, czy do kilku? Prosiłbym o dokładniejsze wyjaśnienie, nie za bardzo uwielbiam tak szukać igły w stogu siana.

  6. #6
    Zarejestrowany
    Oct 2009
    Postów
    19

    Domyślnie

    cyber pokazał Ci dwa osobne kody źródłowe które korzystają z argumentu argv. Pierwszy z nich jest napisany w języku C a drugi w C++. Po prostu wklej jeden z nich do pliku .cpp i skompiluj.

  7. #7
    Zarejestrowany
    Jan 2009
    Postów
    278

    Domyślnie

    argc - to liczba argumentów typu int, nazwa programu jest również argumentem.
    argv[] - tablica argumentów typu string. lub tablica tablic typu char dla zwykłego c

    więcej znajdziesz np. tu Guide C++ ->kurs C++ ->Szkielet programu
    Ostatnio edytowane przez Laik707 : 05-14-2010 - 22:07

  8. #8
    Zarejestrowany
    Apr 2010
    Postów
    7

    Domyślnie

    No ok, program się kompiluje i w zasadzie działa, ale i tak nie pojmuję jaki jest ten argument (chyba "-1", no ale najwidoczniej program tego nie widzi tzn. dalej pokazuje mi ten sam komunikat z pierwszego couta). Gdzie w tym kodzie jest ukryty ten argument? Czy może coś autor zapomniał do kodu dodać? Proszę o pomoc, w C++ nie siedzę za długo...

  9. #9
    Zarejestrowany
    Dec 2009
    Postów
    164

    Domyślnie

    nie jest ukryty argument, tylko ty masz go podać ..
    posłużę się tutaj przykładami z których zacząłeś się męczyć:
    Przykład w "C", kompilujesz i uruchamiasz z argumentem np. założę że skopiowany masz program na partycję C:.

    Uruchamiasz cmd i teraz tak:
    Kod:
    cd C:\
    i odpalasz program z argumentami:
    Kod:
    program.exe arg_1
    arg_1 - argument programu. Jeżeli uruchomisz zwyczajnie
    Kod:
    program.exe
    wyświetli ci się pierwszy napis gdyż nie użyłeś żadnego argumentu, zaś gdy jest argument czyli tak jak wyżej wyświetli się drugi napis.

    trudne?

  10. #10
    Zarejestrowany
    Apr 2010
    Postów
    7

    Domyślnie

    Ok, a jakbym chciał uruchamiać program przez właśnie dopisanie argumentu do skrótu, a nie przez konsolę?
    Kolejne pytanie, czy mogę te argumenty jakoś nazwać? Bo z takimi arg_1, arg_2 i arg_3 to mógłbym się pogubić w samej strukturze programu.

    + Przegrałeś zakład... Akurat wszystkie programy i duperele trzymam na D, na C tylko system mam. ^^

Strona 1 z 2 12 OstatniOstatni

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj