1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Pascal para VB2008

Discussão em 'Programação' iniciada por tds, 6 de Maio de 2009. (Respostas: 4; Visualizações: 637)

  1. tds

    tds Power Member

    Boas!

    Estou com dificuldades em entender um procedure em pascal, e preciso de pôr a correr o código (mas em vb) o mais rápido possivel, daí ter deixado aqui o tópico.

    Código:
    PROCEDURE Leitura_Ficheiro;
    VAR ncols: integer;;
          valor : real;
    BEGIN
    ncols:=0;
    Assign(FICHO, registo);
    Reset(FICHO);
    
    REPEAT
     ReadLn(FICHO,registo);
     IF (Copy(registo,2,8) = 'XFEAS...') THEN
       solucao:=Copy(registo,10,8);
    
     IF (solucao='FSB') THEN optimo:=TRUE
     ELSE optimo:=FALSE;
    
     IF ((Copy(registo, 22, 5) = 'Bolle') OR (Copy(registo, 22, 5) = 'Lower') OR (Copy(registo, 22, 5) = 'Updow) OR (Copy(registo, 22, 5) = 'fixed')) THEN
     BEGIN
     ncols:= ncols+1;
     codigo_col[ncols]:= Copy(registo, 10, 8);
     VAL(Copy(registo, 31, 10)+'E'+Copy(registo,42,1)+'00'+Copy(registo,43,2),vsol_col[ncols],j);
     END;
    
    UNTIL EOF(FICHO);
     Close(FICHO);
    END;
    
    Não me dou muito bem com leitura de ficheiros em vb também D:

    Obrigado pepz =D
     
  2. PNDmartins

    PNDmartins Power Member

    Google

    Edit: Nunca vi pascal na minha vida mas parece ser leitura de ficheiros logo esse link deve-te ajudar
     
  3. tds

    tds Power Member

    Tkz PNDmartins =D

    Que eu estou com dificuldade em perceber o que faz o algoritmo ao certo D:

    Que querem que eu implemente precisamente aquele algoritmo... mas também se aquele que eu arranjar também funcionar,don't care =D
     
  4. PNDmartins

    PNDmartins Power Member

    Não posso garantir que o algoritmo possa fazer o que te disse pk nunca vi pascal pintado de vermelho na minha vida mas pareceu-me ser isso. Só mesmo alguem que perceba de pascal é que te pode dizer ao certo o que é.
     
  5. iznougud

    iznougud I quit My Job for Folding

    Pelo que eu percebi disso (e nunca vi pascal a frente) o teu maior problema são as variaveis globais que estao a ser usadas. O que essa função faz e analisar linha a linha de um ficheiro de texto e analisar essa linha.

    Por exemplo:
    Código:
    IF (Copy(registo,2,8) = 'XFEAS...') THEN
       solucao:=Copy(registo,10,8);
    
     IF (solucao='FSB') THEN optimo:=TRUE
     ELSE optimo:=FALSE;
    
    Isto vai ver se a linha tem a palavra "XFEAS..." a começar no 2º caracter da string, se tiver entao atribui a variavel "solucao" a substring que começa no 10º caracter e tem 8 caracteres no maximo.
    Depois compara a variavel "solucao" com "FSB", se forem iguais atribui a variavel "optimo" True ou False consoante o resultado.


    Mas por muito que convertas esta função, sem teres o resto do código em .Net (pelo menos as variaveis globais todas) não te vai adiantar de muito.
     

Partilhar esta Página