|
|
|
|
Strona 1 z 1
|
[ Posty: 8 ] |
|
Autor |
Wiadomość |
zz
Rejestracja: 2008-03-10, 14:01 Posty: 593
|
Wyszukanie ukośnika
Witam.
Chcę wyszukać ukośnik "/" w stringu.
Jak to zrobić? Próbowałem "/" i "\/" (jako znak specjalny) i ...nic :(
_________________ zz
|
2011-04-15, 10:18 |
|
|
Autor |
Wiadomość |
Mix-soft.pl
|
|
|
Misiek
Rejestracja: 2008-12-03, 21:11 Posty: 276 Pomógł: 2
|
może tak ?
Kod: buf = "FSV 128\MAG/2011"
if find "\/" then message "znalazłem znak /\n:-)"
error ""
_________________ Pozdrawiam
Misiek DGTL Rzeszów
|
2011-04-15, 11:36 |
|
|
zz
Rejestracja: 2008-03-10, 14:01 Posty: 593
|
Nawet gdyby zadziałało, to za mało ;)
Potrzebuję numer pozycji, na której występuje w ciągu.
_________________ zz
|
2011-04-15, 15:32 |
|
|
Misiek
Rejestracja: 2008-12-03, 21:11 Posty: 276 Pomógł: 2
|
zz pisze: Nawet gdyby zadziałało, to za mało ;) A nie działa ? zz pisze: Potrzebuję numer pozycji, na której występuje w ciągu.
O tym nie pisałeś więc... tak na szybko, może mało optymalnym kodem ale działa...
Kod: buf = "FSV 128\MAG/2011" string txt
if Find Regular "*//" then txt = Delete Regular "*//" message using "znalazłem znak / na pozycji %d\n:-)", Len(txt) + 1 endif
error ""
_________________ Pozdrawiam
Misiek DGTL Rzeszów
|
2011-04-15, 15:35 |
|
|
zz
Rejestracja: 2008-03-10, 14:01 Posty: 593
|
Działa.
Ale co ja mam źle?
Kod: buf = "abc/123" int i, iDlDw=len(buf) string sZnak for i=1 to i>iDlDw sZnak=mid(buf,i,1) if sZnak="\/" then message using "%i", i endif next i
_________________ zz
|
2011-04-15, 15:49 |
|
|
wrob
Ekspert
Rejestracja: 2008-04-18, 18:52 Posty: 5169 Pomógł: 59
|
A jesli uzyc takiego strasznego pojecia jak rekurencja?
cos w stylu (vba):
Kod: function pozycja(tekst,szukany,od) if (mid(tekst,od,1))=szukany then msgbox od else pozycja(tekst,szukany,od+1) end if end function
PS to masz zle -> lepiej tak:
i nie uzywaj zmiennej buf - to nazwa specjalna
|
2011-04-15, 15:57 |
|
|
Misiek
Rejestracja: 2008-12-03, 21:11 Posty: 276 Pomógł: 2
|
Jeszcze jedna wersja - bez buf'a
Kod: string txt = "FSV 128\MAG/2011" int i
for i = 1 to i > Size(txt) if txt(i) == 47 then // 47 = kod ASCI znaku message using "znalazłem znak / na pozycji %d\n:-)", i + 1 Exit endif next i
error ""
_________________ Pozdrawiam
Misiek DGTL Rzeszów
|
2011-04-15, 16:21 |
|
|
zz
Rejestracja: 2008-03-10, 14:01 Posty: 593
|
Właśnie o taką funkcję (odpowiednik CHR-a z VB) mi chodziło - w helpie jej nie znalazłem.
Ponieważ nie mogę postawić dwóch punktów, 'zarabia' Misiek (jako pierwszy odpowiadający).
_________________ zz
|
2011-04-18, 07:58 |
|
|
|
Strona 1 z 1
|
[ Posty: 8 ] |
|
Kto jest online |
Użytkownicy przeglądający to forum: Nie ma żadnego zarejestrowanego użytkownika i 23 gości |
|
Nie możesz tworzyć nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz dodawać załączników
|
|
|
|