Ir para conteúdo
Fórum Script Brasil
  • 0

SQL com Progress


robinhocne

Pergunta

Olá pessoal, eu peguei um exemplo de um arquivo de ajuda do delphi, mas ele é tão antigo que foi feito no delphi 3 e estou com problemas na variavel.

Declarei na Uses do Formulario BDE

Variaveis

private
    FCBPROGRESSDesc: pCBPROGRESSDesc;
    FProgressCallback: TBDECallback;
    function GetDataCallback(CBInfo: Pointer): CBRType;
está dando erro nessa variavel
FProgressCallback: TBDECallback;
falando que não está declarada, no exemplo falou que caso acontece isso colocar na uses do programa o BDE e após o
{$R *.res}

begin
  Application.Initialize;
  DbiInit(nil);
ai já coloquei e mesmo assim continua dando erro......
Undeclared Identifier : TBDECallback;
abaixo o resto do codigo
function TFAdmPes007.GetDataCallback(CBInfo: Pointer): CBRType;
begin
    Result := cbrCONTINUE;
    with pCBPROGRESSDesc(CBInfo)^ do
      begin
        if iPercentDone < 0 then
          begin
            Label1.Caption := szMsg;
            Label1.Refresh;
            JvGradientProgressBar1.StepIt; {Apenas para ficar rodando o gauge}
          end
          else
          begin
            JvGradientProgressBar1.Position := iPercentDone;
          end;
      end;
end;

procedure TFAdmPes007.FormCreate(Sender: TObject);
begin
    FCBPROGRESSDesc := AllocMem(SizeOf(CBPROGRESSDesc));
    FProgressCallback := TBDECallback.Create(Self, Query1.Handle,
    cbGENPROGRESS, FCBPROGRESSDesc, SizeOf(CBPROGRESSDesc),
    GetDataCallback, True); 
end;

procedure TFAdmPes007.FormDestroy(Sender: TObject);
begin
    FProgressCallback.Free;
    FreeMem(FCBPROGRESSDesc, SizeOf(CBPROGRESSDesc)); 
end;

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Não faz assim não... dá mt trabalho, se você quer uma barra de progresso para uma SQL, você pode fazer assim:

JvGradientProgressBar1.Max := Query1.RecordCount;
while not Query1.eof do
begin
JvGradientProgressBar1.Position := JvGradientProgressBar1.Position + 1;
end;

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Não faz assim não... dá mt trabalho, se você quer uma barra de progresso para uma SQL, você pode fazer assim:

JvGradientProgressBar1.Max := Query1.RecordCount;
while not Query1.eof do
begin
JvGradientProgressBar1.Position := JvGradientProgressBar1.Position + 1;
end;
Abraços
então fiz dessa maneira ai mas ele não fica contando.....
with QryCid do
            begin
              close;
              sql.Clear;
              sql.Add('Select E.Cep, E.CodBairro, B.Codigo, B.CodCidade, B.Bairro,C.Codigo, C.Cidade, E.logradouro, U.Sigla');
              sql.Add('From Adm_Cad_Endereco E, Adm_Cad_Bairro B, Adm_Cad_Cidade C, Adm_Cad_Uf U where E.Cep =:Cep and');
              sql.Add('E.CodBairro = B.Codigo and B.CodCidade = C.Codigo and C.CodUf = U.Codigo');
              sql.Add('group by E.Cep, E.CodBairro, B.Codigo, B.CodCidade, B.Bairro, C.Codigo, C.Cidade, E.Logradouro, U.Sigla');
              ParamByName('Cep').AsString := TxtCep.Text;
              open;
            end;


          JvGradientProgressBar1.Max := QryCid.RecordCount;


          while not QryCid.Eof do
            begin  

              with TblCid do
                begin
                  insert;
                  TblCidCep.AsString      := QryCid.FieldByName('Cep').AsString;
                  TblCidEstado.AsString   := QryCid.FieldByName('Sigla').AsString;
                  TblCidCidade.AsString   := QryCid.FieldByName('Cidade').AsString;
                  TblCidEndereco.AsString := QryCid.FieldByName('Logradouro').AsString;
                  TblCidBairro.AsString   := QryCid.FieldByName('Bairro').AsString;
                  post;
                end;

              JvGradientProgressBar1.Position := JvGradientProgressBar1.Position + 1;
                              
              QryCid.Next;
            end;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...