Datei öffnen - Geht's überhaupt?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Datei öffnen - Geht's überhaupt?

    Also, ich wollte mal wissen, ob (und wenn ja wie?) man Dateien direkt öffnen kann, also wie ne Textdatei, die dann automatisch mit nem Texteditor geladen wird. Das Problem ist: Wie kriege ich deses verflixte argument raus?

    Meine Suche in der Hilfe hat folgendes ergeben:
    In certain situations you might want to give players the possibility of providing command line arguments to the game they are running (for example to create cheats or special modes). To get these arguments you can use the following two routines.


    parameter_count() Returns the number of command-line parameters (note that the name of the program itself is one of them.
    parameter_string(n) Returns command-line parameters n. The first parameter has index 0. This is the name of the program.

    You can read the value of environment variables using the following function:

    environment_get_variable(name) Returns the value (a string) of the environment variable with the given name.

    Also wenns überhaupt geht, hat ich mir gedacht mit den Funktionen hier... aber wie?

    Habs auch schon mit sowas hier probiert:

    GML-Quellcode

    1. if(parameter_count()>=2){
    2. filename=parameter_string(1);
    3. event_user(10);
    4. }


    Danke schonmal für eure Hilfe!

    gruß, der kopierjunge :hau:
  • Ich brauchte nur den Dateinamen, trotzdem danke!
    1. Warum ging denn meins nicht?
    2. Bei mir wird nicht alles geladen, d.h. ab einer bestimmten Position (so wie ich glaube) hört er auf zu lesen... (Kein Fehler...). Jedoch wenn ich die Datei ganz normal lade, passiert das nicht ?( Ich kann versichern, dass ich nichts (was das Laden geht) falsch gemacht habe, immerhin ist die Funktion ein und dasselbe. (event_perform_object)
    3. Was zum Henker ist "Datei Assoziation"?

    Danke ;)
  • Original von copyboy
    3. Was zum Henker ist "Datei Assoziation"?


    Das ist eine Sache die das Betriebssystem übernimmt.
    Das bedeutet einfach nur das jeder Dateierweiterung ein bestimmtes Programm zugeordnet ist, sodass automatisch das entsprechende Programm gestartet wird wenn man auf eine Datei klickt. Dabei übergibt das Betriebssystem dem Programm den Dateinamen als Argument.

    z.B. Doppelklick auf Datei "C:/test.txt" -> Windows weiß anhand einer Liste, dass die Erweiterung "txt" mit dem Editorprogramm verbunden ist, deshalb startet es das Programm und hängt als Argument "C:/test.txt" an. Dieses Verhalten kannst du jetzt in deinem Programm zunutze machen.
  • Bitte, ich brauche eure Hilfe schnell!
    Ich würde nähmlich diese Funktion für die nächste Version meines UserbarMakers haben.
    Ich geb auch noch ein paar Codes:

    Create Event von obj_userbar:

    GML-Quellcode

    1. global.filename=parameter_string(1);
    2. if(file_exists(global.filename)){
    3. global.directopen=true;
    4. event_perform_object(obj_load,ev_other,ev_user0);
    5. global.directopen=false;
    6. }

    User 0 vom obj_load Button:

    GML-Quellcode

    1. with(obj_userbar){
    2. var file;
    3. if(!global.directopen){
    4. global.filename = get_open_filename('Userbar-Project|*.usp','userbar.usp');
    5. if(global.filename=''){exit;}
    6. }
    7. // Datei Informationen laden
    8. }

    Und hier mal meine Datei:
    Spoiler anzeigen

    Quellcode

    1. 325
    2. 19
    3. 0
    4. 255
    5. 255
    6. 0
    7. points
    8. 1
    9. 0
    10. 100
    11. Test Userbar, um zu gucken on alles funkt.
    12. 16777215
    13. 100
    14. 1
    15. 222
    16. 89
    17. 3
    18. 0
    19. 80
    20. 2
    21. 0
    22. 40
    23. 0
    24. 1
    25. 0
    26. 40
    27. 0
    28. <-- Hier in etwa passiert nichts mehr -->
    29. 1
    30. 1
    31. F:\Eigene Spiele\Grafiken\tower.gif
    32. 100
    33. 1
    34. -6
    35. -2
    36. 1
    37. 1
    38. C:\GameMaker.bmp
    39. 100
    40. 1
    41. 289
    42. -6
    43. 0
    44. 0
    45. 1
    46. 0
    47. 16777215
    48. 50
    49. 292
    50. 90
    51. 0
    52. 1
    53. 16777215
    54. 50
    55. 64
    56. 160
    Alles anzeigen
  • Ist vielleicht in der TXT-Datei eine Leerzeile an der Abbruchstelle? Ich meine, man muss ja erstmal alles ausschließen.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Ich hab mir grad deine beiden Codes nochmal genau angeschaut. Daran kann es einfach nicht liegen. Du müsstest mehr posten, wenn wir dir bei der Fehlersuche helfen sollen.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Den Source Code möchte ich ungern posten...
    Ich hab hier mal 2 Userbars:
    Einmal die Datei "direkt" geöffnet nd mit dem Programm selbst:
    (Datei)
    (Programm)
    Und hier der ganze Lade-Code:
    Spoiler anzeigen

    GML-Quellcode

    1. with(obj_userbar){
    2. var file;
    3. if(!global.directopen){
    4. global.filename = get_open_filename('Userbar-Project|*.usp','userbar.usp');
    5. if(global.filename=''){exit;}
    6. }
    7. file=file_text_open_read(global.filename);
    8. // USERBAR
    9. width=real(file_text_read_string(file));
    10. file_text_readln(file);
    11. height=real(file_text_read_string(file));
    12. file_text_readln(file);
    13. col1=real(file_text_read_string(file));
    14. file_text_readln(file);
    15. col2=real(file_text_read_string(file));
    16. file_text_readln(file);
    17. col3=real(file_text_read_string(file));
    18. file_text_readln(file);
    19. col4=real(file_text_read_string(file));
    20. file_text_readln(file);
    21. type=file_text_read_string(file);
    22. file_text_readln(file);
    23. with(obj_lines){instance_destroy();}
    24. with(obj_points){instance_destroy();}
    25. if(type='lines'){instance_create(104,400,obj_lines);}
    26. if(type='points'){instance_create(104,400,obj_points);}
    27. // OUTLINE
    28. outline=real(file_text_read_string(file));
    29. file_text_readln(file);
    30. outline_color=real(file_text_read_string(file));
    31. file_text_readln(file);
    32. outline_alpha=real(file_text_read_string(file));
    33. file_text_readln(file);
    34. // TEXT
    35. text=file_text_read_string(file);
    36. file_text_readln(file);
    37. text_color=real(file_text_read_string(file));
    38. file_text_readln(file);
    39. text_alpha=real(file_text_read_string(file));
    40. file_text_readln(file);
    41. text_font=real(file_text_read_string(file));
    42. file_text_readln(file);
    43. text_x=real(file_text_read_string(file));
    44. file_text_readln(file);
    45. text_y=real(file_text_read_string(file));
    46. file_text_readln(file);
    47. // TEXT EFFECT
    48. text_effect=real(file_text_read_string(file));
    49. file_text_readln(file);
    50. text_effect_color=real(file_text_read_string(file));
    51. file_text_readln(file);
    52. text_effect_alpha=real(file_text_read_string(file));
    53. file_text_readln(file);
    54. // LINES
    55. lines=real(file_text_read_string(file));
    56. file_text_readln(file);
    57. lines_color=real(file_text_read_string(file));
    58. file_text_readln(file);
    59. lines_alpha=real(file_text_read_string(file));
    60. file_text_readln(file);
    61. lines_pos=real(file_text_read_string(file));
    62. file_text_readln(file);
    63. // POINTS
    64. points=real(file_text_read_string(file));
    65. file_text_readln(file);
    66. points_color=real(file_text_read_string(file));
    67. file_text_readln(file);
    68. points_alpha=real(file_text_read_string(file));
    69. file_text_readln(file);
    70. points_pos=real(file_text_read_string(file));
    71. file_text_readln(file);
    72. // GRAPHIC 1
    73. var t;
    74. obj_gfx1.used=real(file_text_read_string(file));
    75. file_text_readln(file);
    76. if(obj_gfx1.used){
    77. obj_gfx1.used=true;
    78. t=real(file_text_read_string(file));
    79. obj_gfx1.t=t;
    80. file_text_readln(file);
    81. obj_gfx1.gfxfile=file_text_read_string(file);
    82. file_text_readln(file);
    83. if!(file_exists(obj_gfx1.gfxfile)){
    84. switch(global.language){
    85. case 'eng': show_message('Graphic not found: '+obj_gfx1.gfxfile); break;
    86. case 'ger': show_message('Grafik nicht gefunden: '+obj_gfx1.gfxfile); break;
    87. }
    88. obj_gfx1.used=false;
    89. }
    90. else{
    91. sprite_replace(spr_gfx1,obj_gfx1.gfxfile,1,0,t,0,0,0,0);
    92. obj_gfx1.alpha=real(file_text_read_string(file));
    93. file_text_readln(file);
    94. obj_gfx1.pos=real(file_text_read_string(file));
    95. file_text_readln(file);
    96. obj_gfx1.x=real(file_text_read_string(file))+obj_userbar.x;
    97. file_text_readln(file);
    98. obj_gfx1.y=real(file_text_read_string(file))+obj_userbar.y;
    99. file_text_readln(file);
    100. }
    101. }
    102. // GRAPHIC 2
    103. var t;
    104. obj_gfx2.used=real(file_text_read_string(file));
    105. file_text_readln(file);
    106. if(obj_gfx2.used){
    107. obj_gfx2.used=true;
    108. t=real(file_text_read_string(file));
    109. obj_gfx2.t=t;
    110. file_text_readln(file);
    111. obj_gfx2.gfxfile=file_text_read_string(file);
    112. file_text_readln(file);
    113. if!(file_exists(obj_gfx2.gfxfile)){
    114. switch(global.language){
    115. case 'eng': show_message('Graphic not found: '+obj_gfx2.gfxfile); break;
    116. case 'ger': show_message('Grafik nicht gefunden: '+obj_gfx2.gfxfile); break;
    117. }
    118. obj_gfx2.used=false;
    119. }
    120. else{
    121. sprite_replace(spr_gfx2,obj_gfx2.gfxfile,1,0,t,0,0,0,0);
    122. obj_gfx2.alpha=real(file_text_read_string(file));
    123. file_text_readln(file);
    124. obj_gfx2.pos=real(file_text_read_string(file));
    125. file_text_readln(file);
    126. obj_gfx2.x=real(file_text_read_string(file))+obj_userbar.x;
    127. file_text_readln(file);
    128. obj_gfx2.y=real(file_text_read_string(file))+obj_userbar.y;
    129. file_text_readln(file);
    130. }
    131. }
    132. // GRAPHIC 3
    133. var t;
    134. obj_gfx3.used=real(file_text_read_string(file));
    135. file_text_readln(file);
    136. if(obj_gfx3.used){
    137. obj_gfx3.used=true;
    138. t=real(file_text_read_string(file));
    139. obj_gfx3.t=t;
    140. file_text_readln(file);
    141. obj_gfx3.gfxfile=file_text_read_string(file);
    142. file_text_readln(file);
    143. if!(file_exists(obj_gfx2.gfxfile)){
    144. switch(global.language){
    145. case 'eng': show_message('Graphic not found: '+obj_gfx3.gfxfile); break;
    146. case 'ger': show_message('Grafik nicht gefunden: '+obj_gfx3.gfxfile); break;
    147. }
    148. obj_gfx3.used=false;
    149. }
    150. else{
    151. sprite_replace(spr_gfx3,obj_gfx3.gfxfile,1,0,t,0,0,0,0);
    152. obj_gfx3.alpha=real(file_text_read_string(file));
    153. file_text_readln(file);
    154. obj_gfx3.pos=real(file_text_read_string(file));
    155. file_text_readln(file);
    156. obj_gfx3.x=real(file_text_read_string(file))+obj_userbar.x;
    157. file_text_readln(file);
    158. obj_gfx3.y=real(file_text_read_string(file))+obj_userbar.y;
    159. file_text_readln(file);
    160. }
    161. }
    162. // GRAPHIC 4
    163. var t;
    164. obj_gfx4.used=real(file_text_read_string(file));
    165. file_text_readln(file);
    166. if(obj_gfx4.used){
    167. obj_gfx4.used=true;
    168. t=real(file_text_read_string(file));
    169. obj_gfx4.t=t;
    170. file_text_readln(file);
    171. obj_gfx4.gfxfile=file_text_read_string(file);
    172. file_text_readln(file);
    173. if!(file_exists(obj_gfx4.gfxfile)){
    174. switch(global.language){
    175. case 'eng': show_message('Graphic not found: '+obj_gfx4.gfxfile); break;
    176. case 'ger': show_message('Grafik nicht gefunden: '+obj_gfx4.gfxfile); break;
    177. }
    178. obj_gfx4.used=false;
    179. }
    180. else{
    181. sprite_replace(spr_gfx4,obj_gfx4.gfxfile,1,0,t,0,0,0,0);
    182. obj_gfx4.alpha=real(file_text_read_string(file));
    183. file_text_readln(file);
    184. obj_gfx4.pos=real(file_text_read_string(file));
    185. file_text_readln(file);
    186. obj_gfx4.x=real(file_text_read_string(file))+obj_userbar.x;
    187. file_text_readln(file);
    188. obj_gfx4.y=real(file_text_read_string(file))+obj_userbar.y;
    189. file_text_readln(file);
    190. }
    191. }
    192. // SHADOW 1
    193. obj_shadow1.used=real(file_text_read_string(file));
    194. file_text_readln(file);
    195. shadow1_size=real(file_text_read_string(file));
    196. file_text_readln(file);
    197. shadow1_color=real(file_text_read_string(file));
    198. file_text_readln(file);
    199. shadow1_alpha=real(file_text_read_string(file));
    200. file_text_readln(file);
    201. obj_shadow1.x=real(file_text_read_string(file));
    202. file_text_readln(file);
    203. obj_shadow1.y=real(file_text_read_string(file));
    204. file_text_readln(file);
    205. // SHADOW 2
    206. obj_shadow2.used=real(file_text_read_string(file));
    207. file_text_readln(file);
    208. shadow2_size=real(file_text_read_string(file));
    209. file_text_readln(file);
    210. shadow2_color=real(file_text_read_string(file));
    211. file_text_readln(file);
    212. shadow2_alpha=real(file_text_read_string(file));
    213. file_text_readln(file);
    214. obj_shadow2.x=real(file_text_read_string(file));
    215. file_text_readln(file);
    216. obj_shadow2.y=real(file_text_read_string(file));
    217. file_text_readln(file);
    218. // OTHER
    219. file_text_close(file);
    220. obj_color1.col=col1;
    221. obj_color2.col=col2;
    222. obj_color3.col=col3;
    223. obj_color4.col=col4;
    224. obj_width.value=width;
    225. obj_height.value=height;
    226. obj_width.text=string(width);
    227. obj_height.text=string(height);
    228. obj_lines.image_index=lines;
    229. obj_text_effect.image_index=text_effect;
    230. obj_outline.image_index=text_effect;
    231. }
    Alles anzeigen