Fórum Colocar a versão no código fonte #382933
05/08/2010
0
Rogerio Santos
Curtir tópico
+ 0Posts
05/08/2010
Marcos Iwazaki
unit LibGenU;
interface
type
TAppGen = class
public
class function GetBuildInfo_Mascara(pAppName:string): string;
end;
implementation
uses
SysUtils, Windows, Forms;
class function TAppGen.GetBuildInfo_Mascara(pAppName:string): string;
// formata a BuildInfo em XX.XX.XX.XXX
var
VerInfoSize: DWORD;
VerInfo: Pointer;
VerValueSize: DWORD;
VerValue: PVSFixedFileInfo;
Dummy: DWORD;
V1, V2, V3, V4: Word;
Prog: string;
begin
Prog := pAppName;
VerInfoSize := GetFileVersionInfoSize(PChar(prog), Dummy);
GetMem(VerInfo, VerInfoSize);
GetFileVersionInfo(PChar(prog), 0, VerInfoSize, VerInfo);
VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
with VerValue^ do
begin
V1 := dwFileVersionMS shr 16;
V2 := dwFileVersionMS and $FFFF;
V3 := dwFileVersionLS shr 16;
V4 := dwFileVersionLS and $FFFF;
end;
FreeMem(VerInfo, VerInfoSize);
result := FormatFloat('0',V1) + '.' + FormatFloat('00',V2) + '.' + FormatFloat('00',V3) + '.' + FormatFloat('000',V4);
end;
..
-----------------------------------------------------------------
como usar:
Primeiro faça um uses dessa lib que acabou de criar
LinhaStatus.Panels[2].Text := TAppGen.GetBuildInfo_Mascara('c:\MeuAplicativo.exe');
ou
LinhaStatus.Panels[2].Text := TAppGen.GetBuildInfo_Mascara(Application.ExeName);
espero ter ajudado
Gostei + 0
07/08/2010
Rogerio Santos
begin
with dmAuxiliar do
begin
CdsCadEstado.edit;
CdsCadEstado.FieldByName('COD_USUARIO').AsInteger := unFuncao.icdUsuario; if dmConexao.Verifica_campos_em_branco(dsEstado) then
begin
CdsCadEstado.Post;
CdsCadEstado.applyupdates(-1);
dmConexao.comit;
end;
end;
end; //Método comit procedure TdmConexao.comit;
var Transacao : TTransactionDesc;
begin try
Transacao.TransactionID := 1;
Transacao.IsolationLevel := xilREPEATABLEREAD; SqlConexao.StartTransaction(Transacao);
SqlConexao.Connected := True;
SqlConexao.Commit(Transacao); except
on Exc:Exception do
begin
ShowMessage('Erro no registro do banco: '+ Exc.Message);
SqlConexao.Rollback(Transacao);
end;
end; end; As vezes grava o registro e as vezes nao grava Já tirei os fields do ClientDataset e do sqlserver e adicionei novamente, mas nao funcionou... Como COD_USUARIO é chave estrangeira entao na propriedade providerflags desabilitei as proprieadades pfinupdate, pfinupwhere colocando para falso Estou usando a conexao dbxexpress e o Delphi 2010 + Firebird 2.1 Fico no aguardo Rogério
Gostei + 0
07/08/2010
Marco Salles
Gostei + 0
09/08/2010
Rogerio Santos
Gostei + 0
09/08/2010
Marco Salles
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)