[ ArtifeX @ 06.01.2005. 16:17 ] @
Moze li se u vb-u napraviti program koji ce moci da napravi novi exe fajl od txt fajla
NA primer snimimo txt fajl sa sledecim sadrzajem:
Code:
Provate Sub From_Load
MsgBox "HEllo"
End Sub

i da od njega napravimo exe fajl.

Ako sve ovo sto sam napisao ikako moze da se uradi onda: KAKO?
[ Pr[o_O]F @ 06.01.2005. 20:52 ] @
Ima nesto ali nemoj ocekivati cuda!
Potrazi na www.planet-source-code.com projekat pod imenom TinyCompiler ima neke osnovne funkcije poput msgbox itd... problem je samo sto nemozes kreirati "prozore" nego se sve izvrsava u "crnom ekranu"
na PSC upisi u search polje "Compiler" ili sl pa ces pronaci podosta ostalih primjera za to...
[ Aleksandar Ružičić @ 06.01.2005. 22:15 ] @
Hmm... jel bas mora .exe?
ja sam to radio preko skriptova: u jednom fajlu imas upisan kod i samo citas liniju po liniju. mada ako mora exe moze da se taj skript ubaci na kraj vec napisanog exe-a i na taj nacin dobijes nesto kao kompilovan program (u tom gotovom exe-u se nalazi kod koji cita taj skript koji si napisao)
skript engine (tako sam ga ja nazvao ) tj, taj program sto ti cita skript je, obican (dobro ne moze da bude bas obican ) string parser.
ja sam takav parser napisao ali on ima dosta bugova i pomalo je spor (kad sam ga testirao 300 funkcija [obicne matematicke operacije u svakoj i pokoji msgbox] je izcitavao za nekie 3-4 sekunde)

ako se resis za ovaj nacin javi ako ti bude trebala pomoc


Pozdrav Svima!
[ Aleksandar Ružičić @ 06.01.2005. 22:23 ] @
e nesto sam zaboravio:
sa ovim nacinom mozes lako imati prozore i kontrole samo napisi kod koji ce kada parser prepozna npr Button Load komandu da ucita button na formu.
ja sam to npr radio ovako (mislim na komandu u skriptu)
Code:

Declarations[begin]
...
  Button btnTest;
...
Declaration[end]

...
Script.onLoad[begin]
...
  btnTest.loadButton();
  btnTest.setPosition(10, 20, 30, 15);
...
Script.onLoad[end]

ono sto je znimljivo kod ovoga (bar je meni bilo) je to sto ti sam smisljas sintaksu (kako vidis meni funkcija pocinje sa imefunkcije[begin] a zavrsava se sa imefunkcije[end] i parser ce izvrsiti sve sto se nalazi izmedju te dve linije kada je potrebno...)

zabavi se sa ovim!

p.s. samo je malo naporno pisati podrsku za gomilu funkcija, zato sam ja i napustio taj projekat (mada mislim da cu da se vratim na njega uskoro )

[ ArtifeX @ 07.01.2005. 20:41 ] @
@krckoorascic

Hvala ti za odgovor, ali imam jos nekliko (mozda smesnih) pitanja:
Sta je to parser?
Citat:
ja sam takav parser napisao ali on ima dosta bugova i pomalo je spor

Ako mozes posalji mi taj source na [email protected] ili neki kraci prime uz objasnjenje komandi koje koristis (kako neki tutorijal) ako moze, jer me zanima pa bi hteo da pokusam malo da se bakcem sa time.

||<<SaLuTe>>||
[ Aleksandar Ružičić @ 07.01.2005. 22:54 ] @
Pa pokusacu to malo da ti pojasnim:
parser ti je skup funkcija (Modul, class Modul ili sta vec) koji uzima jedan string i uporedjuje ga sa vec definisanim pod stringovima (delovima tog stringa) npr:
parser dobije ovakvu liniju (u mojoj sintaksi linija se zavrsavala sa ; - kao u C++u):
Code:

  MessageBox("Ovde ide text poruke","Naslov",1);

on ce je provuci kroz spisak komandi (if...elseif...elseif...end if petlja) i zaustaviti se na liniji koja izgleda ovako (linija koda parsera):
Code:

...
  ElseIf (Lase$(Left(lStr, 11)) = "messagebox(") Then
        str = Mid(lStr, 12, Len(lStr) - 12)
        tArry = Split(str, Chr&(1))
        MsgBox ReadValue(tArry(0)), ReadValue(tArry(1)), ReadValue(tArry(2))
...

e sad, vidis poziv ka funkciji ReadValue? To je jos jedna (veoma vazna) funkcija (deo) parsera. Ona dobijeni string opet uporedjuje sa nekim komandama ( u slucaju da npr. kao text poruke je prosledjena neka string promenjiva ili se stringovi sabiraju) i vraac sredjen string koji se pokazuje (u ovom slucaju) kao teks poruke.

znam da ovo zvuci i vise nego komplikvano, ali nije samo je obimno (lol). Pa cim sam ja (pocetnik) ovo lako shvatio i napisao kod, ubrzo ce i tebi sve biti jasnije .
Ako ti ovo nije mnogo hitno sacekaj malo da prepisem kod (trenutno ima dosta bugova i skoro da nema komentara) i poslacu ti ceo projekat, vazi?

[ vujkev @ 07.01.2005. 22:59 ] @
Zar vam nije lakse da koristite vec ugradjeni Microsoft Scripting Host?

Lepo napisete skriptu, snimite kao nesto.vbs i samo pozovete tu skriptu.

Ne znam samo da li je moguce napraviti forme sa ovim pristupom.
[ ArtifeX @ 07.01.2005. 23:53 ] @
@krckoorascic
Vazi cim prepravis posalji mi
Tnx.
[ Aleksandar Ružičić @ 07.01.2005. 23:59 ] @
Citat:
vujkev: Zar vam nije lakse da koristite vec ugradjeni Microsoft Scripting Host?

Lepo napisete skriptu, snimite kao nesto.vbs i samo pozovete tu skriptu.

Ne znam samo da li je moguce napraviti forme sa ovim pristupom.


pokusao sam to ali nisam uspeo da pravim formu i na njoj kontrole (ciji eventi se mogu koristiti u skriptu)
WSH koristim samo kod matematickih operacij