Página 2 de 4
Salvar screen
Enviado: 30 Mai 2012 16:36
por bencz
Bom, agora, na hora q salvei, ficou mais estranho ainda...
nRange: 160
nCellSiz: 2
arquivo salvo:
Era p/ aparecer:
OLA MUNDO
lalas
25
80
--------------
Algo assim...
Salvar screen
Enviado: 30 Mai 2012 16:51
por Imatech
Nova tentativa...
Código: Selecionar todos
*--------------------------------------------------------------*
* RM_MVSAVE()
*--------------------------------------------------------------*
FUNCTION RM_MVSAVE()
LOCAL i := 0
LOCAL nForLoop := 0
LOCAL t := 0
LOCAL l := 0
LOCAL b := MAXROW()
LOCAL r := MAXCOL()
LOCAL cScreen := SAVESCREEN(t, l, b, r) //
LOCAL nCellSize := INT( len( Savescreen( 0, 0, 0, 0 ) ) / 2 )
LOCAL nStart := 1
LOCAL nRange := INT( ( ( r + 1 ) * nCellSize ) / 2 )
LOCAL sAux := ''
LOCAL cOutString := ''
LOCAL cSubString := ''
For i := 1 To b + 1
cOutString := ''
cSubString := Substr( cScreen, nStart, nRange )
For nForLoop := 1 To nRange step nCellSize
cOutString += Substr( cSubString, nForLoop, 1 )
Next
sAux += ( cOutString ) + CHR(13) + CHR(10)
nStart += nRange
Next
RETUNR( sAux )
Salvar screen
Enviado: 30 Mai 2012 16:55
por bencz
Bom, ainda não :/
Código: Selecionar todos
OLA MUND
O
lalas
OLA MUNDO
lalas
25
lalas
25
80
25
80
---------
80
--------
-
---------
Salvar screen
Enviado: 30 Mai 2012 16:57
por bencz
Não consigo entender, o pq ele multiplica as strings....
pude notar, q qnd eu tirei o " WVW_nOpenWindow("MEU TESTE", 10, 20, 20, 50) ", ele salvou corretamente, só q qnd eu abri o arquivo, ele estava cheio de bolinhas, e nao estava "formatado" nas posições...
mas o problema, é q eu tenho q pegar a informação, q esta em uma dialog, separada da main...
Salvar screen
Enviado: 30 Mai 2012 16:58
por Imatech
Tentar adivinhar a montagem de tela wvw
Vamos novamente...
Código: Selecionar todos
*--------------------------------------------------------------*
* RM_MVSAVE()
*--------------------------------------------------------------*
FUNCTION RM_MVSAVE()
LOCAL i := 0
LOCAL nForLoop := 0
LOCAL t := 0
LOCAL l := 0
LOCAL b := MAXROW()
LOCAL r := MAXCOL()
LOCAL cScreen := SAVESCREEN(t, l, b, r) //
LOCAL nCellSize := INT( len( Savescreen( 0, 0, 0, 0 ) ) * 2 )
LOCAL nStart := 0
LOCAL nRange := INT( ( ( r + 1 ) * nCellSize ) * 2 )
LOCAL sAux := ''
LOCAL cOutString := ''
LOCAL cSubString := ''
For i := 1 To b + 1
cOutString := ''
cSubString := Substr( cScreen, nStart, nRange )
For nForLoop := 1 To nRange step nCellSize
cOutString += Substr( cSubString, nForLoop, 1 )
Next
sAux += ( cOutString ) + CHR(13) + CHR(10)
nStart += nRange
Next
RETUNR( sAux )
Salvar screen
Enviado: 30 Mai 2012 17:02
por bencz
Vamos

Salvar screen
Enviado: 30 Mai 2012 17:11
por Imatech
DE NOVO... dificil nao usar wvw... kkk
Código: Selecionar todos
*--------------------------------------------------------------*
* RM_MVSAVE()
*--------------------------------------------------------------*
FUNCTION RM_MVSAVE()
LOCAL i := 0
LOCAL nForLoop := 0
LOCAL t := 0
LOCAL l := 0
LOCAL b := MAXROW()
LOCAL r := MAXCOL()
LOCAL cScreen := SAVESCREEN(t, l, b, r) //
LOCAL nCellSize := INT( len( Savescreen( 0, 0, 0, 0 ) ) * 1 )
LOCAL nStart := 1
LOCAL nRange := INT( ( ( r + 1 ) * nCellSize ) * 1 )
LOCAL sAux := ''
LOCAL cOutString := ''
LOCAL cSubString := ''
For i := 1 To ( b + 1 )
cOutString := ''
cSubString := Substr( cScreen, nStart, nRange )
cOutString += Substr( cSubString, nStart, INT( nRange / 2) )
sAux += ( cOutString ) + CHR(13) + CHR(10)
nStart += nRange
Next
RETUNR( sAux )
Salvar screen
Enviado: 30 Mai 2012 17:13
por bencz
bom, agora, ele só gravou uma linha, e continuou com as bolinhas...
Salvar screen
Enviado: 30 Mai 2012 17:18
por Imatech
OPS: Erro na linha 22
Código: Selecionar todos
*--------------------------------------------------------------*
* RM_MVSAVE()
*--------------------------------------------------------------*
FUNCTION RM_MVSAVE()
LOCAL i := 0
LOCAL nForLoop := 0
LOCAL t := 0
LOCAL l := 0
LOCAL b := MAXROW()
LOCAL r := MAXCOL()
LOCAL cScreen := SAVESCREEN(t, l, b, r) //
LOCAL nCellSize := INT( len( Savescreen( 0, 0, 0, 0 ) ) * 1 )
LOCAL nStart := 1
LOCAL nRange := INT( ( ( r + 1 ) * nCellSize ) * 1 )
LOCAL sAux := ''
LOCAL cOutString := ''
LOCAL cSubString := ''
For i := 1 To ( b + 1 )
cOutString := ''
cSubString := Substr( cScreen, nStart, ( nRange / 2 ) )
sAux += ( cOutString ) + CHR(13) + CHR(10)
nStart += nRange
Next
RETUNR( sAux )
Salvar screen
Enviado: 30 Mai 2012 17:29
por bencz
Olá, fiz uma alteração nessa linha:
E ele escreveu o texto no arquivo... mas o texto, ainda está cheio de bolinhas....
Código: Selecionar todos
OLA MUND
OLA MUNDO lalas
lalas
25 80
80 --------
---------
Salvar screen
Enviado: 30 Mai 2012 17:33
por Imatech
VERSÃO FINAL
Código: Selecionar todos
*--------------------------------------------------------------*
* RM_MVSAVE()
*--------------------------------------------------------------*
FUNCTION RM_MVSAVE()
LOCAL i := 0
LOCAL b := MAXROW()
LOCAL r := MAXCOL()
LOCAL cScreen := SAVESCREEN(0, 0, b, r) //
LOCAL nCellSize := INT( len( Savescreen( 0, 0, 0, 0 ) ) * 1 )
LOCAL nStart := 1
LOCAL nRange := INT( ( ( r + 1 ) * nCellSize ) * 1 )
LOCAL cOutString := ''
For i := 1 To ( b + 1 )
cOutString += Substr( cScreen, nStart, INT( nRange / nCellSize ) ) + CHR(13) + CHR(10)
nStart += nRange
Next
RETUNR( cOutString )
Salvar screen
Enviado: 30 Mai 2012 17:35
por bencz
Bom, continua com texto duplicado, e cheio de bolinha :/
encontrei algo q pode fazer diferença...
qnd eu apago os numero dessa linha de comando:
ficando:
ele salva um unico texto... no arquivo, mas, o texto continua cheio de bolinhas, e a janela nao esta no tamanho q eu tenho q deixar ela;x
Salvar screen
Enviado: 30 Mai 2012 17:40
por Imatech
Não se pode eliminar o 2o loop for...next
E aparentemente a www trabalha com 3 vetores enquanto o função só identifica 2
...
Vamos a novo modelo... aguarde...
Salvar screen
Enviado: 30 Mai 2012 17:49
por Imatech
Código: Selecionar todos
*--------------------------------------------------------------*
* RM_MVSAVE()
*--------------------------------------------------------------*
FUNCTION RM_MVSAVE()
LOCAL i := 0
LOCAL nForLoop := 0
LOCAL b := MAXROW()
LOCAL r := MAXCOL()
LOCAL cScreen := SAVESCREEN(0, 0, b, r) //
LOCAL nCellSize := INT( len( Savescreen( 0, 0, 0, 0 ) ) * 2 )
LOCAL nStart := 1
LOCAL nRange := INT( ( ( r + 1 ) * nCellSize ) * 1 )
LOCAL cSubString := ''
LOCAL cOutString := ''
For i := 1 To ( b + 1 )
cOutString := ''
cSubString := Substr( cScreen, nStart, nRange )
For nForLoop := 1 To nRange step nCellSize
cOutString += Substr( cSubString, nForLoop, 1 )
Next
sAux += ( cOutString ) + CHR(13) + CHR(10)
nStart += nRange
Next
RETURN( cOutString )
Salvar screen
Enviado: 30 Mai 2012 17:55
por Imatech
pode usar o comando completo: não faz diferença...
WVW_nOpenWindow("MEU TESTE",10,20,20,50)
Caso o teste dé errado, modifique a linha:
LOCAL nCellSize := INT( len( Savescreen( 0, 0, 0, 0 ) ) * 2 )
para
LOCAL nCellSize := INT( len( Savescreen( 0, 0, 0, 0 ) ) * 1.5 )