strings lesen, auswerten und in datei ausgeben

  • strings lesen, auswerten und in datei ausgeben

    Also was ich bisher schon geschafft habe ist:

    GML-Quellcode

    1. variable = get_string("muh",1);
    2. datei = file_text_open_write('test.txt');
    3. if variable = "p"
    4. {
    5. file_text_write_string(datei, "hallo")
    6. file_text_close(datei);
    7. }


    Was ich machen will ist allerdings viel komplizierter. Ich möchte ein programm schreiben welches einen text ließt außdrücke rausfiltert und anhand dessen einen html tag in eine datei schreibt.
    Beistpiel: Dies ist eine kombination: pppk, 236P, 46k+p

    Das programm soll alle strings einzeln zwischen den "_" leerzeichen, also die einzelnen wörter prüfen, sobald etwas anderes als pkg12346789+ darin vorkommt es nicht ersätzen sondern so wie es ist ausgeben.

    Das würde dann etwa so aussehen: Dies ist eine kombination: <img src="link/bildP.jpg"><img src="link/bildP.jpg"><img src="link/bildP.jpg"><img src="link/bildk.jpg">, <img src="link/bild2.jpg"><img src="link/bild3.jpg"><img src="link/bild6.jpg"><img src="link/bildP.jpg">, <img src="link/bild4.jpg"><img src="link/bild6.jpg"><img src="link/bildk.jpg">+<img src="link/bildP.jpg">

    Ich hab jetzt schon lange rumgerübelt wie ich das am besten hinbekomme und auch schon viel im forum mit der suchfunktion gesucht, hab aber nix finden können.
    Ist auch eher sehr speziell das skript.

    Ich wäre euch sehr dankbar für ein paar tipps und hinweise wie ich es machen kannt.

    - was ich als funktion bräuchte war sowas wie: wenn variable ->enthält<- = "p"
    - spiele gerade mit string_letters rum mal gucken ob ich damit mehr erfolg hab.
    <(^-^)> <(^-^<) <(^-^)> (>^-^)><(^-^)> = Kirby dance

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MystD ()

  • ich verstehe leider nicht ganz was du möchtest, aber ich glaube das ud mit der Funktion "string_count" oder sowas arbeiten könntest. Das könnte dann so aussehen:

    GML-Quellcode

    1. variable = get_string("muh",1)
    2. datei = file_text_open_write('test.txt')
    3. temp = string_count('p',variable)
    4. if temp >= 1 {file_text_write_string(datei, "hallo")}
    5. file_text_close(datei)
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
  • Danke das bringt mich schon ein stück näher dran.

    Um es anders zu erklären: Wenn der buchstabe P in einem text vorkommt soll er in "hallo" umgewandelt werden aber nur wenn er mit "k" "g" "1" "2" "3" "4" "6" "7" "8" "9" "+" zusammen ist.
    D. h. pkg würde zu hallokg aber Pullover würde Pullover bleiben.

    Danach will ich das dann mit allen "p" "k" "g" "1" "2" "3" "4" "6" "7" "8" "9" "+" zeichenketten mit etwas ersätzt werden. D.h. p wird zu "hallo", k wird zu "du".....
    Also pk ist dann "Hallo" + "du".

    Parken wo P und K auch drin vorkommen darf aber nicht zu "hallo"ar"du"en werden.
    Sobald ein zeichen das nicht aufgelistet ist vorkommt soll der string nicht convertiert werden.
    Dann muss ich das ganze noch beschränken, so dass: "pkg ist punch kick guard." das programm zwischen den leerzeichen arbeitet also pkg wird convertiert der rest aber nicht.

    Ich hoffe jetzt ist es etwas verständlicher, k.a. wie ich das anders erklären kann.
    <(^-^)> <(^-^<) <(^-^)> (>^-^)><(^-^)> = Kirby dance

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MystD ()

  • Das würde ich mit zwei arrays lösen. Im ersten stehen alle string die ersetzt werden sollen ("p", "k", ..), im zweiten stehen alle strings durch die ersetzt werden soll ("hallo", "du", ..).
    Dann machst du eine Abfrage, wo das erste Leerzeichen ist.
    Dann eine Funktion, die bis zum ersten Leerzeichen, alle im ersten array enthaltene strings ersetzt.

    Vielleicht liest du dir nochmal genau die string-Befehle vom Game Maker durch. Der Game Maker verfügt über diverse Fertige Funktionen zur Textverarbeitung. Ich habe einige Befehle rot Markiert, exakt einige von dir angesprochenen Aktionen machen:
    Bilder
    • stringdinger.jpg

      21,19 kB, 190×263, 209 mal angesehen
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
  • Wow danke das hilft mir sehr. Ich hab zwar mit den befehlen rumgespielt hab aber nicht richtig zuordnen können was sie machen und ob ich sie gebrauchen kann. Arrays scheinen sehr wichtig zu sein. Muss ich ordentlich büffeln, ich hab das prizip noch nicht ganz gerafft.
    <(^-^)> <(^-^<) <(^-^)> (>^-^)><(^-^)> = Kirby dance

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MystD ()