Autor Wątek: Problem z kodem (C#)  (Przeczytany 2710 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline nitro

  • Developer
  • Supporter
  • *
  • Wiadomości: 168
  • Kartoteka
  • Siła reputacji: 63
  • nitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezes
  • Distance Travelled: 3678km
  • Trains Routed: 449
Re: Problem z kodem (C#)
« Odpowiedź #15 dnia: 11 Grudzień 2016, 14:57:42 »
Przepisać na Androida. Android używa Javy. Ewentualnie używać Xamarina do tworzenia aplikacji.
NitroSWDR [INFO NA TD2] [Github]
NitroCity: trochę tego, trochę tamtego...

Offline jakubg1

  • Supporter
  • *
  • Pioneer
  • *
  • Wiadomości: 882
  • Kartoteka
  • Siła reputacji: 8
  • jakubg1 pracownik torowy
  • Jestem na diecie... ...postowej.
  • Distance Travelled: 1341km
  • Trains Routed: 340
Re: Problem z kodem (C#)
« Odpowiedź #16 dnia: 12 Grudzień 2016, 15:50:10 »
Z góry przepraszam za długie zwlekanie z odpowiedzią, byłem zbanowany, proszę się nie wściekać.
No nic, myślałem że da radę to zrobić, ale skoro nie, no to trudno. Zamykam.

http://img.uetam.pl/image/tHwn
Koniec z TD2 na zawsze. Zbyt słaby komputer, a w związku z nowymi wymogami procesor ucierpiałby 1000razy bardziej

Offline jakubg1

  • Supporter
  • *
  • Pioneer
  • *
  • Wiadomości: 882
  • Kartoteka
  • Siła reputacji: 8
  • jakubg1 pracownik torowy
  • Jestem na diecie... ...postowej.
  • Distance Travelled: 1341km
  • Trains Routed: 340
Odp: Problem z kodem (C#)
« Odpowiedź #17 dnia: 31 Marzec 2017, 13:01:30 »
Wielomiesięczny odgrzew.
Piszę sobie Milionerów w C#. Są to jeszcze dalekie podstawy. Obecnie wygląda to tak: http://img.td2.info.pl/images/2017/03/31/2017-03-31at12-15-37.png
I tutaj widzimy problem. Pytanie jest proste. Jak mam zrobić publiczną zmienną?
Pozdrawiam.

Na koniec prośba do administratorów o przeniesienie do tematów technicznych bądź też po prostu do Hyde Park. Chyba Milionerzy nie są związane z koleją, co nie?

Tak PS. Kto usunął wątek o Milionerach w języku Logo?
« Ostatnia zmiana: 31 Marzec 2017, 13:04:49 wysłana przez jakubg1 »

http://img.uetam.pl/image/tHwn
Koniec z TD2 na zawsze. Zbyt słaby komputer, a w związku z nowymi wymogami procesor ucierpiałby 1000razy bardziej

Offline nitro

  • Developer
  • Supporter
  • *
  • Wiadomości: 168
  • Kartoteka
  • Siła reputacji: 63
  • nitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezes
  • Distance Travelled: 3678km
  • Trains Routed: 449
Odp: Problem z kodem (C#)
« Odpowiedź #18 dnia: 31 Marzec 2017, 17:07:19 »
rozwiązanie proste
przesuń deklarację zmiennej ustawieniewygrana co masz w wczytywanieUstawien() na poczatek, po deklaracji nazwy klasy. Będzie wtedy jako zmienna globalna. ustawieniewygrana w PlaySimpleSound() probuje sie odwolac ale nie wie gdzie i dokad bo tej zmiennej nie ma w tej funkcji zadeklarowanej.
NitroSWDR [INFO NA TD2] [Github]
NitroCity: trochę tego, trochę tamtego...

Offline jakubg1

  • Supporter
  • *
  • Pioneer
  • *
  • Wiadomości: 882
  • Kartoteka
  • Siła reputacji: 8
  • jakubg1 pracownik torowy
  • Jestem na diecie... ...postowej.
  • Distance Travelled: 1341km
  • Trains Routed: 340
Odp: Problem z kodem (C#)
« Odpowiedź #19 dnia: 31 Marzec 2017, 17:17:24 »
Faktycznie! Niby takie proste a człowiek nie wiedział. Dzięki 8)

Kolejne pytanie. Dlaczego funkcje po pętli "for" się nie wykonują mimo że wg mnie powinny?
« Ostatnia zmiana: 31 Marzec 2017, 17:35:30 wysłana przez jakubg1 »

http://img.uetam.pl/image/tHwn
Koniec z TD2 na zawsze. Zbyt słaby komputer, a w związku z nowymi wymogami procesor ucierpiałby 1000razy bardziej

Offline MrDyrektor

  • Supporter
  • *
  • Grupa_Tymczasowa
  • Wiadomości: 181
  • Kartoteka
  • Siła reputacji: 32
  • MrDyrektor dyżurny ruchuMrDyrektor dyżurny ruchuMrDyrektor dyżurny ruchuMrDyrektor dyżurny ruchuMrDyrektor dyżurny ruchuMrDyrektor dyżurny ruchu
  • Distance Travelled: 746km
  • Trains Routed: 264
Odp: Problem z kodem (C#)
« Odpowiedź #20 dnia: 31 Marzec 2017, 18:17:07 »
Wykonują się tylko zdefiniowałeś tablice z 0 elementami, więc nic do niej nie możesz wpisać

Offline jakubg1

  • Supporter
  • *
  • Pioneer
  • *
  • Wiadomości: 882
  • Kartoteka
  • Siła reputacji: 8
  • jakubg1 pracownik torowy
  • Jestem na diecie... ...postowej.
  • Distance Travelled: 1341km
  • Trains Routed: 340
Odp: Problem z kodem (C#)
« Odpowiedź #21 dnia: 31 Marzec 2017, 18:39:01 »
Dziękuję, działa. Zapomniałem że to się automatycznie nie zwiększa :). Zamykam do momentu natrafienia na kolejny problem, a tych jeszcze wiele pewnie ;D

http://img.uetam.pl/image/tHwn
Koniec z TD2 na zawsze. Zbyt słaby komputer, a w związku z nowymi wymogami procesor ucierpiałby 1000razy bardziej

Offline jakubg1

  • Supporter
  • *
  • Pioneer
  • *
  • Wiadomości: 882
  • Kartoteka
  • Siła reputacji: 8
  • jakubg1 pracownik torowy
  • Jestem na diecie... ...postowej.
  • Distance Travelled: 1341km
  • Trains Routed: 340
Odp: Problem z kodem (C#)
« Odpowiedź #22 dnia: 20 Czerwiec 2017, 17:07:08 »
I... otwieramy...

        // array and variable declarations
        int[,] LayoutIdentifiers = new int[65535, 65535];

        // procedure to write an element to declared position
        static void WriteID(int XPos, int YPos, int Value)
        {
            LayoutIdentifiers[XPos, YPos] = Value;
        }
Powyższy kod to deklaracja tabeli oraz metoda zmieniająca parametr na danej liście. Problem jest taki, że ten kod generuje błąd CS0120:
Cytuj
An object reference is required for the non-static field, method, or property 'OpenBAHN.Program.LayoutIdentifiers'
Wiadomo, jak to naprawić?

Przypominam, że cały czas wszystkie problemy w tym temacie dotyczą kodu napisanego w języku C#.

http://img.uetam.pl/image/tHwn
Koniec z TD2 na zawsze. Zbyt słaby komputer, a w związku z nowymi wymogami procesor ucierpiałby 1000razy bardziej

Offline nitro

  • Developer
  • Supporter
  • *
  • Wiadomości: 168
  • Kartoteka
  • Siła reputacji: 63
  • nitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezes
  • Distance Travelled: 3678km
  • Trains Routed: 449
Odp: Problem z kodem (C#)
« Odpowiedź #23 dnia: 20 Czerwiec 2017, 17:40:30 »
masz 2 wyjścia:


1. albo przed int[,] LayoutIdentifiers dopisać słowo static


static int[,] LayoutIdentifiers = new int[65535, 65535];


2. albo wywalić słowo static z static void WriteID(int XPos, int YPos, int Value)
NitroSWDR [INFO NA TD2] [Github]
NitroCity: trochę tego, trochę tamtego...

Offline jakubg1

  • Supporter
  • *
  • Pioneer
  • *
  • Wiadomości: 882
  • Kartoteka
  • Siła reputacji: 8
  • jakubg1 pracownik torowy
  • Jestem na diecie... ...postowej.
  • Distance Travelled: 1341km
  • Trains Routed: 340
Odp: Problem z kodem (C#)
« Odpowiedź #24 dnia: 20 Czerwiec 2017, 17:42:13 »
Nie wiem jak to się dzieje, jakieś pół godziny temu próbowałem tego rozwiązania i nie podziałało, a teraz magia - działa :P
Chwilowo nie zamykam wątku.

EDIT: Oooo... coś się złego stało z programem...

System.TypeInitializationException was unhandled
  HResult=-2146233036
  Message=The type initializer for 'OpenBAHN.Program' threw an exception.
  Source=OpenBAHN
  TypeName=OpenBAHN.Program
  StackTrace:
       at OpenBAHN.Program.Main()
       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: System.OutOfMemoryException
       HResult=-2147024882
       Message=Exception of type 'System.OutOfMemoryException' was thrown.
       Source=OpenBAHN
       StackTrace:
            at OpenBAHN.Program..cctor() in C:\Users\beata\Desktop\Gry i programy\Programy\OpenBAHN\OpenBAHN\OpenBAHN\Program.cs:line 21
       InnerException:
« Ostatnia zmiana: 20 Czerwiec 2017, 17:46:16 wysłana przez jakubg1 »

http://img.uetam.pl/image/tHwn
Koniec z TD2 na zawsze. Zbyt słaby komputer, a w związku z nowymi wymogami procesor ucierpiałby 1000razy bardziej

Offline nitro

  • Developer
  • Supporter
  • *
  • Wiadomości: 168
  • Kartoteka
  • Siła reputacji: 63
  • nitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezes
  • Distance Travelled: 3678km
  • Trains Routed: 449
Odp: Problem z kodem (C#)
« Odpowiedź #25 dnia: 20 Czerwiec 2017, 17:49:34 »
sprawdź linię 21


- pyta się czy dobrze został zdefiniowany zakres tablicy
- próba wyjścia poza zakres pamięci
NitroSWDR [INFO NA TD2] [Github]
NitroCity: trochę tego, trochę tamtego...

Offline jakubg1

  • Supporter
  • *
  • Pioneer
  • *
  • Wiadomości: 882
  • Kartoteka
  • Siła reputacji: 8
  • jakubg1 pracownik torowy
  • Jestem na diecie... ...postowej.
  • Distance Travelled: 1341km
  • Trains Routed: 340
Odp: Problem z kodem (C#)
« Odpowiedź #26 dnia: 20 Czerwiec 2017, 17:53:21 »
Linia 21, mój błąd, dałem przesadny rozmiar (65536*65536).

Nowy pomysł na mapę to dynamicznie rozbudowywana tablica elementów.
Zamykam tymczasowo.

@down: O, dobry pomysł ;)

Pytanie brzmiało: czy jest inny pomysł na mapę?
« Ostatnia zmiana: 20 Czerwiec 2017, 17:58:38 wysłana przez jakubg1 »

http://img.uetam.pl/image/tHwn
Koniec z TD2 na zawsze. Zbyt słaby komputer, a w związku z nowymi wymogami procesor ucierpiałby 1000razy bardziej

Offline nitro

  • Developer
  • Supporter
  • *
  • Wiadomości: 168
  • Kartoteka
  • Siła reputacji: 63
  • nitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezes
  • Distance Travelled: 3678km
  • Trains Routed: 449
Odp: Problem z kodem (C#)
« Odpowiedź #27 dnia: 20 Czerwiec 2017, 17:57:11 »
nie wiem,
jakoś osobiście nie jestem przekonany do sztywnej deklaracji tablic


wolę użyć ArrayList lub List, gdzie można też tworzyć tablice wielowymiarowe lub listę obiektów klasy i zapomnieć o zakresie tablicy


Przykład tutaj:


https://gist.github.com/booyaa/6826721




ale działaj dalej ;)



NitroSWDR [INFO NA TD2] [Github]
NitroCity: trochę tego, trochę tamtego...

Offline jakubg1

  • Supporter
  • *
  • Pioneer
  • *
  • Wiadomości: 882
  • Kartoteka
  • Siła reputacji: 8
  • jakubg1 pracownik torowy
  • Jestem na diecie... ...postowej.
  • Distance Travelled: 1341km
  • Trains Routed: 340
Odp: Problem z kodem (C#)
« Odpowiedź #28 dnia: 20 Czerwiec 2017, 18:03:32 »
W takim razie wiadomo może, jak zrobić trójwymiarową ArrayList?

http://img.uetam.pl/image/tHwn
Koniec z TD2 na zawsze. Zbyt słaby komputer, a w związku z nowymi wymogami procesor ucierpiałby 1000razy bardziej

Offline nitro

  • Developer
  • Supporter
  • *
  • Wiadomości: 168
  • Kartoteka
  • Siła reputacji: 63
  • nitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezesnitro prezes
  • Distance Travelled: 3678km
  • Trains Routed: 449
Odp: Problem z kodem (C#)
« Odpowiedź #29 dnia: 20 Czerwiec 2017, 18:12:42 »
Na arraylist chyba sie nie da, lepiej na List

                List<List<List<string>>> foo = new List<List<List<string>>>();
                for (int i = 0; i < foo.Count; i++)
                {
                    foo.Add(new List<List<string>>());
                    for (int j = 0; j < foo.Count; j++)
                    {
                        foo.Add(new List<string>());


                    }
                }


NitroSWDR [INFO NA TD2] [Github]
NitroCity: trochę tego, trochę tamtego...