Skocz do zawartości

Jejku...INI


Rekomendowane odpowiedzi

Siema.Znów te ini...nie działa...bawie się i bawie i syf nie działa ;/

GML
//create

ini_open("ustawienia.ini")

Poziom=ini_read_real("TRG","Poziom","Błąd ini!!!")

ini_close();

 

if Poziom=0 and room!=R_Zasady

{

room_goto(R_Ustawienia)

}

if Poziom=1 and room!=R1

{

room_goto(R1)

}

 

//step

ini_open("ustawienia.ini")

ini_write_real("TRG","Poziom",string(Poziom))

ini_close();

 

if room=R_Zasady and keyboard_check_pressed(vk_enter)

{

Poziom=1

}

Proszę o szybką pomoc

Odnośnik do komentarza
Udostępnij na innych stronach

Ja piernicze, jak ma działać jak dla ini_write_real jako wartość dajesz string? O.o logika się kłania. Poza tym to samo z odczytem - jako wartość domyślna w ini_read_real też dajesz string zamiast real.

Odnośnik do komentarza
Udostępnij na innych stronach

to teraz mam taki błąd:

ERROR in

action number 1

of Create Event

for object oINI:

 

Error in code at line 6:

if Poziom=0 and room!=R_Zasady

 

at position 12: Cannot compare arguments.

 

E:

I jeszcze 1 problem z DLLem:

#include <windows.h>
#include <iostream>

#define funkcja extern "C" __declspec(dllexport)

funkcja double NazwaUrzytkownika( void )
{
  DWORD Rozmiar = 0;
  GetUserName(NULL, &Rozmiar);
  char *Uzytkownik = new char[Rozmiar];
  Uzytkownik[0] = '\0'; GetUserName(Uzytkownik, &Rozmiar);
}

i w gm:

GML
NazwaUrzytkownika=external_define('TRGameDLL.dll','NazwaUrzytkownika',dll_stdcall, ty_real, 0);

Nazwa=external_call( NazwaUrzytkownika)

draw_text(x,y,Nazwa);

Błąd uruchomiania aplikacji ;/

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Nom, z takimi błędami ortograficznymi, to ja sie nie dziwie. A ten DLL nic nie zwraca tak BTW.

 

Poziom=0

Porównujesz stringa Poziom z liczbą (ral) 0. Nie mozna porównać typów real i string.

ini_write_string('sekcja','klucz',string(liczba)); owszem, ale ini_read_real('sekcja','klucz',0);

Odnośnik do komentarza
Udostępnij na innych stronach

char *Uzytkownik = new char[Rozmiar];

Uzytkownik[0] = '\0'; GetUserName(Uzytkownik, &Rozmiar);

}

i na dodatek nie czyści pamięci po utworzonej tablicy :0

wiesz, lepiej dac cos pokroju tego:

funkcja char* NazwaUrzytkownika( void )
{
  DWORD Rozmiar = 0;
  char Uzytkownik[1024];
  memset(Uzytkownik,0,1024);
  GetUserName(Uzytkownik, &Rozmiar);
  return(Uzytkownik);
}

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...