Fórum Problema com a treeview #424971
29/09/2012
0
obrigado.
Wilton Júnior
Curtir tópico
+ 0Posts
29/09/2012
Alisson Santos
Gostei + 0
29/09/2012
Wilton Júnior
Node:TTreeNode;
SubNode:TTreeNode;
{Se a quantidade de linhas for maior que um irá ler e gravar conteudos de outros arquivos}
if n > 1 then
begin
//Salvar o conteudo de index.sys na memoria00(clientdataset)
while not eof(arq) do
begin
Readln(arq, ArqLinha);
if ArqLinha <> '' then
begin
Memoria00.Append;
Memoria00NomeDB.AsString := ArqLinha;
Memoria00.Post;
ArqLinha:= '';
end;
end;
CloseFile(arq);
//Gravar base de dados
memoria00.First;
while not memoria00.Eof do
begin
//Se o arquivo for o index
if Memoria00NomeDB.AsString = 'index' then
TreeDataBase.items.Add(nil, Memoria00NomeDB.AsString)
else
begin
//Checar se pasta com o nome da base de dados exite.
if DirectoryExists('C:\SQLBacala\Database\'+Memoria00NomeDB.AsString) then
Begin
//Checar se arquivo ixtabela.sys existe dentro dessa pasta
if FileExists('C:\SQLBacala\Database\'+Memoria00NomeDB.AsString+'\ixtabela.sys') then
begin
//Grava base de dados na treeview
node := TreeDataBase.Items.Add(nil, Memoria00NomeDB.AsString);
//Abrir o arquivo ixtabela
AssignFile(Arq,'C:\SQLBacala\Database\'+ Memoria00NomeDB.AsString+'\ixtabela.sys');
Reset(arq);
//Gravar na memoria01
while not eof(arq) do
begin
Readln(arq, ArqLinha);
if ArqLinha <> '' then
begin
Memoria01.Append;
Memoria01NomeDB.AsString := Memoria00NomeDB.AsString;
Memoria01Nomtab.AsString := ArqLinha;
Memoria01.Post;
ArqLinha:= '';
end;
end;
CloseFile(arq);
memoria01.First;
while not memoria01.eof do
begin
//Checar se pasta com o nome da tabela exite.
if DirectoryExists('C:\SQLBacala\Database\'+Memoria00NomeDB.AsString+'\'+Memoria01Nomtab.asstring) then
Begin
//Checar se arquivo ixcampo.sys existe dentro dessa pasta
if FileExists('C:\SQLBacala\Database\'+Memoria00NomeDB.AsString+'\'+Memoria01Nomtab.asstring+'\idxcampo.sys') then
begin
subnode := TreeDataBase.Items.AddChild(node, Memoria01Nomtab.asstring);
//Abrir o arquivo ixcampo
AssignFile(Arq,'C:\SQLBacala\Database\'+ Memoria00NomeDB.AsString+'\'+Memoria01Nomtab.asstring+'\idxcampo.sys');
Reset(arq);
//Gravar na memoria02
while not eof(arq) do
begin
Readln(arq, ArqLinha);
if ArqLinha <> '' then
begin
Memoria02.Append;
Memoria02basedados.AsString := Memoria00NomeDB.AsString;
Memoria02NomTab.AsString := Memoria01Nomtab.AsString;
//Separa o campo do tipo do campo
if ArqLinha <> '' then
begin
for I := 0 to length(ArqLinha) do
begin
if Copy(ArqLinha,i,1) = '-' then
flag := true;
if Copy(ArqLinha,i,1) <> '-' then
begin
case flag of
true : campo := campo + Copy(ArqLinha,i,1);
false : tipo := tipo + Copy(ArqLinha,i,1);
end;
end;
end;
end;
Memoria02campo.AsString := campo;
Memoria02tipo.AsString := tipo;
Memoria02.Post;
ArqLinha:= '';
end;
end;
CloseFile(arq);
//Gravar na treewiew
Memoria02.First;
while not memoria02.eof do
begin
if ((Memoria02basedados.AsString = Memoria00NomeDB.AsString)
and(Memoria02NomTab.AsString = Memoria01Nomtab.AsString)) then
TreeDataBase.Items.AddChild(subnode, Memoria02campo.AsString);
memoria02.Next;
end;
end
else
begin
Mensagem(8);
Mensagem(4);
Application.Terminate;
exit;
end;
End
else
begin
Mensagem(7);
Mensagem(4);
Application.Terminate;
exit;
end;
memoria01.Next;
end;
end
else
begin
//Mensagem de erro caso arquivo ixtabela não encontrado
Mensagem(6);
mensagem(4);
Application.Terminate;
exit;
end;
End
else
begin
//mensagem de erro caso pasta com o nome da base de dados não encontrada.
Mensagem(5);
Mensagem(4);
Application.Terminate;
exit;
end;
end;
memoria00.Next;
end;
end
else
begin
Readln(arq, ArqLinha);
Memoria00.Append;
Memoria00NomeDB.AsString := ArqLinha;
Memoria00.Post;
CloseFile(arq);
TreeDataBase.Items.Add(nil, Memoria00NomeDB.AsString);
end;
Gostei + 0
01/10/2012
Wilton Júnior
Gostei + 0
01/10/2012
Deivison Melo
forte abraço e bons códigos!
Gostei + 0
01/10/2012
Wilton Júnior
tah nesse link
quando as base de dados sobem para o treeview eles ficam foscos quase não aparecem.
Se quizer te mando os fortes no seu e-mail para testar e ver o que ta acontecendo.
obrigado.
Deus o abençoe
Gostei + 0
01/10/2012
Wilton Júnior
http://oi46.tinypic.com/2utqiqh.jpg
Gostei + 0
01/10/2012
Wilton Júnior
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)