[ VRKY @ 22.09.2004. 15:08 ] @
pOzDrAv:
imam mali problemčić,meni se činilo glupo da zbog ovog postujem ali nisam skužio u čemu je problem pa sam se ipak odlučio za...
PrOblem:
Želim naredbu

Code:

FileCopy App.Path + "\" + App.EXEName + ".exe", "C:\ES.exe"


Stavit u :

Code:

Open "C:\Vrky.exe" For Output As 1
Print #1, "TU “
Close


Ali niakako prilagodit kod FileCopy... da stane tu ida normalno radi.Pokušavao sam stavljati “ i to više puta ali opet niš...Kad stavljam “ onda mi ispadne sljedeći kod:

Code:

Print #1, ""; FileCopy; App.Path + "\" + App.EXEName + ".exe", "C:\ES.exe"""


I kad to pokrenem ispiše se error:

Compile error:
Argument not optional

Nadam se da ste me shvatili

[ Aleksandar Ružičić @ 22.09.2004. 19:57 ] @
Ako sam te razumeo imas problema sa kopiranjem. Evo FSO primer:
Code:

Dim sPath As String, dPath As String
Dim FSO As New Scripting.FileSystemObject

sPath = App.Path & "\" & App.ExeName & ".exe"  ' source
dPath = "C:\ES.exe"  ' destination

FSO.FileCopy sPath, dPath, True

Ali ja mislim da ne mozez da kopiras program koji je aktivan (pokrenut), mozda gresim...
[ VRKY @ 22.09.2004. 20:34 ] @
Ne ne... Krivo si me shvatio.
[ Shadowed @ 22.09.2004. 23:18 ] @
Da vidimo da li sam ja dobro shavtio :). Hoces da u Vrky.exe upises komandu FileCopy sa sve parametrima pa da kad pokrenes taj Vrky.exe da on odatle to procita i uradi sta je procitao?
Ako je tako, onda ti pristup pogresan jer ces prepisati pocetak .exe dajla tako da on vise nece raditi. Moras to dopisati na kraj fajla. I predlazem ti da koristis FSO. Imas top temu o tome kako.
[ VRKY @ 23.09.2004. 05:55 ] @
Ne,Ne krivo me shvaćate.
Želim:
Ovaj kod:

Code:

FileCopy App.Path + "\" + App.EXEName + ".exe", "C:\ES.exe"


Stavit u Print

Code:

Print #1, "Znači želim da FileCopy ide tu i da radi“


Meni ne uspijeva stavljanje FileCopy komande u Print Komandu...Pojavljuje mi se uvijek ;
I kad onda pokrenem piše:

Compile error:
Argument not optional

Nadam se da sam sad bolje objasnio...
[ vujkev @ 23.09.2004. 07:28 ] @
Code:

Print #1, "FileCopy " & App.Path & "\" & App.EXEName & ".exe, C:\ES.exe"

[ Not now, John! @ 23.09.2004. 09:28 ] @
Nisam siguran (sad sam u Linuxu), ali mislim da Print traži još jedan argument.

Code:
Print #1, , sTvojStringKojiIspisuješ


Takođe, zašto fajl u koji ispisuješ tekstualne podatke ima nastavak ".exe"? Kod
Code:
Open "C:\Vrky.exe" For Output As 1
Print #1, "TU “
Close
treba da bude
Code:
Open "C:\Vrky.txt" For Output As #1
Print #1, , "TU “
Close #1

(Na kraju Close stavi broj fajla koji zatvaraš.)
[ VRKY @ 23.09.2004. 14:44 ] @
@vujkev
Tvoj kod ne rdai nešto.
@Not now, John!
Bezveze sam stavio tamo .exe,i znam da na kraju treba bit close
Ako ovako pomoću naredbe FileCopy ne radi koji ima drugi način...
[ vujkev @ 23.09.2004. 14:51 ] @
E sad si mi stvarno pomogao, a samim tim i sebi :)

Koja je greska (opis, broj,....)?
[ VRKY @ 23.09.2004. 15:07 ] @
Nije nikaka greška... Sve se normalno pokrene ali se ne napravi .exe koji se treba napravit
[ Shadowed @ 23.09.2004. 15:15 ] @
Cekaj, hoces da napravis .exe fajl koji kad otvoris u Notepad-u (npr.) u njemu pise: FileCopy App.Path + "\" + App.EXEName + ".exe", "C:\ES.exe"?
Ili hoces da napravis .exe koji kad pokrenes radi to sto radi komanda: FileCopy App.Path + "\" + App.EXEName + ".exe", "C:\ES.exe"?
[ VRKY @ 23.09.2004. 15:49 ] @
Ovo drugo...ALi taj kod za kopiranje moa bit u Printu.
[ Shadowed @ 23.09.2004. 15:52 ] @
Nema sanse da to tako uradis.
[ filjo @ 23.09.2004. 16:27 ] @

Citat:


Code:

FileCopy App.Path + "\" + App.EXEName + ".exe", "C:\ES.exe"



Stavit u :


Code:

Open "C:\Vrky.exe" For Output As 1
Print #1, "TU “
Close




Da vidimo red po red:

Sa FileCopy kopiras APLIKACIJA.EXE fajl u ES.EXE

Zatim otvaras VRKY.EXE
Posle bi trebalo da se u VRKY.EXE prepise APLIKACIJA.EXE koja se predhodno kopira u ES.EXE
Zatvaras VRKY.EXE


Stavi samo jedan red umesto svih posto nema smisla da otvoris VRKY.EXE prepises ES.EXE u njega pa da ga zatvaras:

FileCopy App.Path + "\" + App.EXEName + ".exe", "VRKY.EXE"

To ti radi bas to sto si hteo, osim ako nisi sakrio kod izmedju open i close naredbi sto je verovatno tacno jer koliko vidim zelis da menjas EXE u toku izvrsavanja programa.

poz


[ VRKY @ 23.09.2004. 19:59 ] @
Ne shvaćate me... Ne mora biti ovo:
Code:

Open "C:\Vrky.exe" For Output As 1
Ili
Open "C:\Vrky.txt" For Output As 1


Može i bit

Code:

Open Path For Output As #1
ili
Open .... For Append As #1


Nije bitno što je u Openu meni je bitno sao da se iskopira (napravi .exe)
a Znači u Print da ide kopiranje ....
[ BytEfLUSh @ 23.09.2004. 21:34 ] @
Ajde budi malo jasniji!! Da ti ja sad postavim par pitanja...

1) Da li je vrky.exe tekstualni fajl?
2) Da li vrky.exe treba da može da se pokrene dvoklikom?
3) Da li samo treba da postoji textualni fajl vrky.exe u kojem treba da piše FileCopy App.Path + "\" + App.EXEName + ".exe", "C:\ES.exe" ?
4) Jel ti znaš uopšte kako izgleda strukture EXE fajla?
[ Shadowed @ 23.09.2004. 21:41 ] @
Kako ne kontas? .exe nece taditi. Mozes to i u Notepad-u da uradis (efekat je isti jer ces dobiti tekstualni fajl sa exe ekstenzijom) i da snimis kao nesto.exe i pokrenes. Videces da ti to nece raditi.
Uostalom, evo ispravnog koda pa vidi:
Code:

Open "c:\asd.exe" For Output As #1
Print #1, "FileCopy App.Path + ""\"" + App.EXEName + "".exe"", ""C:\ES.exe"""
[ VRKY @ 23.09.2004. 21:43 ] @
Ma je li .txt ili nešto drugo nije bitno (to sam već rekao) želim samo stavit naredbu:
Code:

FileCopy App.Path + "\" + App.EXEName + ".exe", "C:\ES.exe"

Stavit u naredbu:
Code:

Print #1, "“


Da radi zadatak kopiranaj.. Drugo mi niš nije potrebno...
[ filjo @ 23.09.2004. 21:45 ] @
Ne mozes staviti naredbu u naredbu.

Ma on oce nesto u ovom stilu:


open "izlaz" for output as #1
open "ulaz" for input as #2

while not eof(2)
input #2, buffer
write #1, buffer
loop

close

kako sad gledam ovde sam napravio sintaksnu kombinaciju bar 2-3 jezika pa to sigurno nece da radi, ali ideja je dobra???

[Ovu poruku je menjao filjo dana 23.09.2004. u 23:50 GMT]
[ VRKY @ 23.09.2004. 21:49 ] @
Ne ja želim u tom stilu... ali sam u onom postu govorio da mi je svijedno kaka je ekstenzija.. a mora bit u Printu...
P:S Shadowed ne radi tvoj kod.Napravi se asd.exe ali kad taj .exe pokrenem ne napravi se ES.exe
[ BytEfLUSh @ 23.09.2004. 21:53 ] @
Ne koristim VB, ali sam negde u nižim razredima osnovne radio na C64, pa se nešto malko sećam...
Probaj sa

PRINT #1, "FileCopy App.Path + "+CHR$(34)+"\"+CHR$(34)+" + App.EXEName + "+CHR$(34)+".exe"+CHR$(34)+", "+CHR$(34)+"C:\ES.exe"+CHR$(34)

Ako to nije to, onda si VEOMA loše formulisao pitanje.
[ BytEfLUSh @ 23.09.2004. 21:56 ] @
E, vrky, cccc... A ja mislio da ti znaš nešto...

Citat:
VRKY: P:S Shadowed ne radi tvoj kod.Napravi se asd.exe ali kad taj .exe pokrenem ne napravi se ES.exe


Što odmah upućuje na moje pitanje...

Citat:
BytEfLUSh: 4) Jel ti znaš uopšte kako izgleda struktura EXE fajla?

[ VRKY @ 23.09.2004. 21:59 ] @
...Vidim da ne ide baš s FileCopy... pokušat ću sa FSO Kopiranjem.Ja sam malo prebrzo odgovarao a nisam ni malo mislio...
[ Shadowed @ 24.09.2004. 00:41 ] @
Ovaj... koliko puta je potrebno da ti neko kaze da .exe fajl u kome je plain text upisana naredba VB-a ne moze da funkcionise. Ne moze. Ne interpretira Windows VB kod u .exe fajlu vec je to native execurable. Sta mislis zasto je potrebno kompajlirati projekat. I kad kompajliras ne dobijas .exe u kome se nalaze komade VB-a vec binarni fajl koji kad otvoris u tekst editoru ne dobijas nista korisno.

Znaci, jos jednom, to ne moze tako!
[ VRKY @ 24.09.2004. 05:52 ] @
Ma ništa..Niste me razumili,ili ja vas....
PoZdRaV
[ BytEfLUSh @ 24.09.2004. 07:04 ] @
Da malo razumnije to objasniš, možda bi te i razumeli... A da ti nas ne razumeš - moguće je jedino usled računarske neobrazovanosti.
[ VRKY @ 24.09.2004. 13:43 ] @
Ne znam kako bi to objasnio.. ali sad nema veze.Jer ću nešto drugo uradit.
Svakako hvala..
[ Not now, John! @ 24.09.2004. 14:30 ] @
VRXY, vidiš da ovdje koliko ljudi ima, svako je različiti shvatio šta ti želiš.
Preformuliši pitanje. Koja je namjena te tvoj aplikacije?

Da li želiš da umjesto FileCopy naredbe napraviš svoju funkciju za kopiranje fajlova, koja će kopirati fajl bajt po bajt, ili dio po dio?
[ VRKY @ 24.09.2004. 19:51 ] @
Evo pokušat ću zadnji put....pa ako uspije uspije ne ne....
U tom mom progiju se odaberu funkcije i onda se u text1.text upiše ime forme... i pritisne command button a on te sve funkcije sklopi u jednu cijelinu... Ali ne komplimira nego stavi te funkcije u .frm (korisnik mora imat instaliran VB da bi to komplirao)... (ali opet tu imam problem.. Kad se otvori ta napravljena forma (samo form1 kako li ju već korisnik imenuje) otvara se kao moduel a ja sam zadao da se spremi sa ekstenzijom .frm znači piše Module1 (form1.frm) ne znm odakle dođe do modula... )
ali sad se vraćam na početno pitanje...
Zaboravio sam reć da korisnik još odabire gdje će se napravit ta forma...
Evo kod:

Code:

GenDir = frmOptions.txtdir.Text
Name = formname.Text
Path = GenDir & formname.Text + ".frm"
FormNamefrm = formname.Text & ".exe"
Open Path For Output As #1
Print #1, "Private Sub Form_Load()"
Print #1, "On error resume next"
Print #1, "Tu"
Print #1, "End Sub"


U progiju ima još koda ali je ovo najbitnije....
Gdje piše "Tu" želim stavit naredbu :

Code:

FileCopy App.Path + "\" + App.EXEName + ".exe", "C:\ES.exe"


Ali ju ne mogu nikako prilagodit Print-u Znači ovijek mi se pojavljuje " ; " i nekad uspijem izbijeći to i pokrenem progi sve napravi i oslika se u napravljenoj formi sav zadani kod osim taj FileCopy
Nadam se da je sad nešto jasnije....
[ Not now, John! @ 24.09.2004. 22:58 ] @
Pogledaj kako izgleda neki .frm fajl koji kreira Visual Basic kada snimaš projekat. Vidjećeš da osim koda tu postoji još gomila nekih linija koje definišu dimenzije forme, kontrole koje se nalaze na njoj i sl. Dakle, da bi VB prepoznao fajl koji kreiraš TI, moraš i ti postaviti dimenzije forme i ostalo. Najbolje je da koristiš neki šablon - formu koji kreiraš sa svim kontrolama, ali bez koda. Kod ćeš dodati nakon svih tih linija koje definišu formu. Dakle, taj fajl nipošto nećeš otvarati sa "For Output" nego sa "For Append".

Ako želiš da zamijeniš liniju "Tu" sa 'FileCopy App.Path + "\" + App.EXEName + ".exe", "C:\ES.exe"' onda moraš iz tog fajla koji sadrži "Tu" kopirati liniju po liniju u drugi, privremeni fajl, s tim što ćeš kad naiđeš na "Tu" staviti:
Print #2, "FileCopy App.Path + ""\"" + App.EXEName + "".exe"", ""C:\ES.exe"""
(Ako u nekom stringu imaš " onda ih moraš zamijeniti sa "".)

Valjda sam ti pomogao, ali još nisam siguran da u potpunosti razumijem šta želiš. ;-)
[ Shadowed @ 24.09.2004. 23:26 ] @
VRKY, dao sam ti u pretposlednjem postu kod za taj deo. Problem su znaci navoda koje moras da dupliras na odredjenim mestima.
[ VRKY @ 25.09.2004. 06:57 ] @
Ok...
A čekaj kako znači riješit problem s formom... Ja sam mislio da bi se to moglo npr. na ovaj način:

Code:

   BorderStyle = 2
   ClientHeight = 645
   ClientLeft = -9105
   ClientTop = 6465
   ClientWidth = 1590
   LinkTopic = "Form1"
   ScaleHeight = 645
   ScaleWidth = 1590
   Visible = 0
   Caption = Vrky


Jel bi tako radilo... Al onda se opet postavlja pitanje kod s tim....
PoZdRaV
[ Shadowed @ 25.09.2004. 12:02 ] @
Pa prvo sa Print dodaj taj deo pa onda onu FileCopy (ili koju vec izaberes iz programa).
S obzirom da je ocigledno da opet nesto mutis :), mozda bi ti se vise svidela mogucnost da ne moras da imas formu nego bas modul u kome imas funkciju Sub Main() koja ce se izvrsiti pri pokretanju programa (kao i Sub Form_OnLoad) ali nema prozora. Potrebno je samo u Properties-u za projekat odrediti da li se pokrece forma ili Sub Main.
[ VRKY @ 25.09.2004. 14:14 ] @
Meni je rađe da se ne radi s moduelom, znači želim napravit formu. Ali nisam baš to uspijevao.. kako napravit?
[ Shadowed @ 25.09.2004. 16:37 ] @
Gledaj, pazi, sve je vec receno. Napravi formu kakvu hoces da imas samo bez tih funkcija koje hoces da kopiras u krajnji fajl. Znaci podesis svojstva (Caption, Visible,...). Snimis to. pogledas u Notepad-u sta ima. Sad u tvom programu kod Print #1, upisujes redove jedan po jedan koje vidis u Notepad-u sve do onog dela gde hoces da ubacis tvoje komande (kao npr. onu FileCopy) onda ubacujes komande koje hoces (kao sto sam ti tri posta ranije pokazao) a zatim preostale linije koje imas u Notepad-u. Kad iz programa kreiras .frm fajl dodaj ga u neki nov projekat i moci ces da kompajliras (ako usput nesto ne zabrljas).
[ VRKY @ 25.09.2004. 16:56 ] @
Hvala, sve uspiješno uspijelo.
Što si mislio s onim da ga dodam u novi projekt?
[ Shadowed @ 25.09.2004. 21:17 ] @
Pa kad napravis taj .frm fajl uz pomoc tog programa koji upravo pravis, ako hoces da ga kompajliras, moras ga dodati u nov projekat.
[ VRKY @ 26.09.2004. 21:08 ] @
Kako bi mogao pomoću VB6.EXE (Visual-ov compiler) na komplimiram taj .frm fajl ali ne da ga otvaram nego nekako iz tog mog programa... Razmišljao sam da napravim da moj progi provjerava postoji li VB6.EXE a ako ga nađe da komplimira taj .frm Znam kako provjeriti postoji li VB6.EXE ali kako sad komplimirati... Mislim da bi se to nekako moglo napravit sa shell-om (putanja .frm fajla i VB6.EXE) ali ne znam kako točno to napravit
[ icobh @ 26.09.2004. 22:07 ] @
Nije VB6.exe kompajler nego C2.EXE
[ BytEfLUSh @ 27.09.2004. 01:44 ] @
A što bi proveravao da li ima VB6.EXE (tj. C2.EXE)??? Ionako ćeš to sam kompajlirati...

Nadam se da ne treba da bude virus... Jel to misliš da napraviš? I to VB-om????
[ VRKY @ 27.09.2004. 05:36 ] @
Ok.... Kako onda mogu kompalirati taj .frm fajl?
[ Shadowed @ 27.09.2004. 09:41 ] @
Mislim da je prilicno ocigledno sta pokusava da napravi (hmm, deja vu?).

Zasto mislis da se u VB-u ne mogu praviti virusi? Naravno da mogu, samo sto to nije uobicajeni nacin rada sa VB-om i sto ovakvi pokusaji cine da izgleda da nije moguce.
[ VRKY @ 27.09.2004. 12:45 ] @
Ako mislite da parvim Virus onda se varate....
[ BytEfLUSh @ 27.09.2004. 15:04 ] @
Ne znam za VB6, ali kako je to ono bilo sa starijim VB-ovima:

"The required DLL, VB40032.DLL (ili tako nešto) was not found blah blah"...

Mislim, MEGA LAME.

A tek ovo - sistemski zahtevi za virus: instaliran VB6. Verovatno negde postoji lista ULTRA-MEGA-LAME pokušaja pravljenja virusa. VRKY, ako uspeš nešto napraviti, plz pošalji mi... To im moram pokazati....
[ VRKY @ 27.09.2004. 16:32 ] @
BytEfLUSh
Ohladi malo... Ako ne znaš riješenje mog problema onda ne piše bezveze. Jer ne želim da se tema ključa zbog toga.
[ b3|2A @ 30.09.2004. 22:46 ] @
Nemoze to tako.
Nemozes Open "C:\Vrky.exe" For Output As 1
jer je to glupost
ti trebas ovako
Open "C:\Vrky.exe" Binary Access Write As #2
Nastavak cu ti reci kasnije.
jer ono st ti radis Open "C:\Vrky.exe" For Output As 1 je isto kao sto u notepadu ukucas Print #1, , "TU “ i sacuvas kao exe.
Kontas.
[ VRKY @ 01.10.2004. 21:10 ] @
Čekaj!! Što hoćeš s tim reć?
[ b3|2A @ 01.10.2004. 21:46 ] @
hocu da kazem da taj exe fajl koji otvaras nije kao txt file jer cim ti upises bilo sta odmah ce ispisati poruku da taj fajl ne moze se pokrenuti na win32.
[ Shadowed @ 01.10.2004. 23:39 ] @
Ma, objasnili smo mu to vec, ukapirao je :). Nemoj sad da ga zbunjujes :D.
[ VRKY @ 02.10.2004. 08:02 ] @
Riješio sam problem kako si ti Shadowed rekao... i sad sve radi.