Jump to content
Fivewin Brasil

Anderson.OL

Membros
  • Posts

    2,018
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Anderson.OL

  1. Æ galera, consegui com o seguinte codigo: REDEFINE BTNBMP RESOURCE "new24","del24" ; ID 201 ; OF oDlgMyCad; TOOLTIP OemToAnsi( "Calculadora" ) Vlw pela força... [ ]´s /*-----------------// Clipper 5.2c / FiveWin 1.9.2 / Blinker 7.0 / Workshop //-- Nesse mundo nada se cria, tudo se compila.. //-----------------*/
  2. citação:REDEFINE BTNBMP ID 101 OF oDlgMyCad RESOURCE "Nome do Botao no Workshop" action msginfo(".") abraço! id=quote>id=quote>Tah, entendi... mas a clausula RESOURCE se refere a que? A um resource de imagem? /*-----------------// Clipper 5.2c / FiveWin 1.9.2 / Blinker 7.0 / Workshop //-- Nesse mundo nada se cria, tudo se compila.. //-----------------*/
  3. Olá.... Estou tentando padronizar janelas de cadastro, e para isto estou tentando criar um Dialog padrão no WorkShop e depois criar Dialogs atraves de Resources.... Ateh ai tudo bem, consigo ateh mesmo redefinir as ações do dos Buttons, mas eu gostaria de usar BtnBmp no lugar de Buttons, para isto eu instalei a DLL FWCTRLS, soh tenho uma duvida, alguem sabe como redefinir um BTNBMP?? Gostaria de um exemplo, como o REDEFINE para o Button abaixo: Redefine Button Id 101 of oDlgMyCad Action msginfo(".") Desde já sou grato pela ajuda. /*-----------------// Clipper 5.2c / FiveWin 1.9.2 / Blinker 7.0 //-- Nesse mundo nada se cria, tudo se compila.. //-----------------*/
  4. Olá... Ontem postei aki um topico citando o meu problema ao gerar arquivo TXT. Este foi solucionado graças a ajudas de vcs... Mas, agora estou com dificuldade de visualizar o arquivo txt, a partir do momemto que este é muito grande. Notei que qdto o arquivo tem em média 6 páginas, o codigo que gerei, funciona perfeitamente, mas caso o arquivo seja maior que isto, o programa fecha automaticamente. Segue abaixo o codigo fonte do programa de visualizacao de arquivo. Novamente conto com a ajuda de todos. Desde já obrigado. //--------------------------------------------------------// #include "FiveWin.ch" //--------------------------------------------------------// static oWndReport **************************** function MostraTxt(TextFile) **************************** //-- Formulario de exibicao e impressao de arquivos de texto. //-- 11-07-2005 //-- Anderson de Oliveira Leite local oMemo,oBar,cText,oFnt //-- Cria WindowReport define WINDOW oWndReport ; MDICHILD ; NoMaximize ; NoMinimize ; Border Single ; From 2,0 to 20,73 ; Menu BuildMenu() ; Title "Visualizador de relatorio" //--Cria a fonte do relatorio define font oFnt ; name "FixedSys" ; size 7,16 //-- Le o arquivo de texto com informacoes do relatorio if File(TextFile) cText := MemoRead(TextFile) endif oWndReport:SetFont(oFnt) //-- Exibe o memo no formulario @ 0,0 get oMemo var cText memo of oWndReport update ReadOnly //-- Cria a barra de ferramentas define ButtonBar oBar ; 3d ; size 33,33 ; of oWndReport define Button of oBar ; file "glyph\setprn24.bmp" ; message "Selecionar impressora" ; tooltip "Selecionar impressora (CTRL+P)" ; action PrinterSetup() define Button of oBar ; file "glyph\print24.bmp" ; message "Imprimir" ; tooltip "Imprimir (F8)" ; action PrintDlg(oMemo) define Button of oBar ; Group ; file "glyph\save24.bmp" ; message "Salvar" ; tooltip "Salvar (CTRL+S)" ; action SaveDlg(oMemo,TextFile) define Button of oBar ; Group ; file "glyph\sair24.bmp" ; message "Fechar" ; tooltip "Fechar" ; action oWndReport:End() //-- Define que a WndReport será proprietario do Memo oWndReport : SetControl(oMemo) // call this after bar and msg config activate WINDOW oWndReport Maximized return NIL ************************************************ static function SaveDlg(oTextReport,FileReport) ************************************************ //-- Pega o nome do arquivo informado //-- pela caixa de dialogo local NewName := cGetFile( "Texto (*.txt) | *.txt |" + ; "Todos os arquivo (*.*) | *.* |",; "Informe o nome do arquivo como o relatorio deve ser salvo." ) //-- Copia o arquivo de texto (relatorio) para o //-- arquivo indicado pelo usuario if !empty(NewName) Copy file &FileReport To &NewName endif return Nil ************************************** static function PrintDlg(oTextReport) ************************************** //-- Imprime o arquivo de texto para //-- a impressora padrao oTextReport:Print() PrinterSetup() prnResult := .f. return NIL ************************** static function BuildMenu ************************** Local oMenu Menu oMenu MenuItem "&Arquivo" Menu MenuItem "&Salvar" + ; chr(9) + "CTRL+S" ; Accelerator ACC_CONTROL,Asc("S") ; Action SaveDlg() Separator MenuItem "Confi&gurar Impressora" +; chr(9) + "CTRL+P" ; Accelerator ACC_CONTROL,Asc("P") ; Action PrinterSetup() MenuItem "&Imprimir " + ; chr(9) + "F8" ; accelerator ACC_NORMAL,VK_F8 ; Action PrintDlg() Separator MenuItem "Sai&r" + ; chr(9) + "CTRL+F4" ; Action oWndReport:End() EndMenu EndMenu return oMenu ******************************** static function EOnKeyDown(nKey) ******************************** //-- Passa o codigo da tecla pressionada //-- para o interpretador de teclas de //-- atalhos ShortCuts(nKey) return NIL ********************************* static function EOnKeyPress(nKey) ********************************* //-- Passa o codigo da tecla pressionada //-- para o interpretador de teclas de //-- atalhos ShortCuts(nKey) return NIL ******************************* static function ShortCuts(Key) ******************************* if Key = -7 PrintDlg() // F8 elseif Key = 16 PrinterSetup() // Ctrl+P elseif Key = 19 SaveDlg() // Ctrl+S end return NIL ****************************** function SetDevPrint(Porta) ****************************** local oPrin //--Instancia o objeto oPrin:= TDosPrn():New(Porta) //--Inicializa a pagina oPrin:StartPage() //--Auto-Eject //-- Pular pagina=.f. //-- Nao Pular =.t. return oPrin ***************************** procedure SetDevScreen(oPrin) ***************************** //--Finaliza a emissao do relatorio oPrin:EndPage() //--Destroi a instancia do objeto oPrin:End() return NIL //--------------------------------------------------------// /*-----------------// Clipper 5.2c / FiveWin 1.9.2 / Blinker 7.0 //-- Nesse mundo nada se cria, tudo se compila.. //-----------------*/
  5. Qto a gerar arquivo de texto estah tudo ok... Mas . . . . Eu naum estou conseguindo exibir este, qdo o arquivo contem um numero muito grande de linhas.... Eu gerei o seguinte codigo, mas qdo este está efetuando a leitura do arquivo, o programa se fecha, sem se quer exibir uma mensagem de erro. Poderiam me fazer o favor de dizer onde eu errei !??! Obrigado. //-- #include "FiveWin.ch" #xcommand eject => oPrin:lBuffer := .t. //---------------------------------------------------------------------- ------// static oWndReport **************************** function MostraTxt(TextFile) **************************** //-- Formulario de exibicao e impressao de arquivos de texto. //-- 11-07-2005 //-- Anderson de Oliveira Leite local oMemo,oBar,cText,oFnt //-- Cria WindowReport define WINDOW oWndReport ; MDICHILD ; NoMaximize ; NoMinimize ; Border Single ; From 2,0 to 20,73 ; Menu BuildMenu() ; Title "Visualizador de relatorio" //--Cria a fonte do relatorio define font oFnt ; name "FixedSys" ; size 7,16 //-- Le o arquivo de texto com informacoes do relatorio if File(TextFile) cText := MemoRead(TextFile) endif oWndReport:SetFont(oFnt) //-- Exibe o memo no formulario @ 0,0 get oMemo var cText memo of oWndReport update ReadOnly //-- Cria a barra de ferramentas define ButtonBar oBar ; 3d ; size 33,33 ; of oWndReport define Button of oBar ; file "glyph\setprn24.bmp" ; message "Selecionar impressora" ; tooltip "Selecionar impressora (CTRL+P)" ; action PrinterSetup() define Button of oBar ; file "glyph\print24.bmp" ; message "Imprimir" ; tooltip "Imprimir (F8)" ; action PrintDlg(oMemo) define Button of oBar ; Group ; file "glyph\save24.bmp" ; message "Salvar" ; tooltip "Salvar (CTRL+S)" ; action SaveDlg(oMemo,TextFile) define Button of oBar ; Group ; file "glyph\sair24.bmp" ; message "Fechar" ; tooltip "Fechar" ; action oWndReport:End() //-- Define que a WndReport será proprietario do Memo oWndReport : SetControl(oMemo) // call this after bar and msg config activate WINDOW oWndReport Maximized return NIL ************************************************ static function SaveDlg(oTextReport,FileReport) ************************************************ //-- Pega o nome do arquivo informado //-- pela caixa de dialogo local NewName := cGetFile( "Texto (*.txt) | *.txt |" + ; "Todos os arquivo (*.*) | *.* |",; "Informe o nome do arquivo como o relatorio deve ser salvo." ) //-- Copia o arquivo de texto (relatorio) para o //-- arquivo indicado pelo usuario if !empty(NewName) Copy file &FileReport To &NewName endif return Nil ************************************** static function PrintDlg(oTextReport) ************************************** //-- Imprime o arquivo de texto para //-- a impressora padrao oTextReport:Print() PrinterSetup() prnResult := .f. return NIL ************************** static function BuildMenu ************************** Local oMenu Menu oMenu MenuItem "&Arquivo" Menu MenuItem "&Salvar" + ; chr(9) + "CTRL+S" ; Accelerator ACC_CONTROL,Asc("S") ; Action SaveDlg() Separator MenuItem "Confi&gurar Impressora" +; chr(9) + "CTRL+P" ; Accelerator ACC_CONTROL,Asc("P") ; Action PrinterSetup() MenuItem "&Imprimir " + ; chr(9) + "F8" ; accelerator ACC_NORMAL,VK_F8 ; Action PrintDlg() Separator MenuItem "Sai&r" + ; chr(9) + "CTRL+F4" ; Action oWndReport:End() EndMenu EndMenu return oMenu ******************************** static function EOnKeyDown(nKey) ******************************** //-- Passa o codigo da tecla pressionada //-- para o interpretador de teclas de //-- atalhos ShortCuts(nKey) return NIL ********************************* static function EOnKeyPress(nKey) ********************************* //-- Passa o codigo da tecla pressionada //-- para o interpretador de teclas de //-- atalhos ShortCuts(nKey) return NIL ******************************* static function ShortCuts(Key) ******************************* if Key = -7 PrintDlg() // F8 elseif Key = 16 PrinterSetup() // Ctrl+P elseif Key = 19 SaveDlg() // Ctrl+S end return NIL ****************************** function SetDevPrint(Porta) ****************************** local oPrin //--Instancia o objeto oPrin:= TDosPrn():New(Porta) //--Inicializa a pagina oPrin:StartPage() //--Auto-Eject //-- Pular pagina=.f. //-- Nao Pular =.t. return oPrin ***************************** procedure SetDevScreen(oPrin) ***************************** //--Finaliza a emissao do relatorio oPrin:EndPage() //--Destroi a instancia do objeto oPrin:End() return NIL //-- Fim do codigo /*-----------------// Clipper 5.2c / FiveWin 1.9.2 / Blinker 7.0 //-- Nesse mundo nada se cria, tudo se compila.. //-----------------*/
  6. Marcio Augusto, muito obrigado pela resposta, foi de grande utilidade. Agora qto a Polimorfismo? Em delphi poderia ser da seguinte maneira: //-- var oFrm : TForm; begin //-- Verifico se o objeto eh uma instancia da classe if (oFrm is TForm) then begin //-- Executo o metodo atraves do polimorfismo TForm(oFrm).Show; //-- ou (oFrm as TForm).Show; end; end; //-- Duvida: --> Como executar metodos de classes atraves de polimorfismo? Aguardo por resposta. Desde ja agradeco. /*-----------------// Clipper 5.2c / FiveWin 1.9.2 / Blinker 7.0 //-- Nesse mundo nada se cria, tudo se compila.. //-----------------*/
  7. Olá... Estou desenvolvendo um sistema e gostaria de utilizar conceitos como Herança e Polimorfismo... Gostaria de começar a falar primeiro sobre herança. Alem de programador Clipper (iniciante em FW), programa tb em Delphi. Caso eu precisasse criar uma nova classe em Delphi e faria o seguinte: //-- Type TMeuLabel = class(TLabel) public Exibir3D : Boolean; OnClick: procedure(Sender : TObject); override; procedure Piscar(); end; //-- No exemplo acima, criei uma classe descendente de TLabel, acrescentando o atributo Exibir3D (Tipo Lógico), adicionei tb um método Piscar, e sobrescrevi o método já existente OnClick, e por último adicionei um método. Dúvida: --> é possivel criar uma classe em FW a partir de uma outra, sem copiar o codigo fonte da classe original. Caso a resposta seja sim, favor, explique-me como, se possivel com exemplos de codigo fonte. Desde jah agradeço. /*-----------------// Clipper 5.2c / FiveWin 1.9.2 / Blinker 7.0 //-- Nesse mundo nada se cria, tudo se compila.. //-----------------*/
  8. Æ Paulo... 10 kra.... O exemplo funcionou... Vow analisar com calma e ver onde estava errando... Com certeza ainda irei esbarrar em + obstaculos no FW... Espero encontrar + pessoas como vc com boa vontade de ajudar. Muito obrigado pela dica. []´s /*-----------------// Clipper 5.2c / FiveWin 1.9.2 / Blinker 7.0 //-- Nesse mundo nada se cria, tudo se compila.. //-----------------*/
  9. Pra economizar tempo, criei uma funcao Main() no TDosPrn.prg como eh possivel ver abaixo. E qdo o programa eh executado, gera o erro: [Variable does not exist TDosPrn] //-- #include "fivewin.ch" #include "fileio.ch" #translate nTrim() => AllTrim(Str(,10,0)) #define PF_BUFLEN 2048 //---------------------------------------------------------------------------- ************************** function main() ************************** local oPrin oPrin := TDosPrn:New("Arq.txt") oPrin:Say(01,01,"Escrevendo em texto") oPrin:End() return NIL //----------------------------------------------------------------------------// CLASS TDosPrn DATA LastError DATA cPort, cCompress, cNormal, cFormFeed, cBuffer DATA hDC, nRow, nCol, nLeftMargin, nTopMargin DATA lAnsiToOem,lCompress DATA lZeraBuffer // By Gilmer www.fivewin.com.br DATA oWnd, oPagina // Ednaldo DATA nPage AS NUMERIC // Ednaldo METHOD New(cPort) CONSTRUCTOR METHOD End() // Antigo(Old) // METHOD StartPage() VIRTUAL // NÆo Conta as P ginas // METHOD EndPage() // Novo (New) // Conta as P ginas By Ednaldo Rolim METHOD StartPage() INLINE ::ShowProc() // Ednaldo METHOD EndPage() // METHOD Command(xPar1, xPar2, xPar3, xPar4, xPar5) //velho METHOD Command(cStr1, cStr2, cStr3, cStr4, cStr5) // novo METHOD SetCoors(nRow, nCol) METHOD NewLine() INLINE (::cBuffer += CRLF ,; ::nRow++ ,; ::nCol := 0 ) METHOD Write(cText, lAToO) ; INLINE (iif(lAtoO == NIL, lAtoO := .T.,),; ::cBuffer += iif(lAtoO, AnsitoOem(cText), cText) ,; ::nCol += len(cText) ) METHOD Say(nRow, nCol, cText, lAToO) METHOD SayCmp(nRow, nCol, cText) METHOD CharSay(nRow,nCol,cText) INLINE (IIf(::lCompress,; ::SayCmp(nRow,nCol,cText),; ::Say(nRow,nCol,cText))) METHOD ZeraBuffer() // By. Gilmer METHOD PrintFile(cFile) METHOD ShowProc() // Ednaldo ENDCLASS //----------------------------------------------------------------------------// METHOD New(cPort, lFile, lCompress) CLASS TDosPrn DEFAULT cPort := "LPT1" ,; lFile := .T. ,; lCompress := .f. cPort := Upper(cPort) ::cCompress := "15" ::cNormal := "18" ::cFormFeed := "12" ::cBuffer := "" ::nLeftMargin := 0 ::nTopMargin := 0 ::nRow := 0 ::nCol := 0 ::lAnsiToOem := .T. ::cPort := cPort + iif(!"." $ cPort, ".PRN", "") ::hDC := fCreate(::cPort) ::LastError := 0 // By. Gilmer // .F. Pula P gina, .T. NÆo Pula a P gina (Cupom Fiscal) ::lZeraBuffer:=.F. IF ::hDC < 0 ::LastError := fError() ENDIF ::nPage := 1 // Ednaldo ::ShowProc() // Ednaldo RETURN Self //----------------------------------------------------------------------------// METHOD End() CLASS TDosPrn IF !empty(::nRow+::nCol) ::EndPage() ENDIF ::LastError := 0 IF !fClose(::hDC) ::LastError := fError() ENDIF CursorArrow() if ::oWnd != Nil // Ednaldo ::oWnd:End() // Ednaldo endif // Ednaldo RETURN NIL //----------------------------------------------------------------------------// METHOD EndPage() CLASS TDosPrn LOCAL nFor, nLen, nSec LOCAL lError If !::lZeraBuffer // By Gilmer ::Command(::cFormFeed) End ::LastError := 0 IF fWrite(::hDC, ::cBuffer) < len(::cBuffer) ::LastError := fError() ENDIF ::cBuffer := "" ::nRow := 0 ::nCol := 0 RETURN NIL //----------------------------------------------------------------------------// //METHOD Command(xPar1, xPar2, xPar3, xPar4, xPar5) CLASS TDosPrn // Velho METHOD Command(cStr1, cStr2, cStr3, cStr4, cStr5) CLASS TDosPrn // Novo LOCAL cCommand, cToken, cString LOCAL nToken //cString := cValToChar(xPar1) // Velho cString := cStr1 // Novo /* // Velho IF xPar2 != NIL cString += ","+cValToChar(xPar2) ENDIF */ IF cStr2 != NIL cString += ","+cStr2 ENDIF /* // Velho IF xPar3 != NIL cString += ","+cValToChar(xPar3) ENDIF */ IF cStr3 != NIL cString += ","+cStr3 ENDIF /* // Velho IF xPar4 != NIL cString += ","+cValToChar(xPar4) ENDIF */ IF cStr4 != NIL cString += ","+cStr4 ENDIF /* // Velho IF xPar5 != NIL cString += ","+cValToChar(xPar5) ENDIF */ IF cStr5 != NIL cString += ","+cStr5 ENDIF cCommand := "" nToken := 1 DO WHILE !Empty(cToken := StrToken(cString, nToken++, ",")) cCommand += Chr(Val(cToken)) ENDDO ::cBuffer += cCommand RETURN NIL //----------------------------------------------------------------------------// METHOD SetCoors(nRow, nCol) CLASS TDosPrn nRow += ::nTopMargin nCol += ::nLeftMargin IF ::nRow > nRow ::EndPage() ::nPage++ // Ednaldo ::StartPage() ENDIF /* // do Site IF ::nRow > nRow ::EndPage() ::StartPage() ENDIF */ IF nRow == ::nRow .AND. nCol < ::nCol ::EndPage() ::nPage++ // Ednaldo ::StartPage() ENDIF /* // do Site IF nRow == ::nRow .AND. nCol < ::nCol ::EndPage() ::StartPage() ENDIF */ DO WHILE ::nRow < nRow ::NewLine() ENDDO IF nCol > ::nCol ::Write(Space(nCol-::nCol)) ENDIF // By. Gilmer If Len(::cBuffer)>=7928 ::ZeraBuffer() End RETURN NIL //----------------------------------------------------------------------------// METHOD Say(nRow, nCol, cText, lAToO) CLASS TDosPrn DEFAULT lAToO := ::lAnsiToOem IF VALTYPE( cText ) = "D" cText := DTOC( cText ) ENDIF IF VALTYPE( cText ) = "N" cText := STR( cText ) ENDIF ::SetCoors(nRow, nCol) ::Write(cText, lAToO) RETURN NIL //----------------------------------------------------------------------------// METHOD SayCmp(nRow, nCol, cText, lAToO) CLASS TDosPrn DEFAULT lAToO := ::lAnsiToOem ::Command(::cCompress) ::SetCoors(nRow, nCol) ::cBuffer += iif(lAToO, AnsitoOem(cText), cText) ::nCol += Int(len(cText)) * by Digao ::nCol += Int(len(cText)/1.7+.5) ::Command(::cNormal) RETURN NIL //----------------------------------------------------------------------------// METHOD ZeraBuffer() CLASS TDosPrn ::LastError := 0 If ::lZeraBuffer IF fWrite(::hDC, ::cBuffer) < len(::cBuffer) ::LastError := fError() ENDIF ::cBuffer := "" End RETURN NIL //----------------------------------------------------------------------------// FUNCTION WorkSheet(cPort) LOCAL oPrn LOCAL cLine LOCAL nFor cLine := "" FOR nFor := 0 TO 7 cLine += Str(nFor,1)+Replicate(".",9) NEXT cLine := Substr(cLine,3) oPrn := TDosPrn():New(cPort) oPrn:StartPage() FOR nFor := 0 TO 65 oPrn:Say(nFor,0,StrZero(nFor,2)+cLine) NEXT oPrn:EndPage() oPrn:End() RETURN NIL //----------------------------------------------------------------------------// METHOD PrintFile(cFile) CLASS TDosPrn LOCAL hFile LOCAL nRead LOCAL cBuffer hFile := FOpen(cFile, FO_READ) IF hFile < 0 RETURN .F. ENDIF cBuffer := Space(PF_BUFLEN) DO nRead := fRead(hFile, @cBuffer, PF_BUFLEN) IF fWrite(::hDC, Left(cBuffer, nRead)) < nRead ::LastError := fError() fClose(hFile) RETURN .F. ENDIF UNTIL nRead == PF_BUFLEN fClose(hFile) RETURN .T. //----------------------------------------------------------------------------// // Visualiza Processo de impressao // Ednaldo //----------------------------------------------------------------------------// METHOD ShowProc() CLASS TDosPrn IF ::oWnd = Nil DEFINE DIALOG ::oWnd TITLE "Imprimindo ..." ; FROM 230, 217 TO 360, 575 PIXEL ; COLORS CLR_BLACK, nRGB(193,205,205) @ 10, 08 TO 40, 172 OF ::oWnd PIXEL @ 1.4, 2 ICON NAME "PRINT.ICO" OF ::oWnd @ 25, 35 SAY "Imprimindo Página :" ; PIXEL OF ::oWnd SIZE 70, 12 RIGHT @ 25, 107 SAY ::oPagina VAR ::nPage ; PIXEL OF ::oWnd UPDATE SIZE 15, 12 RIGHT @ 47, 60 BUTTON "Aguarde..." SIZE 60, 12 ; PIXEL OF ::oWnd ACTION .t. ::oWnd:bPainted := {|| iif(::nPage>0, ::oPagina:Refresh(), )} ACTIVATE DIALOG ::oWnd CENTER NOWAIT CursorWait() SysRefresh() ELSE ::oWnd:BeginPaint() ::oWnd:Paint() ::oWnd:EndPaint() ENDIF RETURN NIL // Fim do Programa. /*-----------------// Clipper 5.2c / FiveWin 1.9.2 / Blinker 7.0 //-- Nesse mundo nada se cria, tudo se compila.. //-----------------*/
  10. Vlw pela ajuda, vow baixar o TDosPrn do link indicado pelo Paulo Araujo. O e-mail registrado nao recebe .exe, se quiser enviar exemplos, favor enviar para sac@rcasistemas.com.br Vou tentar fazer um exemplo simples e jah jah eu posto. []´s /*-----------------// Clipper 5.2c / FiveWin 1.9.2 / Blinker 7.0 //-- Nesse mundo nada se cria, tudo se compila.. //-----------------*/
  11. Pow galera! Sei qto é massante ficar explicando um iniciante a programar, mas eu jah tentei andar sozinho, achei ateh um exemplo que acompanha o FW (TwoClass.prg), comparei com o TDosPrn.prg, mas naum estou encontrando erro. Plz, se alguém souber que eu baixei o codigo fonte errado, se souber que estou fazendo c@g#d$... Ajudem.. /*-----------------// Clipper 5.2c / FiveWin 1.9.2 / Blinker 7.0 //-- Nesse mundo nada se cria, tudo se compila.. //-----------------*/
  12. Olá... Sou inicante na programação com fivewin, e estou tendo dificuldade para gerar relatorios. Antes de iniciar com o FW, eu simplesmente executava o comando: //-- set device to print set printer to arq.txt //-- Agora, no FW, percebo que devo utilizar uma classe de impressão, e pelo que andei olhando, o que parece me atender é a classe TDosPrn. Portando baixei aki mesmo no site do FW um prg deste no link: http://www.fivewin.com.br/dicas/Tdosprn.zip. E percebi tb que posso efetuar uma sobrecarga criando um arquivo .CH da com o seguinte comando: //-- #xcommand @ , SAY OF ; => :Say(, , ) //-- Agora vem o problemas: --> Qdo tento instanciar um objeto da classe TDosPrn, recebo a seguinte mensagem de erro: [Variable does not exist TDosPrn] No momento em que eu compilo o programa, eu tb compilo o prg com os parametros -m -n. O que eu estou fazendo de errado? Como devo fazer para consegui instanciar um objeto desta nova classe? Clipper 5.2c / FiveWin 1.9.2 / Blinker 7.0
×
×
  • Create New...