Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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
Inny

[ROZWIĄZANE] AutoIT Error: If statement has no matching EndIf statement

inny

Najlepsza odpowiedź Engi, 30.03.2015 19:04

Nie możesz zamknąć funkcji ifem. Nie rozumiem sensu istnienia funkcji "Funkcja4()", przecież to jest bez sensu.
 
Funkcja4() powinna wyglądać tak:
 

Func Funkcja4()

	If $wykonano == 1 Then
		MsgBox(0, "Wiadomość", "Coś wykonałeś, funkcja przerwana")
	ElseIf $aktiv == 0 Then
		MsgBox(0, "Wiadomość", "Coś Ci nie pykło, bo $aktiv równa się zeru, funkcja przerwana")
	EndIf

	;na jakiej zasadzie $wykonano ma się równać 1? Brakuje mi tu Ifa
	$wykonano = 1

	Sleep(3000)

	If $aktiv == 0 Then
		MsgBox(0, "Wiadomość", "Coś Ci nie pykło, bo $aktiv równa się zeru, funkcja przerwana")
	EndIf

	$program = 1

	Send("{3}")

	$wykonano = 0

EndFunc

Ale nie widzę sensu stosowania tego kodu. Może podaj całość co tam naskrobałeś to coś pomyślimy, albo napisz co chciałeś osiągnąć swoją "Funkcją czwartą" to napiszę Ci tą funkcję tak jak powinna być napisana.

Przejdź do postu


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

#1 Pan PrO

    Wszechpomocny

  • Użytkownik

Reputacja: 98
Zaawansowany

  • Postów:388
  • Lokalizacja:PC
Offline

Napisano 29.03.2015 19:48

Witam. Mam skrypt wykonany w AutoIT, lecz podczas uruchamiania wywala taki błąd

Line 32 (File ""):

Error: "If" statement has no matching "EndIf" statement

Kod skryptu:

Global $aktiv, $program, $wykonano, $klawisz

HotkeySet("{1}", "Funkcja1")
HotkeySet("{2}", "Funkcja2")
HotkeySet("{3}", "Funkcja3")

While 1
Sleep(100)
WEnd

Func Funkcja1()

	If $program == 0 Then
		$aktiv = 0
	EndIf
	
	$klawisz = 1
	Call("Funkcja4")

EndFunc

Func Funkcja2()

	If $program == 0 Then
		$aktiv = 0
	EndIf
	
	$klawisz = 2
	Call("Funkcja4")

EndFunc

Func Funkcja3()

	If $program == 0 Then
		$aktiv = 0
	Else
		Send("{"& $klawisz &"}")
		$program = 0
	EndIf

EndFunc

Func Funkcja4()

	If $wykonano == 1 Then
		EndFunc
	EndIf

	If $aktiv == 0 Then
		EndFunc
	EndIf

	$wykonano = 1

	Sleep(3000)

	If $aktiv == 0 Then
		EndFunc
	EndIf

	$program = 1

	Send("{3}")

	$wykonano = 0

EndFunc

Nw o co chodzi, gdyż moim zdaniem wszystko jest dobrze


  • +
  • -
  • 0

#2 Engi

    [EKSiD] playaz44

  • Power User

Reputacja: 236
Wszechwidzący

  • Postów:837
  • GG:
  • Imię:Seba
  • Lokalizacja:Gdańsk
Offline

Napisano 30.03.2015 19:04   Najlepsza odpowiedź

Nie możesz zamknąć funkcji ifem. Nie rozumiem sensu istnienia funkcji "Funkcja4()", przecież to jest bez sensu.
 
Funkcja4() powinna wyglądać tak:
 

Func Funkcja4()

	If $wykonano == 1 Then
		MsgBox(0, "Wiadomość", "Coś wykonałeś, funkcja przerwana")
	ElseIf $aktiv == 0 Then
		MsgBox(0, "Wiadomość", "Coś Ci nie pykło, bo $aktiv równa się zeru, funkcja przerwana")
	EndIf

	;na jakiej zasadzie $wykonano ma się równać 1? Brakuje mi tu Ifa
	$wykonano = 1

	Sleep(3000)

	If $aktiv == 0 Then
		MsgBox(0, "Wiadomość", "Coś Ci nie pykło, bo $aktiv równa się zeru, funkcja przerwana")
	EndIf

	$program = 1

	Send("{3}")

	$wykonano = 0

EndFunc

Ale nie widzę sensu stosowania tego kodu. Może podaj całość co tam naskrobałeś to coś pomyślimy, albo napisz co chciałeś osiągnąć swoją "Funkcją czwartą" to napiszę Ci tą funkcję tak jak powinna być napisana.


  • +
  • -
  • 1

Użytkowniku! Zanim napiszesz wiadomość wiedz, że:
 

W odpowiedzi na ten status, przejrzałem kilka ostatnich Twoich postów i dodałem Ci kolejne 3 punkty ostrzeżeń. Mam nadzieję, że pomogłem.

1:0 dla Benia :D
I pamiętaj, na GG i Steam pomagam tylko odpłatnie. Mój numer GG to: 6746210, a nazwa na Steam to: playaz44


#3 Pan PrO

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 98
Zaawansowany

  • Postów:388
  • Lokalizacja:PC
Offline

Napisano 05.04.2015 09:45

Wielkie dzięki


  • +
  • -
  • 0

#4 MAGNET

    SourceLearned ;)

  • Moderator

Reputacja: 625
Wszechmogący

  • Postów:1510
  • GG:
  • Imię:Olek
  • Lokalizacja:Dalekoo
Offline

Napisano 06.04.2015 16:20

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


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





Również z jednym lub większą ilością słów kluczowych: inny

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

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