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

Carregar Arquivo.ini


Guest alex sandro calderoli

Pergunta

Guest alex sandro calderoli

olá amigos...

criei em meu sistema um form de skins para a aplicaçao ficar mais profissional....

no onclose do form mando ele criar e salvar o skin escolhido em um arquivo ini....beleza...até ai tudo bem....

mas o problema é que não estou conseguindo chamar esse skin quando inicio a aplicação....alguém poderia me ajudar.....???

****estou tentando fazer assim para carregar mas não ta dando certo, me digam o q to fazendo de errado:

procedure Tf_acessar_sistema.FormShow(Sender: TObject);

var

Data : TIniFile;

begin

Data := Data.Create('C:\Documents and Settings\alex\Desktop\sistema mercado\Sistema_sgs\arquivo.ini');

DataReadString('skin','Data','');

Data.Free;

end;

end;

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

ae brother...

tipo...você leu o arquivo.ini mas não adicionou o valor lido em nenhuma variavel... ou seja, apenas leu...

vamos supor que em 'skin' 'data' teria o caminho do skin, e que o componente de skin chama-se "appskin"

então exemplo

procedure Tf_acessar_sistema.FormShow(Sender: TObject);

var

Data : TIniFile;

begin

Data := Data.Create('C:\Documents and Settings\alex\Desktop\sistema mercado\Sistema_sgs\arquivo.ini');

try

appskin.skin.path := Data.ReadString('skin','Data','');

finally

Data.Free;

end;

end;

entendeu mais ou menos o que eu quis dizeR?

você precisa armazenar o valor lido em uma variavel, ou já carregar direto... do jeito que esta ele apenas lê e já se limpa da memoria...

explica o que tem em 'skin' 'data', se é o caminho da skin e tal e se tiver dúvidas posta ai...

abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Guest alex sandro calderoli

e aí cara.....vou detalhar melhor e diferente, e vou mostrar a codificação que não dá erro mas também não dá certo, pois testei varias maneiras...

no form para escolha de skin eu fiz o seguinte...

procedure Tf_skins.FormClose(Sender: TObject; var Action: TCloseAction);

var

Data : TIniFile;

begin

Data := TIniFile.Create('caminho onde vai ser criado o arquivo.ini');

Data.WriteString('skin','teste','');

Data.Free;

end;

end.

obs: a codificação acima cria o arquivo ini......o conteudo gravado no arquivo.ini esta abaixo...:::

[skin]

teste=C:\Arquivos de programas\Borland\skins\MXSKIN13.SKN

e no form principal estou fazendo assim:.....onde está o problema...

procedure Tf_principal.FormShow(Sender: TObject);

var

Data : TIniFile;

begin

Data := TIniFile.Create('caminho onde foi criado o arquivo.ini');

try

skindata1.skinstore := Data.ReadString('skin','teste','');

skindata1.active := true;

finally

Data.Free;

end;

obs:

skindata1 é o nome do componente;

skinstore é a propriedade deste componente onde recebe o 'skin'

toda essa codificação não dá erro ...mas não da certo também....

o que será q estou fazendo de errado....????

me desculpem se não fui bem claro......

desde já agradeço a colaboração de todos....

alexcalderoli@yahoo.com.br

alex sandro calderoli, Campos novos / SC

Link para o comentário
Compartilhar em outros sites

  • 0

ae

tipo, você está fazendo certo, porém se não está dando certo é algo com o componente...

procure saber deste componente, como carregar skins em tempo de execução já que active não está carregando...

olhe se não tem outras propriedades, tipo load...

que componente é este? VCLSkin?

abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Guest marcelobrto

Amigos Usei o Código de vocês para dar um visual melhor no meu programa...... há modifiquei e agora está redondinho o codigo....... sei que deve ter uma forma mais facil mais essa realmente funciona e bem

var

Form1: TForm1;

CaminhoDasSkins , ss : string; //variaveis usadas NO PROGRAMA

implementation

uses Unit2;

{$R *.dfm}

// procurar botao que faz a busca skins na pasta

procedure TForm1.BitBtn1Click(Sender: TObject);

var

Procurar : TSearchRec;

Arquivos: Integer;

begin

CaminhoDasSkins := ExtractFilePath(Application.ExeName) + 'skins\*.skn';

Arquivos := 0;

Arquivos := Arquivos + faDirectory;

Arquivos := Arquivos + faArchive;

Arquivos := Arquivos + faAnyFile;

if FindFirst(CaminhoDasSkins, Arquivos, Procurar) = 0 then

begin

repeat

if (Procurar.Attr and Arquivos) = Procurar.Attr then

ListBox1.Items.Add(Procurar.Name);

until FindNext(Procurar) <> 0;

FindClose(Procurar);

end;

end;

// ao clicar dentro da lisbox já mostra o novo skin

procedure TForm1.ListBox1Click(Sender: TObject);

var

i: integer;

begin

i := ListBox1.ItemIndex;

ss := Copy(CaminhoDasSkins,1,Pos('*.skn',CaminhoDasSkins)-2)+'\'+ListBox1.items.strings;

SkinData1.SkinFile := ss;

if not SkinData1.Active then

SkinData1.Active := True;

end;

//abre o form fazendo uma busca no arquivo ini onde está a ultimo skin

procedure TForm1.FormShow(Sender: TObject);

var

Data : TIniFile;

begin

Data := TIniFile.Create('c:\arquivo.ini');

try

skindata1.SkinFile := Data.ReadString('skin','teste','');

skindata1.active := true;

finally

Data.Free;

end;

BitBtn1.SetFocus;

end;

//fecha o form salvando o skin no arquivo ini

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

var

Data : TIniFile;

begin

Data := TIniFile.Create('c:\arquivo.ini');

//Data.WriteString('skin','teste','');

Data.WriteString('skin','teste',''+ss+'');

Data.Free;

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,4k
×
×
  • Criar Novo...