Преобразуване на Стринг в Команда?
10 отговора
469 прегледа
Преобразуване на Стринг в Команда?
Я някой спец да се изкаже :)
Трябва ми функция аналогична на метода eval от JavaScript (ако има такава), която да конвертира даден текст в команда...
примерно да работи следния код
x$ = "a=b and (c>25 or d<4)"
If EvalCavalIliKvotoETam(x$) then ...
може да ви изглежда малко безсмислено, но за мен има смисъл защото работя със собствен тип бази данни (с мно'у мно'у записи :) и е най-удачно вместо да претърсвам базата всеки път за сходни неща, просто да претърсвам на базата по резултата от предходната мутация :)
Т.е. ако в по-горния пример a,b,c,d са полета от база данни,
то имайки резултатите(филтър) от c>25 в един файл, d<4 във втори много по-лесно мога да полу4а c>25 or/and d<4 във следващ, и от там процедурата йерархично се повтаря докато стигна до най-сложното ниво ;)
най-нагледно е следното
от 100 човека държали 2 изпита - Информатика и Математика
има 5 Пълни шестици по Информатика и 20 по Математика
имайки тези данни няма смисъл да повтарям търсенето в 100 записа за да намеря кой има и по двата предмета има шестици, след като е достатъ4но да се проверят само 5-те пълни шестици по Информатика за допълнителния критерий по Mатематика...
В моя случай не е точно в команда, а ми трябва логическа стойност еквивалентна на израз от променливи, така че вероятно може да стане дори и да няма такава вградена функция
Благодарско, за всеки който помогне с нещо


Трябва ми функция аналогична на метода eval от JavaScript (ако има такава), която да конвертира даден текст в команда...
примерно да работи следния код
x$ = "a=b and (c>25 or d<4)"
If EvalCavalIliKvotoETam(x$) then ...
може да ви изглежда малко безсмислено, но за мен има смисъл защото работя със собствен тип бази данни (с мно'у мно'у записи :) и е най-удачно вместо да претърсвам базата всеки път за сходни неща, просто да претърсвам на базата по резултата от предходната мутация :)
Т.е. ако в по-горния пример a,b,c,d са полета от база данни,
то имайки резултатите(филтър) от c>25 в един файл, d<4 във втори много по-лесно мога да полу4а c>25 or/and d<4 във следващ, и от там процедурата йерархично се повтаря докато стигна до най-сложното ниво ;)
най-нагледно е следното
от 100 човека държали 2 изпита - Информатика и Математика
има 5 Пълни шестици по Информатика и 20 по Математика
имайки тези данни няма смисъл да повтарям търсенето в 100 записа за да намеря кой има и по двата предмета има шестици, след като е достатъ4но да се проверят само 5-те пълни шестици по Информатика за допълнителния критерий по Mатематика...
В моя случай не е точно в команда, а ми трябва логическа стойност еквивалентна на израз от променливи, така че вероятно може да стане дори и да няма такава вградена функция
Благодарско, за всеки който помогне с нещо
Re: Преобразуване на Стринг в Команда?
MS ScriptControl ActiveX --> Evaluate method...
Не разбрах какво точно искаш да направиш с мутациите и т.н., ама този контрол може да ти помогне да постигнеш първата идея (аналог на Eval в JS)...
Епа, това е моето хоби... [линк]
Не разбрах какво точно искаш да направиш с мутациите и т.н., ама този контрол може да ти помогне да постигнеш първата идея (аналог на Eval в JS)...
Епа, това е моето хоби... [линк]
хе :)
Нека изпозлвам една заучена от детските ми години фраза
"Само некадърниците си купуват фабрични вещи. Талантите като нас си правят ... всичко сами!"
Съмнявам се, че Ескюела може да е по-бърз от разработката на спомагателен софтуер писан за конкретна база данни (било и под бейсик :)
Реално и в Ексел може да се направи тази част с един прост филтър, само че в конкретния случай без да преувеличавам е стотици пъти по-бавен.
Поне аз така мисля щото тези танкове поддържат знайни и незнайни допълнителни възможности, а аз съм на принципа че колкото по-просто е изградена една система е, толкова по-добре (стига да тръгне :)
"Само некадърниците си купуват фабрични вещи. Талантите като нас си правят ... всичко сами!"
Съмнявам се, че Ескюела може да е по-бърз от разработката на спомагателен софтуер писан за конкретна база данни (било и под бейсик :)
Реално и в Ексел може да се направи тази част с един прост филтър, само че в конкретния случай без да преувеличавам е стотици пъти по-бавен.
Поне аз така мисля щото тези танкове поддържат знайни и незнайни допълнителни възможности, а аз съм на принципа че колкото по-просто е изградена една система е, толкова по-добре (стига да тръгне :)
Re: Преобразуване на Стринг в Команда?
мерси, ще го видя :)
нещо като опит да направя по-гъвкава обработката на базата си.
колкото по-гъвкаво се задават входните данни, толкова по-мощна е коя да е система. може дори програмата да променя сама кода си ;)
е, далеч съм от идеи за писани на вируси де :))
реално погледнато и самия софтуер представлява входни данни за хардуера за да не се създават отделни устройства като касетофон, печатаща машина, телевизор и т.н.
нещо като опит да направя по-гъвкава обработката на базата си.
колкото по-гъвкаво се задават входните данни, толкова по-мощна е коя да е система. може дори програмата да променя сама кода си ;)
е, далеч съм от идеи за писани на вируси де :))
реално погледнато и самия софтуер представлява входни данни за хардуера за да не се създават отделни устройства като касетофон, печатаща машина, телевизор и т.н.
Re: хе :)
Пич мислиш ли че ще можеш да напишеш на VB6 (подчертавам VB6) нещо което работи от оптимизирана база от данни. Е може би със 100 записа ще можеш да го "доклатиш" ама я помисли аз 100000, 1000000, 10000000 и т.н.
И недей да говориш глупости че талантите си пишели всичко сами. Едва ли си такъв голям талант що задаваш такива глупави въпоси тук!!!

И недей да говориш глупости че талантите си пишели всичко сами. Едва ли си такъв голям талант що задаваш такива глупави въпоси тук!!!
Re: хе :)
Пич 100 записа се обработват като фурия дори и в ексел...
... в момента базата ми (под VB6) е от 25000 записа (по 200 полета всеки) и си работи сравнително бързо без да съм я оптимизирал кой знае колко като алгоритъм.
Освен това подчертах, че става дума за КОНКРЕТНА база данни!
25 000 записа поддържат 10 години назад, а на мен ми трябва не повече от още 10-15 или като цяло не по-вече от 65000 записа, а дори и да река да ги надхвърла просто ще си създам 2-ри файл и ще ги обработвам последователно.
Въпроса може да е глупав, но някой 'глупаци' са се сетили докато създават езици да го предвидят проблема като възможност.
Ако текст който се изпълнява като команда е без смисъл, то тогава на практика цялото програмиране излиза че е безсмислено :))
А ако мислиш че ще ме засегнеш на тема ум - паметта ми наистина е доста слаба и не съм начетен, но повярвай ми създавам си бази данни които работят без проблем...
Освен това нерядко побеждавам шахматисти накълвани с теория или като цяло искам да ти кажа, че ако разчиташ основно на теорията, а не на собствените си сили яко си я закъсал
... в момента базата ми (под VB6) е от 25000 записа (по 200 полета всеки) и си работи сравнително бързо без да съм я оптимизирал кой знае колко като алгоритъм.
Освен това подчертах, че става дума за КОНКРЕТНА база данни!
25 000 записа поддържат 10 години назад, а на мен ми трябва не повече от още 10-15 или като цяло не по-вече от 65000 записа, а дори и да река да ги надхвърла просто ще си създам 2-ри файл и ще ги обработвам последователно.
Въпроса може да е глупав, но някой 'глупаци' са се сетили докато създават езици да го предвидят проблема като възможност.
Ако текст който се изпълнява като команда е без смисъл, то тогава на практика цялото програмиране излиза че е безсмислено :))
А ако мислиш че ще ме засегнеш на тема ум - паметта ми наистина е доста слаба и не съм начетен, но повярвай ми създавам си бази данни които работят без проблем...
Освен това нерядко побеждавам шахматисти накълвани с теория или като цяло искам да ти кажа, че ако разчиташ основно на теорията, а не на собствените си сили яко си я закъсал
ми ако си толкова печен
че да не ти се ползва sql, то написването на един интерпретатор няма да ти е проблем.
всъщност не знам дали sqla ще ти помогне, ама все пак не е зле да му хвърлиш едно око.
NE SUTOR ULTRA CREPIDAM
всъщност не знам дали sqla ще ти помогне, ама все пак не е зле да му хвърлиш едно око.
NE SUTOR ULTRA CREPIDAM
браво за ентусиазма...
.. да си направиш собствена база данни... на ВБ6...
и аз като бях ученик ме тресяха подобни гениални идеи и имах ентусиазмът и времето да преоткривам отначало топлата вода..
постепенно ти светва една крушка че така не се правят сериозни неща сега с умиление гледам нещата които съм бил правил и ми е малко смешно и тъжно...
надявам се поне да не пишеш във файла с
write #1, "my_PRECIOUS_DATA" :)
погледни поне на .нет-а кво може да се направи, там можеш да компилираш рънтаим сорс които да го стартираш динамично.
погледни също SQL-a що за животно е, XML-a. X-PATH-а...
айде пък дано повече бели лястовици като тебе...
и аз като бях ученик ме тресяха подобни гениални идеи и имах ентусиазмът и времето да преоткривам отначало топлата вода..
постепенно ти светва една крушка че така не се правят сериозни неща сега с умиление гледам нещата които съм бил правил и ми е малко смешно и тъжно...
надявам се поне да не пишеш във файла с
write #1, "my_PRECIOUS_DATA" :)
погледни поне на .нет-а кво може да се направи, там можеш да компилираш рънтаим сорс които да го стартираш динамично.
погледни също SQL-a що за животно е, XML-a. X-PATH-а...
айде пък дано повече бели лястовици като тебе...
Re: браво за ентусиазма...
е, не е на 100% собствена :)
използвам щастливия факт, че Ексел поддържа VBA, а с Бейсика се занимавам от 87-ма.
С помоща на макроси Ексела ми върши доста добра работа за обработката на данните, но за да се изготвят крайните записи.
За записите използвам двоичен достъп - много по-лесно ми е.
Записите ми представляват UDT структури и ако се наложи знам кое поле на какво отместване се намира. Всичко друго в моя случай до организация на информацията. в момента стигнах над 40000 записа от по 200 байта в основния файл с данни :)
Инак от мързел да уча скриптов език пишещ върху сървърите бях стигнал до лудоста да създам затворен цикъл Ексел -> VBA -> Java Script -> хостване ;;; потребители -> Java Script -> HTML таблица -> Copy -> Excel
VBA -> JavaScript го използвах за да създавам .js файловете съдържащи масивите с нови данни, които чрез скрипта не можех да запиша върху сървъра ха ха ;)
абе хубаво е човек да си понапъва мозъка и да твори, ако ще да се по;учават изгъзици.. важното е удоволствието
използвам щастливия факт, че Ексел поддържа VBA, а с Бейсика се занимавам от 87-ма.
С помоща на макроси Ексела ми върши доста добра работа за обработката на данните, но за да се изготвят крайните записи.
За записите използвам двоичен достъп - много по-лесно ми е.
Записите ми представляват UDT структури и ако се наложи знам кое поле на какво отместване се намира. Всичко друго в моя случай до организация на информацията. в момента стигнах над 40000 записа от по 200 байта в основния файл с данни :)
Инак от мързел да уча скриптов език пишещ върху сървърите бях стигнал до лудоста да създам затворен цикъл Ексел -> VBA -> Java Script -> хостване ;;; потребители -> Java Script -> HTML таблица -> Copy -> Excel
VBA -> JavaScript го използвах за да създавам .js файловете съдържащи масивите с нови данни, които чрез скрипта не можех да запиша върху сървъра ха ха ;)
абе хубаво е човек да си понапъва мозъка и да твори, ако ще да се по;учават изгъзици.. важното е удоволствието