Guest alex sandro calderoli Postado Outubro 19, 2005 Denunciar Share Postado Outubro 19, 2005 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);varData : TIniFile;begin Data := Data.Create('C:\Documents and Settings\alex\Desktop\sistema mercado\Sistema_sgs\arquivo.ini'); DataReadString('skin','Data',''); Data.Free;end;end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Outubro 19, 2005 Denunciar Share Postado Outubro 19, 2005 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 exemploprocedure Tf_acessar_sistema.FormShow(Sender: TObject);varData : TIniFile;beginData := 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest alex sandro calderoli Postado Outubro 19, 2005 Denunciar Share Postado Outubro 19, 2005 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);varData : 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.SKNe no form principal estou fazendo assim:.....onde está o problema...procedure Tf_principal.FormShow(Sender: TObject);varData : TIniFile;begin Data := TIniFile.Create('caminho onde foi criado o arquivo.ini');try skindata1.skinstore := Data.ReadString('skin','teste',''); skindata1.active := true;finallyData.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.bralex sandro calderoli, Campos novos / SC Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Churc Postado Outubro 20, 2005 Denunciar Share Postado Outubro 20, 2005 aetipo, 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest marcelobrto Postado Novembro 7, 2008 Denunciar Share Postado Novembro 7, 2008 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 bemvar Form1: TForm1; CaminhoDasSkins , ss : string; //variaveis usadas NO PROGRAMAimplementationuses Unit2;{$R *.dfm}// procurar botao que faz a busca skins na pastaprocedure 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 skinprocedure 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 skinprocedure TForm1.FormShow(Sender: TObject);varData : TIniFile;beginData := TIniFile.Create('c:\arquivo.ini');tryskindata1.SkinFile := Data.ReadString('skin','teste','');skindata1.active := true;finallyData.Free;end;BitBtn1.SetFocus;end;//fecha o form salvando o skin no arquivo iniprocedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);varData : TIniFile;beginData := TIniFile.Create('c:\arquivo.ini');//Data.WriteString('skin','teste','');Data.WriteString('skin','teste',''+ss+'');Data.Free;end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
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
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.