Forum » Programiranje » [VB6] Izvajanje kode zapisane v zunanji txt datoteki?
[VB6] Izvajanje kode zapisane v zunanji txt datoteki?

MihaFirst ::
Ojla!
Zanima me torej, ali se v VB6 da izvesti, da bi program izvedel kodo, ki je zapisana v neki tekstovni datoteki, torej:
LP
Zanima me torej, ali se v VB6 da izvesti, da bi program izvedel kodo, ki je zapisana v neki tekstovni datoteki, torej:
Private Sub Command1_Click()
-------Vsebina datoteke koda.txt-------
End Sub
LP

fiction ::
Odvisno kaksna koda je napisana v tistem .txt fajlu.
Sicer se ne spoznam na VB6, ampak pomoje zato ker se vse skupaj prevaja nimas na voljo neke Eval() funkcije.
Lahko napises nek svoj interpreter za tisto kar je v .txt fajlu (pri cemer pa lahko namesto dejanskega Visual
Basica uporabis nekaj bolj enostavnega).
Ali pa uporabis Microsoft Script Runtime...
Sicer se ne spoznam na VB6, ampak pomoje zato ker se vse skupaj prevaja nimas na voljo neke Eval() funkcije.
Lahko napises nek svoj interpreter za tisto kar je v .txt fajlu (pri cemer pa lahko namesto dejanskega Visual
Basica uporabis nekaj bolj enostavnega).
Ali pa uporabis Microsoft Script Runtime...

StratOS ::
Ne gre tako kot misliš edvard, v kaj se kaj zopet odpravljaš ?
Fiction ti je dal namig - interpreter, res je en mali problem pri VB6 kot objeknemu jeziku.
Seveda mislim, da vem, kaj hočeš narediti.
Kompilacija celote bi indirektno šla, direktno pa ne.
Fiction ti je dal namig - interpreter, res je en mali problem pri VB6 kot objeknemu jeziku.
Seveda mislim, da vem, kaj hočeš narediti.
Kompilacija celote bi indirektno šla, direktno pa ne.
"Multitasking - ability to f##k up several things at once."
"It works better if you plug it in."
"The one who is digging the hole for the other to fall in is allready in it."
"It works better if you plug it in."
"The one who is digging the hole for the other to fall in is allready in it."

MihaFirst ::
Bom vprašal bolj splošno. Kako bi lahko trajno spremenil del sourca že skompajlanega programa?

StratOS ::
Že skompajliranega torej postavljena v Execute obliko.
Kakor veš, da pri zagonu datoteke ne moreš popravljati oz. spreminjati vsebine iste datoteke.
Hja glede tvojega "trajno spremenil del sourca že skompajlanega programa"
Source lahko spremeniš ni blema, vendar se ti bo z tem spremenil tudi skompajlirana oblika seveda če boš zagnal kompajliranje.
VB ni kaj dosti primeren za disasemblanje in manualno rewritanje kode, kajti večina klicev se nahaja znotraj runtime komponent in dll-jev, ki dodatno sformatirajo oblike v večini podatkovnih tipov ( primer VB ne pozna unsigned tipov ...), različna drugačna formatiranja stringov in manipulacij z pointerji ipd ...
Sam sem že velikrat disasemblal in spreminjal rutine in klice raznih VB6 aplikacij v tem primeru kakšnih primerjalnih členov ali if ukazov, stringov, raznih resourcejev in inner spremenljivk ipd to se brez problema da, no seveda pa je clean strojna koda bolj čista in "enostavna", kajti veliko klicev VB se nanaša na alla ustrezen "format" dll-je, ki naknadno potem izvajajo osnovne strojne operacije. Seveda je pa zanimivo, kako takšna komunikacija poteka in kaj ti "format" dll-ji počnejo.
Podobno je tudi z VB dll-ji in kakšnimi C dll-ji, če niso standardni in prirejeni za VB ali dodatno sformatirani/konvertirani se da kaj hitro priti do napak najsibo pri konverziji podatkovnih tipov ali različnih dolžini tipov ter ostalih konverzij že pridoblenih klicujočih subrutin ali funkcij dll-ja.
Seveda pa za takšen poseg moraš znati poleg osnovnega disasemblanja tudi veliko asemblerskih veščin,trikov ipd ... da razbereš kaj in kje v kodi se kaj dogaja in pod kakšnimi pogoji, potrebno je dokaj veliko prestrezalnih metod pri klicanju/urejanju določenih delov (subrutine, funkcije, external dll, spomin ...).
Če imaš kakšen tipičen in bolj specifičen primer ti mogoče lahko tudi pomagam.
lp
Kakor veš, da pri zagonu datoteke ne moreš popravljati oz. spreminjati vsebine iste datoteke.
Hja glede tvojega "trajno spremenil del sourca že skompajlanega programa"
Source lahko spremeniš ni blema, vendar se ti bo z tem spremenil tudi skompajlirana oblika seveda če boš zagnal kompajliranje.
VB ni kaj dosti primeren za disasemblanje in manualno rewritanje kode, kajti večina klicev se nahaja znotraj runtime komponent in dll-jev, ki dodatno sformatirajo oblike v večini podatkovnih tipov ( primer VB ne pozna unsigned tipov ...), različna drugačna formatiranja stringov in manipulacij z pointerji ipd ...
Sam sem že velikrat disasemblal in spreminjal rutine in klice raznih VB6 aplikacij v tem primeru kakšnih primerjalnih členov ali if ukazov, stringov, raznih resourcejev in inner spremenljivk ipd to se brez problema da, no seveda pa je clean strojna koda bolj čista in "enostavna", kajti veliko klicev VB se nanaša na alla ustrezen "format" dll-je, ki naknadno potem izvajajo osnovne strojne operacije. Seveda je pa zanimivo, kako takšna komunikacija poteka in kaj ti "format" dll-ji počnejo.
Podobno je tudi z VB dll-ji in kakšnimi C dll-ji, če niso standardni in prirejeni za VB ali dodatno sformatirani/konvertirani se da kaj hitro priti do napak najsibo pri konverziji podatkovnih tipov ali različnih dolžini tipov ter ostalih konverzij že pridoblenih klicujočih subrutin ali funkcij dll-ja.
Seveda pa za takšen poseg moraš znati poleg osnovnega disasemblanja tudi veliko asemblerskih veščin,trikov ipd ... da razbereš kaj in kje v kodi se kaj dogaja in pod kakšnimi pogoji, potrebno je dokaj veliko prestrezalnih metod pri klicanju/urejanju določenih delov (subrutine, funkcije, external dll, spomin ...).
Če imaš kakšen tipičen in bolj specifičen primer ti mogoče lahko tudi pomagam.
lp
"Multitasking - ability to f##k up several things at once."
"It works better if you plug it in."
"The one who is digging the hole for the other to fall in is allready in it."
"It works better if you plug it in."
"The one who is digging the hole for the other to fall in is allready in it."
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | visual basic 2008 express editionOddelek: Programiranje | 1914 (1341) | sel |
» | [VB.NET] - Kako registrirati DLL-je ob inštalaciji?Oddelek: Programiranje | 1282 (1178) | darkolord |
» | Najhitrejši programski jezik? (strani: 1 2 )Oddelek: Programiranje | 8005 (5825) | Senitel |
» | [VB6] Program Odštevalnik - verjetno preprosta rešitev ampak jest je ne najdem (strani: 1 2 )Oddelek: Programiranje | 5490 (4964) | Nerdor |
» | Pomoč pri BasicuOddelek: Programiranje | 1046 (894) | Nazgul |