Wątki nie bardzo chcą widzić zmienne globalne programu. Jak moga nie chciec ? Nie moga. Od niedawna zaczynam pisać w Visual C++. Wogóle dopiero zaczynam programowanie obiektowe. Co programowanie obiektowe ma do rzeczy ? Uprosc program jak sie da i wklej to co niby nie dziala bo pewnie robisz jakis podstawowy blad. Wątki działają ale nie mogę się skomunikować...
Zmienne obiektowe zadziałały jak różdżka.Wielkie dzięki!!
Z "thsp=3" też nie działa. Generalnie mój problem dotyczy wszystkich komend wysłanych przez serial. Ale wiem już o co chodzi. To przypadłość którą kilka postów wcześniej opisywałem, a z którą wciąż się borykam nie mogąc już nic więcej rozwinąć w programie. Chodzi o permanentny brak pamięci na zmienne globalne w moim nano. .."Zmienne globalne używają...
Znowu namieszałeś w tym kodzie, ale nie rozumiem, jaki błąd masz w linii: [syntax=vbnet]Columns(kW.Column).Select[... nie powinno być żadnego błędu. Zaznaczanie kolumny jest zbędne. Na początku tworzysz zmienne obiektowe kW i kWc, a później nie umiesz ich wykorzystać. Poza tym, jak już poprzednio pisałem, kopiowanie formatowania jest zbędne,...
Mieszasz tutaj strukturalne i obiektowe programowanie. Jeśli klasa będzie miała pole, to każda instancja klasy (obiekt) będzie miał własną wartość tego pola i będzie ono tak długo istnieć, jak będzie istnieć sam obiekt. Natomiast nie rozumiem zastosowania opisanego w opisie, bo nijak ma się do przedstawionego kodu.
Tyle, że wszystkie zmienne obiektowe są de facto... wskaźnikami :) Tylko nie tak jawnie widzianymi w kodzie. Ale to po prostu wskazanie adresu struktury w pamięci. Przekazując np. obiekt do funkcji nie wędruje tam kopia tego obiektu, a wyłącznie wskaźnik (czyli de facto niejawna referencja). Druga rzecz - taki np. PChar (char*) to też wciąż wskaźnik,...
O rany :) przydałby się też formularz. Ale tak na oko. Możesz wykorzystać te same zmienne obiektowe oWbk, oWsh oraz k1 do k4 , deklarując je w Global (na samej górze przed procedurami). Wartości zostaną przypisane i zapamiętane do zamknięcia formularza przy uruchomieniu Szukaj_wyniku_lista . Nie zamykaj w obecnej procedurze pliku oWbk, tylko Np przy...
Czy jest jakiś powód, dla którego jest sens deklarować zmienne wewnątrz main()? Można również deklarować statyczne zmienne "lokalne" wewnątrz main() lub innych funkcji. Zachowują się one wtedy, jak globalne. Są jednokrotnie inicjalizowane tylko w pierwszym wywołaniu funkcji, ale ich "widoczność" ogranicza się tylko do danej funkcji. Chyba że są obiektowe...
Witam, aktualnie piszę grę w c++ i musi ona zawierać tak zwaną hermetyzację, jako że opanowałem już w miarę programowanie obiektowe a kuleje właśnie w tym aspekcie chciałem zapytać o jakąś dobrą metodę na "dobieranie się" do plików skoro według idei hermetyzacji mają być typu private. Znajomy pokazał mi metodę z tworzeniem metod na każdą zmienną z osobna,...
Widziałem na jednym z forów, że ktoś pokazywał, że kod wygenerowany w C++ nie musi być wcale większy niż w C - ale trzeba już nieźle wiedzieć "o co chodzi", żeby dobrze sobie taki kod zoptymalizować. Jak się ma szybkość wykonywania takiego kodu w stosunku do C? To są wszystko mity... Kod w C++ zajmuje tyle ile musi zajmować - ciężko oczekiwać, że możesz...
Niestety jest to samo. Sprawdze jutro w pracy bo musze widziec co wypluje configure i make. Mozesz sprobowac jeszcze amv4 bo nie wiem dokladnie jaki powinien byc string. Co do konfiguracji lighttpd to zapewne mozesz to bez problemu zrobic na ukladzie. EDIT: Ok sprawdzilem, okazalo sie ze trzeba ustawic obydwie zmienne srodowiskowe czyli komenda powinna...
Mam klasę A i w niej metodę publiczną metodaA(B &bb, C &cc) gdzie B i C to też klasy. Ponadto w klasie B mam metodę metodaB(A &aa). I teraz w metodzieA chcę wywołać metodęB z parametrem this. Aby to zrobić muszę coś takiego zastosować: bb.metodaB(*(const_cast<A *>(this))); Po całej tej akcji uszkadzają się wszystkie...
Rozważania "na sucho" ... mało kto je lubi ... łatwo się pomylić i narobić "głupot", przydałby się jakikolwiek załącznik pod te wzory ... ale spróbujmy ... Kod nr 1 : 1. " zakres As Variant, rate As Variant " Co to jest 'zakres' i 'rate' ? Jeśli są to zakresy kmórek, to po co 'Variant' a nie ' Range ' ? Nie jesteś pewien z czym masz do czynienia ? Przecież...
Nazwę pliku(ów, w zależności ile ich zaznaczysz) masz w zmiennej vrtSelectedItem . Nic nie stoi na przeszkodzie aby przypisać ją do zmiennej obiektowej, otworzyć plik, skopiować co trzeba i zamknąć. Podpowiem trochę If .Show = -1 Then For Each vrtSelectedItem In .SelectedItems Set wkb = Workbooks.Open(vrtSelectedItem) 'gdzieś tu powinna być...
(...) przesunięcia zakresu DataRangeOBAYield o 7 wierszy w prawo dla każdego z dwóch zakresów (...) Chodzi o wiersze w dół, czy kolumny w prawo? Można zastosować InputBox, gdzie wpisywane będzie przesunięcie: 0 - B1:H1,B31:H31 1 - o siedem wierszy/kolumn w z góry upatrzoną stronę itd, jeśli jest taka potrzeba Zmienną obiektową masz zadeklarowaną......
Jeśli FindNext w pętli, to na tym samym zakresie (zakres1, zakres2). Z drugiej strony Sub Wywolaj() MsgBox "Wynik: " & Szukaj("ABC", "A:A", "B:B", 5) End Sub Function Szukaj(szukana As String, zakres1 As String, zakres2 As String, Optional numer As Integer) Set zak1 = Range(zakres1)...
W linii 21 Set kom = wksN.Columns(2).Find(What... LookAt:=xlWhole) Jeśli prawdziwe jest If kom Is Nothing wychodzisz z procedury bez zerowania zmiennych obiektowych (które sobie będą siedzieć w pamięci). Unikniesz tego stosując Else... If kom Is Nothing Then MsgBox "Nie ma podanej komórki." Else On Error GoTo 0 wksR.Range("C1:D1")...
W Excelu nie ma sensu deklarować obiektu typu "Excel.Application". Wystarczy "Open". Próba nałożenia filtru na jeden wiersz zakończy się błędem, dlatego należałoby określić ostatni w tabeli. Pamiętaj o usuwaniu zmiennych obiektowych z pamięci. Spróbuj[syntax=vb]Private Sub CommandButton1_Click() Dim xl As Workbook Set xl = Workbooks.Open("C:\Documents...
Deklaracja zmiennej publicznej powinna być w module uniwersalnym. U Ciebie takim modułem jest M1_Zapytanie. Jeśli deklarujesz zmienną publiczną w module obiektowym, to później musisz się do niej odwoływać w innych modułach z kwalifikatorem: [syntax=vbscript]ThisWorkbook.Firsrow[/s...
Był ostatnio temat [url=http://www.elektroda.pl/rtvforum/to... w którym maglowanych było kilka rozwiązań. Kod jest logiczny i łatwy do zaadoptowania. Fakt, nie ma tam nic o podfolderach. Do pierwszego poziomu można "dobrać się" Np w ten sposób [syntax=vb]Sub Lista1() Dim path1 As String, path2 As String, plik As String Dim folder As...
Przydał by się jakiś prosty opis o co chodzi z tymi strukturami w TwinCAT... To że nie możesz udostępnić programu jest jak najbardziej zrozumiałe i nawet na to nie liczyłem. Generalnie struktury to coś przypominającego obiekty znane z programowania obiektowego. Możesz więc stworzyć sobie strukturę która składa się z kilku różnych zmiennych i potem...
Pozostało mi jeszcze zrozumienie tego kodu może komentarze będą pomocne :) [syntax=vbscript] Sub Zakresy() Dim ark As Worksheet Dim i&, j&, w& ' deklaracje zmiennych Set ark = ThisWorkbook.ActiveSheet ' utworzenie zmiennej obiektowej w = ark.UsedRange.Rows.Count + 1 ' określenie ostatniego wiersza powiązanego z ilością iteracji pętli i...
Tak, czy tak go otwierasz... Możliwość podglądu, to zadeklarowanie zmiennej obiektowej 'objExcel' jako globalnej, i w dowolnym makrze polecenie objExcel.Visible = True Gdzieś go trzeba też ostatecznie "zabić" (objExcel.Quit), jeśli go nie odkryjesz. To też sprawa do przemyślenia.
Hmm. Jak się orientujesz w tych wszystkich GoTo? To samo, uzupełnione, w innej wersji.[syntax=vb]Option Explicit Sub Kopiuj() Dim WksDo As Workbook, PierwszyWolny1 As Long, PierwszyWolny2 As Long On Error GoTo koniec If MsgBox("Rozpocząć kopiowanie ?", vbQuestion + vbYesNo) = vbYes Then 'Potwierdzenie rozpoczęcia kopiowania With Application .ScreenUpdating...
Tak, oczywiście. W kodzie, który podałeś wcześniej jest przypisanie do zmiennej obiektowej arkusza "Lista" w nowym pliku. Wystarczy się do niej odwołać. Jeśli nie chcesz łączyć jednego z drugim zadeklaruj "raport" (w module) jako zmienną publiczną. Wywołujesz funkcję "createNewSheet" i masz dostęp do nowego pliku w całym projekcie.
Przejdź krokowo (klawisz F8) i zobacz ile kroków wykonuje pętla. Może trzeba zmienić warunek, może kolumnę. Nie wiem, nie widzę pliku źródłowego... Jeśli działało Ci to (na tylu zmiennych obiektowych) dla jednej linii, powinno działać w pętli.
Po pierwsze to widzę problem z podziałem zadań i ich enkapsulacją już w pierwszym programie. W głównej funkcji otwierasz plik, ale w innej go zamykasz. Dodatkowo niepotrzebnie operujesz na zmiennej globalnej z pliku. To samo dotyczy wersji obiektowej. Po co obiekt operujący na zmiennej globalnej, skoro sam dla siebie ma otwierać i zamykać plik oraz...
W pogramowaniu obiektowym grunt to dobra organizacja klas. W _ostateczności_ zawsze możesz uczynić ją jako zmienną statyczną, którą bez problemu odczytasz poprzez konstrukcję klasa.zmienna (NIE obiekt.zmienna!)
Dodaj zamiast zastępować (jeśli o to chodzi), Np Worksheets("Scanlijst22"... 1).Value = Worksheets("Scanlijst22"... 1).Value + Worksheets("Scanlijst11"... 1).Value Bardziej czytelnie byłoby stosując zmienne obiektowe...
:) ? Nie lepiej było zacząć "własny temacik" ... niż "znęcać" się nad nieboszczykiem sprzed 6 lat ? :) Po nazwie kodowej arkusza właśnie, jak piszesz, tj. Arkusz2.Range("a1").Value = "" Po nazwie zakładki, tj. Sheets("Arkusz2").Range("a1").Value = "" Po nazwie zmiennej obiektowej, jeśli przypisana, tj. np. arkusz.Range("a1").Value = ""
Ja bym jeszcze na końcu onej procedury dodał zwolnienie zmiennych obiektowych w stylu: Set "NazwaZmiennej" = Nothing I nie piszę tego tylko po to żeby się czepiać. Ostatnio miałem problem z bardzo rozbudowanym skoroszytem, gdzie autor zapomniał o tym drobnym szczególe. :D VBA raczej samo ich nie zwolni.
(a teraz go zamykasz) Workbooks("a.xls").Close A ode mnie: 1. Nie wpadaj w panikę. 2. Czytaj co inni piszą. 3. Daj coś od siebie. 4. Kombinuj, jak popsujesz wróć do p.1 Pozdrawiam :) p.s. Jeżeli przypisałeś nazwę pliku do zmiennej obiektowej to używasz: nazwa_zmiennej.Close
"Jaki sens ma deklarowanie zmiennej obiektowej typu Workbook w obrębie jednego skoroszytu (jak wynika z Twojego kodu)?" Moja odpowiedź dla naszego początkującego kolegi ma mieć walory edukacyjne, dlatego zastosowałem taką konstrukcję. Może się wydawać trochę bez sensu w tak prostym przypadku, ale przy złożonych aplikacjach mających setki może tysiące...
Właśnie o to mi chodziło dam już sobie z tym radę. Tylko pytanie czy dalej TWOIM OKIEM wszystko jest ok? tzn powinno byc obiektowe. 1. To nie jest jakiś ambitny projekt, i wiele technik OOP nie ma tu zastosowania. 2. Nie widzę Twojego kodu po zmianach. Z głowy zapytam: a zmiennym wewnątrz klasy obniżyłeś zakres dostępu z public na bardziej zamknięty?...
Jeśli np. z niektórych zmiennych korzystasz tylko w module usart a nie w main to możesz je zrobić jako global static (chyba te zmienne const się do tego nadają) i wtedy nie trzeba ich też extern robić bo main z nich nie korzysta const musi być znany podczas kompilacji a nie jest. Przerzuć te zmienne do pliku cpp i będzie ok. Ja może wyjaśnię w czym...
W całym moim makrze ta procedura ma obsłużyć nie tylko zmienne grzywna i koszty, ale jeszcze 4 inne. Czyli łącznie 4. 3 z nich obsługuje poprawnie, a z grzywną jest ten problem. A mówiąc ściślej, ona nie obsługuje zmiennych tylko ciąg cyfr wstawiony w miejsce zmiennej obiektowej przez wyszukanie zakładki ustawienie kursora za nią itd. Dzięki za linki....
Najlepiej jak utworzysz zmienną obiektową typu Workbook. Do niej otworzysz drugi plik z tego pierwszego. I w tedy z poziomu VBA masz dostęp do wszystkich właściwości, metod i obiektów należących do drugiego pliku. Napisz co chcesz konkretnie zrobić bo makra w Excel'u to temat rzeka. I koniecznie napisz jaka wersja Excel'a jaki system itp. Jak chcesz...
Nie śmieję się, ale przecież zapisywanie stałych w rejestrze systemu nie jest najlepszym pomysłem. Kto potem będzie ten rejestr odśmiecał ? Użytkownik usuwa aplikację a śmieci w rejestrze niestety zostają. Bez zrobienia instalatora/deinstalatora nie wolno robić takich rzeczy :) Z kolei niestatyczna zmienna globalna to zło zabijające obiektowość języka...
Twoja funkcja adc_read() zwraca wartość typu uint16_t, którą następnie przypisujesz do zmiennej ACDC typu uint8_t, czyli efektywnie obcinasz 8 bardziej znaczących bitów. To są klasyczne typy z C, nie ma w nich nic specyficznego dla AVRów. Zapis jest bardzo czytelny - uint - Unsigned Integer, czyli liczba całkowita bez znaku, 8 - długość zmiennej w bitach....
Wybierając np. w JB - GA zostają wiersze z GA, dodatkowo dokładając np. w Zakładzie - A, zostają z tych przefiltrowanych wierszy tylko A Czyli "proste" wybieranie, bez operatorów i przyrównań, tylko jedno kryterium na kolumnę całość jest zrobiona, tylko nie mogę znaleźć błędu :) ... jeśli jest zrobiona, to dlaczego nie działa ... :) ... Wg mnie ......
Brawo! Podziwiam nakład pracy włożony w tą grę! Zmartwię Cię jednak: gra nie jest napisana w stylu orientowanym obiektowo, o który zapewne Ci chodziło. Przeczą temu stylowi brak enkapsulacji (wszystkie zmienne składowe klas publiczne!) oraz brak efektywnego wykorzystania polimorfizmu. Wskazujesz, co prawda, wskaźnikiem klasy "statek" na obiekty klas...
Czemu muszę zrobić SET na wart? Bo to zmienna obiektowa. Podobnie jak inne zmienne typu Excel.ObjectName, Np Worksheet, Workbook, etc Możesz oczywiście podstawić String, Np[syntax=vbscript]Dim strRn As String strRn = "B1:B2" 'przypisanie MsgBox Range(strRn).Address 'test[/syntax] 2. Niepoprawnie deklarujesz: "Dim ok, ostk As Integer" Tylko "ostk" jest...
Za bardzo Ci "zamieszałem". Wyobraź sobie, że masz tablice zmiennych typu books - o nazwie "ksiązki". Każda taka zmienna, oprócz tego, ze zawiera jakieś swoje cechy( autor, nazwa itp) zawiera też funkcje które może wykonać. Deklarując klasę (class) - określasz jakie ma parametry (zmienne) oraz funkcje które wykonuje (metody). Taka klasa jeszcze nie...
i się zapętliłem. Oj tak :) Jeśli chcesz używać zmiennej obiektowej, to zachowaj kolejność i prawidłową składnię. Czyli najpierw: "Set plik1 = Workbooks(Range("G6").Value)" Zmienna "plik1" reprezentuje teraz obiekt (z wszystkimi obiektami podrzędnymi oraz własnościami) przypisany wyżej. Czyli zamiast pisać: Workbooks("jakaś nazwa wcale nie tak długa"),...
Ad 1) ... Nie mogę podłączyć się do bazy mdb. jak poniżej... ? hmm ... to można deklarować zmienną obiektową jako Variant ? CreateObject Function - Creates and returns a reference to an ActiveX object oraz https://msdn.microsoft.com/en-us/library... Ad 2) 2. Aha i pod excela działa. Na pewno ? Z taką deklaracją zmiennej ?
Witam, zaczynam przygodę z C++ obiektowym i mam mnóstwo pytań :) 1. Po co się przeciąża funkcje? Przecież można dać dwie różne nazwy i nie byłoby tematu... 2. Co to jest ten protected private wiem, public wiem]? Z różnych źródeł zebrałem pytania teoretyczne. Sprawdźcie czy dobrze odpowiedziałem a jeśli coś jest źle proszę o korektę i wytłumaczenie....
Witam, Zapętliłem się do tego stopnia, że mając prostą pętlę czytającą wiersze między skoroszytami, ni w ząb nie potrafię jeszcze ugryźć jak sądzę funkcji IF - dla podanego na wstępie warunku sprawdzenia (tutaj w przykładzie "cyfry miesiąca") i przepisania wiersza jeśli ten warunek został spełniony - jeżeli nie, kod ma czytać dalej aż znajdzie i kolejny...
1. Jeśli połączysz imię i nazwisko w kolumnie pomocniczej (=A2&" "&B2), to będzie już możliwe uzyskanie unikatów (osób/pracowników). Jeśli tabela przestawna nie zwraca Ci oczekiwanych rezultatów, pozostaje wykorzystanie funkcji wyszukiwania. W kolejnej kolumnie pomocniczej indeksy (kilka tematów niżej był przykład z JEŻELI(LICZ.JEŻELI()=1;MAX();itd)...
Próbowałem wykorzystać twój kod, niestety ciągle wyskauje błąd przy próbie uruchomienia makra [syntax=vb] Sub Kopiuj() Dim WksDo As Workbook Dim wksZ As Workbook, wierszZ As Long On Error GoTo koniec 'zadeklaruj arkusze Set WksDo = Workbooks("A.xls").Sheets("1") Set wksZ = Workbooks("B.xls").Sheets("1") 'ustal raz aktywny wiersz wksZ.Activate wierszZ...
Ok, dziękuję za objaśnienei! :) A czemu wyrzuca mnie z Excela kiedy odwołuję się do makra Nowy_skoroszyt_1(), które samodzielnie działa poprawnie? Set my = Workbooks("Truck.xls").Sheets("Aero") wyrzuca mi błąd Run-time error "13": Type mismatch :( Błąd typu zmiennych - niezgodność typów. Duże pole do gdybania, bez "materiału porównawczego". Może to...
interfejsy obiektowe pamieci obiektowe programowanie obiektowe
makra wordzie kupić myjka karcher żelazko stopa bosch
krone prasa pilot bramy zasięg
1K0877255 roletka szyberdachu do Skoda Octavia II kombi – kompatybilność i kolory Sterowniki HP 1500, LaserJet, PSC, DeskJet D1500 do Windows 7 – gdzie pobrać i jak zainstalować