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

Ilość wyrazów w stringu


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
11 odpowiedzi w tym temacie

#1 Nitroexe

    Banned

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:28
  • Imię:Wojtek
  • Lokalizacja:Bydgoszcz
Offline

Napisano 14.08.2012 14:46

Witam zaczne może od przykładu.

Mamy zmienną a w niej "Czesc jestem karol i jestem fajny"
Czy jest funkcja, która zwróci 2 podczas szukania "jestem"? Chodzi o to, że musze wiedziec ile jest "jestem" w zdaniu. To jest tylko przykład ofc.

#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 14.08.2012 14:50

pętla + strfind
http://www.amxmodx.o...?go=func&id=811
  • +
  • -
  • 0

#3 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 14.08.2012 14:51

http://amxx.pl/dokum...cja/f1380/parse
Potem warunkiem musisz sprawdzić czy wyraz == jestem, to na tyle ;)
  • +
  • -
  • 0

If you can dream it, you can do it.


#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 14.08.2012 14:56

stringów nie porównuje się poprzez == tylko equal
speedkill (14.08.2012 15:47):
Czy jest równy "jestem" chodziło mi a nie o == "jestem" ;)

  • +
  • -
  • 0

#5 Jak się nazwać

    Wszechmogący

  • Power User

Reputacja: 169
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 14.08.2012 15:39

Dark ale mozna porównywać znaki przez ==
Pętla, jedziesz każdy znak, zliczasz spacje ale wcześniej sprawdzasz czy spacja nie jest obok spacji, czy spacja nie jest końcem stringu ani początkiem, choć wdg mnie to jest utrudnianie sobie życia, użyj tego co darek podesłał.
  • +
  • -
  • 0
Pisze na zamówienie statystyki pod nvault. GG: 15600964

#6 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 14.08.2012 15:41

znaki ale nie całe wyraz ( musisz wrzucać pętle ) więc szybciej i optymalniej jest użyć equal
  • +
  • -
  • 0

#7 Nitroexe

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 0
Nowy

  • Postów:28
  • Imię:Wojtek
  • Lokalizacja:Bydgoszcz
Offline

Napisano 14.08.2012 15:52

pętla + strfind
http://www.amxmodx.o...?go=func&id=811


No i jak niby to użyć? Mam zdanie znajdzie wyraz potem od nowa będzie szukało... nie da mi to przecież ilości tego.


#edit
Dobra wiem, widziałem tą funkcje wcześniej ale, że też nie pomyślałem nad jednym sposobem.

Użytkownik Nitroexe edytował ten post 14.08.2012 15:58


#8 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 14.08.2012 15:58

4 parametr zobacz
  • +
  • -
  • 0

#9 Nitroexe

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 0
Nowy

  • Postów:28
  • Imię:Wojtek
  • Lokalizacja:Bydgoszcz
Offline

Napisano 15.08.2012 21:25

4 parametr zobacz


Rozumiem, że jest to pozycja od jakiej zaczać szukanie? Bo mi nie działa 4 paramet. Tzn. nie tak jak powinien czyli nie szuka od tego znaku który wpisze w pos

#10 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 15.08.2012 21:28

pokaż kod
  • +
  • -
  • 0

#11 Nitroexe

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 0
Nowy

  • Postów:28
  • Imię:Wojtek
  • Lokalizacja:Bydgoszcz
Offline

Napisano 15.08.2012 21:32



iii = strfind(szLine, "Czlonek", 0, iii); // iii = 24
num_to_str(iii, test, 2);
client_print(0, print_console, test);
do
{

iii = iii + 2; // iii = 26 iii = 34
liczbaczlonkowi++;

iii = strfind(szLine, "Czlonek", 0, iii); /// iii 32;
test1++;
num_to_str(iii, test, 2);
client_print(0, print_console, test);
}
while(iii != -1 && test1 < 10)


#12 Nitroexe

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 0
Nowy

  • Postów:28
  • Imię:Wojtek
  • Lokalizacja:Bydgoszcz
Offline

Napisano 19.08.2012 19:42

Jakby ktoś kiedyś z google się tu znalazł to podaje rozwiązanie:
https://bugs.alliedm...487&action=diff
Po prostu bug :-)

https://bugs.alliedm...769&action=diff




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

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