SAPI : change Voice

Re: SAPI : change Voice

Postby Antonio Linares » Thu Feb 08, 2024 2:07 pm

Dear Enrico,

Here it builds ok with Harbour but events are not working
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42122
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: SAPI : change Voice

Postby Enrico Maria Giordano » Thu Feb 08, 2024 2:20 pm

Ops, sorry, my fault. Ok, it compiles file and speaks in a foreign language (it seems). What it is supposed to do?
User avatar
Enrico Maria Giordano
 
Posts: 8718
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia

Re: SAPI : change Voice

Postby Antonio Linares » Thu Feb 08, 2024 3:01 pm

Harbour function __axRegisterHandler() register an events handler.

meanwhile the speak of a text there are events but they don't arrive. No idea why.

We have low level debugged the code and it is correct but somehow the events are not arriving
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42122
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: SAPI : change Voice

Postby Danielmaximiliano » Thu Feb 08, 2024 4:37 pm

Una pregunta ....
cual es la necesidad de utilizar eventos en SpVoice ?
En HMGForum donce nació el problema que el objeto Voices:Voice:= no aceptaba elegir el narrador por tener un bug y solo era el uso de una voz para relatar los números de la aplicación BINGO y yo creí que faltaba agregar Eventos a SPVoice añadiendo
Code: Select all  Expand view  RUN
oNarrator               := CreateObject( "Sapi.SPVoice" , "WithEvents")
y no tenia la necesidad de incluirlo porque no los iba a utilizar.
Leyendo me di cuenta que SAPIVoice en un conjunto de objectos con sus metodos y cada método tiene sus propiedades que son dificiles de entender y que de a poco voy descubriendo (Solo por curiosidad), respondiendo a
Este ejemplo es Harbour
compile el mismo y no hace nada porque no se utilizo ningun evento solo se asigno un valor.
Code: Select all  Expand view  RUN
oVoice:EventInterests = 327679

https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ms722040(v=vs.85) en la sección automatización nos indica qué
EventInterests Property

La propiedad EventInterests especifica los tipos de eventos aceptados por el objeto SpeechRecoContext.

Un interés de evento es un mecanismo de filtrado para cada contexto de reconocimiento. Al configurar EventInterests, el contexto de reconocimiento permite o niega que los eventos del motor de reconocimiento de voz lleguen a la aplicación. Se pueden filtrar todos, ninguno o tipos seleccionados de eventos. De forma predeterminada, el reconocimiento de voz permite todos los eventos excepto SREAudioLevel (un cambio en el nivel de audio).


supongamos que tenemos un texto y este sea relatado por una voz femenina pero al llegar a unas Comillas ("") que resaltara "digamos" algo especifico como ser también una palabra en negrita cambie la voz por masculina o que cada palabra del texto sea resaltado en forma automatica (mediante nuestro codigo) mientras es relatado ese texto.

Seguiremos porque se pone interesante el tema :D
Danielmaximiliano
 
Posts: 24
Joined: Tue Mar 20, 2012 11:06 pm

Re: SAPI : change Voice

Postby Antonio Linares » Thu Feb 08, 2024 6:14 pm

Daniel,

Aqui tienes un ejemplo de como usar los eventos con SPVoice para marcar la palabra que se está pronunciando:

https://www.youtube.com/watch?v=Y8-yjsRsyvI

Esto es lo que debería conseguirse con esta llamada:
oVoice:__hSink := __axRegisterHandler( oVoice:__hObj, { | x, y | QOut( x, y ) } )

pero algo nos falta pues los eventos no llegan
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42122
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: SAPI : change Voice

Postby Danielmaximiliano » Thu Feb 08, 2024 6:44 pm

Antonio Linares wrote:Daniel,

Aqui tienes un ejemplo de como usar los eventos con SPVoice para marcar la palabra que se está pronunciando:

https://www.youtube.com/watch?v=Y8-yjsRsyvI

Esto es lo que debería conseguirse con esta llamada:
oVoice:__hSink := __axRegisterHandler( oVoice:__hObj, { | x, y | QOut( x, y ) } )

pero algo nos falta pues los eventos no llegan


descubri que tampoco funciona
Code: Select all  Expand view  RUN
Function ChangeAvailavedevice()
 
   If Main.List_2.Value > 0
        oNarrator:AudioOutput := oDevice:Item( Main.List_2.Value - 1 )
      //  oNarrator:AudioOutput := oNarrator:GetAudioOutputs():Item(Main.List_2.Value - 1)
    End If
   Return

el mismo error que con GetVoice
Last edited by Danielmaximiliano on Thu Feb 08, 2024 8:08 pm, edited 1 time in total.
Danielmaximiliano
 
Posts: 24
Joined: Tue Mar 20, 2012 11:06 pm

Re: SAPI : change Voice

Postby Danielmaximiliano » Thu Feb 08, 2024 7:24 pm

Encontre este codigo dentro del foro si mal no recuerdo hace un tiempo pero no recuerdo cuando. no lo puedo probar porque no soy usuario de fivewin :roll: y nunca descargue fiwewin como herramienta de trabajo.
Code: Select all  Expand view  RUN
   #include "FiveWin.ch"

    static lIsPaused := .F.

    function Main()
       
       local oDlg, oGetText, oBtnPlay, oBtnPause, oBtnStop, oBtnInterroga, oBrowVoices, cVoice, oCbxOutPut, oCbxVoiceNormal
       local oCbxVoiceAlert, oMeter
       local oBtnVolumeUp, oBtnVolumeDown, oBtnVelocityUp, oBtnVelocityDown
       local oGetVolumeLevel, oGetVelocityLevel
       local cMeter
       local aVoices := {}, aPhoneme := {}, aVoiceForSelect := {}
       local aOutPutStream := { "Voz", "File" }, cSelOutPutStream := "Voz"
       local oFile := tOleAuto():New( "Sapi.SpFileStream" )
       local nVolume := 50
       local nVelocity := 0
       local n := 0, n2 := 0
       local oVoice := tOleAuto():New( "Sapi.SPVoice", "WithEvents" )
       local oVoiceAlert := tOleAuto():New( "Sapi.SPVoice", "WithEvents" )
       local cSelNormalVoice, cSelAlertVoice


       // SpeechVoiceFlags
       local SVSFDefault := 0
       local SVSFlagsAsync := 1
       local SVSFPurgeBeforeSpeak  := 2
       local SVSFIsXML := 8
       // SpeechVoiceEvents
       local SVEStartInputStream := 2
       local SVEEndInputStream := 4
       local SVEVoiceChange := 8
       local SVEBookmark := 16
       local SVEWordBoundary := 32
       local SVEPhoneme := 64
       local SVESentenceBoundary := 128
       local SVEViseme := 256
       local SVEAudioLevel := 512
       local SVEPrivate := 32768
       local SVEAllEvents := 33790
       //SpeechVoicePriority
       local SVPNormal := 0
       local SVPAlert := 1
       local SVPOver := 2
       local cTextToRead := "La Guía de Programación de FiveWin, ofrece una introducción dirigida a técnicas" + CRLF +;
                            "de desarrollo de aplicaciones de Windows utilizando (x)Harbour y FiveWin. Esta" + CRLF +;
                            "guía explicará los conceptos básicos que usted debe tener para construir correctamente" + CRLF +;
                            "sus aplicaciones de Windows."
       local ISpeechObjectTokens := oVoice:GetVoices()

       For n = 0 To Len( oVoice:GetVoices() )
           Aadd( aVoices, { n, ISpeechObjectTokens[n]:GetAttribute( 'Name' ), ISpeechObjectTokens[n]:GetAttribute( 'Gender' ),;
                              ISpeechObjectTokens[n]:GetAttribute( 'Age' ), ISpeechObjectTokens[n]:GetAttribute( 'Language' ),;
                              ISpeechObjectTokens[n]:GetAttribute( 'Vendor' ) } )
           Aadd( aVoiceForSelect, ISpeechObjectTokens[n]:GetAttribute( 'Name' ) )
       Next
       
       cSelNormalVoice := aVoiceForSelect[1]
       cSelAlertVoice := aVoiceForSelect[1]

       oVoiceAlert:Priority() := SVPAlert // Set oVoiceAlert as an 'alert' voice
       oVoiceAlert:Voice() := oVoiceAlert:GetVoices( "Name = " + cSelNormalVoice ):Item( 0 )
       oVoiceAlert:Volume() := 90 // Set the volume of the Alert Voice at 90 to a Maximum of 100

       oVoice:AlertBoundary() := SVEPhoneme // Allow to Stop voice by Another one with Alert priority
       oVoice:EventInterests := SVEAllEvents + SVEAudioLevel

       oVoice:Voice() := oVoice:GetVoices( "Name = " + cSelNormalVoice ):Item( 0 )
       oVoice:Volume() := nVolume
       oVoice:Rate := nVelocity


       DEFINE DIALOG oDlg RESOURCE "sound"

       REDEFINE GET oGetText VAR cTextToRead ID 10 OF oDlg MULTILINE UPDATE
       
       REDEFINE METER oMeter VAR cMeter ID 3000 OF oDlg NOPERCENTAGE UPDATE
       
       REDEFINE BUTTON oBtnPlay ID 2010 OF oDlg ACTION ( oVoice:Speak( cTextToRead, ( SVSFlagsAsync + SVSFIsXML ) ) ) UPDATE
       
       REDEFINE BUTTON oBtnPause ID 2020 OF oDlg ACTION ( PauseResume( oVoice, oDlg, oBtnPause ), oDlg:Update() ) UPDATE
       
       REDEFINE BUTTON oBtnStop ID 2030 OF oDlg ACTION ( iif( lIsPaused, ( lIsPaused := .F., oBtnPause:SetText( "Pause" ) ) , ),;
                oVoice:Speak( " ",SVSFPurgeBeforeSpeak ) ) UPDATE
       
       REDEFINE BUTTON oBtnInterroga ID 2040 OF oDlg ACTION ;
               ( oVoiceAlert:Speak( "This is a Warning Interrupt", SVSFlagsAsync ), MsgInfo( "Esto es una prueba de interrupción de Alerta" ) )
       
       REDEFINE BUTTON oBtnVolumeUp ID 120 OF oDlg;
                ACTION ( nVolume := nVolume + 10, iif( nVolume > 100, ( nVolume := 100 , MsgInfo( "Máximum Volume" ) ) ,;
                oVoice:Volume := nVolume ), oGetVolumeLevel:SetText( AllTrim( Str( nVolume ) ) ) ) UPDATE

       REDEFINE BUTTON oBtnVolumeDown ID 130 OF oDlg;
                ACTION ( nVolume := nVolume - 10, iif( nVolume < 0, ( nVolume := 0 , MsgInfo( "Mínimum Volume" ) ),;
                oVoice:Volume := nVolume ), oGetVolumeLevel:SetText( AllTrim( Str( nVolume ) ) ) ) UPDATE

       REDEFINE BUTTON oBtnVelocityUp ID 140 OF oDlg;
                ACTION ( nVelocity++, iif( nVelocity > 10, ( nVelocity := 10 , MsgInfo( "Máximum Velocity" ) ),;
                oVoice:Rate := nVelocity ), oGetVelocityLevel:SetText( AllTrim( Str( nVelocity ) ) ) ) UPDATE

       REDEFINE BUTTON oBtnVelocityDown ID 150 OF oDlg;
                ACTION ( nVelocity--, iif( nVelocity < -10, ( nVelocity := -10 , MsgInfo( "Mínimum Velocity" ) ),;
                oVoice:Rate := nVelocity ), oGetVelocityLevel:SetText( AllTrim( Str( nVelocity ) ) ) ) UPDATE

       REDEFINE GET oGetVolumeLevel VAR nVolume ID 160 OF oDlg UPDATE
       
       oGetVolumeLevel:SetText( Str( nVolume ) )
       
       REDEFINE GET oGetVelocityLevel VAR nVelocity ID 170 OF oDlg UPDATE
       
       oGetVelocityLevel:SetText( Str( nVelocity ) )

       REDEFINE LISTBOX oBrowVoices FIELDS AllTrim( Str( aVoices[ oBrowVoices:nAt, 1 ] ) ), aVoices[ oBrowVoices:nAt, 2 ],;
                aVoices[ oBrowVoices:nAt, 3 ], aVoices[ oBrowVoices:nAt, 4 ], aVoices[ oBrowVoices:nAt, 5 ], aVoices[ oBrowVoices:nAt, 6 ];
                HEADERS "Item", "Nombre", "_", "Edad", "Idioma ID", "Empresa";
                COLSIZES 31, 77, 72, 42, 58, 64;
                ON DBLCLICK oVoice:Voice := oVoice:GetVoices():Item( aVoices[ oBrowVoices:nAt, 1 ]  );
                ID 200 OF oDlg UPDATE

       oBrowVoices:SetArray( aVoices )
       
       REDEFINE COMBOBOX oCbxOutPut VAR cSelOutPutStream;
                      ITEMS aOutPutStream ID 210 OF oDlg UPDATE ;
                ON CHANGE OutPutStream( cSelOutPutStream, oVoice, oFile )

       REDEFINE COMBOBOX oCbxVoiceNormal VAR cSelNormalVoice;
                      ITEMS aVoiceForSelect ID 220 OF oDlg UPDATE;
                ON CHANGE oVoice:Voice := oVoice:GetVoices( "name = " + cSelNormalVoice ):Item( 0 )
                     

       REDEFINE COMBOBOX oCbxVoiceAlert VAR cSelAlertVoice;
                      ITEMS aVoiceForSelect ID 230 OF oDlg UPDATE;
                ON CHANGE oVoiceAlert:Voice := oVoiceAlert:GetVoices( "name = " + cSelAlertVoice ):Item( 0 )
                   

       ACTIVATE DIALOG oDlg CENTERED

    return nil

    function PauseResume( oVoice, oDlg, oBtnPause )
       
       iif( lIsPaused,;
          ( oVoice:Resume(), lIsPaused := .F., oBtnPause:SetText( "Pause" ) ),;
          ( oVoice:Pause(), lIsPaused := .T., oBtnPause:SetText( "Resume" ) ) )
       
    return nil

    function OutPutStream( cSelOutPutStream, oVoice, oFile )

       local SSFMCreateForWrite := 3

       if cSelOutPutStream = "File"
          MsgInfo( "OutPut redirected to a File in 'c:\TeechToSpeak.wav'", "Warning!!!" )
          oFile:Open( "c:\TeechToSpeak.wav" , SSFMCreateForWrite )
          oVoice:AudioOutputStream := oFile
       else
          MsgInfo( "OutPut redirected to Speakers", "Warning!!!" )
          oFile:Close()
          oVoice:AudioOutputStream := nil
       endif
         
    return nil
 
Danielmaximiliano
 
Posts: 24
Joined: Tue Mar 20, 2012 11:06 pm

Re: SAPI : change Voice

Postby Jimmy » Fri Feb 09, 2024 4:48 am

hi Daniel,

can you please provide a *.RC File for your great Solution
greeting,
Jimmy
User avatar
Jimmy
 
Posts: 1732
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: SAPI : change Voice

Postby Danielmaximiliano » Fri Feb 09, 2024 3:07 pm

Jimmy wrote:hi Daniel,

can you please provide a *.RC File for your great Solution


Here --->> https://forums.fivetechsupport.com/viewtopic.php?t=12983
Danielmaximiliano
 
Posts: 24
Joined: Tue Mar 20, 2012 11:06 pm

Re: SAPI : change Voice

Postby Jimmy » Sat Feb 10, 2024 10:23 am

hi,

thx for Link to *.RC

---

i can "see"
Code: Select all  Expand view  RUN
  oSpVoice:EventInterests := SVEAllEvents + SVEAudioLevel

but how to get Event to call Function like in MSDN Sample ?
https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ms723593(v=vs.85)
greeting,
Jimmy
User avatar
Jimmy
 
Posts: 1732
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: SAPI : change Voice

Postby Antonio Linares » Sat Feb 10, 2024 10:38 am

> but how to get Event to call Function like in MSDN Sample ?

oVoice:__hSink := __axRegisterHandler( oVoice:__hObj, { | x, y | QOut( x, y ) } )
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42122
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: SAPI : change Voice

Postby Jimmy » Sat Feb 10, 2024 12:47 pm

hi Antonio,

Code: Select all  Expand view  RUN
oVoice:__hSink := __axRegisterHandler( oVoice:__hObj, { | x, y | QOut( x, y ) } )

i have add that Line into Sample CODE, but nothing "seem" to happen using QOut() :(
when change into MsgInfo() it does "fire" a lot, but "what" are x,y :?:
i have try to FWLOG
Code: Select all  Expand view  RUN
     oVoice:__hSink := __axRegisterHandler( oVoice:__hObj, { | a,b,c,d | LogFile( a, b,c, d ) } )

PROCEDURE LogFile( a, b,c, d )
DEFAULT a := ""
DEFAULT b := ""
DEFAULT c := ""
DEFAULT d := ""
FWLOG hb_valToExp(a), hb_valToExp(b),hb_valToExp(c),hb_valToExp(d)
RETURN

but it crash ... :oops:

---

i want to get "Word" Event to highlight Word which is spoken
Code: Select all  Expand view  RUN
PROCEDURE oSpVoice_Word(StreamNumber, StreamPosition , CharacterPosition , Length )

* In order to show this selection,
* the Text1.HideSelection property must be False!

   SetProperty(SPEAK,"oGetText","SelStart", CharacterPosition )
   SetProperty(SPEAK,"oGetText","SelLength", Length )
   Domethod(SPEAK,"oGetText","SetFocus")
*  Domethod(SPEAK,"oGetText","ScrolltoCaret")

RETURN
greeting,
Jimmy
User avatar
Jimmy
 
Posts: 1732
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

Re: SAPI : change Voice

Postby Danielmaximiliano » Sat Feb 10, 2024 2:37 pm

Hola Antonio :
en otro "post https://forums.fivetechsupport.com/viewtopic.php?f=3&t=44174&p=267309&sid=b7b8ffa9cb6514dfee1e45cd3eb81932&sid=b7b8ffa9cb6514dfee1e45cd3eb81932#p267309" uds respondió
Antonio Linares wrote:Dear Jimmy,

Reviewing Harbour OLE implementation it seems as this is the way:

oVoice:__hSink := __axRegisterHandler( oVoice:__hObj, { | x, y | MsgInfo( x, y ) } )

but here in my tests it is not working as expected.

Maybe another Harbour OLE bug ? I am doing some research to find the right way...


Me imagino que su tiempo debe ser muy ocupado para responder todas las consultas dentro del foro, yo en mi caso solo lo hago mientras desayuno o después de la cena e intento hacer una pequeña contribución.
Saludos !!
Danielmaximiliano
 
Posts: 24
Joined: Tue Mar 20, 2012 11:06 pm

Re: SAPI : change Voice

Postby Antonio Linares » Sat Feb 10, 2024 8:40 pm

Dear Jimmy,

> when change into MsgInfo() it does "fire" a lot, but "what" are x,y

These are VERY GOOD news !!! :-D

Please send me your PRG as you are using it so MsgInfo() gets called, please!!!
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42122
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: SAPI : change Voice

Postby Jimmy » Sat Feb 10, 2024 9:34 pm

hi Antonio,

the CODE i use is from this Thread https://forums.fivetechsupport.com/viewtopic.php?t=12983

---

i have change it to Log "output" this Way
Code: Select all  Expand view  RUN
  SET ALTER ON
   SET ALTER TO "_LOGIT2.TXT "
   ...
   oVoice:__hSink := __axRegisterHandler( oVoice:__hObj, { | a, b,c,d | OnDummy( a, b,c, d ) } )

and use this Function
Code: Select all  Expand view  RUN
FUNCTION onDummy()
LOCAL iMax   := PCOUNT()
LOCAL i
LOCAL cText  := ""
LOCAL xValue

   FOR i := 1 TO iMax - 1
      cText += Var2Char( PValue( i ) ) + CHR( 9 )
   NEXT
   cText += Var2Char( PValue( iMax ) )

   IF EMPTY( cText )
      cText := TIME() + " no Parameter ? " + CRLF + PROCNAME( 1 ) + STR( PROCLINE( 1 ) ) + CRLF + PROCNAME( 2 ) + STR( PROCLINE( 2 ) )
   ENDIF

   SET CONSOLE OFF
   SET ALTER ON

   // ? cText
   QOUT( cText )

   SET ALTER OFF
   SET CONSOLE ON

RETURN NIL

FUNCTION VAR2CHAR( cIn )
LOCAL cOut := hb_valToExp( cIn )
RETURN STRTRAN( cOut, '"', '' )

now i got Parameter a,b,c,d when press "play" ... but what does they mean :?:

Code: Select all  Expand view  RUN
1   1   0.00    NIL
3   1   0.00    __itemSetObj( {{__HOBJ, <pointer>}}, {{WIN_OLEAUTO,}} )
7   1   0.00    0
6   1   0.00    100
8   1   0.00    100
5   1   3200.00 0
6   1   3200.00 125
8   1   3200.00 125
6   1   7200.00 77
8   1   7200.00 155
6   1   9680.00 77
5   1   12160.00    3
6   1   12160.00    55
8   1   12160.00    55
6   1   13920.00    90
8   1   13920.00    90
5   1   16800.00    7
6   1   16800.00    87
8   1   16800.00    175
6   1   19600.00    87
5   1   22400.00    9
6   1   22400.00    45
8   1   22400.00    45
6   1   23840.00    60
8   1   23840.00    60
5   1   25760.00    12
6   1   25760.00    80
8   1   25760.00    80
6   1   28320.00    55
8   1   28320.00    55
6   1   30080.00    60
8   1   30080.00    60
6   1   32000.00    65
8   1   32000.00    65
6   1   34080.00    65
8   1   34080.00    65
6   1   36160.00    60
8   1   36160.00    60
6   1   38080.00    70
8   1   38080.00    70
6   1   40320.00    70
8   1   40320.00    70
6   1   42560.00    140
8   1   42560.00    70
8   1   44800.00    70
6   1   47040.00    60
8   1   47040.00    60
6   1   48960.00    75
8   1   48960.00    75
6   1   51360.00    105
8   1   51360.00    105
5   1   54720.00    26
6   1   54720.00    40
8   1   54720.00    40
6   1   56000.00    45
8   1   56000.00    45
5   1   57440.00    29
6   1   57440.00    115
8   1   57440.00    115
6   1   61120.00    165
8   1   61120.00    82
8   1   63760.00    82
6   1   66400.00    105
8   1   66400.00    105
6   1   69760.00    60
8   1   69760.00    60
6   1   71680.00    75
8   1   71680.00    75
6   1   74080.00    140
8   1   74080.00    140
6   1   78560.00    500
8   1   78560.00    500
5   1   94560.00    38
6   1   94560.00    130
8   1   94560.00    130
6   1   98720.00    105
8   1   98720.00    105
6   1   102080.00   55
8   1   102080.00   55
6   1   103840.00   75
8   1   103840.00   75
6   1   106240.00   130
8   1   106240.00   65
8   1   108320.00   65
6   1   110400.00   75
8   1   110400.00   75
6   1   112800.00   135
8   1   112800.00   135
5   1   117120.00   45
6   1   117120.00   105
8   1   117120.00   105
6   1   120480.00   65
8   1   120480.00   65
6   1   122560.00   135
8   1   122560.00   135
5   1   126880.00   49
6   1   126880.00   60
8   1   126880.00   60
6   1   128800.00   60
8   1   128800.00   60
6   1   130720.00   45
8   1   130720.00   45
6   1   132160.00   65
8   1   132160.00   65
6   1   134240.00   65
8   1   134240.00   65
6   1   136320.00   45
8   1   136320.00   45
6   1   137760.00   60
8   1   137760.00   60
6   1   139680.00   55
8   1   139680.00   55
6   1   141440.00   135
8   1   141440.00   67
8   1   143600.00   67
6   1   145760.00   60
8   1   145760.00   60
6   1   147680.00   100
8   1   147680.00   100
6   1   150880.00   65
8   1   150880.00   65
5   1   152960.00   63
6   1   152960.00   55
8   1   152960.00   55
6   1   154720.00   60
8   1   154720.00   60
6   1   156640.00   70
8   1   156640.00   70
6   1   158880.00   65
8   1   158880.00   65
6   1   160960.00   60
8   1   160960.00   60
6   1   162880.00   100
8   1   162880.00   100
6   1   166080.00   45
8   1   166080.00   45
6   1   167520.00   130
8   1   167520.00   130
5   1   171680.00   72
6   1   171680.00   87
8   1   171680.00   175
6   1   174480.00   87
5   1   177280.00   74
6   1   177280.00   120
8   1   177280.00   120
6   1   181120.00   105
8   1   181120.00   105
6   1   184480.00   95
8   1   184480.00   95
6   1   187520.00   55
8   1   187520.00   55
6   1   189280.00   60
8   1   189280.00   60
6   1   191200.00   90
8   1   191200.00   90
6   1   194080.00   125
8   1   194080.00   125
6   1   198080.00   200
8   1   198080.00   200
6   1   204480.00   750
8   1   204480.00   750
7   1   228480.00   85
6   1   228480.00   100
8   1   228480.00   100
5   1   231680.00   85
6   1   231680.00   55
8   1   231680.00   55
6   1   233440.00   55
8   1   233440.00   55
5   1   235200.00   88
6   1   235200.00   50
8   1   235200.00   50
6   1   236800.00   65
8   1   236800.00   65
6   1   238880.00   110
8   1   238880.00   110
6   1   242400.00   75
8   1   242400.00   75
6   1   244800.00   50
8   1   244800.00   50
6   1   246400.00   105
8   1   246400.00   105
6   1   249760.00   65
8   1   249760.00   65
6   1   251840.00   105
8   1   251840.00   105
5   1   255200.00   99
6   1   255200.00   45
8   1   255200.00   45
6   1   256640.00   80
8   1   256640.00   80
5   1   259200.00   102
6   1   259200.00   90
8   1   259200.00   90
6   1   262080.00   85
8   1   262080.00   85
6   1   264800.00   40
8   1   264800.00   40
6   1   266080.00   60
8   1   266080.00   60
6   1   268000.00   100
8   1   268000.00   100
6   1   271200.00   75
8   1   271200.00   75
6   1   273600.00   135
8   1   273600.00   67
8   1   275760.00   67
6   1   277920.00   45
8   1   277920.00   45
6   1   279360.00   80
8   1   279360.00   80
6   1   281920.00   55
8   1   281920.00   55
6   1   283680.00   55
8   1   283680.00   55
6   1   285440.00   90
8   1   285440.00   90
5   1   288320.00   115
6   1   288320.00   40
8   1   288320.00   40
6   1   289600.00   60
8   1   289600.00   60
5   1   291520.00   118
6   1   291520.00   65
8   1   291520.00   65
6   1   293600.00   45
8   1   293600.00   45
6   1   295040.00   85
8   1   295040.00   85
6   1   297760.00   35
8   1   297760.00   35
6   1   298880.00   115
8   1   298880.00   115
6   1   302560.00   95
8   1   302560.00   95
5   1   305600.00   126
6   1   305600.00   95
8   1   305600.00   95
6   1   308640.00   85
8   1   308640.00   85
6   1   311360.00   50
8   1   311360.00   50
6   1   312960.00   55
8   1   312960.00   55
6   1   314720.00   55
8   1   314720.00   55
6   1   316480.00   130
8   1   316480.00   65
8   1   318560.00   65
6   1   320640.00   90
8   1   320640.00   90
6   1   323520.00   90
8   1   323520.00   90
6   1   326400.00   55
8   1   326400.00   55
6   1   328160.00   170
8   1   328160.00   170
6   1   333600.00   500
8   1   333600.00   500
5   1   349600.00   138
6   1   349600.00   65
8   1   349600.00   65
6   1   351680.00   90
8   1   351680.00   90
6   1   354560.00   150
8   1   354560.00   150
6   1   359360.00   500
8   1   359360.00   500
5   1   375360.00   140
6   1   375360.00   190
8   1   375360.00   190
6   1   381440.00   60
8   1   381440.00   120
6   1   383360.00   60
6   1   385280.00   65
8   1   385280.00   65
6   1   387360.00   70
8   1   387360.00   70
6   1   389600.00   110
8   1   389600.00   110
6   1   393120.00   40
8   1   393120.00   80
6   1   394400.00   40
5   1   395680.00   148
6   1   395680.00   60
8   1   395680.00   60
6   1   397600.00   65
8   1   397600.00   65
6   1   399680.00   110
8   1   399680.00   110
6   1   403200.00   80
8   1   403200.00   80
6   1   405760.00   60
8   1   405760.00   60
6   1   407680.00   105
8   1   407680.00   105
6   1   411040.00   80
8   1   411040.00   80
5   1   413600.00   150
6   1   413600.00   110
8   1   413600.00   110
6   1   417120.00   165
8   1   417120.00   82
8   1   419760.00   82
6   1   422400.00   105
8   1   422400.00   105
6   1   425760.00   60
8   1   425760.00   60
6   1   427680.00   75
8   1   427680.00   75
6   1   430080.00   200
8   1   430080.00   200
6   1   436480.00   750
8   1   436480.00   750
7   1   460480.00   159
6   1   460480.00   100
8   1   460480.00   100
5   1   463680.00   159
6   1   463680.00   85
8   1   463680.00   85
6   1   466400.00   125
8   1   466400.00   125
6   1   470400.00   65
8   1   470400.00   65
6   1   472480.00   200
8   1   472480.00   200
6   1   478880.00   750
8   1   478880.00   750
7   1   502880.00   165
6   1   502880.00   100
8   1   502880.00   100
5   1   506080.00   165
6   1   506080.00   80
8   1   506080.00   80
6   1   508640.00   85
8   1   508640.00   85
5   1   511360.00   169
6   1   511360.00   72
8   1   511360.00   145
6   1   513680.00   72
5   1   516000.00   171
6   1   516000.00   85
8   1   516000.00   85
6   1   518720.00   60
8   1   518720.00   60
6   1   520640.00   75
8   1   520640.00   75
6   1   523040.00   80
8   1   523040.00   80
6   1   525600.00   40
8   1   525600.00   40
6   1   526880.00   60
8   1   526880.00   60
6   1   528800.00   100
8   1   528800.00   100
6   1   532000.00   85
8   1   532000.00   85
6   1   534720.00   55
8   1   534720.00   55
6   1   536480.00   75
8   1   536480.00   75
6   1   538880.00   65
8   1   538880.00   65
6   1   540960.00   70
8   1   540960.00   70
6   1   543200.00   52
8   1   543200.00   105
6   1   544880.00   52
6   1   546560.00   130
8   1   546560.00   130
6   1   550720.00   65
8   1   550720.00   65
5   1   552800.00   182
6   1   552800.00   75
8   1   552800.00   75
6   1   555200.00   110
8   1   555200.00   110
6   1   558720.00   85
8   1   558720.00   85
5   1   561440.00   186
6   1   561440.00   90
8   1   561440.00   90
6   1   564320.00   60
8   1   564320.00   60
6   1   566240.00   70
8   1   566240.00   70
6   1   568480.00   90
8   1   568480.00   45
8   1   569920.00   45
6   1   571360.00   105
8   1   571360.00   105
6   1   574720.00   60
8   1   574720.00   60
6   1   576640.00   75
8   1   576640.00   75
6   1   579040.00   110
8   1   579040.00   110
6   1   582560.00   115
8   1   582560.00   115
6   1   586240.00   80
8   1   586240.00   80
5   1   588800.00   196
6   1   588800.00   90
8   1   588800.00   90
6   1   591680.00   125
8   1   591680.00   125
6   1   595680.00   75
8   1   595680.00   75
6   1   598080.00   90
8   1   598080.00   90
6   1   600960.00   60
8   1   600960.00   60
6   1   602880.00   95
8   1   602880.00   95
6   1   605920.00   105
8   1   605920.00   105
6   1   609280.00   80
8   1   609280.00   80
5   1   611840.00   205
6   1   611840.00   65
8   1   611840.00   65
6   1   613920.00   85
8   1   613920.00   85
5   1   616640.00   209
6   1   616640.00   75
8   1   616640.00   75
6   1   619040.00   80
8   1   619040.00   80
6   1   621600.00   65
8   1   621600.00   65
6   1   623680.00   70
8   1   623680.00   70
6   1   625920.00   75
8   1   625920.00   75
5   1   628320.00   215
6   1   628320.00   50
8   1   628320.00   50
6   1   629920.00   95
8   1   629920.00   95
6   1   632960.00   60
8   1   632960.00   60
6   1   634880.00   60
8   1   634880.00   60
5   1   636800.00   220
6   1   636800.00   110
8   1   636800.00   110
6   1   640320.00   85
8   1   640320.00   85
6   1   643040.00   55
8   1   643040.00   55
6   1   644800.00   55
8   1   644800.00   55
6   1   646560.00   80
8   1   646560.00   80
5   1   649120.00   226
6   1   649120.00   95
8   1   649120.00   95
6   1   652160.00   57
8   1   652160.00   115
6   1   654000.00   57
6   1   655840.00   55
8   1   655840.00   55
6   1   657600.00   90
8   1   657600.00   90
5   1   660480.00   231
6   1   660480.00   95
8   1   660480.00   95
6   1   663520.00   75
8   1   663520.00   75
6   1   665920.00   60
8   1   665920.00   60
6   1   667840.00   80
8   1   667840.00   80
6   1   670400.00   65
8   1   670400.00   65
6   1   672480.00   60
8   1   672480.00   60
6   1   674400.00   110
8   1   674400.00   110
6   1   677920.00   25
8   1   677920.00   50
6   1   678720.00   25
5   1   679520.00   241
6   1   679520.00   95
8   1   679520.00   95
6   1   682560.00   60
8   1   682560.00   60
6   1   684480.00   60
8   1   684480.00   60
6   1   686400.00   60
8   1   686400.00   60
6   1   688320.00   65
8   1   688320.00   65
6   1   690400.00   75
8   1   690400.00   75
6   1   692800.00   60
8   1   692800.00   60
6   1   694720.00   75
8   1   694720.00   75
6   1   697120.00   80
8   1   697120.00   80
6   1   699680.00   70
8   1   699680.00   70
6   1   701920.00   75
8   1   701920.00   75
6   1   704320.00   200
8   1   704320.00   200
6   1   710720.00   750
8   1   710720.00   750
7   1   734720.00   256
6   1   734720.00   100
8   1   734720.00   100
5   1   737920.00   256
6   1   737920.00   70
8   1   737920.00   70
6   1   740160.00   125
8   1   740160.00   125
6   1   744160.00   45
8   1   744160.00   45
6   1   745600.00   105
8   1   745600.00   105
6   1   748960.00   100
8   1   748960.00   100
6   1   752160.00   90
8   1   752160.00   90
5   1   755040.00   260
6   1   755040.00   95
8   1   755040.00   95
6   1   758080.00   80
8   1   758080.00   80
6   1   760640.00   40
8   1   760640.00   40
6   1   761920.00   65
8   1   761920.00   65
6   1   764000.00   100
8   1   764000.00   100
6   1   767200.00   70
8   1   767200.00   70
6   1   769440.00   140
8   1   769440.00   70
8   1   771680.00   70
6   1   773920.00   40
8   1   773920.00   40
6   1   775200.00   80
8   1   775200.00   80
6   1   777760.00   55
8   1   777760.00   55
6   1   779520.00   55
8   1   779520.00   55
6   1   781280.00   80
8   1   781280.00   80
5   1   783840.00   273
6   1   783840.00   40
8   1   783840.00   40
6   1   785120.00   60
8   1   785120.00   60
5   1   787040.00   276
6   1   787040.00   65
8   1   787040.00   65
6   1   789120.00   50
8   1   789120.00   50
6   1   790720.00   85
8   1   790720.00   85
6   1   793440.00   55
8   1   793440.00   55
6   1   795200.00   165
8   1   795200.00   165
6   1   800480.00   200
8   1   800480.00   200
6   1   806880.00   750
8   1   806880.00   750
2   1   830880.00   NIL
greeting,
Jimmy
User avatar
Jimmy
 
Posts: 1732
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany

PreviousNext

Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 18 guests