Knight Lore''FC
Typ:
neutral
Postów: 240
Zarejestrowany: Jan 2003
|
|
no bo to jest o htmlu i java script a to jest coś takiego Dim i As Integer For i = 1 To Len(txt.Text) 'literki If Mid$(txt.Text, i, 1) = "a" Then PlayWAVE "a.wav" If Mid$(txt.Text, i, 1) = "ą" Then PlayWAVE "ą.wav" If Mid$(txt.Text, i, 1) = "b" Then PlayWAVE "b.wav" If Mid$(txt.Text, i, 1) = "c" Then PlayWAVE "c.wav" i tak dalej a tam gdzie play wave to trzeba zrobić funkcje api jest tutaj w dzia;le a[pi
aa... ale plama usuncie ten temat o temacie cze bo to mi sie przyciskiu pomyliłe ssssoooooorrrrryyyy
mozna bylo troche prosciej (co nie znaczy ze lepiej) ...
Dim i As Integer For i = 1 To Len(txt.Text) Znak=LCase(Mid$(txt.Text, i, 1)) Kod=Asc(Znak)
'tu trzeba dodac jeszcze sprawdzenie czy znak jest dozwolony ... no bo jak wymowic np. | ???
if (kod>47 and kod<58) or (kod>96 and kod<123) or _ Znak="ą" or Znak="ć" or Znak="ę" or Znak = "ł" or Znak="ń" or Znak="ó" or Znak="ś" or Znak="ż" or Znak="ź" then
'a tu gadamy PlayWAVE Znak & ".wav" End if Next i
Zamiast takiego sprawdzania czy znak jest dozwolony wpadlem przed chwila na pewien pomysl... Czym rozroznic litery od znakow specjalnych (pomijajac na razie cyfry i spacje) ? Uzywajac LCase i UCase mozna rozpoznac co jest litera ! - beda mialy rozne kody ASCII , a znaki specjalne, cyfry i spacja zawsze tan sam No i jeszcze te nasze ch, sz, cz, dz, rz ...
modyfikacja:
Dim i As Integer Dim MaxLiter As Integer Dim Znak As String Dim NastZnak As String Dim Sampel As String
MaxLiter = Len(Text1.Text)
For i = 1 To MaxLiter
Znak = LCase(Mid$(Text1.Text, i, 1)) If i + 1 <= MaxLiter Then NastZnak = LCase(Mid$(Text1.Text, i + 1, 1)) Else NastZnak = "" End If
'te same kody ? If Znak = UCase(Znak) Then
'jesli to jest SPACJA, kropka lub przecinek to trzeba chyba zrobic przerwe If Znak = " " Or Znak = "." Or Znak = "," Then Sampel = "Cisza.wav" End If
'a moze to sa cyfry ? If Asc(Znak) > 47 And Asc(Znak) < 58 Then Sampel = Znak & ".wav" End If
'to sa litery Else
Sampel = Znak & ".wav" 'same litery to nie problem, ale pozostaje jeszcze sprawa : 'ch,cz,sz,dz, rz 'czy jest jeszcze konkretna litera po wybranym znaku ? If (Znak = "c" Or Znak = "s" Or Znak = "d" Or Znak = "r" ) And (NastZnak = "h" Or NastZnak = "z" Or NastZnak = "i" ) Then
If Znak = "c" Then 'czy nastepny jest h ? If NastZnak = "h" Then Sampel = "h.wav" i = i + 1 End If
'czy nastepny jest z ? If NastZnak = "z" Then Sampel = "cz.wav" i = i + 1 End If
'czy nastepny jest i ? - ć i ci brzmi prawie tak samo If NastZnak = "i" Then Sampel = "ć.wav" i = i + 1 End If
End If If Znak = "s" And NastZnak = "z" Then Sampel = "sz.wav" i = i + 1 End If
If Znak = "d" And NastZnak = "z" Then Sampel = "dz.wav" i = i + 1 End If
If Znak = "r" And NastZnak = "z" Then Sampel = "ż.wav" i = i + 1 End If
'tu by trzeba bylo dodac jeszcze wyjątki np. rdza, rdzeń, dzbanek, dzwonek itd...
End If
End If
'gramy playWav Sampel
Next i
[Post edytowany dnia 07-01-2004 09:44 przez Knight Lore'FC]
|