RES: Re: [delphi-br] Leitura contrária de INI

2006-06-13 Por tôpico Moked - Tamara \(Brazil\)
Bom dia José,
 
Seria exatamente isto o q eu preciso, porém, testando aqui a sua função, me 
deparei com um problema: não sei se o stringlist tem um limite a ser carregado 
nele, mas de acordo com o tamanho do meu arquivo INI, ele não chega até a 
metade do arquivo fazendo a verificação particionei meu arquivo e ele 
encontrou direitinho a minha string conforme eu precisava :(
 
Existe alguma extensão do stringlist?
 
Muito Obrigada pela ajuda


Tamara Clemente - Suporte Técnico
Moked do Brasil - Consultoria de Segurança Empresarial
Divisão MokInf de Informática
PABX: (55-11) 5071-2748
[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] 
www.moked.com.br http://www.moked.com.br/ 




De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de José 
Claudemir
Enviada em: segunda-feira, 12 de junho de 2006 21:01
Para: delphi-br@yahoogrupos.com.br
Assunto: Res: Re: [delphi-br] Leitura contrária de INI


Olá !! 

Não seria isso o que VC está querendo .. !! 
Até mais !!! 

Function AchaDiretiva(MyIni,MyIndice,MyStr: String): String; 
Var 
  AppIni  : TIniFile; 
  Items   : TStringList; 
  I : INteger; 
  SStr : String; 
  SChave : String; 
Begin 
  Result := ''; 
  Items := TStringList.Create; 
  AppIni := TIniFile.Create(MyIni); 
  AppIni.ReadSectionValues(MyIndice,Items); 
  For I:=0 to Items.Count - 1 do begin 
SChave := Copy(Items[I],1,Pos('=',Items[I])-1); 
SStr := AppIni.ReadString(MyIndice,sChave,''); 
If sStr = MyStr then begin 
  Result := sChave; 
  Exit; 
End; 
  End; 
  AppIni.Free; 
End; 

Procedure TForm1.Button1Click(Sender: TObject); 
Begin 
  ShowMessage(achaDiretiva('c:\arquivo.ini','indice','meu texto2')); 
end; 





CCNA / Certificado Borland Delphi / MCSA 
---Mensagem original--- 

De: Julio Cesar 
Data: 06/12/06 18:50:12 
Para: delphi-br@yahoogrupos.com.br 
Assunto: Re: [delphi-br] Leitura contrária de INI 

Faz a leitura de linha a linha, dai da um pos() na string q vc quer, caso
haja na linha entao vc faz a copia do inicio da string ate a pos() do sinal
de igual... 



Julio Cesar 
[EMAIL PROTECTED] 
+353 (87) 2184139 
+353 (091) 630317 


  - Original Message - 
  From: Moked - Tamara (Brazil) 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Monday, June 12, 2006 9:22 PM 
  Subject: RES: [delphi-br] Leitura contrária de INI 


  Ulisses, 

  Não é bem isso q eu preciso o q eu preciso não é pegar o texto de
dentro dos colchetes[] e sim o q tem antes do sinal de igual até onde
andei pesquisando, eu conseguiria pegar o texto de dentro dos colchetes
atraves de uma função como o readstring mas antes do sinal de igual ñ
encontrei nd... 

  Obrigada pela atenção... 

  Tamara Clemente - Suporte Técnico 
  Moked do Brasil - Consultoria de Segurança Empresarial 
  Divisão MokInf de Informática 
  PABX: (55-11) 5071-2748 
  [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] 
  www.moked.com.br http://www.moked.com.br/ 


   

  De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Ulisses 
  Enviada em: segunda-feira, 12 de junho de 2006 17:02 
  Para: delphi-br@yahoogrupos.com.br 
  Assunto: Re: [delphi-br] Leitura contrária de INI 


  Boa tarde! 

  Tenta localizar o caractere [, salva o texto que estiver antes do
caractere ]. 

  Só uma idéia. Se encontrar algo melhor, me avisa. 

  Boa sorte. 

  Ulisses 
- Original Message - 
From: Moked - Tamara (Brazil) 
To: delphi-br@yahoogrupos.com.br 
Sent: Monday, June 12, 2006 2:58 PM 
Subject: [delphi-br] Leitura contrária de INI 




  http://www.moked.com.br/   Tamara Clemente - Suporte Técnico 
Moked do Brasil - Consultoria de Segurança Empresarial 
Divisão MokInf de Informática 
PABX: (55-11) 5071-2748 
[EMAIL PROTECTED] 
www.moked.com.br http://www.moked.com.br/ 

Grau de Sigilo:  Confidencial  Reservado  Interno  Amplo 
Nível de Prioridade:  Alto  Médio  Baixo 
Destinatário/s: Lista de divulgação 
   
- 
Boa Tarde, 

Pessoal, como faço para ler arquivo .INI ao contrario? 

Maiores explicações: 

Normalmente eu leio o Ini tendo como diretiva o q esta antes do sinal de
igual: 

[Indice] 
diretiva=meu texto 

Sendo assim, quando eu utilizo o readstring('Indice', 'diretiva', '')
meu retorno será meu texto. 

Agora o q eu estou precisando: 

Eu passando o meu texto q ele me retorne a diretiva 

Deu para entender 

Espero a ajuda de vcs... 

Obrigada, 



Tamara 
A Moked é a Única Empresa do ramo certificada pelo ISO9001:2000 

Serviços prestados no Brasil na área de segurança pessoal e empresarial:

Consultoria e Assessoria | Diagnósticos e Projetos | Curso e
Treinamentos | Auditoria e Sindicância | Software de Gestão | Help-desk 24hs


O emitente da mensagem é o responsável por seu conteúdo e divulgação

RES: Re: [delphi-br] Leitura contrária de INI

2006-06-13 Por tôpico José Claudemir
 Olá Tamara !!
 
Realizei um teste aqui , criei um arquivo com a estrutura de um ini que deu
+- 1mega 
 
Varias Seções com vários valores tipo :
 
[Indice1]
Diretiva1=meu texto1
Diretiva2=meu texto2
Diretiva3=meu texto3
[Indice2]
Diretiva1=meu texto1
Diretiva2=meu texto2
Diretiva3=meu texto3
[Indice3]
Diretiva1=meu texto1
Diretiva2=meu texto2
Diretiva3=meu texto3
 
Pelo que pude observar deu problema na classe TIniFile por ela usar a API do
Windows que impõe um limite de 64kb nos arquivos INI. Se você precisar
armazenar mais de 64kb de dados, você precisará usar o TMemIniFile ao invés
da TInifile, que não possui o limite de 64kb.
 
No restante suto correu normalmente , so consumiu memória pra caramba, 
 
Então se quiser fazer um teste substitua TiniFile por TMemIniFile somente e
faça um teste 
 
Um abraço !!
 
 

CCNA / Certificado Borland Delphi / MCSA
---Mensagem original---
 
De: Moked - Tamara \(Brazil\)
Data: 06/13/06 09:41:53
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: Re: [delphi-br] Leitura contrária de INI
 
Bom dia José,

Seria exatamente isto o q eu preciso, porém, testando aqui a sua função, me
deparei com um problema: não sei se o stringlist tem um limite a ser
carregado nele, mas de acordo com o tamanho do meu arquivo INI, ele não
chega até a metade do arquivo fazendo a verificação particionei meu
arquivo e ele encontrou direitinho a minha string conforme eu precisava
:(

Existe alguma extensão do stringlist?

Muito Obrigada pela ajuda


Tamara Clemente - Suporte Técnico
Moked do Brasil - Consultoria de Segurança Empresarial
Divisão MokInf de Informática
PABX: (55-11) 5071-2748
[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] 
www.moked.com.br http://www.moked.com.br/ 




De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de José Claudemir
Enviada em: segunda-feira, 12 de junho de 2006 21:01
Para: delphi-br@yahoogrupos.com.br
Assunto: Res: Re: [delphi-br] Leitura contrária de INI


Olá !! 

Não seria isso o que VC está querendo .. !! 
Até mais !!! 

Function AchaDiretiva(MyIni,MyIndice,MyStr: String): String; 
Var 
  AppIni  : TIniFile; 
  Items   : TStringList; 
  I : INteger; 
  SStr : String; 
  SChave : String; 
Begin 
  Result := ''; 
  Items := TStringList.Create; 
  AppIni := TIniFile.Create(MyIni); 
  AppIni.ReadSectionValues(MyIndice,Items); 
  For I:=0 to Items.Count - 1 do begin 
SChave := Copy(Items[I],1,Pos('=',Items[I])-1); 
SStr := AppIni.ReadString(MyIndice,sChave,''); 
If sStr = MyStr then begin 
  Result := sChave; 
  Exit; 
End; 
  End; 
  AppIni.Free; 
End; 

Procedure TForm1.Button1Click(Sender: TObject); 
Begin 
  ShowMessage(achaDiretiva('c:\arquivo.ini','indice','meu texto2')); 
end; 





CCNA / Certificado Borland Delphi / MCSA 
---Mensagem original--- 

De: Julio Cesar 
Data: 06/12/06 18:50:12 
Para: delphi-br@yahoogrupos.com.br 
Assunto: Re: [delphi-br] Leitura contrária de INI 

Faz a leitura de linha a linha, dai da um pos() na string q vc quer, caso
haja na linha entao vc faz a copia do inicio da string ate a pos() do sinal
de igual... 



Julio Cesar 
[EMAIL PROTECTED] 
+353 (87) 2184139 
+353 (091) 630317 


  - Original Message - 
  From: Moked - Tamara (Brazil) 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Monday, June 12, 2006 9:22 PM 
  Subject: RES: [delphi-br] Leitura contrária de INI 


  Ulisses, 

  Não é bem isso q eu preciso o q eu preciso não é pegar o texto de
dentro dos colchetes[] e sim o q tem antes do sinal de igual até onde
andei pesquisando, eu conseguiria pegar o texto de dentro dos colchetes
atraves de uma função como o readstring mas antes do sinal de igual ñ
encontrei nd... 

  Obrigada pela atenção... 

  Tamara Clemente - Suporte Técnico 
  Moked do Brasil - Consultoria de Segurança Empresarial 
  Divisão MokInf de Informática 
  PABX: (55-11) 5071-2748 
  [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] 
  www.moked.com.br http://www.moked.com.br/ 


   

  De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Ulisses 
  Enviada em: segunda-feira, 12 de junho de 2006 17:02 
  Para: delphi-br@yahoogrupos.com.br 
  Assunto: Re: [delphi-br] Leitura contrária de INI 


  Boa tarde! 

  Tenta localizar o caractere [, salva o texto que estiver antes do
caractere ]. 

  Só uma idéia. Se encontrar algo melhor, me avisa. 

  Boa sorte. 

  Ulisses 
- Original Message - 
From: Moked - Tamara (Brazil) 
To: delphi-br@yahoogrupos.com.br 
Sent: Monday, June 12, 2006 2:58 PM 
Subject: [delphi-br] Leitura contrária de INI 




  http://www.moked.com.br/   Tamara Clemente - Suporte Técnico 
Moked do Brasil - Consultoria de Segurança Empresarial 
Divisão MokInf de Informática 
PABX: (55-11) 5071-2748 
[EMAIL PROTECTED] 
www.moked.com.br http://www.moked.com.br/ 

Grau de Sigilo:  Confidencial  Reservado  Interno  Amplo 
Nível de

Res: Re: [delphi-br] Leitura contrária de INI

2006-06-12 Por tôpico José Claudemir
Olá !!
 
Não seria isso o que VC está querendo .. !! 
Até mais !!!
 
Function AchaDiretiva(MyIni,MyIndice,MyStr: String): String;
Var
  AppIni  : TIniFile;
  Items   : TStringList;
  I : INteger;
  SStr : String;
  SChave : String;
Begin
  Result := '';
  Items := TStringList.Create;
  AppIni := TIniFile.Create(MyIni);
  AppIni.ReadSectionValues(MyIndice,Items);
  For I:=0 to Items.Count - 1 do begin
SChave := Copy(Items[I],1,Pos('=',Items[I])-1);
SStr := AppIni.ReadString(MyIndice,sChave,'');
If sStr = MyStr then begin
  Result := sChave;
  Exit;
End;
  End;
  AppIni.Free;
End;
 
Procedure TForm1.Button1Click(Sender: TObject);
Begin
  ShowMessage(achaDiretiva('c:\arquivo.ini','indice','meu texto2'));
end;
 

 
 

CCNA / Certificado Borland Delphi / MCSA
---Mensagem original---
 
De: Julio Cesar
Data: 06/12/06 18:50:12
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Leitura contrária de INI
 
Faz a leitura de linha a linha, dai da um pos() na string q vc quer, caso
haja na linha entao vc faz a copia do inicio da string ate a pos() do sinal
de igual...



Julio Cesar
[EMAIL PROTECTED]
+353 (87) 2184139
+353 (091) 630317


  - Original Message - 
  From: Moked - Tamara (Brazil) 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Monday, June 12, 2006 9:22 PM
  Subject: RES: [delphi-br] Leitura contrária de INI


  Ulisses,

  Não é bem isso q eu preciso o q eu preciso não é pegar o texto de
dentro dos colchetes[] e sim o q tem antes do sinal de igual até onde
andei pesquisando, eu conseguiria pegar o texto de dentro dos colchetes
atraves de uma função como o readstring mas antes do sinal de igual ñ
encontrei nd...

  Obrigada pela atenção...

  Tamara Clemente - Suporte Técnico
  Moked do Brasil - Consultoria de Segurança Empresarial
  Divisão MokInf de Informática
  PABX: (55-11) 5071-2748
  [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] 
  www.moked.com.br http://www.moked.com.br/ 


  

  De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Ulisses
  Enviada em: segunda-feira, 12 de junho de 2006 17:02
  Para: delphi-br@yahoogrupos.com.br
  Assunto: Re: [delphi-br] Leitura contrária de INI


  Boa tarde!

  Tenta localizar o caractere [, salva o texto que estiver antes do
caractere ].

  Só uma idéia. Se encontrar algo melhor, me avisa.

  Boa sorte.

  Ulisses
- Original Message - 
From: Moked - Tamara (Brazil) 
To: delphi-br@yahoogrupos.com.br 
Sent: Monday, June 12, 2006 2:58 PM
Subject: [delphi-br] Leitura contrária de INI




  http://www.moked.com.br/   Tamara Clemente - Suporte Técnico
Moked do Brasil - Consultoria de Segurança Empresarial
Divisão MokInf de Informática
PABX: (55-11) 5071-2748
[EMAIL PROTECTED]
www.moked.com.br http://www.moked.com.br/ 

Grau de Sigilo:  Confidencial  Reservado  Interno  Amplo 
Nível de Prioridade:  Alto  Médio  Baixo
Destinatário/s: Lista de divulgação 
   
-
Boa Tarde,

Pessoal, como faço para ler arquivo .INI ao contrario?

Maiores explicações:

Normalmente eu leio o Ini tendo como diretiva o q esta antes do sinal de
igual:

[Indice]
diretiva=meu texto

Sendo assim, quando eu utilizo o readstring('Indice', 'diretiva', '')
meu retorno será meu texto.

Agora o q eu estou precisando:

Eu passando o meu texto q ele me retorne a diretiva

Deu para entender

Espero a ajuda de vcs...

Obrigada,



Tamara
A Moked é a Única Empresa do ramo certificada pelo ISO9001:2000

Serviços prestados no Brasil na área de segurança pessoal e empresarial:

Consultoria e Assessoria | Diagnósticos e Projetos | Curso e
Treinamentos | Auditoria e Sindicância | Software de Gestão | Help-desk 24hs


O emitente da mensagem é o responsável por seu conteúdo e divulgação,
proibindo sua reprodução sem a prévia autorização do mesmo. 
Antes de imprimir pense em nosso compromisso com o Meio Ambiente e o
comprometimento com os Custo envolvidos! 



[As partes desta mensagem que não continham texto foram removidas]

 

  [As partes desta mensagem que não continham texto foram removidas]




  [As partes desta mensagem que não continham texto foram removidas]

   

[As partes desta mensagem que não continham texto foram removidas]

 

__ Informação do NOD32 IMON 1.1595 (20060612) __

Esta mensagem foi verificada pelo NOD32 sistema antivírus
http://www.eset.com.br

 

[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse: