←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Pascal
IF Napis + liczba THEN ustawia zmienną

Zablokowany

  • +
  • -
Abes Mapper - zdjęcie Abes Mapper 26.09.2010

Jak zrobić że jak wpisze "ustawienie 300" to jakaś zmienna ustawi się na 300
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 26.09.2010

jakbyś miał funkcję w stylu split'a ( Delphi/Pascal :: [Delphi] Jak rozbic string w tablice? - 4programmers.net ) to chyba już wiedziałbyś co i jak ;)
użyj Pos i Copy (o ile w pascalu to działa).
Pos użyj do znalezienia spacji pomiędzy "ustawienie" a wartością
a następnie skopiuj od początku do spacji, potem od spacji do końca i to będzie wartość
potem porównaj pierwszą część z "ustawienie" i jeżeli się zgadza to zmień wartość zmiennej na drugą część
Odpowiedz

  • +
  • -
Abes Mapper - zdjęcie Abes Mapper 26.09.2010

:lol:
Dasz jakiś przykładzik ?
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 26.09.2010

ciężko dać mi przykładzik jak pascal'a to miałem w liceum a na dodatek nie mam jak na debianie przetestować kod (głupot przecież dawał nie będę)

Length(s) - zwraca bieżącą długość łańcucha s;
Copy(s, m, n) - zwraca podłańcuch o długości m znaków wycięty z łańcucha s poczynając od pozycji n;
Pos(ch, s) - zwraca numer pozycji, na której w łańcuchu s znajduje się znak ch;


Tu masz przykłady itd: Turbo Pascal. Programowanie
Odpowiedz

  • +
  • -
Abes Mapper - zdjęcie Abes Mapper 26.09.2010

Nie mam już sił żeby te długie kody ogarniać.
Spróbowałem z tym:
LName := Copy(Name, Pos(' ', Name) + 1, Length(S) - Pos(' ', Name));
ale nic się nie wyświetla. Te pierwsze działa, wyświetla się tylko pierwsze ale interesuje mnie druga wartość.
Tylko że tu się wpisuje jednorazowo a ja mam programik gdzie ciągle cię wpisuje jakieś liczby (Pav wie bo dawałem :) )
Może jutro spróbuje ogarnąć te łańcuchy
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 26.09.2010

LName := Copy(Name, Pos(' ', Name) + 1, Length(Name) - Pos(' ', Name));
powinno działać. absolutnie nic nie wyświetla niezależnie od stringa początkowego ?
Miałeś Length(Name) czy Length(S) ? :D
Odpowiedz

  • +
  • -
Abes Mapper - zdjęcie Abes Mapper 26.09.2010

S :P
Za godzinke zobacze.

I jeszcze jak to powiązać z moim kodem?

(kawałek)
PROCEDURE Liczby;
Begin
	REPEAT
		readln(napis);
		for	x:=1 to length(napis) do Sound(napis[x]);
		IF napis='/predkosc' THEN Predkosc;
	UNTIL napis='/exit';
End;
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 26.09.2010

PROCEDURE Liczby;
Begin
	REPEAT
		readln(napis);
		IF napis='/predkosc' THEN Predkosc
		else
			for	x:=1 to length(napis) do Sound(napis[x]);
	UNTIL napis='/exit';
End;

O to ci chodzi ?
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 26.09.2010

Spoiler


masz rezultaty ostatnich 20 minut wiec przyklad prosty
wpisujesz

ustaw wartosc

to ustawia zmienna
ustaw_hook
na wartosc jaka podales
jesli wpiszesz

ustawianie wartosc

to ustawia zmienna
ustawianie_hook
Odpowiedz

  • +
  • -
Abes Mapper - zdjęcie Abes Mapper 26.09.2010

Dzięki, działa ;)
Odpowiedz
Zablokowany