Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Problem z pętlą i IF
anonim




Typ: Nie zarejestrowany
Problem z pętlą i IF

Witam! Piszę grę Wisielec i mam dość prosty problem, ale nie wiem jak go rozwiązać. Mianowicie mam taki kod, który po wciśnięciu przysicku z literą "A" sprawdza czy litera "A" występuje w wyrazie. Sprwadza to w pętli od 1 do ilości znaków w wyrazie i jeśli jest litera to ją pokazuje ale nie wiem co zrobić jeśli litery nie ma. jeśli w pętli zrobię warunek np else pudlo=pudlo+1 to warunek ten wykona tyle razy ile litera ta nie występuje w wyrazie a ma liczyć ze jęsli nie występuje to zwiększa licznik pudła tylko o jeden. Ktoś ma jakiś pomysł?

Private Sub Command1_Click()
dlugosc = Text1.Text
For i = 1 To dlugosc
If "A" = Text2(i).Text Then
Text2(i).ForeColor = &H80000006
jest
Command1.Enabled = False
End If
Next
End Sub

09-01-2005 00:30
  
anonim




Typ: Nie zarejestrowany

użyj polecenia InStr(string)

if InStr( Text1.Text) > 0 then
  ....
  (Twoje instrukcje)
  ....
else
  pudlo=pudlo+1
end if

09-01-2005 00:39
  
anonim




Typ: Nie zarejestrowany

sory nie dopisalem co ma znalezc :-)
if InStr(Text1.Text, "A" > 0 then
  ....
  (Twoje instrukcje)
  ....
else
  pudlo=pudlo+1
end if

InStr(string, szukany_string) - zwraca ile razy szukany_string wystepuje w string

09-01-2005 00:41
  
anonim




Typ: Nie zarejestrowany

Dzięki wielkie! Już działa :-)

09-01-2005 11:02
  
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003



InStr(string, szukany_string) - zwraca ile razy szukany_string wystepuje w string


Poprawka przyjacielu, funkcja InStr() nie zwraca ile razy dany ciąg znaków wystepuje w innym ciągu, a pozycję, na której szukany ciąg występuje. Jeśli występuje


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

09-01-2005 11:14
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003



For i = 1 To dlugosc
If "A" = Text2(i).Text Then
Text2(i).ForeColor = &H80000006
Command1.Enabled = False
End If
Next



For i = 1 To dlugosc
If "A" = Text2(i).Text Then
  Text2(i).ForeColor = &H80000006
  Command1.Enabled = False
Else
  pudlo = pudlo + 1
  Exit for
End If
Next

Tylko, że w Twoim wypadku zdecydowanie lepiej bedzie uźyć funkcji InStr(). Ten exit for podaję po to, byś wiedział, że można warunkowo w każdej chwili opuścić pętlę.

[Post edytowany dnia 09-01-2005 11:19 przez losmac]


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

09-01-2005 11:17
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
anonim




Typ: Nie zarejestrowany

No tak oczywiscie InStr() podaje pozycję, na której występuje szukany ciąg :-)
Sory, ale pisalem to juz o zbyt poznej godzinie jak dla mnie :-)

09-01-2005 16:40
  
Wszystkich odpowiedzi: 6 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1