Reklama
Strona 50 z 358 PierwszaPierwsza ... 40484950515260100150 ... OstatniaOstatnia
Pokazuje wyniki od 736 do 750 z 5367

Temat: Programowanie - temat ogólny

  1. #736

    Data rejestracji
    2010
    Posty
    2,657
    Siła reputacji
    16

    Domyślny

    Cytuj Kusterek napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    [C#] Jak w zgrabny sposób liczyc wywołania danej metody? Coś oprocz dodawania pola statycznego w klasie ;s
    Osobno dla obiektów czy niezależnie od instancji?

    Osobno dla obiektów - dekorator po interfejsie
    Niezależnie od instancji - dekorator po interfejsie + zmienna statyczna

    @up
    Ujednolicasz interfejs:

    Kod:
    struct MyColor {
    
    private int rgb;
    
    public int RGB {
    
         get {
             return this.rgb;
         }
         
    }
    
    public MyColor(System.Android color) {
    //Mielisz dane z System.Android do RGB
    }
    
    public MyColor(UIColor color) {
    //Mielisz dane z UIColor do RGB.
    }
    
    
    }
    Ostatnio zmieniony przez Alex Fortune : 29-05-2014, 01:53

  2. #737
    Avatar Kusterek
    Data rejestracji
    2013
    Położenie
    Warszawa
    Wiek
    31
    Posty
    1,710
    Siła reputacji
    13

    Domyślny

    @up
    własnie ten dekorator mi sie obił o uszy :P
    Co do zamiany Colorw na strukture MyColor z polem RGB typu INT to potem zczytywać to np tak:
    Kod:
    Color c = Color.FromArgb(mb.RGB);
    No i kolejne pytanko jak dobrze uzywac?
    Kod:
    throw new NotImplementedException ();
    mam sobie metode:
    Kod:
    public IList<Note> Sort()
    		{
    			throw new NotImplementedException ();
    		}
    i chce ja sobie wykonac
    Kod:
    public static IList<Note> Sort()
    		{
    			try{
    			return NoteRepositoryADO.Sort ();
    			}
    
    			catch(NotImplementedException notImp)
    			{
    				Console.WriteLine (notImp.Message);
    			}
    		}
    tylko ze to mi sie nie wykona bez returna po za try{}, cos chyba zle robie nie?

    irc: freenode.net in #torgdevs

  3. Reklama
  4. #738

    Data rejestracji
    2010
    Posty
    2,657
    Siła reputacji
    16

    Domyślny

    Cytuj Kusterek napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    @up
    własnie ten dekorator mi sie obił o uszy :P
    Co do zamiany Colorw na strukture MyColor z polem RGB typu INT to potem zczytywać to np tak:
    Kod:
    Color c = Color.FromArgb(mb.RGB);
    No i kolejne pytanko jak dobrze uzywac?
    Kod:
    throw new NotImplementedException ();
    mam sobie metode:
    Kod:
    public IList<Note> Sort()
    		{
    			throw new NotImplementedException ();
    		}
    i chce ja sobie wykonac
    Kod:
    public static IList<Note> Sort()
    		{
    			try{
    			return NoteRepositoryADO.Sort ();
    			}
    
    			catch(NotImplementedException notImp)
    			{
    				Console.WriteLine (notImp.Message);
    			}
    		}
    tylko ze to mi sie nie wykona bez returna po za try{}, cos chyba zle robie nie?
    @Kusterek ;
    Wyjątka używasz jak każdego innego.

    Czyli:
    1) W danym kodzie, gdy wykonujesz metodę, o której wiesz, że jej interfejs może wyrzucić dany wyjątek, a wiesz jak go obsłużyć, tworzysz block try - catch
    2) Jeśli nie wiesz jak obsłużyć wyjątku, to najprawdopodobniej nie jest to Twoja odpowiedzialność i pozwalasz wyjątkowi iść wyżej gdzieś, gdzie ktoś będzie wiedział jak to zrobić.

    Przykład ( trochę z dupy ale musiałem wymyśleć jakiś prosty scenariusz ) xD
    Wyobraź sobie że masz klasę , która jest reprezentacją przyjęcia ( no takiego urodzinowego np xD ), no i generalnie implementacja tego ,,przyjęcia" zakłada, że na tym przyjęciu będzie ,,ktoś śmieszny" który będzie rozbawiał publikę :P

    Kod:
    class Party {
    
        private Funny funnyGuy;
    
        public Party(Funny funnyGuy) {
            this.funnyGuy = funnyGuy; 
        }
    
        public void makeParty() {
    
            this.funnyGuy.doFunnyThings();
    
        }
    
    }
    Teraz masz interfejs Funny i dwie przykładowe implementacje ( w tym jedna wyrzuca wyjątek bo nie jest gotowa ) :

    Kod:
    interface Funny {
    	void doFunnyThings();
    }
    
    class FunnyMcDonaldClown : Funny {
    
    	public void doFunnyThings() {
    		Console.WriteLine("I'm the McDonald guy and I'm doing a lot of funny things!");
    	}
    	
    }
    
    class FunnyComedian : Funny {
    
    	public void doFunnyThings() {
    	
    		throw new NotImplementedException();
    	
    	}
    
    }
    Teraz musisz zastanowić się nad tym, czy nasza klasa Party powinna potrafić obsłużyć wyjątek ,,NotImplementedException" ? Konkretniej, pytanie brzmi - czy Nasza klasa przyjęcia powinna umieć poradzić sobie z sytuacją , kiedy dany ,,rozśmieszacz" nie będzie zaimplementowany?

    Moim zdaniem np nie - użycie kodu który nie jest zaimplementowany to moim zdaniem błąd i taki dependency nie powinien być nigdy wstrzyknięty. Dlatego, jeśli wyjątek zostanie wyrzucony, zostawiam go, aby poleciał dalej.

    Ale jeśli, np zdefiniowalibyśmy wyjątek w stylu:

    Kod:
    class NotFunnyException : Exception { }
    I zadalibyśmy to pytanie ponownie, brzmiałoby ono: ,,Czy nasza klasa przyjęcia powinna umieć obsłużyć sytuację, w której rozśmieszacz nie jest śmieszny?" - i tu odpowiedź brzmi tak.

    Więc kod wyżej w klasie Party można zmodyfikować na:
    Kod:
        public void makeParty() {
            try {
                this.funnyGuy.doFunnyThings();
            } catch(NotFunnyException) {
                this.funnyGuy.kickOut(); //Nie chce mi sie juz modyfikowac interfejsu, ale mam nadzieje ze rozumiesz ocb :P
            }
        }
    I jeszcze apropo Twojego zapytania - skoro catchujesz dany wyjątek, to znaczy, że umiesz go obsłużyć i poprowadzić metodę tak, aby zadziałała poprawnie ( to znaczy - aby zwróciła oczekiwany rezultat, w tym wypadku potrafi zwrócić IList<Note>. Oczywiście, możesz też wyrzucić wyjątek dalej, ale generalnie rzucanie tego samego wyjątku dalej uważam za antipattern, bo można to po prostu złapać gdzieś wyżej, zamiast łapać po dwa razy. )

    Reasumując:
    1. Wyjątki sa po to, by wskazać, że coś jest poza normalnym działaniem danego obiektu/metody.
    2. Kod, który wywołuje daną metodę, powinien sam na podstawie interfejsu który calluje ocenić, czy potrafi daną sytuacje wyjątkową obsłużyć.
    3. Po obsłużeniu wyjątku, jesteśmy zobowiązani prowadzić daną metodę normalnie dalej , co oznacza, że musimy zwrócić dany typ danych ( albo wywołać inny wyjątek :P )

    Uff. Mam nadzieję , że pomogłem xD
    Ostatnio zmieniony przez Alex Fortune : 29-05-2014, 11:36

  5. #739
    Avatar Killavus
    Data rejestracji
    2005
    Położenie
    Wrocław
    Wiek
    32
    Posty
    915
    Siła reputacji
    19

    Domyślny

    Cytuj zakius napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    maso xD
    Nie. Używałem pthreadów, które są POSIXowym API i są bardzo logiczne - jedyny problem to po prostu zrozumienie problemów współbieżności. Do WinAPI nie podchodzę nigdy bez podręcznego zestawu do chemioterapii. C jest właśnie sympatyczniejsze - atomowość instrukcji jest dobrze opisana w semantyce języka itp.

    PS Jeżeli nie używa się sekcji krytycznych to ogólnie rzadko kiedy opłaca się korzystać z wątków - generują niepotrzebne problemy, a wystarczy zwykły tandem fork-and-exec ;).

    Pozdrawiam
    Killavus
    Ostatnio zmieniony przez Killavus : 29-05-2014, 15:15

  6. #740
    Avatar zakius
    Data rejestracji
    2008
    Położenie
    The Internets
    Wiek
    33
    Posty
    11,075
    Siła reputacji
    24

    Domyślny

    Jak mi się interfejs wieszal na tyle, że nie mogłem cancel kliknąć to dałem workera i po sprawie :p

    ej panowie, co mam wklepać do cssa jak chcę żeby maksymalna szerokość obrazu wynosila szerokość strony a jak jest mniejszy żeby został? albo jak chociaż diva w którym jest ograniczyć do szerokości strony to już max-width 100% starczy chyba? bo jak div nie ma limitu to wychodzi poza ekran...
    Ostatnio zmieniony przez zakius : 29-05-2014, 18:27
    Problem z komputerem? Instrukcja diagnostyczna
    Cytuj Vegeta napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Baby maja wymagania jak windows vista, takze nigdy nie wiesz.
    Cytuj Dzzej napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Moje posty to esencja głupoty.
    "Don't worry, I'm just a pervert"

  7. #741
    Avatar Bazan
    Data rejestracji
    2008
    Wiek
    31
    Posty
    1,909
    Siła reputacji
    18

    Domyślny

    Cytuj zakius napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Jak mi się interfejs wieszal na tyle, że nie mogłem cancel kliknąć to dałem workera i po sprawie :p

    ej panowie, co mam wklepać do cssa jak chcę żeby maksymalna szerokość obrazu wynosila szerokość strony a jak jest mniejszy żeby został? albo jak chociaż diva w którym jest ograniczyć do szerokości strony to już max-width 100% starczy chyba? bo jak div nie ma limitu to wychodzi poza ekran...
    img {width:auto;height:auto;max-width:100%}

    Drugiej czesci zdania nie rozumiem xD
    Dreaming by drumming. ˆˆ™

  8. #742
    Avatar zakius
    Data rejestracji
    2008
    Położenie
    The Internets
    Wiek
    33
    Posty
    11,075
    Siła reputacji
    24

    Domyślny

    no niestety jak obraz jest szerszy od ekranu to daje swoje 100% a nie ekranu, no i chciałem żeby małych nie rozciągało dlatego max-width używam, ale właśnie żeby nie wychodził poza ekran :/
    Problem z komputerem? Instrukcja diagnostyczna
    Cytuj Vegeta napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Baby maja wymagania jak windows vista, takze nigdy nie wiesz.
    Cytuj Dzzej napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Moje posty to esencja głupoty.
    "Don't worry, I'm just a pervert"

  9. #743

    Ekspert: Sprzęt i oprogramowanie
    Mistrzu dragon jest teraz offline
    Avatar Mistrzu dragon
    Data rejestracji
    2006
    Położenie
    20 cm od klawiatury
    Posty
    1,857
    Siła reputacji
    20

    Domyślny

    box-sizing:border-box ? czy responsive web i media quaries bo też chyba nie rozumiem xd
    Ostatnio zmieniony przez Mistrzu dragon : 29-05-2014, 21:21
    Powyższy post może być sarkastyczny oraz zawierać śladowe ilości orzechów arachidowych.

  10. #744
    Avatar zakius
    Data rejestracji
    2008
    Położenie
    The Internets
    Wiek
    33
    Posty
    11,075
    Siła reputacji
    24

    Domyślny

    używając jedynie htlm(5) i css(3) chcę zrobić żeby obrazek: wyświetlał się na środku jeśli jest mniejszy niż szerokość ekranu (działa) i downscalował się do szerokości ekranu jeśli jest większy ("działa" jeśli wpiszę wartość w px)

    box-sizing samo w sobie chyba nie pomoże co? bo mi nie pomogło :p
    Problem z komputerem? Instrukcja diagnostyczna
    Cytuj Vegeta napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Baby maja wymagania jak windows vista, takze nigdy nie wiesz.
    Cytuj Dzzej napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Moje posty to esencja głupoty.
    "Don't worry, I'm just a pervert"

  11. #745

    Ekspert: Sprzęt i oprogramowanie
    Mistrzu dragon jest teraz offline
    Avatar Mistrzu dragon
    Data rejestracji
    2006
    Położenie
    20 cm od klawiatury
    Posty
    1,857
    Siła reputacji
    20

    Domyślny

    nie bo myślałem o czym innym xd

    sprawdziłem i coś takiego śmiga
    Kod:
    img
    {
            max-width: 100%;
            display: block;
            margin: auto;
    }
    Ostatnio zmieniony przez zakius : 29-05-2014, 22:54
    Powyższy post może być sarkastyczny oraz zawierać śladowe ilości orzechów arachidowych.

  12. #746
    Avatar Ander Twenty
    Data rejestracji
    2007
    Wiek
    28
    Posty
    4,414
    Siła reputacji
    20

    Domyślny

    Mordeczki, podstawy pascala i pythona znam, ale chciałbym nauczyć się czegoś, co nie jest używane przez starych grubych informatyków tylko więc jakie propozycje macie?
    C++? java?

  13. #747
    Avatar Tatasek
    Data rejestracji
    2006
    Położenie
    Stalowa Wola
    Posty
    2,358
    Siła reputacji
    19

    Domyślny

    sluchajcie robilem dwa zadanka z petli do...while



    pierwszy podpunkt zrobilem tak

    Kod:
    #include <iostream>
    #include <cstdlib>
    
    int main()
    
    {
    
    int liczba;
    
       do
       {
    
    
       std::cout << "Podaj liczbe 33, aby zakonczyc program." << std::endl;
       std::cout << "Podaj liczbe: ";
       std::cin >> liczba;
    
    
           if (liczba==33)
           {
              std::cout << " " << std::endl;
              std::cout << "Podales poprawna liczbe." << std::endl;
              std::cout << "Koniec" << std::endl;
           }
    
           else
    
              std::cout << "Podales zla liczbe. Sprobuj ponownie" << std::endl;
    
    
        }while (liczba != 33);
    
    system ("pause");
    return 0;
    Macie jakies zastrzezniea uwagi ws w/w kodu?

    I drugi zadanie z ktorym czesciowo sobie poradzilem, ale jestem juz zmeczony i nie mam pomyslu jak je wykonac.

    Kod:
    #include <iostream>
    #include <cstdlib>
    
    int main()
    
    {
    
    int liczba;
    
       do
       {
    
    
       std::cout << "Podaj liczbe 33, aby zakonczyc program." << std::endl;
       std::cout << "Podaj liczbe: ";
       std::cin >> liczba;
    
    
           if (liczba==33)
           {
              std::cout << " " << std::endl;
              std::cout << "Podales poprawna liczbe." << std::endl;
              std::cout << "Koniec" << std::endl;
           }
    
           else
    
              std::cout << "Podales zla liczbe. Sprobuj ponownie" << std::endl;
    
    
        }while (liczba != 33);
    
    system ("pause");
    return 0;
    I chcialbym, aby pod "case 0" podstawic komende, aby zamknac program, nawet gdyby ta komenda byla wsrodku kodu
    I jeszcze jedno chcialbym aby zabezpieczyc program przed wpisywaniem np. liter zamiast liczb, probowalem cos kombinowac z if...else ,ale nic mi nie przychodzi do glowy. na int nie zwracajcie uwagi zamienie u siebie na float

    dzieki

  14. #748
    Avatar zakius
    Data rejestracji
    2008
    Położenie
    The Internets
    Wiek
    33
    Posty
    11,075
    Siła reputacji
    24

    Domyślny

    kurde
    może samo zadziała (na czym testowałeś?) ale jak mam popupa to średnio
    mam
    Kod:
    <div id='popup_content'>
    	    {$nav}
    		<div id='popup_center'>
                <img onclick=op('popup') src='static/comic/{$r->image}' alt='asdf' class='popimg'>
    		</div>
    	</div>
    gdzie w $nav może być kod za jedną lub dwie strzałki w stylu
    Kod:
    <nav id='nextPhoto'><a href='gallery/picture/{$next->id}/box'>&rarr;</a></nav>
    i jak to gówno ostylować żeby było jak mówię, bo samo rzucenie
    Kod:
    img{
    max-width: 100%;
    display: block;
    margin: auto;
    }
    nołp
    @Ander Twenty ; cpp, cs, java
    @Tatasek ; powtarzam: double nie float
    sprawdzanie znaków mrobiłem kiedyś tak
    Kod:
    double Get_parametr(char *str, double high, double low, char *err)
    {
    	char input[50];
    	char *wsk;
    	double data;
    	bool enable;
    	do{
    		enable = false;
    		for(char *temp = str;*temp;*(++temp))
    		cout << *temp;
    		cin >> input;
    		for(wsk = &input[0];*wsk;*(++wsk)){
    			if(!((*wsk >= 48 && *wsk <= 57) || *wsk == 46 || *wsk == 45))
    			enable = true;}
    		data = atof(input);
    		if(data > high)
    			enable = true;
    		if(data < low)
    			enable = true;
    		if(enable){
    			for(char *temp = err;*temp;*(++temp))
    				cout << *temp;
    			if(*err !=0)
    				cout << endl;}
    	}while(enable);
    return data;
    }
    i używasz w stylu double temp=Get_parametr("Podaj rok urodzenia: ",1995,1980,"Rok musi zawierac sie w przedziale 1980-1995"); ale to chyba overkill troszkę, no ale działa
    Ostatnio zmieniony przez zakius : 29-05-2014, 22:54
    Problem z komputerem? Instrukcja diagnostyczna
    Cytuj Vegeta napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Baby maja wymagania jak windows vista, takze nigdy nie wiesz.
    Cytuj Dzzej napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Moje posty to esencja głupoty.
    "Don't worry, I'm just a pervert"

  15. #749

    Data rejestracji
    2010
    Posty
    2,657
    Siła reputacji
    16

    Domyślny

    Cytuj Ander Twenty napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Mordeczki, podstawy pascala i pythona znam, ale chciałbym nauczyć się czegoś, co nie jest używane przez starych grubych informatyków tylko więc jakie propozycje macie?
    C++? java?
    PHP, C#, C++, Java, Python , ( trochę ) Ruby ( ale ssie jajca ) ..

  16. #750
    Avatar Kusterek
    Data rejestracji
    2013
    Położenie
    Warszawa
    Wiek
    31
    Posty
    1,710
    Siła reputacji
    13

    Domyślny

    @up
    widzialem fajny kurs Ruby w promocyjnej cenie.... 7000 zł xD

    irc: freenode.net in #torgdevs

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. Star Wars: The Old Republic - temat ogólny
    Przez Mefistos w dziale Inne gry
    Odpowiedzi: 106
    Ostatni post: 21-11-2012, 14:28
  2. League of Legends //dla potomnosci: League of Legends - temat ogolny.
    Przez ZinC w dziale Inne gry
    Odpowiedzi: 30145
    Ostatni post: 24-03-2012, 02:33
  3. Cities XL 2012 - temat ogólny
    Przez Bezdomny w dziale Inne gry
    Odpowiedzi: 0
    Ostatni post: 20-10-2011, 18:11
  4. Dragon Ball Legend temat ogólny
    Przez Mugenoo w dziale Tematy serwerów
    Odpowiedzi: 20
    Ostatni post: 02-03-2011, 16:47

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •