Re: Номер Build'а
От: TepMuHyc  
Дата: 19.12.01 18:16
Оценка: 4 (1)
Здравствуйте KAY, Вы писали:

KAY>Народ, извините, если спрашиваю о том, что уже обсуждалось, НО :

KAY>возникла необходимость в About программы вставить номер ее Build'а...
KAY>Как это сделать ??? (кроме как ручками прописывать )
Очнь просто.

1) взять вот эту программку (она на Перле):
$infile  = $ARGV[0];
$buildno = $ARGV[1];
$buildno = '__BUILD__' unless $buildno;

open(IN,$infile) || die $!;
open(OUT, ">".($tempfile = "$ENV{'TEMP'}\\$ARGV[0].$$")) || die $!;

$processed = 0;
while( <IN> ) {
    m/^\s*#define\s+(\w+)\s+(\w+)\s*/;
    if( $1 eq $buildno ) {
        $_ = "#define\t$buildno\t".($2+1)."\n";
        print "Current build number is: ",($2+1),"\n";
        $processed = 1;
    }
    print OUT $_;
}
close(IN);
close(OUT);
if( $processed ) {
    unlink($infile);
    rename($tempfile, $infile);
} else {
    unlink($tempfile);
    die "*** the line \"#define __BUILD__ xx\" was not found.\n"
}


2) сделать файл "buildno.h" вроде вот такого:

#define    __BUILDNUMBER__ 1234


3) добавить в проект этот файл и назначить ему вот такой вот Custom Build Step:
input file: .\buildno.h
Commands: perl buildno.pl $(InputPath) __BUILDNUMBER__
Outputs: $(IntDir)\version.tmp
Dependencies: $(IntDir)\version.tmp

4) Запускать и радоваться что макрос __BUILDNUMBER__ увеличивается
с каждой попыткой билда

Теперь по поводу вставления этого дела в About:
Я предполагаю что у тебя в темплейте About-бокса есть статик контрол с ID IDC_BUILDNUMBER
Вот тебе код что надо вставить в OnInitDialog() About-бокса:

char szBuildno[32];
sprintf(szBuildno, "%d", __BUILDNUMBER__);
SendDlgItemMessage(hDlg, IDC_BUILDNUMBER, WM_SETTEXT, NULL, szBuildno);
____________________
God obviously didn't debug, hasn't done any maintenance, and no documentation can be found. Truly amateur work.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.