getElementsByClassName("cipa")[0].głodna() << 1 element danej klasy
Wersja do druku
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