Jump to content
Fivewin Brasil

Obter diretorio de um arquivo


Edu

Recommended Posts

Bom dia!

Estou fazendo uma funçao em um sistema para abrir arquivos txt.

Então gostaria de saber como é que eu posso gravar o caminho do diretorio desses arquivos, para trazer como default. E criar um vetor com os nomes dos arquivos e mostra-los em um listbox.

Desde ja agradeço pela atenção.

Link to comment
Share on other sites

Bom dia!

Estou fazendo uma funçao em um sistema para abrir arquivos txt.

Então gostaria de saber como é que eu posso gravar o caminho do diretorio desses arquivos, para trazer como default. E criar um vetor com os nomes dos arquivos e mostra-los em um listbox.

Desde ja agradeço pela atenção.

Link to comment
Share on other sites

Tá na mão...


#Include "FiveWin.Ch"

#Define MB_OKCANCEL 1 // 0x0001

#Define MB_RETRYCANCEL 5 // 0x0005

#Define MB_ICONSTOP 16 // 0x0010

#Define MB_ICONEXCLAMATION 48 // 0x0030

#Define MB_ICONASTERISK 54 // 0x0040

#Define CLR_LGREEN nRGB( 190, 215, 190 )

#Define CLR_LGRAY nRGB( 230, 230, 230 )

#Define CLR_VERMELHO nRGB( 255, 000, 000 ) //--> Vermelho Para a Letra

#Define CLR_AMARELO nRGB( 255, 255, 000 ) //--> Amarelo Para o Fundo

STATIC nBytes, nDisks

STATIC lnKeyEscape := .F.

FUNCTION Backup() // Procedimentos do Backup

LOCAL oSetupDlg, nDriveTo := 1, cDriveTo, nDriveCap := 4

LOCAL lGoOn, aFiles[1], aFileList, x, iDcor, oFont, oSaida

// Array Para Copia dos Arquivos := aFiles[X] - 1,2,3,4,5...Etc.

LOCAL aTxts := Directory( "*.TXT" )

LOCAL oDlg, oBrw, n := 1

LOCAL oAceitar, oCancelar, nKey := VK_RETURN

If Len( aTxts ) < 1

Msginfo( "Desculpe Não Achei os Arquivos *.TXT Neste Diretório", ;

"Informação" )

Return Nil

Endif

aSort( aTxts,,, { |x, y | x[1] < y[1] } )

DEFINE FONT oFont NAME "Arial" SIZE 0, 16 BOLD

DEFINE DIALOG oDlg FROM 6, 20 TO 25, 78 ;

TITLE "Browse dos Arquivos TXTs em: " + ;

CurDir() + " Visualizar" ;

STYLE nOR( WS_BORDER, WS_THICKFRAME ) ;

COLORS CLR_BLACK, nRGB( 193, 205, 205 )

@ 1, 2 LISTBOX oBrw Fields aTxts[n][1], ;

Str(aTxts[n][2],10,0), ;

Dtoc( aTxts[n][3] ), ;

aTxts[n][4] ;

HEADERS "Nome do Arquivo", ;

"Tamanho", "Data", ;

"Hora" ;

FIELDSIZES 120,80,80,60 ;

COLOR CLR_HBLUE, CLR_AMARELO ;

FONT oFont ;

Of oDlg Size 200, 100

oBrw:bGotop := { || N := 1 }

oBrw:bGoBottom := { || N := Eval( oBrw:bLogicLen ) }

oBrw:bSkip := { | nWant, nOld | nOld := N , N += nWant,;

N := Max( 1, Min( N, Eval( oBrw:bLogicLen ) ) ),;

N - nOld }

oBrw:bLogicLen := { || Len( aTxts ) }

oBrw:cAlias := "Array"

//---------------------------------------------------------------------

oBrw:nClrBackHead := CLR_LGREEN // Cor do Fundo do Cabe‡alho

oBrw:nClrBackFocus := CLR_HRED // Cor do Cursor Em Cima do Ötem

oBrw:nClrForeFocus := CLR_AMARELO // cor da letra da barra ativa

oBrw:nClrForeHead := CLR_HRED // Cor nos Headers - Cabe‡alhos

oBrw:nColAct := 1 // Onde o Cursor Vai Iniciar qual coluna?

oBrw:nLineStyle := 3 // Estilo das linhas nos dados da Browse

oBrw:lCellStyle := .T. // S¢ Pinta a celula que o cursor est 

// Justifica As Colunas dos Campos Esq. .T. = Centro

oBrw:aJustify := { .F., .F., .F., .F. }

oBrw:lMChange := .F. // Desabilita Mousemove

oBrw:SetFocus() // Refocus on The Browse

oBrw:Refresh() // Estabiliza o Browse/Listbox

// ( Pinta os Dados Novamente )

@ 6.6, 16 BUTTON oSaida ;

PROMPT "&Saida" OF oDlg ;

ACTION( oDlg:End() ) ;

SIZE 40, 12 ;

CANCEL

oSaida:cToolTip := "Saida - Exit - Cancelar"

ACTIVATE DIALOG oDlg CENTERED

oFont:End()

Release All

RETURN NIL

// End of Program - Fim do Programa - João Santos - São Paulo - Brazil.

// kmt_karinha@pop.com.br

id=code>id=code>

João Santos - São Paulo.

joao@pleno.com.br

Fone: (11) 3106-2832 / 5150-7341 - TIM

https://www.facebook.com/kapiaba

FWH 2.7 - xHARBOUR WorkShop.Exe

Link to comment
Share on other sites


criando o vetor e caminho do diretorio

local aFiles, nCount, aSource:={}, cCod_Vend:="005", cDir_Sit:="c:\test\"

aFiles := Directory(cDir_Sit+"????"+cCod_Vend+".txt") //pega todos os arquivos do diretorio test de formato ????005.txt. ... use *.* para todos

If Empty(aFiles)

MsgAlert( "arquivo n encontrado." )

Return nil

Endif

For nCount = 1 TO Len(aFiles)

If aFiles[nCount,2] > 0 // se o tamenho do arquivo for maior que zero

aAdd( aSource, Alltrim(aFiles[nCount,1]) ) //armazena o nome do arquivo no vetor aSource

Endif

Next

*-------

LISTBOX

Local oDlg, oLbx, N1:=1

DEFINE DIALOG oDlg FROM 4, 4 TO 35, 85 TITLE "Dialog Teste"

@ 06,0 LISTBOX oLbx FIELDS aSource[n1,1] HEADERS "NOme do arquivo" FIELDSIZES 200 SIZE 100, 065 FONT oFont OF oDlg

oLbx:bGotop := { || n1 := 1 }

oLbx:bGoBottom := { || n1 := eval( oLbx:bLogicLen ) }

oLbx:bSkip := { | nwant, nold | nold := n1 , n1 +=nwant, n1 := max( 1, min( n1, eval( oLbx:bLogicLen ))), n1 - nOld }

oLbx:bLogicLen := { || len( aSource ) }

oLbx:cAlias := "Array"

oDlg:lHelpIcon:=.f.

ACTIVATE DIALOG oDlg CENTERED

id=code>id=code>
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...