2.496 keer gedownload
INI-datastructuur
Veel beter dan GM's INI-functies
Downloads
Links naar hier:
Beschrijving
Dit uitbreidingspakket geeft ondersteuning voor INI-datastructuren, die kunnen gebruikt om meerdere INI-bestanden tegelijk te lezen en te bewerken. Het pakket bevat veel meer features dan de ingebouwde INI-functies van Game Maker.
Features
- Opent en bewerkt meerdere INI-bestanden tegelijk.
- Werkt met INI-bestanden buiten de werkmap.
- Houd INI-structuren bij zonder bijbehorende bestanden nodig te hebben.
- Bevat functies om INI-structuren stap voor stap te verkennen.
- Verplaatst en kopiëert eenvoudig data van één INI-structuur naar een andere.
- Ondersteunt aangepaste syntax en stijl voor INI-bestanden.
- Negeert commentaar bij het lezen van INI-bestanden.
- Sorteert secties en sleutels automatisch op alfabetische volgorde.
- Bevat een HTML-helpbestand.
- Bevat de broncode.
- Bevat 34 functions en 6 variables in totaal.
Versie 1.0 (stabiel)
Releasedatum: 7 april 2007
Taal: Engels
Systeemeisen: Game Maker 7.0 of nieuwer (Pro-/geregistreerde editie vereist)
Projectstatus
Een stabiele versie van dit product is uitgebracht.
Het project is aangekondigd op 7 april 2007.
Credits
Deze extensie is gemaakt door Jeroen van der Gun.
Meer voor Game Maker
Reacties
Gebruik het formulier om een reactie toe te voegen.
2 augustus 2007
Tijn Kersjes
Ik vrees van wel, met MySQL kun je een database bij houden. Hier valt eigenlijk niet veel aan te leren. Als je zorgt dat je PHP kent zijn de MySQL functies vrij eenvoudig (naar mijn mening dan). Uiteraard gaat het leren van PHP wat sneller als je al wat ervaring hebt met een programmeer taal, de basis blijft ongeveer hetzelfde.
"Terug" naar de extensie:
Wat ik erg handig vind, is dat je de ini's inderdaad niet eerst hoeft te maken, alvorens je ze wilt bewerken. Verder is het ook wel handig als je in een bepaalde situatie een lijst wilt bijhouden met bepaalde secties.
De extensie is dus zowel voor ini-functies en een nieuwe data-structuur bruikbaar.
Tijn Kersjes
3 mei 2007
jaap
aha,bedankt voor de snelle reactie!
Dus ik moet met de download.dll het proberen.
Toch eens naar die dll kijken...
(Moet ik nu ook PHP en MySQL gaan leren?)
De functie ds_ini_section_create() geeft geen "speciale code" terug, maar alleen true of false om aan te geven of het gelukt is. (het mislukt bijv. als de sectie al bestaat) In functies als ds_ini_key_write() moet je dan ook geen "speciale code" als sectie opgeven, maar simpelweg de naam van de sectie. De naam van de keys moet je uiteraard ook als string opgeven. Deze extensie is zo geschreven dat als je reals wilt opslaan, je ze eerst moet omzetten naar strings.
Dus jouw code moet er ongeveer zo uitzien:
ds_ini_section_create(myini,"player1")
ds_ini_key_write(myini,"player1","loginp1",string(loginp1))
De rest kun je zelf wel verbeteren.
INI-bestanden zou je net als alle andere bestanden die op internet staan met een download-DLL kunnen openen (=lezen). Met een FTP-DLL kun je (met één computer tegelijk) zowel lezen als schrijven in het INI-bestand. Doorzoek het officiële GMC eens naar zulk soort DLL's. Een combinatie van een download-DLL met een server met PHP en MySQL zou ik overigens de voorkeur geven voor online dataopslag: dan kunnen meerdere mensen tegelijk met de data werken en gaat alles bovendien een stuk sneller dan het FTP'en van INI-bestanden.
3 mei 2007
jaap
sorry voor de dubbel-reactie, maar (als mijn vorige probleem is opgelost) het ook mogelijk om een ini die op internet staat te openen,veranderen,lezen?
3 mei 2007
jaap
ik was een beetje aan eht klungelen met de extensie en gebruikte deze code:
var myini;
loginp1=false
xp1=0
yp1=0
myini = ds_ini_create();
ds_ini_load(myini, 'MyGame.ini');
// Now do whatever you want with the INI file
sec=ds_ini_section_create(myini,"player1")
ds_ini_key_write(myini,sec,loginp1,false)
ds_ini_key_write(myini,sec,xp1,0)
ds_ini_key_write(myini,sec,yp1,0)
ds_ini_save(myini, 'MyGame.ini'); // Saves changes (optional)
ds_ini_destroy(myini);
maar ik kreeg een error:
___________________________________________
ERROR in
action number 1
of Create Event
for object object0:
In extension function ds_ini_key_write:
Error in code at line 11:
if(!ds_map_exists(argument0, argument1) || argument2 == '') return false;
at position 58: Cannot compare arguments.
wat heb ik fout gedaan?
Bedankt. Hij is inderdaad bedoeld voor gebruik van INI-bestanden. =P
Zeer goede en zeer handige extensie. Zeker handig als je gebruikt maakt van INI-files!