adjunto la imagen
aca el codigo fuente
- Code: Select all Expand view
#include "FiveLinux.ch"
#define CRLF chr( 10 )
#define CRLF_WINDOWS chr( 13 ) + chr( 10 )
#define COPYRIGHT "Wilson 'W' Gamboa A"
Function Main
Local oWnd
Local nRow0 := 2
Local nCol0 := 3
Local oRadio
Local oCambio := tWg_UtilCambioLinux():New()
Local nRadio := 1
Local oMeter
Local nVar := 0
Local nTotal := 100
Local lWhen := .T.
Local acItems := {'Nombres de Archivos a Minúsculas','Traducir caracter de fin de lineas en Codigo Fuente'}
DEFINE DIALOG oDlg SIZE 640, 280 Title 'Utilitarios de Conversión Windows - Linux ' + COPYRIGHT
@ 1, 45 IMAGE FILENAME "wilson.gif" OF oDlg SIZE 140, 140
@ nRow0 -2, 1 GROUP oGrp LABEL "Acciones a Realizar" OF oDlg SIZE 600, 160
@ nRow0 , nCol0 RADIO oRadio VAR nRadio ;
OF oDlg ;
ITEMS acItems ;
SIZE 400, 20 ;
WHEN lWhen ;
UPDATE
@ nRow0 + 10, nCol0 METER oMeter VAR nVar ;
TOTAL nTotal ;
OF oDlg ;
SIZE 300, 30 UPDATE
@ nRow0 +20, nCol0 BUTTON "_Ejecutar" OF oDlg ACTION ( oCambio:nRadio := nRadio ,;
oCambio:oMeter := oMeter ,;
oCambio:ejecute() ) SIZE 100, 30
@ nRow0 +20, nCol0 + 40 BUTTON "_Cancelar" OF oDlg ACTION oDlg:End() SIZE 100, 30
ACTIVATE DIALOG oDlg CENTER
Return Nil
Class tWg_UtilCambioLinux
Data oMeter
Data nRadio
Method New() constructor
Method Minusculas()
Method Ejecute( nRadio )
Method CambiaFinDeLinea()
EndClass
Method New() Class tWg_UtilCambioLinux
Return Self
Method Minusculas() Class tWg_UtilCambioLinux
Local aDirec := directory( '*.*' )
Local i
Local aCambio := {}
Local cLoFile
Local nOp
Local lMeter := ( Valtype( ::oMeter ) == 'O' )
if !MsgYesno('Seguro de cambiar a minúsculas los nombres de todos ' + CRLF +;
'los archivos del presente directorio' )
Return Nil
end
for i:= 1 to len( aDirec )
cLoFile := aDirec[ i, 1 ]
if cLofile <> Lower ( cLofile )
aadd( aCambio, { cLofile, Lower( cLoFile ) } )
end
next
if lMeter
::oMeter:nTotal := Len( aCambio )
::oMeter:Set( 0 )
end
for i:= 1 to len( aCambio )
if lMeter
::oMeter:Set( i )
end
Frename( aCambio[ i, 1], aCambio[ i, 2 ] )
end
Return Nil
Method Ejecute( nRadio ) Class tWg_UtilCambioLinux
if ::nRadio == 1
::Minusculas()
elseif ::nRadio == 2
::CambiaFinDeLinea()
end
Return Nil
Method CambiaFinDeLinea( ) Class tWg_UtilCambioLinux
Local cMemo
Local aDirec
Local i
Local lMeter := ( Valtype( ::oMeter ) == 'O' )
if !MsgYesno('Seguro de cambiar el fin de linea de windows a Linux' )
Return Nil
end
aDirec := directory( '*.prg')
if lMeter
::oMeter:nTotal := Len( aDirec )
::oMeter:Set( 0 )
end
for i:= 1 to len( aDirec )
if lMeter
::oMeter:Set( i )
end
cMemo := Memoread( aDirec[ i, 1 ] )
cMemo := StrTran( cMemo, CRLF_WINDOWS, CRLF)
MemoWrit( cMemo )
Next
Return Nil
perdon por la ignorancia, aun no se implementa la clausula Pixels ??
favor observa como tuve que cuadrar a mano la foto ? porque aparentemente no son pixels esos valores horizontales
de todas formas esta fantastico esto
gracias x todo