Здравствуйте 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);