game maker
Gebruikersnaam:
Wachtwoord:
Home Info Forums Help
Welkom, Gast. Alsjeblieft inloggen of registreren.
De activerings e-mail gemist?
+  Forums
|-+  Werken met Game Maker
| |-+  Tutorials en Uitbreidingen (Moderator: Maarten Baert)
| | |-+  [Tut] Externe functies in batch files.
Pagina's: [1]
« vorige volgende »
Print
Advertenties

newbie013
Gebruiker


Offline Offline

Berichten: 776

Always can do..


WWW
« Gepost op: 15 September 2007, 16:11:10 »

GM Versie(s): Gm6 en Gm7 (niet getest)
CMD Versie(s): 2000 en xp ,sommige commando's werken niet in xp niet meer.
je hoeft niet geregistreerd te zijn.

Het is voor beginners, maar je moet wel kennis hebben van de dos commandos.

hoi,

Deze tut gaat over functies maken in .bat bestanden.
Zoals de meeste weten kun je externe functies aanroepen met/via dll's en externe gmlscripts en ik ben bezig om .bat daar aan toetevoegen.


De geschiedenis van batch bestanden:

Eerst had je de .com die gebruikte het hele ramgeheugen. Dus je kon er maar 1 tegelijke tijd gebruiken. Daarna kreeg je de batch bestanden (.bat) deze waren sneller en ze gebruikte niet het hele ramgeheugen en ze waren zelf door de gebruiker te maken. Dit is allemaal uit de dos tijd.

Wat doen batch bestand:

toen ze alleen de .com hadden konden de gebruikers maar 1 commando per commandline doen. met de batch bestanden konden ze dus meerde commando's in 1 file stoppen en die executen. dit zijn alle commando's die cmd.exe tegen woordig heeft:

ASSOC    Displays or modifies file extension associations
ATTRIB   Displays or changes file attributes.
CALL     Calls one batch program from another.
CD       Displays the name of or changes the current directory.
CHDIR    Displays the name of or changes the current directory.
CLS      Clears the screen.
CMD      Starts a new instance of the Windows 2000 command interpreter.
COLOR    Sets the default console foreground and background colors.
COMP      Compares the contents of two files or sets of files.
COMPACT  Displays or alters the compression of files on NTFS partitions.
COPY     Copies one or more files to another location.
DATE     Displays or sets the date.
DIR       Displays a list of files and subdirectories in a directory.
DISKCOMP Compares the contents of two floppy disks.
DISKCOPY Copies the contents of one floppy disk to another.
ECHO     Displays messages, or turns command echoing on or off.
EXIT     Quits the CMD.EXE program (command interpreter).
FC       Compares two files or sets of files, and displays the differences
         between them.
FIND     Searches for a text string in a file or files.
FINDSTR  Searches for strings in files.
FOR      Runs a specified command for each file in a set of files.
FTYPE    Displays or modifies file types used in file extension associations.
GOTO     Directs the Windows 2000 command interpreter to a labeled line in a
         batch program.
GRAFTABL Enables Windows 2000 to display an extended character set in graphic
         mode.
HELP     Provides Help information for Windows 2000 commands.
IF       Performs conditional processing in batch programs.
MD       Creates a directory.
MKDIR    Creates a directory.
MORE     Displays output one screen at a time.
MOVE     Moves one or more files from one directory to another directory.
PATH     Displays or sets a search path for executable files.
PAUSE    Suspends processing of a batch file and displays a message.
POPD     Restores the previous value of the current directory saved by PUSHD.
PRINT    Prints a text file.
PROMPT   Changes the Windows 2000 command prompt.
PUSHD     Saves the current directory then changes it.
RECOVER  Recovers readable information from a bad or defective disk.
REN      Renames a file or files.
RENAME   Renames a file or files.
REPLACE  Replaces files.
SET      Displays, sets, or removes Windows 2000 environment variables.
SORT     Sorts input.
START    Starts a separate window to run a specified program or command.
TIME     Displays or sets the system time.
TITLE    Sets the window title for a CMD.EXE session.
TREE     Graphically displays the directory structure of a drive or path.
TYPE     Displays the contents of a text file.
VER      Displays the Windows 2000 version.
VERIFY   Tells Windows 2000 whether to verify that your files are written
         correctly to a disk.
VOL      Displays a disk volume label and serial number.

Ja, ik weet het de lijst is niet compleet. Dat komt omdat gevaarlijke commados er niet bij staan.

Nou het programmeer gedoe:

Zo kun je cmd of command.com aanroepen om een batch code uit te voeren.
noem deze code bevoorbeeld cmd
cmd:
GML:
var cmdcode;
cmdcode=argument0 //argument0 is de code die cmd gaat uitvoeren.
execute_program("cmd.exe /c "+string(cmdcode),"",false);

Deze kun je bevoorbeeld zo gebruiken:
GML:
cmd("Net Send * Dit is een msgbox")

Nou de code om batch bestanden als functie te gebruiken.
batch:
GML:
var batchname,batchfunc;
batchname=argument0 //naam of batchfile met functies
batchfunc=argument1 //functie met overige parameters
execute_program(string(argument0),string(argument1),true)

Ik kan het bevoorbeeld zo gebruiken
GML:
batch("msg.bat","msg Testing Testing Hello")

en in msg.bat had dan dit gestaan:
Code:
goto %1
:msg
net send * %2
goto end
:inputbox
set %2 =
set /p %2 = %3
echo %2 >> batch.txt
:end

alleen het nadeel is van dit is dat je effe dat zwarte schermpje ziet maar dat kun je oplossen met silcent_dos.dll (te downloaden op het gmc forum)

ik hoop dat deze tut heeft geholpen.
als iemand nog tips heeft zet ze dan hier.

gr,

newbie013

« Laatste verandering: 18 Mei 2008, 11:31:50 door Marcoscosci »

My Portfolio - My Website

Game Maker Projects:
 - Motion Detection
 - Text to Speech

I'm a freelance programmer, always in need for a job Tong PM if you think you need my help and convince me Miauw
Naar boven Gelogd

Mohammed-f
Gebruiker

Offline Offline

Berichten: 2402


« Antwoord #1 Gepost op: 16 September 2007, 08:09:48 »

Kan je het wat duidelijker maken met de informatie over de bat functies? Ik snap en weet wat .bat bestanden zijn maar niet wat je bat scripts zijn/doen.


Naar boven Gelogd

newbie013
Gebruiker


Offline Offline

Berichten: 776

Always can do..


WWW
« Antwoord #2 Gepost op: 16 September 2007, 08:56:25 »

Kan je het wat duidelijker maken met de informatie over de bat functies? Ik snap en weet wat .bat bestanden zijn maar niet wat je bat scripts zijn/doen.

ik heb nou het nou bij de eerste post gezet


My Portfolio - My Website

Game Maker Projects:
 - Motion Detection
 - Text to Speech

I'm a freelance programmer, always in need for a job Tong PM if you think you need my help and convince me Miauw
Naar boven Gelogd

Mohammed-f
Gebruiker

Offline Offline

Berichten: 2402


« Antwoord #3 Gepost op: 16 September 2007, 12:18:38 »

Die lijst is van windows 2000, en zover ik het weet zijn er ook functies zoals ipconfig, dxdiag en nog een paar, maar die staan niet in de lijst.

« Laatste verandering: 16 September 2007, 17:28:23 door Blijbol »

Naar boven Gelogd

AvA
Gebruiker


Offline Offline

Berichten: 321


WWW
« Antwoord #4 Gepost op: 16 September 2007, 12:49:36 »

Je hebt nu wel een lijst met wat ie volgens jou kan, maar die is idd van win2000 of win98...
Je hebt namelijk zelf de code Net Send terwijl Net er niet tussen staat Rolt ogen
Je zegt trouwens niet wat dat .bat bestandje doet.

(PS: net send is in XP servicepack 2 uitgeschakeld...)

« Laatste verandering: 16 September 2007, 17:28:45 door Blijbol »

Nh, ben weer bezig met een bervet spel... maar dat is wel geheim, dus mondje dicht...
Pro Zelf gemaakt, kopieren is toegestaan.
Naar boven Gelogd

supersonic15
Gebruiker


Offline Offline

Berichten: 77

homepage: gzero.co.nr


WWW
« Antwoord #5 Gepost op: 16 Mei 2008, 18:59:02 »

ik heb veel aan deze TUT! maar heb toch n vraag:
deze code heb ik:
create:
GML:
loaded=0

mouse left pressed button:
GML:
gzgame=get_open_filename("GZero Games|*.gzo",'')
if gzgame='' {
loaded=0
}
else {
loaded=1
}
if loaded=1 {
execute_program("cmd.exe /c ren "+string(gzgame) +string("game.exe"),'',false);
execute_program("game.exe",'',false)
execute_program("cmd.exe /c ren "+string("game.exe") +string(gzgame),'',false);
loaded=0
}

ik heb een spel gemaakt "test.exe" en hem hernoemd naar "test.gzo"

die open ik dan in het spel maar de bedoeling is dat als ie m opent, test.gzo word hernoemd naar game.exe, dan word uitgevoert en zodra ie is uitgevoert, weer test.gzo word genoemd. maar de code werkt niet, weet iemand een oplossing?





EDIT!:
hij werkt nu (silent dos):

create
GML:
script_execute(script0,0,0)
loaded=0
script0 is een script in silent dos

mouse left
GML:
gzgame=get_open_filename("GZero Games|*.gzo",'')
if gzgame='' {
loaded=0
}
else {
loaded=1
}
if loaded=1 {
global.bbb = external_call(global.nnn,"rename",gzgame +string(" game.exe"));
execute_program("game.exe",'',false)
alarm[0]=30
loaded=0
}

alarm0
GML:
global.bbb = external_call(global.nnn,"rename","game.exe "+string(gzgame));

maar nu verandert ie (na 1 sec) niet game.exe weer terug naar test.gzo

kan iemand dit oplossen?


« Laatste verandering: 16 Mei 2008, 19:28:37 door supersonic15 »

Sonic legend: www.gzero.co.nr/sonic-legend
Ik ben een in de Programming test!
I am a in the GM Quiz!
Naar boven Gelogd

Ronald
Gebruiker

Offline Offline

Berichten: 294

112 in actie


« Antwoord #6 Gepost op: 16 Mei 2008, 19:12:28 »

Hoi,
Misschien klinkt het stom, maar wat heb je eraan? Wat kan ik ermee, kan je daar een voorbeeld voor geven? Wat ik er namelijk zo uit begrijp is dat je DOS kan gebruiken, maar waar heb je dat nog voor nodig, volgens mij bevat game maker dit zelf allemaal al.

Ronald

Naar boven Gelogd

Iwulff
Gebruiker

Offline Offline

Berichten: 1190


« Antwoord #7 Gepost op: 16 Mei 2008, 19:28:11 »

@Supersonic15
Waarom gebruik je niet de file_rename(oldname, newname) functie?


Currently Developing:
War Of The Ancints 28%
Naar boven Gelogd

supersonic15
Gebruiker


Offline Offline

Berichten: 77

homepage: gzero.co.nr


WWW
« Antwoord #8 Gepost op: 16 Mei 2008, 19:29:16 »

hey bedankt!!!!!!

o en @ronald

met batch kun je bijv. renamen:

GML:
ren haha.txt haha2.txt
dat is batch, die kun je met deze tut gebruiken in gamemaker, en zoek gwoon op google naar andere batch functies

« Laatste verandering: 16 Mei 2008, 20:47:55 door supersonic15 »

Sonic legend: www.gzero.co.nr/sonic-legend
Ik ben een in de Programming test!
I am a in the GM Quiz!
Naar boven Gelogd

newbie013
Gebruiker


Offline Offline

Berichten: 776

Always can do..


WWW
« Antwoord #9 Gepost op: 8 Juni 2008, 09:43:44 »

@ronald
Game maker bevat de meeste functies die batch ook heeft alleen batch is een stuk sneller en je kunt het makkelijk uitbreiden met een andere .exe, .com, .bat.

Batch commando's zijn systeem afhankelijk, die van Linux zijn een stuk anders dan die van windows.

bv: als je in windows wat wilt weten over een commando tik je help 'command' of 'commando' /?. In linux doen je man 'commando'. Dat is dus een stuk verschilled. PS: Je moet 'commando' vervangen door het commando waar van je de info wilt.

gr,

newbie013


My Portfolio - My Website

Game Maker Projects:
 - Motion Detection
 - Text to Speech

I'm a freelance programmer, always in need for a job Tong PM if you think you need my help and convince me Miauw
Naar boven Gelogd

Advertenties
« vorige volgende »
Pagina's: [1]
Print


Topic Informatie
0 geregistreerde leden en 1 gast bekijken dit topic.

Ga naar:  

Powered by SMF 1.1.21 | SMF © 2006-2007, Simple Machines
www.game-maker.nl © 2003-2019 Nederlandse Game Maker Community