Avançar para o conteúdo principal

C# - Guardar Ficheiro

C# - Guardar Ficheiro

Guardar um ficheiro com resultados, é mais uma etapa no processo de manipular informação.

Guardar um resultado é essencial. Como em todas as linguagens, existem vários modos de o fazer.


Aqui o resultado da leitura de um ficheiro ceje.res do ISPOL com dados da directriz, e apenas escrevi no ficheiro de output as coordenadas dos elementos da directriz:

coordenadas


Estou a usar o Streamwriter (corrente de escrita) que vai guardando sequencialmente os dados.


O que pode ocorrer de menos bom neste método é que não há um aviso de quando o sistema acabou de gravar o ficheiro, podendo em último caso, haver um método que queira usa o ficheiro antes de este estar guardado e fechado.

Para isso estão os métodos Async, muito usados por exemplo na programação Javascript ( e Python) em que se aguarda que a operação de um ficheiro (leitura ou escrita) termine.

Pelo que vi os projectos .net 4.5 em diante aceitam os métodos Async, que são os que constam no site da Microsoft como exemplo de escrita (e leitura de ficheiros):

async
https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/file-system/how-to-write-to-a-text-file

Mas como estou a usar um compilador antigo, ou não consegui acertar a metodologia ou simplesmente nesta versão não funciona.


Só para completar, abaixo o ficheiro original ceje.res para que se perceba de onde leu as coordenadas:


Mais um pequeno passo em direcção a um grande sistema.







Comentários

Mensagens populares deste blogue

ISPOL - Representação de Gabaris

ISPOL - Representação de Gabaris No ISPOL podemos representar ao longo do traçado um contorno e até realizar variações. A representação de um contorno ou gabari pode ser realizada no ISPOL de um modo simples, usando por exemplo um Símbolo (bloco) da biblioteca, ou um ou vários criados à medida para atender aos casos necessários. Na imagem abaixo um exemplo da biblioteca do ISPOL, representado no perfil transversal. Estas secções são constituídas por símbolos/blocos: Podem-se desenhar ao longo do eixo proporcionando a vista típica destas situações, uma espécie de sólido que enche o traçado. Além desta representação "simples" o ISPOL permite realizar transições entre símbolos diferentes, por exemplo para representar os diferentes gabaris em recta e curva. Ou outras situações que se achem necessárias. Permite ainda condicionar a representação destes símbolos por valores de raio. Isto é para um determinado raio. Pode ser usado para indicar de forma automática ao programa que em r...

Python - Automatização em ISPOL

Python - Automatização em ISPOL Com o uso de PyAutoGui podemos automatizar tarefas repetitivas no ISPOL ISTRAM. No trabalho actual, é necessário converter mais de 300 ficheiros. Já houve um trabalho prévio de ler e transformar dados de directrizes em Excel para ficheiros compatíveis com a conversão presente. Este trabalho prévio foi também feito com programação. Tendo os muitos ficheiros com formato TXT que o ISPOL pode ler e converter para CEJ, é necessário ir ao menu de Conversores do ISTRAM e digitar os dados para ler a localização dos ficheiros, número de eixo etc... um trabalho repetitivo. Sendo repetitivo uma hipótese que deve surgir é se existe forma de automatizar / programar. O ISTRAM ISPOL não permite o uso de plugins (como o CAD), por tanto a via seria pela automatização dos movimentos. O pacote PyAutoGUI para Python permite esta simulação de movimentos. https://pyautogui.readthedocs.io/en/latest/ Basicamente "guiamos" o cursor para onde deve clicar e o que introdu...

Kinematic Envelope - Vários exemplos

Kinematic Envelope - Vários exemplos Adiciono uma pequena lista de desenvolvimentos sobre o assunto de Gabaritos ferroviários. Para mais informação veja outros posts. AECOM Desenvolvimento no Civil 3D ao que parece, com dynamo. Não se percebe com que norma. https://youtu.be/BdRDICErJJ8?si=0MD8xGx_W1PCG5dP Mehdi Taheri Plataforma independente, não se conhece sobre que normativa. https://www.youtube.com/watch?v=LXUusfK25bs 12D Provavelmente é algo similar à AREMA, 12D é uma empresa da Austrália, creio https://www.youtube.com/watch?v=OQnaDt7IOXw