• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Quetzalma

Escrever Versão

19 mensagens neste tópico

Boas

Embora isto pareça estúpido e desnecessário, precisava de saber como fazer para escrever a versão actual do nosso programa na janela de DOS, eu sei que é possível, só não sei como :wallbash:

Alguem me poderá dizer como o fazer?

Boas Festas para todos

Quetzalma

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

std::cout << "Versão: 1.0" << std::endl;

lol, desculpa a brincadeira, mas... acho que também não percebi o que pretendes...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

lol, n faz mal, o que eu pretendo é enviar para o programa a versão actual do programa, tipo:

a usar Dev-C++

versaoso2.th.jpg

pretendo enviar para o programa 2.2.1.0 neste caso e que ele actualize automaticamente o k envia quando a versao é alterada

eu sei que pode parecer estupido e desnecessário, mas prontos xD

espero k tenha sido mais explicito desta vez

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu acho que isso não define mesmo no programa versão TAL , acho que aparece só no ficheiro .exe a dizer a versão agora como o ver é que não sei :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se não me engano, isso define uma variável do pré-compilador com a versão... vou ver se descubro exactamente como é.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se não me engano, isso define uma variável do pré-compilador com a versão... vou ver se descubro exactamente como é.

ok, obrigado ^^, mas se não descobrires tb n à crise

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Neste momento estou à nora e sem tempo. Que tipo de projecto é esse?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

n é nenhum projecto é um programa que tou a fazer com um amigo e que o utilizador ao escrever "Acerca" dissesse a versão e essas cenas tds(About), como eu tinha dito em cima, é estúpido e desnecessário, portanto se tas sem tempo deixa, n faz grande diferença. Em VB sabia fazer isto, mas em C++ ...

Obrigado na mesma, a intenção é que conta ^^

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quando disse projecto era o tipo de projecto do Visual Studio. Tipo MFC, Managed...? É que não estou a ver como chegaste àquela janela de configuração que mostraste

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu não tou a usar Visual Studio, tou a usar Dev-C++(Console Application)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas essa versão que queres não é a versão do teu próprio programa?! Ou é a versão do compilador/linker? Não estou a perceber o que queres fazer, podes dar mais informação?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ele quer ir buscar dinamicamente a versão da aplicação que está a programar, e que é definida naquela janela do DevC++

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ele quer ir buscar dinamicamente a versão da aplicação que está a programar, e que é definida naquela janela do DevC++

Se bem percebi, primeiro escolhe-se a versão nessa janela do DevC++. E depois o que se quer fazer é aceder a essa versão? Se for assim, provavelmente esta versão vai ser escrita pelo DevC++ nalgum ficheiro, presumo. Se for este o caso, basta ler o ficheiro ou construir um parser (no caso de ser um ficheiro .xml) para ler exactamente a versão que foi escolhida por essa janela gráfica do DevC++.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não propriamente, se reparares no Windows todos os ficheiros executáveis têm uma versão associada, basta passar pelo rato por cima do mesmo para ver isso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não propriamente, se reparares no Windows todos os ficheiros executáveis têm uma versão associada, basta passar pelo rato por cima do mesmo para ver isso.

Há algumas informações que obténs ao ler um executável como se fosse um ficheiro de texto. Por exemplo, ao passar por cima do explorer.exe surge no meu caso a versão 6.0.2900.1356. Se abrires este binário num editor de texto vais encontrar algumas informações de texto human-readable:

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity

    name="Microsoft.Windows.Shell.explorer"

    processorArchitecture="x86"

    version="5.1.0.0"

    type="win32"/>

<description>Windows Shell</description>

<dependency>

    <dependentAssembly>

        <assemblyIdentity

            type="win32"

            name="Microsoft.Windows.Common-Controls"

            version="6.0.0.0"

            processorArchitecture="x86"

            language="*"

        />

    </dependentAssembly>

</dependency>

</assembly>

Não sei ao certo como é obtida a parte 2900.1356 ao se sobrepôr o rato por cima de um binário executável. Nem sei tão pouco se é pela leitura deste trecho xml que é apresentada a versão do programa quando se sobrepôr o rato por cima do binário. De qualquer forma, só pela leitura do binário já se pode saber alguma coisa da versão. E não sei se é este o caso no DevC++. O que acho mais viável é que na pasta de um projecto DevC++ haja um ficheiro que tenha essa versão que foi escolhida previamente através dessa janela gráfica e depois gravada para esse dito ficheiro. Porque deves poder ter vários projectos DevC++ e cada um deles com a versão que queres. E sendo assim, faz sentido existir um ficheiro (.xml, .txt, whatever...) que guarde essa informação.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora