Pagina 2 din 10

Scris: 20 Ian 2010, 07:14
de GruiaVelicu
asta e bine ca se incearca accesibilizarea unor aplicatii foarte folosite de nevazatori. practic cursul are o finalitate practica. succesuri

Scris: 20 Ian 2010, 10:11
de gelu roata
Am sa vad ce pot sa fac si eu pentru ca as vrea sa-l fac sa spuna timpul cand se selecteaza o portiune dintr-un fisier sau echivalentul lui inssert + up-arrow.

Scris: 20 Ian 2010, 17:22
de gelu roata
Din cate am vazut, scripturi pentru Sound forge au fost incluse pana la Jaws 4.51, apoi, eu unul n am mai gasit. O rezolvare ar fi recompilarea scripturilor de la versiunea de ex 4.5 si redenumirea fisierelor cu versiunea curenta de Sound forge de ex: forge80.jsb.
Scripturile pe care le am recompilat eu raspund la comenzile setate celor amintite mai sus.

Scris: 20 Ian 2010, 17:26
de gelu roata
Am vrut sa spun ca nu functioneaza ins+uparrow si ca o solutie ar fi revederea rand cu rand a fisierelor script de la versiunile anterioare de jaws (4.5).

Re: Timpul pozitiei curente in Sound Forge

Scris: 20 Ian 2010, 17:28
de Grifnas
manu scrie:Provocarea mea este gasirea unei solutii pentru a extrage doar numarul de secunde printr-un alt script care sa vina in completarea celor doua existente.
Inceput cod

Script SpuneSecundele()
Var
String sFirstSegment
GetSFCurrentPosition ()
Let sFirstSegment = StringSegment (sLongTime, ",", 1)
Let sSeconds = StringSegment (sFirstSegment, ":", 3)
SayString (sSeconds)
EndScript

Sfarsit cod

Scris: 20 Ian 2010, 17:43
de Manu
Da, asta ar tine daca nu ar mai fi si orele si minutele inainte de secunde.
Deci cu StringSegment (sLongTime, ",", 1) se extrage un "00:00:00" daca ne aflam chiar la inceputul fisierului.
Deci, mai trebuie ceva variabila intermediara pentru a aplica apoi din nou StringSegment (), ori incercat cu StringSegment in StringSegment... sa vedem... :)

In legatura cu preluarea scripturilor din JAWS 4.5.1 pentru Sound Forge... e putin mai delicata treaba, mi se pare ca erau pentru versiunea 5 a programului si... banuiesc ca multe s-au mai schimbat in timp. Eventual le vom adapta la noile cerinte sau ne putem inspira de acolo in gasirea lucrurilor care trebuie accesibilizate.

Scris: 20 Ian 2010, 18:06
de Grifnas
manu scrie:Deci cu StringSegment (sLongTime, ",", 1) se extrage un "00:00:00" daca ne aflam chiar la inceputul fisierului.
[...]StringSegment in StringSegment...
Da, ai dreptate, numai ca eu, netestand script-ul si entuziasmat fiind de o rezolvare facila a chestiunii/provocarii lansate... intelegi, sper... m-am cam pripit, desigur, dar...

Cred ca, intr-adevar, solutia propusa de tine cu "StringSegment" in "StringSegment" este viabila si merita a fi incercata...

Scris: 20 Ian 2010, 21:20
de Manu
Daca nu pune nimeni solutia, scriu eu aici pentru secunde:

Inceput cod

Script SpuneSecunde ()
GetSFCurrentPosition ()
Let sSeconds = StringSegment (StringSegment (sLongTime, ",", 1), ":", 3)
SayString (sSeconds)
EndScript

Sfarsit cod

Se poate rezolva chiar si fara variabila sSeconds, punand cele doua StringSegment in SayString:

SayString (StringSegment (StringSegment (sLongTime, ",", 1), ":", 3))

Cine are chef, pe acelasi sablon poate face acum pentru ore si minute... Asa se vede clar daca s-a inteles si ramane o forma pentru cei care vor adopta in viitor aceasta solutie pentru timp.
Pentru siguranta ar fi bun un Escape si la inceputul functiei GetSFCurrentPosition (), asta pentru a nu da cineva comanda cand deja este activat dialogul Control + G.

Acum m-am gandit ca poate la procesarea cu Sound Forge sunt mai multe lucruri care ar fi utile. De exemplu cineva taie ceva la miime de secunda, apoi mai face ceva miscari, dar ar vrea sa revina in pozitia in care a fost si sa puna ceva. Se poate face script care sa memoreze exact niste puncte clare la miime de secunda.

Scris: 20 Ian 2010, 21:35
de Grifnas
Intr-adevar, maiestrita lucrare!...
Solutia pe care am gasit-o eu, dupa sugestia ta cu o variabila suplimentara, este urmatoarea:

Inceput cod

Script SpuneSecundele()
Var
String sFirstSegment
GetSFCurrentPosition ()
Let sFirstSegment = StringSegment (sLongTime, ",", 1)
Let sSeconds = StringSegment (sFirstSegment, ":", 3)
SayString (sSeconds)
EndScript

Sfarsit cod

Scris: 20 Ian 2010, 23:45
de Manu
Cand spun o variabila intermediara... nici nu e nevoie sa fie creata, ci tot sSeconds sa fie si intermediara, precum in exemplul:

Let sSeconds = StringSegment (sLongTime, ",", 1)
Let sSeconds = StringSegment (sSeconds, ":", 3)

Deci, o modificare de valoare a unei variabile prin ea insasi.
Sunt foarte nastrusnice aceste metamorfoze succesive. Practic uneori se poate ca cu ajutorul unei singure variabile sa se ajunga la niste rezultate in urma unor calcule foarte complexe, asta pentru ca ea se tot modifica pe parcurs prin operatii aplicate ei insesi.

Culoare text si fundal

Scris: 21 Ian 2010, 01:18
de Manu
Daca tot nu am inceput inca sa lucram serios la Pontes Trucker, mai pun un mic scriptulet pentru aflare a culorii textului si a fundalului dintr-un punct oarecare, cel pe care este aflat cursorul PC, JAWS sau Virtual.
Cu aceasta ocazie se mai invata si alte functii.
Cei interesati sa poata afla oricand culoarea textului pe care se afla, indiferent ca sunt pe Messenger sau in Word, nu trebuie decat paste la codul de mai jos in fisierul Default.JSS, apoi atribuita o combinatie de taste cu ajutorul dialogului Control + D. O combinatie mai complexa care sa nu fie nicaieri, de exemplu Control + Shift + Insert + Page-Down.

Inceput cod

Script CuloareCurenta ()
Var
String sCuloare,
Int iCuloare
Let iCuloare = GetColorText ()
Let sCuloare = GetColorName (iCuloare)
SayString ("Culoarea textului este " + sCuloare + ", ")
Let iCuloare = GetColorBackground ()
Let sCuloare = GetColorName (iCuloare)
SayString ("Fundalul este " + sCuloare + ".")
EndScript

Sfarsit cod

Scris: 21 Ian 2010, 04:57
de Grifnas
manu scrie:Cand spun o variabila intermediara... nici nu e nevoie sa fie creata, ci tot sSeconds sa fie si intermediara, precum in exemplul:

Let sSeconds = StringSegment (sLongTime, ",", 1)
Let sSeconds = StringSegment (sSeconds, ":", 3)

Deci, o modificare de valoare a unei variabile prin ea insasi.
Sunt foarte nastrusnice aceste metamorfoze succesive. Practic uneori se poate ca cu ajutorul unei singure variabile sa se ajunga la niste rezultate in urma unor calcule foarte complexe, asta pentru ca ea se tot modifica pe parcurs prin operatii aplicate ei insesi.
Da, inteleg... sunt, intr-adevar, o multitudine de posibilitati...
Totusi, cea mai sintetica dintre variantele prezentate, pana acum, este, de departe cea propusa de tine, intr-un mesaj anterior:
SayString (StringSegment (StringSegment (sLongTime, ",", 1), ":", 3))

Scris: 21 Ian 2010, 14:37
de Grifnas
Manu scrie:Cine are chef, pe acelasi sablon poate face acum pentru ore si minute... Asa se vede clar daca s-a inteles si ramane o forma pentru cei care vor adopta in viitor aceasta solutie pentru timp.
Da, acum, dupa ce ai aratat rezolvarea, pentru secunde, e foarte usoara modificarea...

Sper ca o va arata cineva, chiar aici; unul dintre cursanti "Jaws scripting", colegii mei...

Scris: 21 Ian 2010, 15:31
de gelu roata
Inceput cod:

Script SpuneMinutele()
Var
String sMinutes,
String sFirstSegment
GetSFCurrentPosition ()
Let sFirstSegment = StringSegment (sLongTime, ",", 1)
Let sMinutes = StringSegment (sFirstSegment, ":", 3)
SayString (sMinutes)
EndScript

Sfarsit cod

Scris: 21 Ian 2010, 15:50
de Manu
In stringul alcatuit din trei parti delimitate de ":" (doua puncte), al doilea segment reprezinta minutele, nu al treilea, astfel trebuie:
Let sMinutes = StringSegment (sFirstSegment, ":", 2)
iar pentru ore trebuie 1 la al treilea parametru:
Let sHours = StringSegment (sFirstSegment, ":", 1)