Forum CDRinfo.pl

Forum CDRinfo.pl (https://forum.cdrinfo.pl/)
-   Homebrew (https://forum.cdrinfo.pl/f106/)
-   -   Funkcja "Zamień..." i używanie w niej "*" (https://forum.cdrinfo.pl/f106/funkcja-zamien-uzywanie-niej-66648/)

mastahpl 20.07.2006 11:22

Funkcja "Zamień..." i używanie w niej "*"
 
Witam państwa!

Załóżmy, że po kilkudniowych mękach związanych ze skompletowaniem całej (!!) tabeli udało mi się zdumpować skrypt z gry do pliku txt. Przypuśćmy, że mam w tym pliku mnóstwo znaczników dla programu encodującego go z powrotem do ROM'a. Wyglądają one mniej więcej tak:

Kod:

<jakiś tekst, komendy są bardzo różne><więcej komend> Jedna linia skryptu gry.
<komenda> Następna linia.
<komendakomenda><komenda>
Trzecia linia.

Komend i znaczników jest bardzo wiele, charakteryzuje je natomiast fakt, że wszystkie są zamknięte w nawiasach < >.

Moje pytanie brzmi: czy ktoś z Państwa zna program, w którym w funkcji "Zamień..." (Find and Replace) można używać "*" lub jakiegokolwiek innego znaku do określenia nieograniczonej liczby nieokreślonych znaków. Chodzi mi o wyszukanie w pliku wszystkich tych komend, bez zwracania uwagi na ich treść, kierując się jedynie nawiasami. Czyli, krótko mówiąc, chcę wyszukać "<*>" . Problem, żeby program to zrozumiał :)

Bardzo pięknie dziękuję za wszelką pomoc.

PS. Tak, wiem, że niektóre programy wykorzystują " . " do określenia jednego nieokreślonego znaku.

gallus 20.07.2006 11:41

:hmm: a nie mo***380;na po prostu zamieni***263; najpierw wszystkich < a p***243;***378;niej > ??

andy 20.07.2006 11:45

@gallus jemu chodzi o to aby np:
<polecenie1>
<polecenie2>
zamieni***263; na <blebleble>

Dobrze my***347;l***281; ?

Bartez 20.07.2006 12:02

Cytat:

Napisany przez mastahpl
Witam państwa!

Załóżmy, że po kilkudniowych mękach związanych ze skompletowaniem całej (!!) tabeli udało mi się zdumpować skrypt z gry do pliku txt. Przypuśćmy, że mam w tym pliku mnóstwo znaczników dla programu encodującego go z powrotem do ROM'a. Wyglądają one mniej więcej tak:

Kod:

<jakiś tekst, komendy są bardzo różne><więcej komend> Jedna linia skryptu gry.
<komenda> Następna linia.
<komendakomenda><komenda>
Trzecia linia.

Komend i znaczników jest bardzo wiele, charakteryzuje je natomiast fakt, że wszystkie są zamknięte w nawiasach < >.

Moje pytanie brzmi: czy ktoś z Państwa zna program, w którym w funkcji "Zamień..." (Find and Replace) można używać "*" lub jakiegokolwiek innego znaku do określenia nieograniczonej liczby nieokreślonych znaków. Chodzi mi o wyszukanie w pliku wszystkich tych komend, bez zwracania uwagi na ich treść, kierując się jedynie nawiasami. Czyli, krótko mówiąc, chcę wyszukać "<*>" . Problem, żeby program to zrozumiał :)

Bardzo pięknie dziękuję za wszelką pomoc.

PS. Tak, wiem, że niektóre programy wykorzystują " . " do określenia jednego nieokreślonego znaku.

Poszukaj jakiegoś programu (edytora tekstowego), który umożliwia zamienianie z wykorzystaniem wyrażeń regularnych.
Wtedy robisz coś takiego:
Znajdź: <(.*)>
Zamień na: $1

Wtedy wyświetli Ci wszystko, co było w tych nawiasów. Składnia może być lekko inna. W zależności od programu, którego użyjesz.

mastahpl 20.07.2006 13:30

Konkretnie, chodzi***322;o mi o usuni***281;cie nawias***243;w < i > i wszystkiego, co "w ***347;rodku".

Bartez, naprawd***281; dzi***281;kuj***281;. Ju***380; ***347;ci***261;gam testow***261; wersj***281; Paj***261;czka 5 Pro, pono***263; ma funkcj***281;, o kt***243;rej m***243;wisz. Zreszt***261;, by***322;em ju***380; w 80% tworzenia w***322;asnego "edytora" w wersji exclusive do mojego skryptu :).

andy 20.07.2006 13:48

@mastahpl zawsze mo***380;na u***380;y***263; darmowego Notepad++ :) Posiada tak***261; funkcj***281;.

mastahpl 20.07.2006 13:51

Cóż, wychodzi na jaw moja niechlujność w wyszukiwaniu... zamiast porządnie poszukać i mniej później czekać, wpisałem "zamiana z wykorzystaniem wyrażeń regularnych" w google i "Masz babo placek": 30mb i wersja trial ;)

Wielkie dzięki @ndy, ten notepad wydaje się całkiem przydatny...

Berion 20.07.2006 13:57

Więcej takich problemów w tym dziale :taktak: , tematy kalibru "jak nagrac se gere z neta" zdecydowanie się przejadły.


Jaka gra ma takie 'znaczniki'? Na ogół Dev stosują h00, hFF, h2F lub h5C.

SE możesz wyszukać relatywnie właśnie "z gwiazdą" (jeden "*" = jeden znak). A przełaczasz się pomiędzy wynikami "góra/dół". Wracasz do wyników szukania F3.

Chyba o to Ci chodziło? Po co dumpować tekst z binariami, i potem znowu je podmieniać. Przy obrazach jest to dość problematyczne. Chwila nie uwagi i ... :)

mastahpl 20.07.2006 14:44

Skrypt "wydostałem" z gry używając narzędzia przeznaczonego do niej... te znaczniki są tylko komendami dla innego programu (również do tej gry), który przetwarza to z powrotem do formatu ROM'a i wrzuca go do gry...

Udało mi się problem rozwiązać za pomocą Notepad'a ++ (dzięki @ndy) posługując się metodą zasugerowaną przez Barteza. (Regular expressions + <(.*)> ).

Dziękuję wszystkim za pomoc.

Temat uważam za zamknięty.

PS. Berion, znam oczywiście tą funkcję, natomiast trzeba wtedy znać dokładną liczbę * do wprowadzenia, a za każdym razem jest ona inna. Poza tym, SE nie ma funkcji replace, która ma być "gwoździem programu" :)


Wszystkie czasy w strefie CET. Aktualna godzina: 11:37.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.