Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

[ROZWIĄZANE] Wyszukiwanie w pliku


  • Zamknięty Temat jest zamknięty
9 odpowiedzi w tym temacie

#1 karololo

    Zaawansowany

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:85
  • Lokalizacja:Forum
Offline

Napisano 04.06.2012 15:10

Cześć, Jak mogę zrobić coś takiego, że mam jakiś plik tekstowy a w nim np. takie dane:

------------

Maciek
Michał
Karol
Grzesiek
Kuba
------------

I teraz mam takie pytania:
1) Jak sprawdzić czy w tym pliku występuje fraza "Kuba"
2) Wyczyścić całkowicie linię z frazą "Grzesiek" (najpierw wyszukujemy, jak jest to czyścimy)

Pozdrawiam
  • +
  • -
  • 0

#2 ParadisO

    Wszechmogący

  • Power User

Reputacja: 128
Zaawansowany

  • Postów:689
  • Lokalizacja:Częstochowa
Offline

Napisano 04.06.2012 15:40

w jakim języku programowania tego potrzebujesz ?
  • +
  • -
  • -2

#3 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 04.06.2012 16:02

Dołączona grafika
Obstawiam Pawn.

#4 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 04.06.2012 16:16

pobierasz po kolei linie z pliku i sprawdzasz czy zawiera dany text np uzywając contain/containi

jesli chcesz usunąć to mozesz przepisać wszystko do nowego pliku oprócz danej linii i potem nowym plikiem zastąpić stary

http://amxx.pl/dokumentacja/s28/file
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#5 karololo

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:85
  • Lokalizacja:Forum
Offline

Napisano 04.06.2012 16:16

Jasne, że tak.

Tak pawn. Mógłbym prosić o jakiś przykład? Bez tego raczej sobie nie poradzę ;/

Użytkownik Poprostu Maniac edytował ten post 04.06.2012 16:18

  • +
  • -
  • 0

#6 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 04.06.2012 16:22

#include <amxmodx>
#include <amxmisc>
#include <file>

public plugin_init(){
new szLine[32], iLen, minus=0, bool:Kuba=false;
for(new i=0;read_file("plik.txt", i, szLine, 31, iLen);++i){
if(equal(szLine,"Kuba")){
Kuba=true;
}
if(minus){
write_file("plik.txt",szLine, i-minus);
}
if(equal(szLine,"Grzesiek")){
write_file("plik.txt","", i);
++minus;
}
if(minus){
write_file("plik.txt","", i);
}
}
log_amx(Kuba?"Znaleziono Kube":"Nie znaleziono Kuby");
}
Wadą mojego rozwiązania mogą być puste linie na końcu pliku.
Jeśli ich nie chcesz, zastosuj rozwiązanie G[o]Q.
Podałem jedynie przykład.

edit. Poprawiłem kolejność ifów w kodzie.

Użytkownik benio101 edytował ten post 04.06.2012 16:38


#7 karololo

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:85
  • Lokalizacja:Forum
Offline

Napisano 04.06.2012 16:29

Puste linie czyli masz na myśli pozostałości po wcześniejszych wpisach tak? To mi nie będzie przeszkadzało ;)

Użytkownik Poprostu Maniac edytował ten post 04.06.2012 16:29

  • +
  • -
  • 0

#8 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 04.06.2012 16:41

Dodałem jeszcze jednego ifa w kodzie powyżej.

Ww. przykład z pliku
------------

Maciek
Michał
Karol
Grzesiek
Kuba
------------
tworzy plik
------------

Maciek
Michał
Karol
Kuba
------------


(z pustą linią na końcu).
Do tego dodaje w logach linijkę typu:
L 06/04/2012 - 17:32:46: [Untitled.amxx] Znaleziono Kube
Problem polega na tym, że pustych linii na końcu będzie Ci ciągle przybywać, więc proponuję Ci zastosować rozwiązanie G[o]Q.

edit. Kod wyżej podałem jedynie jako przykład.
Jest on nieoptymalny i produkuje puste linie na końcu.
Nie polecam Ci go używać, poświęć 5 minut i napisz kod optymalny.

RTFM: read_file - Dokumentacja AMXX.pl (tam też znajdziesz opisy kolejnych, przydatnych funkcji, wraz z przykładami)

#9 karololo

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:85
  • Lokalizacja:Forum
Offline

Napisano 04.06.2012 17:22

Dobrze, dzięki za pomoc. Mam już teraz pewien obraz jak to wygląda.
  • +
  • -
  • 0

#10 Ojciec Dyrektor

    papa smerf.

  • Przyjaciel

Reputacja: 477
Wszechobecny

  • Postów:3 035
  • Imię:Paweł
  • Lokalizacja:Rabka-Zdrój
Offline

Napisano 06.06.2012 19:35

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych