Jump to content
Fivewin Brasil

Como Incorporar uma rotina em C


mariana1361303566

Recommended Posts

Alguem saberia me infomar como posso integrar uma rotina escrita em C ao FiveWin?

Ou seja como transformo esta rotina em um arquivo obj

e se isto é o suficiente para lica-la junto com os objs compilados com o clipper.

Pergunto isto porque estou tentanto descobrir uma maneira de modificar a funçao cgetdir() do fivewin que tem uma aparencia horrorosa.

Grata a todos por qualquer ajuda.

Mariana

fw24+Blinker7+Clipper5.3b+WS

P.S. Já verifiquei os post anteriores para esta questa e nao vi uma soluçao definitiva.

Link to comment
Share on other sites

Ola Mariana, se o problema e este utilize-se da função cGetDir32() que tem uma apresentação igual ao do windows.

So não se esqueça de colocar no diretorio de sua aplicação o RunDlg32.Exe qjue esta na pasta do Windows.

Onde você vê um obstáculo alguém vê o término da viagem e o outro vê uma chance de crescer.

Elias Abrão Júnior

Fone : (0**11) 5181-6909 São Paulo - SP

eajunior.fw@terra.com.br

xHarbour 0.99.0 - Fivewin 2.5 e xMate

Link to comment
Share on other sites

Olá Mariana,

Em clipper, vc têm q ter o Borland C++ 5.0 (Não é free), aí basta vc fazer o seguinte :

\Bc5\Bin\Bcc -3 -c -ml -O2 -Tg -I\Bc5\Include\Win16 Meus_C\DrawVBox.C

Isso irá lhe criar o obj, aí é só vc adicionar no seu lnk icon_smile_big.gif.

Se não tiver o borland, e quiser posso compilar para vc

Vagner Wirts

Clipper 5.2 Lib 5.3 - Blinker 5.0 FW 2.0, Harbour 43.0 (Flex), xHarbour 99.1 99.2 99.3 (Simplex) FW 2.5 icon_smile_big.gif

Link to comment
Share on other sites

Mariana :

Wagner que me desculpe, fico até inseguro, em corrigi-lo, mas não é só isso não...

Voce tem que saber usar as funções de interface Clipper\C++

que estao disponiveis na EXTEND.LIB do clipper...

Na verdade é muito fácil mas existem detalhes a serem seguidos, vou postar em seguida um interface em C, pois por exemplo vc vai sacar na hora :

olha em seguida aqui :

este é um arquivo que se chama DATA01.C

#include

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

CLIPPER cChr2Data()

{

LPSTR szText = _parc( 1 );

while( * szText )

{

if( ( * szText ) >= 'A' && ( * szText ) <= 'Z' )

( * szText ) += ( 'a' - 'A' );

szText++;

}

szText = _parc( 1 );

if( szText[ 1 ] > '9' )

szText[ 1 ] -= 'a' - 'A';

_retc( _parc( 1 ) );

}

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

comentarios a seguir !

ABAIXO !

FW1.92+Clipper 5.3+Lib+Blinker+BC++

Link to comment
Share on other sites

Observe as funcoes que estao ai no codgio acima :

_parc()

_retc()

estas que fazem a interface convertendo a tipologia de dados do clipper ( C,N,D,L etc... ) para tipologia de dados de C(long, dlong etc...)

com o uso correto dessa funcoes vc cria e anexa qualquer coisa dentro do Clipper, e mais, vc dai vai perceber q o Clipper nao existe ! Tchan, Tchan, Tchan,é uma linguagem "virtual"...

O termo tecnico seria que o Clipper é uma linguagem de simbolos ou em ingles "tonkens". Fico parecendo professor, mas gosto de explicar os fundamentos pra criar independencia...

essa funcao ai acima é um exemplo pára converter dados :

do lado do clipper, voce usa ela assim :

rett := cChr2Data("ABCD")

dentro de rett sai -> "1234"

bobinha mas exemplifica bem.

voce podia escreve-la em clipper logico, mas essa em C, é velocidade da luz.... e serve de exemplo

Uma vez que voce tem a rotina escrita no fonte *.C

dai voce compila, como explica Wagner :

Bcc -3 -c -ml -O2 -Tg -I\Bc5\Include\Win16 DATA01.C

dai nasce o OBJ...

Dai vc teria que ter um montador de *.lib, o LIB.EXE por exemplo, a dar mais um passo :

LIB MARIANA +DATA01 ;

nao esqueca o ponto e virgula faz parte da sintaxe !

dai vai nascer a MARIANA.LIB

bom ai fica facil, no seu LNK que orienta o seu Linkador, que espero ser o otimo Blinker, voce acrescenta a linha :

SEARCH MARIANA

antes de qualquer outra chamada de lib ok, assim ela pega a sua antes das outras, procurando a funcao dentro da MARIANA.LIB, nao se esqueca de colocar os diretorios bem certinho, pois nos exemplos nao coloquei...

dai voce ja pode chamar a funcao cChar2Data() de dentro de seu fonte Clipper....

entendeu ?

qualquer duvida estamos ai, gostei de sua iniciativa em colocar coisas de C no seu Clipper, isso da um poder de fogo que voce nem imagina...

Por exemplo se voce tiver o livro da Win-API ( eu tenho e uso) voce acessara o Windows diretamente sob seu comando...

Alias o FW é montado todo assim...

Abracao

Blues

FW1.92+Clipper 5.3+Lib+Blinker+BC++

Editado por - bluesman on 17/03/2005 18:07:11

Link to comment
Share on other sites

So mais uma coisa pra deixar vc bala em C\Clipper, fiquei empolgado... pensei que nunca ia encontrar alguem que se interessase

Literatura recomendada :

1. Clipper com Linguagem C - Luis Antonio Quintela - muito chic , fininho , 80 paginas de ouro !

2. Manual Oficial do Clipper 5.2 ou 5.3

3. Windows NT - WIN32 API - Super Bible - Richard J.Simon

Importado !

Abracos

BM

FW1.92+Clipper 5.3+Lib+Blinker+BC++

Link to comment
Share on other sites

citação:

Wagner que me desculpe, fico até inseguro, em corrigi-lo, mas não é só isso não...


id=quote>id=quote>

Não têm do que se desculpar, mas colo ela quer incorporar uma rotina em C, teoricamente ela conhece C icon_smile_big.gif, por isso eu não me preocupei icon_smile_big.gif

Vagner Wirts

Clipper 5.2 Lib 5.3 - Blinker 5.0 FW 2.0, Harbour 43.0 (Flex), xHarbour 99.1 99.2 99.3 (Simplex) FW 2.5 icon_smile_big.gif

Link to comment
Share on other sites

Olá pessoal,

Para quem se interessar pelo "C", deêm uma olhada neste forum da UFMG. É preciso se cadastrar neste grupo falou ?

http://br.groups.yahoo.com/group/cursoC_UFMG2004/?yguid=187096336

Vejam na sessão de "ARQUIVOS"

Tem muita coisa boa lá...icon_smile_big.gif

Abraços,

Rossine.

Rossine

FW 2.2c + @say + Clipper 5.2e + libs 5.3b / FWH 2.5 + @say + xHarbour Comercial

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...