phpers i wordpress
Wersja do druku
Panowie, w jaki sposób javascriptem kliknąć w ten piękny irytujący zielony przycisk?
https://i.imgur.com/QZYJk6I.png
ktoś, coś? @Bazan ;Kod PHP:<div class="newmodal" style="position: fixed; z-index: 1000; max-width: 931px; left: 255px; top: 385px;"> <div class="newmodal_header_border"> <div class="newmodal_header"> <div class="newmodal_close"/> <div class="ellipsis">Ta wymiana wydaje się być podejrzana</div> </div> </div> <div class="newmodal_content_border"> <div class="newmodal_content" style="max-height: 888px;"> <div> <div class="trade_warn_dialog_content"> Po ukończeniu tej wymiany otrzymasz tylko następujące przedmioty: <ul class="trade_warning_item_list"> <li style="color: rgb(210, 210, 210);"> Naklejka | boltz | Cluj-Napoca 2015 <span class="trade_warning_item_type">(Naklejka - Wysokiej jakości)</span> </li> </ul> <span class="trade_warning_bold">Nie otrzymasz żadnych innych przedmiotów lub pieniędzy. Jeżeli użytkownik [OPSKINS] Bot #289 obiecał ci otrzymanie innych przedmiotów, funduszy portfela Steam lub numerów seryjnych poza oknem wymiany, to istnieje możliwość, że użytkownik próbuje cię oszukać.</span> </div> </div> <div class="newmodal_buttons"> <div class="btn_green_white_innerfade btn_medium"> <span>Tak, ufam [OPSKINS] Bot #289</span> </div> <div class="btn_grey_white_innerfade btn_medium"> <span>Anuluj</span> </div> </div> </div> </div> </div>
http://stackoverflow.com/questions/1...ent-with-class
https://developer.mozilla.org/en-US/...ntsByClassName
Znajdź pierwszy element z daną klasą lub element zawierający fragment tekstu
i potem .click()
o ile znalazłem sobie
document.getElementsByClassName("btn_green_white_i nnerfade btn_medium")
to co dalej...? nic mi nie działa ;//
daje mi to taki wynik
https://i.imgur.com/j7WuOXD.png
żadne kombinacje z firstchild / clickami i innymi pierdołami nie działajo ;/
@LordCompi ; @Cybuch ;
Zobacz co calluje eventListener i zrob to samo
Nie wspominałem chyba ale into javascript to ja nic a nic Xd pomusz Daniel ;( @LordCompi ;
A takie cos:
Kod:var elem = document.getElementById("linkid");
if (typeof elem.onclick == "function") {
elem.onclick.apply(elem);
}
@Absherr ;
p.s. na tej stronie nic nie ma swojego id, wszystko jest na class'ach =/ bo zrobili by normalny button to nie kurwa wymyślili jakieś gunwo =/
Ciul z id, jak masz juz wyciagnietego elementa jak na poprzedniej stronie to daj tego ifa.
Kod:var elem = document.getElementsByClassName("btn_green_white_i nnerfade btn_medium")[0]
if (typeof elem.onclick == "function") {
elem.onclick.apply(elem);
}
getElementsByClassName("cipa")[0].głodna() << 1 element danej klasy
c++Kod:
COMPONENT_PIN_PADS SECTION
{
PIN_PAD_DEFINITION RECORD
{
PIN_PAD_STANDARD RECORD
{
PAD_SHAPE R
PAD_TYPE Thermal
PAD_WIDTH 1905000
PAD_LENGTH 0
PAD_OTHER_SIZE 0
THERMAL_SPOKE_ANGLE 0
THERMAL_SPOKE_COUNT 0
THERMAL_SPOKE_WIDTH 0
PAD_ORIGIN_OFFSET 0
PAD_CORNER_RADIUS 0
}
}
PIN_PAD_INSTANCE -12992100 24726900 0 U1.1
PIN_PAD_INSTANCE -12992100 20993100 0 U1.2
PIN_PAD_INSTANCE -2247900 20993100 0 U1.3
PIN_PAD_INSTANCE -2247900 24726900 0 U1.4
PIN_PAD_DEFINITION RECORD
{
PIN_PAD_STANDARD RECORD
{
PAD_SHAPE S
PAD_TYPE Thermal
PAD_WIDTH 1905000
PAD_LENGTH 0
PAD_OTHER_SIZE 0
THERMAL_SPOKE_ANGLE 0
THERMAL_SPOKE_COUNT 0
THERMAL_SPOKE_WIDTH 0
PAD_ORIGIN_OFFSET 0
PAD_CORNER_RADIUS 0
}
}
PIN_PAD_INSTANCE 13677900 24726900 0 U2.1
PIN_PAD_INSTANCE 13677900 20993100 0 U2.2
PIN_PAD_INSTANCE 24422100 20993100 0 U2.3
PIN_PAD_INSTANCE 24422100 24726900 0 U2.4
Mam plik tekstowy w ktorym sa definicje obiektow a pod nimi instancje korzystajace z danej definicji rozniace sie tylko polozeniem. Nie znam sposobu w jaki ten plik jest generowany, wiem ze jest kilka roznych sekcji ale forma jest podobna wszedzie ze jest jakis naglowek sekcji definicja i instancje obiektow. W jaki sposob sie najlepiej zabrac do wczytywania danych tak zeby mozna bylo latwo rozbudowywac w miare jak zobacze ze sie pojawiaja inne sekcje i inne definicje? Sa jakies metody np z boosta dzieki ktorym bedzie latwiej cos takiego czytac niz po prostu linijka po linijce?
Uncaught TypeError: Cannot read property 'onclick' of undefined
at <anonymous>:3:16
at Object.InjectedScript._evaluateOn (<anonymous>:875:140)
at Object.InjectedScript._evaluateAndWrap (<anonymous>:808:34)
at Object.InjectedScript.evaluate (<anonymous>:664:21)
@Absherr ;
if (elem !== 'undefined' && ...
Anyway: JS if undefined check
W konstruktorze pewnej klasy mam przydzielona pamiec na wskazniki za pomoca polecenia new. W destruktorze wypadaloby je usunac, aczkolwiek, jako, ze nie sa to pola tej klasy, to ich nie widzi.
Jest inny sposob na zwolnienie tej pamieci, poza zrobieniem pol w klasie?
@Snazol ;
Pokaz kod please.
A jakis maly przyklad zastsowania? :)
Dobra, znalazlem juz cos. Dzieki za pomoc sprobuje to tym sposobem zrobic.
edit
To ma byc przyklad? xDCytuj:
Jest, w 2. linku :)
http://www.boost.org/doc/libs/1_60_0...037423408.html
@Pumpkin ;
No tak :) Ta metodka da Ci ProperyTree, a do tego juz jest masa przykładów w necie.
@szulak ;
Z kodem troszke cianko, bo uzywam tutaj biblioteki FLTK, a projekt nieco wiekszy, no ale to wyglada mniej wiecej tak:
Kod:class A
{
A();
~A();
Fl_Button *przycisk;
static void przyciskCB(Fl_Widget*, void*);
};
class B
{
B(int, int);
~B();
};
Oczywiscie tego jest wiecej w kodzie, a to jest przykladowo. Sprzydaloby sie zrobic delete rowniez na "nazwa2" oraz "nazwaOkienka", ale destruktor nie widzi tych obiektow. Oczywiscie moge zrobic podobny trick jak z przyciskiem, albo uzyc inteligentnych wskaznikow (powinno chyba zadzialac), ale zastanawiam sie czy jest jakis prostszy sposob.Kod:A::A(){
Fl_Window nazwaOkienka = new Fl_Window(500, 500, "Nazwa");
B nazwa2 = new B(300, 300);
przycisk = new Fl_Button(100, 100, 50, 50, "zamknij");
}
void A::przyciskCB(Fl_Widget* w, void *v)
{
delete static_cast<A*>(v);
}
A::~A()
{
delete przycisk;
}
Wiem, ze przyklad troche smieszny, ale w aplikacji wyglada to nieco inaczej, a chodzi po prostu o to, by przycisk kasowal caly ten obiekt. Jezeli gdzies zle cos zrobilem, to tez wytknijcie mi, bo ucze sie dopiero xd.
Kod:void pad_properties::load()
{
boost::property_tree::ptree pt;
boost::property_tree::read_info("C:\\NewFolder\\file.vcf", pt);
@szulak ;Kod:dumpsel.cpp
1>xxxxxxxxxxxxxxxxx\include\boost\detail\allocator_utilities.hpp(153): error C2061: syntax error : identifier 'p'
1> xxxxxxxxxxxxxxxxx\include\boost\multi_index\detail\copy_map.hpp(87) : see reference to function template instantiation 'void boost::detail::allocator::construct<std::pair<const Key,boost::property_tree::basic_ptree<Key,std::string,std::less<Key>>>>(void *,const Type &)' being compiled
1> with
1> [
1> Key=std::string
1> , Type=std::pair<const std::string,boost::property_tree::basic_ptree<std::string,std::string,std::less<std::string>>>
1> ]
1> xxxxxxxxxxxxxxxxx\include\boost\multi_index\detail\copy_map.hpp(82) : while compiling class template member function 'void boost::multi_index::detail::copy_map<boost::multi_index::detail::sequenced_index_node<Super>,std::allocator<Value>>::clone(Node *)'
1> with
1> [
1> Super=boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<const std::string,boost::property_tree::basic_ptree<std::string,std::string,std::less<std::string>>>,std::allocator<std::pair<const std::string,boost::property_tree::basic_ptree<std::string,std::string,std::less<std::string>>>>>>
1> , Value=std::pair<const std::string,boost::property_tree::basic_ptree<std::string,std::string,std::less<std::string>>>
1> , Node=boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<const std::string,boost::property_tree::basic_ptree<std::string,std::string,std::less<std::string>>>,std::allocator<std::pair<const std::string,boost::property_tree::basic_ptree<std::string,std::string,std::less<std::string>>>>>>>
1> ]
1> xxxxxxxxxxxxxxxxx\include\boost\multi_index_container.hpp(270) : see reference to function template instantiation 'void boost::multi_index::detail::copy_map<boost::multi_index::detail::sequenced_index_node<Super>,std::allocator<Value>>::clone(Node *)' being compiled
1> with
1> [
1> Super=boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<const std::string,boost::property_tree::basic_ptree<std::string,std::string,std::less<std::string>>>,std::allocator<std::pair<const std::string,boost::property_tree::basic_ptree<std::string,std::string,std::less<std::string>>>>>>
1> , Value=std::pair<const std::string,boost::property_tree::basic_ptree<std::string,std::string,std::less<std::string>>>
1> , Node=boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<const std::string,boost::property_tree::basic_ptree<std::string,std::string,std::less<std::string>>>,std::allocator<std::pair<const std::string,boost::property_tree::basic_ptree<std::string,std::string,std::less<std::string>>>>>>>
1> ]
1> xxxxxxxxxxxxxxxxx\include\boost\multi_index_container.hpp(268) : see reference to class template instantiation 'boost::multi_index::detail::copy_map<boost::multi_index::detail::sequenced_index_node<Super>,std::allocator<Value>>' being compiled
1> with
1> [
1> Super=boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<const std::string,boost::property_tree::basic_ptree<std::string,std::string,std::less<std::string>>>,std::allocator<std::pair<const std::string,boost::property_tree::basic_ptree<std::string,std::string,std::less<std::string>>>>>>
1> , Value=std::pair<const std::string,boost::property_tree::basic_ptree<std::string,std::string,std::less<std::string>>>
1> ]
1> xxxxxxxxxxxxxxxxx\include\boost\multi_index_container.hpp(261) : while compiling class template member function 'boost::multi_index::multi_index_container<std::pair<const Key,boost::property_tree::basic_ptree<Key,std::string,std::less<Key>>>,boost::multi_index::indexed_by<boost::multi_index::sequenced<boost::multi_index::tag<boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>>,boost::multi_index::ordered_non_unique<boost::multi_index::tag<boost::property_tree::basic_ptree<Key,std::string,std::less<Key>>::subs::by_name,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::member<std::pair<const Key,boost::property_tree::basic_ptree<Key,std::string,std::less<Key>>>,const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,pointer-to-member(0x0)>,std::less<Key>>,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,std::allocator<Value>>::multi_index_container(const boost::multi_index::multi_index_container<Value,boost::multi_index::indexed_by<boost::multi_index::sequenced<boost::multi_index::tag<boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>>,boost::multi_index::ordered_non_unique<boost::multi_index::tag<boost::property_tree::basic_ptree<Key,std::string,std::less<Key>>::subs::by_name,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::member<std::pair<const Key,boost::property_tree::basic_ptree<Key,std::string,std::less<Key>>>,const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,pointer-to-member(0x0)>,std::less<Key>>,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,std::allocator<Value>> &)'
1> with
1> [
1> Key=std::string
1> , Value=std::pair<const std::string,boost::property_tree::basic_ptree<std::string,std::string,std::less<std::string>>>
1> ]
1> xxxxxxxxxxxxxxxxx\include\boost\property_tree\detail\ptree_implementation.hpp(194) : see reference to function template instantiation 'boost::multi_index::multi_index_container<std::pair<const Key,boost::property_tree::basic_ptree<Key,std::string,std::less<Key>>>,boost::multi_index::indexed_by<boost::multi_index::sequenced<boost::multi_index::tag<boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>>,boost::multi_index::ordered_non_unique<boost::multi_index::tag<boost::property_tree::basic_ptree<Key,std::string,std::less<Key>>::subs::by_name,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::member<std::pair<const Key,boost::property_tree::basic_ptree<Key,std::string,std::less<Key>>>,const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,pointer-to-member(0x0)>,std::less<Key>>,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,std::allocator<Value>>::multi_index_container(const boost::multi_index::multi_index_container<Value,boost::multi_index::indexed_by<boost::multi_index::sequenced<boost::multi_index::tag<boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>>,boost::multi_index::ordered_non_unique<boost::multi_index::tag<boost::property_tree::basic_ptree<Key,std::string,std::less<Key>>::subs::by_name,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::member<std::pair<const Key,boost::property_tree::basic_ptree<Key,std::string,std::less<Key>>>,const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,pointer-to-member(0x0)>,std::less<Key>>,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,std::allocator<Value>> &)' being compiled
1> with
1> [
1> Key=std::string
1> , Value=std::pair<const std::string,boost::property_tree::basic_ptree<std::string,std::string,std::less<std::string>>>
1> ]
1> xxxxxxxxxxxxxxxxx\include\boost\property_tree\detail\ptree_implementation.hpp(57) : see reference to class template instantiation 'boost::multi_index::multi_index_container<std::pair<const Key,boost::property_tree::basic_ptree<Key,std::string,std::less<Key>>>,boost::multi_index::indexed_by<boost::multi_index::sequenced<boost::multi_index::tag<boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>>,boost::multi_index::ordered_non_unique<boost::multi_index::tag<boost::property_tree::basic_ptree<Key,std::string,std::less<Key>>::subs::by_name,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::multi_index::member<std::pair<const Key,boost::property_tree::basic_ptree<Key,std::string,std::less<Key>>>,const std::basic_string<char,std::char_traits<char>,std::allocator<char>>,pointer-to-member(0x0)>,std::less<Key>>,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,std::allocator<Value>>' being compiled
1> with
1> [
1> Key=std::string
1> , Value=std::pair<const std::string,boost::property_tree::basic_ptree<std::string,std::string,std::less<std::string>>>
1> ]
1> xxxxxxxxxxxxxxxxx\include\boost\property_tree\detail\ptree_implementation.hpp(180) : see reference to class template instantiation 'boost::property_tree::basic_ptree<std::string,std::string,std::less<Key>>::subs' being compiled
1> with
1> [
1> Key=std::string
1> ]
1> xxxxxxxxxxxxxxxxx\include\boost\property_tree\detail\ptree_implementation.hpp(180) : while compiling class template member function 'boost::property_tree::basic_ptree<std::string,std::string,std::less<Key>>::basic_ptree(void)'
1> with
1> [
1> Key=std::string
1> ]
1> xxxxxxxxxxxxxxxxx\dumpsel.cpp(440) : see reference to function template instantiation 'boost::property_tree::basic_ptree<std::string,std::string,std::less<Key>>::basic_ptree(void)' being compiled
1> with
1> [
1> Key=std::string
1> ]
1> xxxxxxxxxxxxxxxxx\dumpsel.cpp(440) : see reference to class template instantiation 'boost::property_tree::basic_ptree<std::string,std::string,std::less<Key>>' being compiled
1> with
1> [
1> Key=std::string
1> ]
Co robie nie tak?
dobra juz cos przez googla zrobilem i sie buduje
@Snazol ;
Jesteś 1. osobą ktora znam i uzywa FLTK! Jakis czas temu, chcialem oprzez GUI swojego bota w Tibii na tym :).
@Pumpkin ;Kod:#include <memory>
class A
{
public:
A();
~A();
static void przyciskCallBack(Fl_Widget*, void*);
private:
std::unique_ptr<Fl_Window> okienko_;
std::unique_ptr<Fl_Button> przycisk_;
};
// ----- impl -----
A::A() :
okienko_(new Fl_Window(500, 500, "Nazwa")),
przycisk_(new Fl_Button(100, 100, 50, 50, "zamknij"))
{
}
A::~A()
{
// okienko_ oraz przycisk_ sa zniszczone automatycznie
}
error C2061: syntax error : identifier 'p'
^
Gdzieś Ci się literka wkradła :)
@szulak ;
hmm, tylko skadten parser ma wiedziec ktore instancje sa do ktorej definicji?
Popatrz ze juz w jednej tej samej sekcji masz wszystkie instancje i czesc z nich korzysta z innych definicji a czesc z innych. Kolejnosc polozenia elementow tutaj ma znaczenie. To miejsce polozenia definicji okresla ktore instancje do ktorej definicji sie zalapia. Czy dalej sobie moge poradzic z czyms takim za pomoca property tree?
COMPONENT_PIN_PADS SECTION
{
PIN_PAD_DEFINITION RECORD
{
PIN_PAD_STANDARD RECORD
{
PAD_SHAPE R
PAD_TYPE Thermal
PAD_WIDTH 1905000
PAD_LENGTH 0
PAD_OTHER_SIZE 0
THERMAL_SPOKE_ANGLE 0
THERMAL_SPOKE_COUNT 0
THERMAL_SPOKE_WIDTH 0
PAD_ORIGIN_OFFSET 0
PAD_CORNER_RADIUS 0
}
}
PIN_PAD_INSTANCE -12992100 24726900 0 U1.1
PIN_PAD_INSTANCE -12992100 20993100 0 U1.2
PIN_PAD_INSTANCE -2247900 20993100 0 U1.3
PIN_PAD_INSTANCE -2247900 24726900 0 U1.4
PIN_PAD_DEFINITION RECORD
{
PIN_PAD_STANDARD RECORD
{
PAD_SHAPE S
PAD_TYPE Thermal
PAD_WIDTH 1905000
PAD_LENGTH 0
PAD_OTHER_SIZE 0
THERMAL_SPOKE_ANGLE 0
THERMAL_SPOKE_COUNT 0
THERMAL_SPOKE_WIDTH 0
PAD_ORIGIN_OFFSET 0
PAD_CORNER_RADIUS 0
}
}
PIN_PAD_INSTANCE 13677900 24726900 0 U2.1
PIN_PAD_INSTANCE 13677900 20993100 0 U2.2
PIN_PAD_INSTANCE 24422100 20993100 0 U2.3
PIN_PAD_INSTANCE 24422100 24726900 0 U2.4
no ale szukajac w ptree za pomoca klucza dostaje sie do
COMPONENT_PIN_PADS SECTION
{
Z definicjami nie ma problemu bo sobie jedna po drugiej wczytuje. Instancje tez sobie jedna po drugiej wczytuje Ale jak moge przypisac instancje do odpowiedniej definicji skoro jedynym wyznacznikiem tego do ktorej naleza jest to pod ktora definicja leza. czyli liczy sie pozycja w pliku tekstowym.
definicja1
instancja1
instancja2
instancja3
instancjaN
definicja2
instancja1
instancja2
instancja3
definicja3
instancja1
nie wiem ile bedzie instancji przy kazdej definicji
Po 1, to jesli:
Pod Fl_Window i B nie ma jakichś typedefów, które ukrywają pointer to to sie wywali przy kompilacji xdKod:Fl_Window nazwaOkienka = new Fl_Window(500, 500, "Nazwa");
B nazwa2 = new B(300, 300);
Odpowiadając na Twój problem. Moim zdaniem, każdy obiekt powinien byc odpowiedzialny za usunięcie pamięci o sobie. Czyli, jeśli mamy daną klasę A i ona ma pola B, C, D z czego np C i D są wskaźnikami na inne klasy, to ta klasa A przy destrukcji powinna wywalić klasy C i D. Oczywiście, powstaje problem tego, że dane, które są pod wskaźnikami-dziećmi powinny być wywalone tylko, jeśli nie trzyma nikt inny do nich referencji ( czytaj wychodzą zupełnie z jakiegokolwiek scope'a ). W tym celu należy użyć sprytnych wskaźników, których implementacja z tego co wiem jest już w C++11 a poza tym jest w bibliotece boost.
Wołam @szulak ; bo on ekspert i może mnie ewentualnie poprawić xD
mam tez problem aby wczytac kilka wartosci
PIN_PAD_INSTANCE -2247900 20993100 0 U1.3
kluczem jest tu PIN_PAD_INSTANCE ale metoda get mi zwroci tylko pierwsza wartosc -2247900 Jak moge wszystkie wczytac?
@szulak ;
Faktycznie tam byly wskazniki (musialem zapomniec nacisnac gwiazdke ;s). Sposob z inteligentnymi wskaznikami znalem (ale rownie dobrze moglem zrobic zwykly wskaznik na ten obiekt jako pole w klasie A i w destruktorze skasowac (tak jak w moim przykladzie ten przycisk), ale pytalem po prostu, czy jest jakies inne wyjscie, anizeli ktorys z tych dwoch sposobow, latwiejszy i nie wymagajacy dodatkowej pamieci/implementacji. Ostatecznie do tych dwoch klas uzylem unique_ptr (chociaz implementacja wyglada nieco inaczej, ale pewnie pisal z pamieci), a do pozostalych drugi sposob, coby przecwiczyc oby dwie formy.
Pokaz jak to zrobiles :)
@Snazol ;
OK. Wyjasnij mi w takim razie, Twoje stwierdzenie: "(chociaz implementacja wyglada nieco inaczej, ale pewnie pisal z pamieci)". Chodziło Ci o inne miejsce (ciało ctora a nie lista inicjalizacyjna) ?
@szulak ;
W klasie jako prywatne pola:
Zas uzylem w konstruktorze ich w ten sposob:Kod:std::unique_ptr<Fl_Window> authWind_;
std::unique_ptr<Fl_Widget> details_;
No i dla wyjasnienia, dlaczego ten details_ tak troche dziwnie wyglada, to pokaze jak ta klasa wyglada:Kod:authWind_ = std::unique_ptr<Fl_Window>(new Fl_Window(450, 390, "Zaloguj sie"));
details_ = std::unique_ptr<Fl_Widget>(new DrawingDetails(10, 10, 440, 440));
Część jest zakomentowana, bo prawdopodobnie w przyszlosci dojda jakies rysunki, a aktualnie to rysuje jedna czarna kreske xdKod:class DrawingDetails : public Fl_Widget
{
void draw(void);
//Fl_BMP_Image *logo;//w przypadku dodania logo, usunac boxy z konstruktorow registerWind oraz AuthWindow
public:
DrawingDetails(int X, int Y, int W, int H) : Fl_Widget(X, Y, W, H){};/* {
bitmap = new Fl_BMP_Image("oko.bmp");
}*/
~DrawingDetails(){};
// delete logo; }
};
Ogolem to jest to samo, tylko inaczej musialem uzyc tego w konstruktorze, bo przy Twoim sposobie jakies bledy mi wyskakiwaly (nie pamietam juz jakie).
#edit
@szulak ; o tym miejscu mowilem. Teraz tak mysle, ze wlasnie o to chodzi, ze ja to robilem w ciele konstruktora, a nie jako lista inicjalizacyjna i dlatego mi wyrzucalo bledy. Nie moge teraz tego sprawdzic dla pewnosci, bo musialbym odpalic 7mke na wirtualnej maszynie (projekt jest robiony w visualu 13'tce, a moja vista nie spelnia wymagan -.-') marnujac przy tym ze 30 minut i przetestowac. Ale na 99% masz racje i wtedy by dzialalo to dobrze, zatem zwracam honor - moj blad.Kod:authWind_ = std::unique_ptr<Fl_Window>(new Fl_Window(450, 390, "Zaloguj sie"));
details_ = std::unique_ptr<Fl_Widget>(new DrawingDetails(10, 10, 440, 440));
Od dłuższego czasu nurtuje mnie pytanie, dlaczego na klawiaturze numerycznej jest przecinek a nie kropka ? Chyba kazdy parser jako rozdzielnik dziesiętnych czyta kropkę właśnie a nie przecinek
nawet nie szukales ;/ http://answers.microsoft.com/pl-pl/w...1e56c37?auth=1
Ponizej sa screeny ustawien.
Zna ktos fajne stronki z szablonami html? W googlach tego pelno ale wiekszosc to syf, templated.co znam ale tez nic ciekawego tam nie znalazlem
Panowie, robię sobie stronkę i pytanie jaka teraz jest "podstawowa" rozdzielczość jaką ludzie używają? tzn na jaką szerokość robić stronę. Nie chcę robić responsywnej stronki. Kiedyś się robiło stronki przeważnie na 1024px a teraz? myślałem o 1600, bo raczej nikt już nie używa mniejszej rozdziałki jak te 1600x900 raczej, a może 1280? doradźcie ziąki
standardem jest bootstrap, ktory ma 4 podstawowe szerokosci
http://getbootstrap.com/css/#grid
970px jest bezpieczna dla laptopów
Pany, da się w javascriptem załadować w tle daną stronę ? tzn chciałbym sobie zrobić funkcję np dupa(a, b), po której wywołaniu w tle strony ładuje się strona 'mojastrona.pl?action=cos&pierwszy='+a+'&drugi='+b / jak to zrobić ? ;d
nvm zdziałałem sam xd
Kod PHP:function addCart(ida, counta) { var url= "cart.php?action=add&id="+ida+"&count="+counta; //alert(url); $.get(url,function(data){ alert("Data: " + data); }) }
Jak juz robisz cos takiego, to parametry nie dawaj w url, tylko w osobnej tablicy, a jQuery sobie ogarnie.
Kod:$.get( "http://twojastara.pl/cart.php", {action: "add", name: ida, time: counta } )
.done(function( data ) {
alert( "Data Loaded: " + data );
});
Zna ktoś jakieś narzędzie pomocne do rysowania w SDL/OPENGL chodzi mi o jakiś układ współrzędnych online na którym można rysować sobie kwadraty i dostać ich współrzędne wierzchołków bo muszę stworzyć w ten sposób dość długi napis na dość małej powierzchni i robienie tego w pamięci lub na kartce to męczarnia. Chodzi o układ na płaszczyźnie 2D.
Edit: Z góry napisze, że wiem że mogę zastosować tekstury i nałożyć napis ale jak napisałem wyżej, muszę to zrobić w ten konkretny sposób.
Jak potrzebujesz samych wspołrzędnych to może jakiś programik do grafiki wektorowej?
Rysujesz prostokąty, przesuwasz, ustawiasz, rozciągasz i odczytujesz współrzędne każdego.
Hej, próbuję wylosować liczby z przedziału [-1.00;1.00] tak aby wylosowana liczba wędrowała od razu do 100 elementowej tablicy zadeklarowanej na początku programu.
W tej chwili mam coś takiego:
Coś co kompletnie nie działa... Zadanie jest mega podstawowe i mimo, że z "materiałem" jestem dalej to nie mogę sobie poradzić xDKod:float a;
for (int i = 0; i < 100; i++)
{
a = (rand() % 1) - 1;
tab[i] = a;
}
Robię coś takiego:
Ale po wyświetleniu tej tablicy dostaję same zera i minus zera...Kod:float a;
for (int i = 0; i < 100; i++)
{
a = (rand() % 201) -100;
a = a / 100;
tab[i] = a;
}