Problema com a treeview
Ola, toda vez que carrego uns arquivos para ser armazenados na treeview elas ficam opacas, meio transparente ou borradas, alguem pode me dizer o que ta acontecendo ou que estou fazendo de errado.
obrigado.
obrigado.
Wilton Júnior
Curtidas 0
Respostas
Alisson Santos
29/09/2012
Como está fazendo o carregamento dessas informações?
GOSTEI 0
Wilton Júnior
29/09/2012
Coloquei as seguintes variaveis:
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;
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
Wilton Júnior
29/09/2012
O Código é esse precisa de mais alguma coisa?
GOSTEI 0
Deivison Melo
29/09/2012
Seria interessante postar a imagem de como está ficando na tela... Assim teríamos um melhor entendimento dos problemas mencionados!!
forte abraço e bons códigos!
forte abraço e bons códigos!
GOSTEI 0
Wilton Júnior
29/09/2012
http://tinypic.com/view.php?pic=2jg46lh&s=6
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
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
Wilton Júnior
29/09/2012
Estou mandando outro link da imagem que da para ver melhor o que tah acontecendo:
http://oi46.tinypic.com/2utqiqh.jpg
http://oi46.tinypic.com/2utqiqh.jpg
GOSTEI 0
Wilton Júnior
29/09/2012
Tem alguma solucção
GOSTEI 0