Fórum set focus em chave que relaciona as tabelas,erro dataset #163604
30/05/2003
0
como posso resolver isso tenho um form de cadastro utilizando a tabela de clientes com o cgc sendo a chave principal (utiliz paradox)
depois possuo pags controls acessando outras tabelas tipo :
endereço de entrega
endereço de cobranca
que o mesmo cgc pode ter n endereços entrega e n endereços de cobranca
então criei uma tabala para cada um
como posso dar setfocus no cgc que esta relacionando a tabela de entrega com a tabela de clientes, pois o cgc aparece na entrega apenas qdo comeco a digitar o número
outra coisa qdo tento salvar os dados da tabela esta dando erro de dataset is not in mode edit or insert não consigo resolver me ajudem please....(Botao salvar)
segue o código
unit ficha_cadastral;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DBCtrls, Db, DBTables, StdCtrls, ComCtrls, Mask, Buttons,
Grids, DBGrids;
type
:oops: Tform_ficha = class(TForm)
ScrollBox1: TScrollBox;
tbfichacli: TTable;
CNPJ: TLabel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
edvendedor: TDBEdit;
edrazao: TDBEdit;
ediestadual: TDBEdit;
Label4: TLabel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
GroupBox1: TGroupBox;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
dsfichacli: TDataSource;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
DBCombouf: TDBComboBox;
edmunicipio: TDBEdit;
edendereco: TDBEdit;
edbairro: TDBEdit;
edcep: TDBEdit;
tbentrega: TTable;
dsentrega: TDataSource;
Label13: TLabel;
DBEdit4: TDBEdit;
Label14: TLabel;
DBEdit5: TDBEdit;
Label15: TLabel;
DBEdit6: TDBEdit;
edfone: TDBEdit;
edfax: TDBEdit;
Label10: TLabel;
Label12: TLabel;
Label16: TLabel;
DBEdit2: TDBEdit;
Label17: TLabel;
DBEdit3: TDBEdit;
Label18: TLabel;
DBComboBox1: TDBComboBox;
Label19: TLabel;
DBEdit7: TDBEdit;
Label20: TLabel;
DBEdit8: TDBEdit;
Label21: TLabel;
DBEdit9: TDBEdit;
Label22: TLabel;
DBEdit10: TDBEdit;
Label23: TLabel;
DBEdit11: TDBEdit;
Label24: TLabel;
DBEdit12: TDBEdit;
Label25: TLabel;
DBComboBox2: TDBComboBox;
Label26: TLabel;
DBEdit13: TDBEdit;
Label27: TLabel;
DBEdit14: TDBEdit;
Label28: TLabel;
DBEdit15: TDBEdit;
Label11: TLabel;
DBcnpjclie: TDBEdit;
Label29: TLabel;
DBEdit16: TDBEdit;
Label30: TLabel;
DBEdit17: TDBEdit;
Label31: TLabel;
DBEdit18: TDBEdit;
Label32: TLabel;
DBEdit19: TDBEdit;
TabSheet4: TTabSheet;
Socios: TGroupBox;
Label33: TLabel;
DBEdit20: TDBEdit;
Label35: TLabel;
DBEdit22: TDBEdit;
Label34: TLabel;
DBEdit21: TDBEdit;
DBEdit24: TDBEdit;
Label37: TLabel;
TabSheet5: TTabSheet;
GroupBox4: TGroupBox;
Label36: TLabel;
DBdescbanco: TDBEdit;
Label38: TLabel;
Label40: TLabel;
DBEdit23: TDBEdit;
Label41: TLabel;
DBEdit26: TDBEdit;
TabSheet6: TTabSheet;
GroupBox5: TGroupBox;
Label39: TLabel;
Label42: TLabel;
Label43: TLabel;
Label44: TLabel;
Label45: TLabel;
Label46: TLabel;
Label47: TLabel;
DBComboBox3: TDBComboBox;
DBEdit27: TDBEdit;
DBEdit28: TDBEdit;
DBEdit29: TDBEdit;
DBEdit30: TDBEdit;
DBEdit31: TDBEdit;
DBEdit32: TDBEdit;
TabSheet7: TTabSheet;
TabSheet8: TTabSheet;
GroupBox6: TGroupBox;
Label48: TLabel;
DBeditlimite: TDBEdit;
Label49: TLabel;
DBMemoobs: TDBMemo;
GroupBox7: TGroupBox;
DBRadioGroup1: TDBRadioGroup;
DBRadioGroup2: TDBRadioGroup;
DBRadioGroup3: TDBRadioGroup;
DBRadioGroup4: TDBRadioGroup;
DBRadioGroup5: TDBRadioGroup;
tbsocios: TTable;
dssocios: TDataSource;
DBRadioGroup6: TDBRadioGroup;
DBEdit34: TDBEdit;
DBEdit35: TDBEdit;
DBComboBox4: TDBComboBox;
DBatividade: TDBComboBox;
tbatividade: TTable;
dsatividade: TDataSource;
StaticText1: TStaticText;
DBNavigator6: TDBNavigator;
DBNavigator7: TDBNavigator;
DBNavigator5: TDBNavigator;
DBNavigator2: TDBNavigator;
DBNavigator3: TDBNavigator;
tbrfcomercial: TTable;
dsrfcomercial: TDataSource;
btIncluir: TButton;
btsalvar: TButton;
DBcnpj: TDBEdit;
Label50: TLabel;
DBcnpjclic: TDBEdit;
Label51: TLabel;
DBEdit33: TDBEdit;
Label52: TLabel;
DBcnpjb: TDBEdit;
Label53: TLabel;
DBcnpjclici: TDBEdit;
Tbcobranca: TTable;
dscobranca: TDataSource;
Tbrfbanco: TTable;
dsrfbanco: TDataSource;
btenviar: TButton;
DB1: TDatabase;
tbvendedor: TTable;
dsvendedor: TDataSource;
tbvendedorCdven: TStringField;
tbvendedorNome: TStringField;
lbldescricao: TLabel;
tbfichacliCnpj: TStringField;
tbfichacliStatus: TStringField;
tbfichacliVendedor: TStringField;
tbfichacliAtividadecli: TFloatField;
tbfichacliRazao: TStringField;
tbfichacliEndereco: TStringField;
tbfichacliBairro: TStringField;
tbfichacliCep: TFloatField;
tbfichacliMunicipio: TStringField;
tbfichacliUf: TStringField;
tbfichacliDdd: TFloatField;
tbfichacliFone: TFloatField;
tbfichacliDdf: TFloatField;
tbfichacliFax: TFloatField;
tbfichacliEmail: TStringField;
tbfichacliIestadual: TStringField;
tbfichacliSuframa: TStringField;
tbfichacliNomefantasia: TStringField;
tbfichacliLimitecredito: TFloatField;
tbfichacliObservacoes: TStringField;
tbfichacliLocalizacao: TStringField;
tbfichacliAreaComercial: TStringField;
tbfichacliInstalacoes: TStringField;
tbfichacliMovtLoja: TStringField;
tbfichacliEstoqueVisivel: TStringField;
tbfichacliOldcgc: TStringField;
tbfichacliOldazao: TStringField;
tbatividadeCodigo: TStringField;
tbatividadeDescricao: TStringField;
tbentregaCnpjcli: TStringField;
tbentregaEndereco: TStringField;
tbentregaBairro: TStringField;
tbentregaCep: TFloatField;
tbentregaMunicipio: TStringField;
tbentregaUf: TStringField;
tbentregaIestadual: TStringField;
tbentregaCnpj: TStringField;
tbentregaFone: TFloatField;
tbentregaFax: TFloatField;
tbentregaSeq: TFloatField;
TbcobrancaCnpjcli: TStringField;
TbcobrancaEndereco: TStringField;
TbcobrancaBairro: TStringField;
TbcobrancaCep: TFloatField;
TbcobrancaMunicipio: TStringField;
TbcobrancaUf: TStringField;
TbcobrancaFone: TFloatField;
TbcobrancaFax: TFloatField;
TbcobrancaSeq: TFloatField;
tbsociosCnpjcli: TStringField;
tbsociosSocio: TStringField;
tbsociosPercentual: TStringField;
tbsociosNacionalidade: TStringField;
tbsociosEstadoCivil: TStringField;
tbsociosCnpjcpf: TStringField;
tbsociosSeq: TFloatField;
tbrfcomercialCnpjcli: TStringField;
tbrfcomercialNome: TStringField;
tbrfcomercialEndereco: TStringField;
tbrfcomercialBairro: TStringField;
tbrfcomercialCep: TFloatField;
tbrfcomercialMunicipio: TStringField;
tbrfcomercialUf: TStringField;
tbrfcomercialDdd: TFloatField;
tbrfcomercialFone: TFloatField;
tbrfcomercialFax: TFloatField;
tbrfcomercialSeq: TFloatField;
Label54: TLabel;
DBcnpje: TDBEdit;
TbrfbancoCnpj: TStringField;
TbrfbancoCodbanco: TFloatField;
TbrfbancoNomebanco: TStringField;
TbrfbancoCodagencia: TFloatField;
TbrfbancoNomeagencia: TStringField;
TbrfbancoEndereco: TStringField;
TbrfbancoCep: TFloatField;
TbrfbancoSeq: TFloatField;
// Database1: TDatabase;
procedure btIncluirClick(Sender: TObject);
procedure btsalvarClick(Sender: TObject);
procedure btenviarClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure DBcnpjExit(Sender: TObject);
procedure DBatividadeExit(Sender: TObject);
procedure btIncluirMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
// procedure lbldescricaoClick(Sender: TObject);
private
{ Private declarations }
function cgc(num: string): boolean;
// function AjustaStr ( str: String; tam: Integer): String;
public
{ Public declarations }
// function AjustaStr ( str: String; tam: Integer): String;
end;
var
form_ficha: Tform_ficha;
Arq: TextFile;
NomeDoArquivo: String;
tabela: Ttable;
implementation
{$R *.DFM}
procedure Tform_ficha.btIncluirClick(Sender: TObject);
begin
btIncluir.Enabled := false;
tbfichacli.append;
PageControl1.ActivePage := TabSheet1;
DBcnpj.setfocus;
tbentrega.Append;
DBcnpjclie:=dbcnpj;
tbcobranca.append;
Dbcnpjclic:=dbcnpj;
tbrfbanco.append;
Dbcnpjb:=dbcnpj;
tbrfcomercial.append;
DBcnpjclici:=dbcnpj;
end;
procedure Tform_ficha.btsalvarClick(Sender: TObject);
//var
// ProxNum: Integer;
begin
btIncluir.Enabled := True;
tbfichacli.Post;
// tbentregaseq := AsInteger + 1;
// tbentregaseq:=proxnum
tbentrega.Post;
tbcobranca.Post;
tbsocios.Post;
tbrfbanco.Post;
tbrfcomercial.Post;
end;
procedure Tform_ficha.btenviarClick(Sender: TObject);
function AjustaStr ( str: String; tam: Integer): String;
begin
while length (str) < tam do
str:=str + ´´;
if length (str) > tam then
str:=Copy (str,1,tam);
result:=str;
end;
begin
NomeDoArquivo:= ´teste.txt´;
tabela:= tbfichacli;
AssignFile ( Arq, NomeDoArquivo );
Rewrite (Arq); //inicializa o arquivo em branco
tabela.first;
While not tabela.Eof do
begin
Write (arq, AjustaStr( tabela.FieldByName(´cnpj´).AsString,15));
Write (arq, AjustaStr( tabela.FieldByName(´status´).AsString,1));
Write (arq, AjustaStr( tabela.FieldByName(´vendedor´).AsString,4));
Write (arq, AjustaStr( tabela.FieldByName(´atividadecli´).AsString,3));
Write (arq, AjustaStr( tabela.FieldByName(´razao´).AsString,35));
Write (arq, AjustaStr( tabela.FieldByName(´endereco´).AsString,40));
Write (arq, AjustaStr( tabela.FieldByName(´bairro´).AsString,30));
Write (arq, Formatfloat(´00000000´,tabela.FieldByName(´cep´).AsFloat));
Write (arq, AjustaStr( tabela.FieldByName(´municipio´).AsString,30));
Write (arq, FormatFloat(´000´,tabela.FieldByName(´ddd´).AsFloat));
Write (arq, FormatFloat(´00000000´,tabela.FieldByName(´fone´).AsFloat));
Write (arq, FormatFloat(´000´,tabela.FieldByName(´ddf´).AsFloat));
Write (arq, FormatFloat(´00000000´,tabela.FieldByName(´fax´).AsFloat));
Write (arq, AjustaStr( tabela.FieldByName(´email´).AsString,30));
Write (arq, AjustaStr( tabela.FieldByName(´iestadual´).AsString,20));
Write (arq, AjustaStr( tabela.FieldByName(´nome´).AsString,35));
Write (arq, AjustaStr( tabela.FieldByName(´observacao´).AsString,50));
Write (arq, AjustaStr( tabela.FieldByName(´localizacao´).AsString,1));
Write (arq, AjustaStr( tabela.FieldByName(´areacomercial´).AsString,1));
Write (arq, AjustaStr( tabela.FieldByName(´instalacoes´).AsString,1));
Write (arq, AjustaStr( tabela.FieldByName(´movtloja´).AsString,1));
Write (arq, AJustaStr( tabela.FieldByName(´estoquevisivel´).AsString,1));
Write (arq, AjustaStr( tabela.FieldByName(´oldcgc´).AsString,15));
Write (arq, AjustaStr( tabela.FieldByName(´oldrazao´).AsString,35));
Write (arq, FormatFloat(´0000000.00´,tabela.FieldByName(´limite´).AsFloat));
WriteLn (arq);
tabela.Next;
end;
CloseFile ( arq );
end;
procedure Tform_ficha.FormCreate(Sender: TObject);
begin
try
db1.Open;
tbvendedor.Open;
tbfichacli.Open;
tbatividade.Open;
Tbrfbanco.Open;
tbentrega.Open;
Tbcobranca.Open;
tbrfcomercial.Open;
tbsocios.Open;
tbatividade.First;
while not tbatividade.eof do
begin
DBatividade.Items.Add(tbatividadeCodigo.AsString);
tbatividade.next;
end;
except
ShowMessage(´Erro ao carregar tabelas´);
end;
end;
function Tform_ficha.cgc(num: string): boolean;
var
n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12: integer;
d1,d2,nResto: integer;
digitado, calculado: string;
begin
n1:=StrToInt(num[1]);
n2:=StrToInt(num[2]);
n3:=StrToInt(num[3]);
n4:=StrToInt(num[4]);
n5:=StrToInt(num[5]);
n6:=StrToInt(num[6]);
n7:=StrToInt(num[7]);
n8:=StrToInt(num[8]);
n9:=StrToInt(num[9]);
n10:=StrToInt(num[10]);
n11:=StrToInt(num[11]);
n12:=StrToInt(num[12]);
d1:=n12*2+n11*3+n10*4+n9*5+n8*6+n7*7+n6*8+n5*9+n4*2+n3*3+n2*4+n1*5;
nResto := (d1 mod 11);
if (nResto = 0) or (nResto = 1) then
d1 := 0
else
d1 := 11 - nResto;
d2:=d1*2+n12*3+n11*4+n10*5+n9*6+n8*7+n7*8+n6*9+n5*2+n4*3+n3*4+n2*5+n1*6;
nResto := (d2 mod 11);
if (nResto = 0) or (nResto = 1) then
d2 := 0
else
d2 := 11 - nResto;
calculado:=inttostr(d1)+inttostr(d2);
digitado:=num[13]+num[14];
if calculado=digitado then
cgc:=true
else
cgc:=false;
end;
procedure Tform_ficha.DBcnpjExit(Sender: TObject);
begin
if trim(tbfichacliCnpj.AsString) <> ´´ then exit;
if not (cgc(tbfichacliCnpj.AsString)) then
begin
Showmessage(´CNPJ Inválido´);
end;
end;
function AjustaStr ( str: String; tam: Integer): String;
begin
while length (str) < tam do
str:=str + ´´;
if length (str) > tam then
str:=Copy (str,1,tam);
result:=str;
end;
procedure Tform_ficha.DBatividadeExit(Sender: TObject);
begin
lbldescricao.caption:=(tbatividadedescricao.AsString);
end;
procedure Tform_ficha.btIncluirMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
DBcnpjclie:=dbcnpj;
DBcnpjclie.setfocus;
end;
end.
outra coisa como faço para dar setcosu no cgc das tabelas que estão no page control tipo:
digito o cgc na tela principal qdo vou para cadastrar o endereco de entrega e os outros serão vínculados ao cgc que já digitei acima, porém ele so aparece qdo eu digito algo no campo por estar relacionado ele carrga o que quero mais deve ter um jeito dele ja carregar assim que clico no campo nao tem ????
depois possuo pags controls acessando outras tabelas tipo :
endereço de entrega
endereço de cobranca
que o mesmo cgc pode ter n endereços entrega e n endereços de cobranca
então criei uma tabala para cada um
como posso dar setfocus no cgc que esta relacionando a tabela de entrega com a tabela de clientes, pois o cgc aparece na entrega apenas qdo comeco a digitar o número
outra coisa qdo tento salvar os dados da tabela esta dando erro de dataset is not in mode edit or insert não consigo resolver me ajudem please....(Botao salvar)
segue o código
unit ficha_cadastral;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, DBCtrls, Db, DBTables, StdCtrls, ComCtrls, Mask, Buttons,
Grids, DBGrids;
type
:oops: Tform_ficha = class(TForm)
ScrollBox1: TScrollBox;
tbfichacli: TTable;
CNPJ: TLabel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
edvendedor: TDBEdit;
edrazao: TDBEdit;
ediestadual: TDBEdit;
Label4: TLabel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
GroupBox1: TGroupBox;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
dsfichacli: TDataSource;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
DBCombouf: TDBComboBox;
edmunicipio: TDBEdit;
edendereco: TDBEdit;
edbairro: TDBEdit;
edcep: TDBEdit;
tbentrega: TTable;
dsentrega: TDataSource;
Label13: TLabel;
DBEdit4: TDBEdit;
Label14: TLabel;
DBEdit5: TDBEdit;
Label15: TLabel;
DBEdit6: TDBEdit;
edfone: TDBEdit;
edfax: TDBEdit;
Label10: TLabel;
Label12: TLabel;
Label16: TLabel;
DBEdit2: TDBEdit;
Label17: TLabel;
DBEdit3: TDBEdit;
Label18: TLabel;
DBComboBox1: TDBComboBox;
Label19: TLabel;
DBEdit7: TDBEdit;
Label20: TLabel;
DBEdit8: TDBEdit;
Label21: TLabel;
DBEdit9: TDBEdit;
Label22: TLabel;
DBEdit10: TDBEdit;
Label23: TLabel;
DBEdit11: TDBEdit;
Label24: TLabel;
DBEdit12: TDBEdit;
Label25: TLabel;
DBComboBox2: TDBComboBox;
Label26: TLabel;
DBEdit13: TDBEdit;
Label27: TLabel;
DBEdit14: TDBEdit;
Label28: TLabel;
DBEdit15: TDBEdit;
Label11: TLabel;
DBcnpjclie: TDBEdit;
Label29: TLabel;
DBEdit16: TDBEdit;
Label30: TLabel;
DBEdit17: TDBEdit;
Label31: TLabel;
DBEdit18: TDBEdit;
Label32: TLabel;
DBEdit19: TDBEdit;
TabSheet4: TTabSheet;
Socios: TGroupBox;
Label33: TLabel;
DBEdit20: TDBEdit;
Label35: TLabel;
DBEdit22: TDBEdit;
Label34: TLabel;
DBEdit21: TDBEdit;
DBEdit24: TDBEdit;
Label37: TLabel;
TabSheet5: TTabSheet;
GroupBox4: TGroupBox;
Label36: TLabel;
DBdescbanco: TDBEdit;
Label38: TLabel;
Label40: TLabel;
DBEdit23: TDBEdit;
Label41: TLabel;
DBEdit26: TDBEdit;
TabSheet6: TTabSheet;
GroupBox5: TGroupBox;
Label39: TLabel;
Label42: TLabel;
Label43: TLabel;
Label44: TLabel;
Label45: TLabel;
Label46: TLabel;
Label47: TLabel;
DBComboBox3: TDBComboBox;
DBEdit27: TDBEdit;
DBEdit28: TDBEdit;
DBEdit29: TDBEdit;
DBEdit30: TDBEdit;
DBEdit31: TDBEdit;
DBEdit32: TDBEdit;
TabSheet7: TTabSheet;
TabSheet8: TTabSheet;
GroupBox6: TGroupBox;
Label48: TLabel;
DBeditlimite: TDBEdit;
Label49: TLabel;
DBMemoobs: TDBMemo;
GroupBox7: TGroupBox;
DBRadioGroup1: TDBRadioGroup;
DBRadioGroup2: TDBRadioGroup;
DBRadioGroup3: TDBRadioGroup;
DBRadioGroup4: TDBRadioGroup;
DBRadioGroup5: TDBRadioGroup;
tbsocios: TTable;
dssocios: TDataSource;
DBRadioGroup6: TDBRadioGroup;
DBEdit34: TDBEdit;
DBEdit35: TDBEdit;
DBComboBox4: TDBComboBox;
DBatividade: TDBComboBox;
tbatividade: TTable;
dsatividade: TDataSource;
StaticText1: TStaticText;
DBNavigator6: TDBNavigator;
DBNavigator7: TDBNavigator;
DBNavigator5: TDBNavigator;
DBNavigator2: TDBNavigator;
DBNavigator3: TDBNavigator;
tbrfcomercial: TTable;
dsrfcomercial: TDataSource;
btIncluir: TButton;
btsalvar: TButton;
DBcnpj: TDBEdit;
Label50: TLabel;
DBcnpjclic: TDBEdit;
Label51: TLabel;
DBEdit33: TDBEdit;
Label52: TLabel;
DBcnpjb: TDBEdit;
Label53: TLabel;
DBcnpjclici: TDBEdit;
Tbcobranca: TTable;
dscobranca: TDataSource;
Tbrfbanco: TTable;
dsrfbanco: TDataSource;
btenviar: TButton;
DB1: TDatabase;
tbvendedor: TTable;
dsvendedor: TDataSource;
tbvendedorCdven: TStringField;
tbvendedorNome: TStringField;
lbldescricao: TLabel;
tbfichacliCnpj: TStringField;
tbfichacliStatus: TStringField;
tbfichacliVendedor: TStringField;
tbfichacliAtividadecli: TFloatField;
tbfichacliRazao: TStringField;
tbfichacliEndereco: TStringField;
tbfichacliBairro: TStringField;
tbfichacliCep: TFloatField;
tbfichacliMunicipio: TStringField;
tbfichacliUf: TStringField;
tbfichacliDdd: TFloatField;
tbfichacliFone: TFloatField;
tbfichacliDdf: TFloatField;
tbfichacliFax: TFloatField;
tbfichacliEmail: TStringField;
tbfichacliIestadual: TStringField;
tbfichacliSuframa: TStringField;
tbfichacliNomefantasia: TStringField;
tbfichacliLimitecredito: TFloatField;
tbfichacliObservacoes: TStringField;
tbfichacliLocalizacao: TStringField;
tbfichacliAreaComercial: TStringField;
tbfichacliInstalacoes: TStringField;
tbfichacliMovtLoja: TStringField;
tbfichacliEstoqueVisivel: TStringField;
tbfichacliOldcgc: TStringField;
tbfichacliOldazao: TStringField;
tbatividadeCodigo: TStringField;
tbatividadeDescricao: TStringField;
tbentregaCnpjcli: TStringField;
tbentregaEndereco: TStringField;
tbentregaBairro: TStringField;
tbentregaCep: TFloatField;
tbentregaMunicipio: TStringField;
tbentregaUf: TStringField;
tbentregaIestadual: TStringField;
tbentregaCnpj: TStringField;
tbentregaFone: TFloatField;
tbentregaFax: TFloatField;
tbentregaSeq: TFloatField;
TbcobrancaCnpjcli: TStringField;
TbcobrancaEndereco: TStringField;
TbcobrancaBairro: TStringField;
TbcobrancaCep: TFloatField;
TbcobrancaMunicipio: TStringField;
TbcobrancaUf: TStringField;
TbcobrancaFone: TFloatField;
TbcobrancaFax: TFloatField;
TbcobrancaSeq: TFloatField;
tbsociosCnpjcli: TStringField;
tbsociosSocio: TStringField;
tbsociosPercentual: TStringField;
tbsociosNacionalidade: TStringField;
tbsociosEstadoCivil: TStringField;
tbsociosCnpjcpf: TStringField;
tbsociosSeq: TFloatField;
tbrfcomercialCnpjcli: TStringField;
tbrfcomercialNome: TStringField;
tbrfcomercialEndereco: TStringField;
tbrfcomercialBairro: TStringField;
tbrfcomercialCep: TFloatField;
tbrfcomercialMunicipio: TStringField;
tbrfcomercialUf: TStringField;
tbrfcomercialDdd: TFloatField;
tbrfcomercialFone: TFloatField;
tbrfcomercialFax: TFloatField;
tbrfcomercialSeq: TFloatField;
Label54: TLabel;
DBcnpje: TDBEdit;
TbrfbancoCnpj: TStringField;
TbrfbancoCodbanco: TFloatField;
TbrfbancoNomebanco: TStringField;
TbrfbancoCodagencia: TFloatField;
TbrfbancoNomeagencia: TStringField;
TbrfbancoEndereco: TStringField;
TbrfbancoCep: TFloatField;
TbrfbancoSeq: TFloatField;
// Database1: TDatabase;
procedure btIncluirClick(Sender: TObject);
procedure btsalvarClick(Sender: TObject);
procedure btenviarClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure DBcnpjExit(Sender: TObject);
procedure DBatividadeExit(Sender: TObject);
procedure btIncluirMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
// procedure lbldescricaoClick(Sender: TObject);
private
{ Private declarations }
function cgc(num: string): boolean;
// function AjustaStr ( str: String; tam: Integer): String;
public
{ Public declarations }
// function AjustaStr ( str: String; tam: Integer): String;
end;
var
form_ficha: Tform_ficha;
Arq: TextFile;
NomeDoArquivo: String;
tabela: Ttable;
implementation
{$R *.DFM}
procedure Tform_ficha.btIncluirClick(Sender: TObject);
begin
btIncluir.Enabled := false;
tbfichacli.append;
PageControl1.ActivePage := TabSheet1;
DBcnpj.setfocus;
tbentrega.Append;
DBcnpjclie:=dbcnpj;
tbcobranca.append;
Dbcnpjclic:=dbcnpj;
tbrfbanco.append;
Dbcnpjb:=dbcnpj;
tbrfcomercial.append;
DBcnpjclici:=dbcnpj;
end;
procedure Tform_ficha.btsalvarClick(Sender: TObject);
//var
// ProxNum: Integer;
begin
btIncluir.Enabled := True;
tbfichacli.Post;
// tbentregaseq := AsInteger + 1;
// tbentregaseq:=proxnum
tbentrega.Post;
tbcobranca.Post;
tbsocios.Post;
tbrfbanco.Post;
tbrfcomercial.Post;
end;
procedure Tform_ficha.btenviarClick(Sender: TObject);
function AjustaStr ( str: String; tam: Integer): String;
begin
while length (str) < tam do
str:=str + ´´;
if length (str) > tam then
str:=Copy (str,1,tam);
result:=str;
end;
begin
NomeDoArquivo:= ´teste.txt´;
tabela:= tbfichacli;
AssignFile ( Arq, NomeDoArquivo );
Rewrite (Arq); //inicializa o arquivo em branco
tabela.first;
While not tabela.Eof do
begin
Write (arq, AjustaStr( tabela.FieldByName(´cnpj´).AsString,15));
Write (arq, AjustaStr( tabela.FieldByName(´status´).AsString,1));
Write (arq, AjustaStr( tabela.FieldByName(´vendedor´).AsString,4));
Write (arq, AjustaStr( tabela.FieldByName(´atividadecli´).AsString,3));
Write (arq, AjustaStr( tabela.FieldByName(´razao´).AsString,35));
Write (arq, AjustaStr( tabela.FieldByName(´endereco´).AsString,40));
Write (arq, AjustaStr( tabela.FieldByName(´bairro´).AsString,30));
Write (arq, Formatfloat(´00000000´,tabela.FieldByName(´cep´).AsFloat));
Write (arq, AjustaStr( tabela.FieldByName(´municipio´).AsString,30));
Write (arq, FormatFloat(´000´,tabela.FieldByName(´ddd´).AsFloat));
Write (arq, FormatFloat(´00000000´,tabela.FieldByName(´fone´).AsFloat));
Write (arq, FormatFloat(´000´,tabela.FieldByName(´ddf´).AsFloat));
Write (arq, FormatFloat(´00000000´,tabela.FieldByName(´fax´).AsFloat));
Write (arq, AjustaStr( tabela.FieldByName(´email´).AsString,30));
Write (arq, AjustaStr( tabela.FieldByName(´iestadual´).AsString,20));
Write (arq, AjustaStr( tabela.FieldByName(´nome´).AsString,35));
Write (arq, AjustaStr( tabela.FieldByName(´observacao´).AsString,50));
Write (arq, AjustaStr( tabela.FieldByName(´localizacao´).AsString,1));
Write (arq, AjustaStr( tabela.FieldByName(´areacomercial´).AsString,1));
Write (arq, AjustaStr( tabela.FieldByName(´instalacoes´).AsString,1));
Write (arq, AjustaStr( tabela.FieldByName(´movtloja´).AsString,1));
Write (arq, AJustaStr( tabela.FieldByName(´estoquevisivel´).AsString,1));
Write (arq, AjustaStr( tabela.FieldByName(´oldcgc´).AsString,15));
Write (arq, AjustaStr( tabela.FieldByName(´oldrazao´).AsString,35));
Write (arq, FormatFloat(´0000000.00´,tabela.FieldByName(´limite´).AsFloat));
WriteLn (arq);
tabela.Next;
end;
CloseFile ( arq );
end;
procedure Tform_ficha.FormCreate(Sender: TObject);
begin
try
db1.Open;
tbvendedor.Open;
tbfichacli.Open;
tbatividade.Open;
Tbrfbanco.Open;
tbentrega.Open;
Tbcobranca.Open;
tbrfcomercial.Open;
tbsocios.Open;
tbatividade.First;
while not tbatividade.eof do
begin
DBatividade.Items.Add(tbatividadeCodigo.AsString);
tbatividade.next;
end;
except
ShowMessage(´Erro ao carregar tabelas´);
end;
end;
function Tform_ficha.cgc(num: string): boolean;
var
n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12: integer;
d1,d2,nResto: integer;
digitado, calculado: string;
begin
n1:=StrToInt(num[1]);
n2:=StrToInt(num[2]);
n3:=StrToInt(num[3]);
n4:=StrToInt(num[4]);
n5:=StrToInt(num[5]);
n6:=StrToInt(num[6]);
n7:=StrToInt(num[7]);
n8:=StrToInt(num[8]);
n9:=StrToInt(num[9]);
n10:=StrToInt(num[10]);
n11:=StrToInt(num[11]);
n12:=StrToInt(num[12]);
d1:=n12*2+n11*3+n10*4+n9*5+n8*6+n7*7+n6*8+n5*9+n4*2+n3*3+n2*4+n1*5;
nResto := (d1 mod 11);
if (nResto = 0) or (nResto = 1) then
d1 := 0
else
d1 := 11 - nResto;
d2:=d1*2+n12*3+n11*4+n10*5+n9*6+n8*7+n7*8+n6*9+n5*2+n4*3+n3*4+n2*5+n1*6;
nResto := (d2 mod 11);
if (nResto = 0) or (nResto = 1) then
d2 := 0
else
d2 := 11 - nResto;
calculado:=inttostr(d1)+inttostr(d2);
digitado:=num[13]+num[14];
if calculado=digitado then
cgc:=true
else
cgc:=false;
end;
procedure Tform_ficha.DBcnpjExit(Sender: TObject);
begin
if trim(tbfichacliCnpj.AsString) <> ´´ then exit;
if not (cgc(tbfichacliCnpj.AsString)) then
begin
Showmessage(´CNPJ Inválido´);
end;
end;
function AjustaStr ( str: String; tam: Integer): String;
begin
while length (str) < tam do
str:=str + ´´;
if length (str) > tam then
str:=Copy (str,1,tam);
result:=str;
end;
procedure Tform_ficha.DBatividadeExit(Sender: TObject);
begin
lbldescricao.caption:=(tbatividadedescricao.AsString);
end;
procedure Tform_ficha.btIncluirMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
DBcnpjclie:=dbcnpj;
DBcnpjclie.setfocus;
end;
end.
outra coisa como faço para dar setcosu no cgc das tabelas que estão no page control tipo:
digito o cgc na tela principal qdo vou para cadastrar o endereco de entrega e os outros serão vínculados ao cgc que já digitei acima, porém ele so aparece qdo eu digito algo no campo por estar relacionado ele carrga o que quero mais deve ter um jeito dele ja carregar assim que clico no campo nao tem ????
Silvia
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)