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

(Resolvido) Função para ler INI


NöU@

Pergunta

5 respostass a esta questão

Posts Recomendados

  • 0
não consigo fazer uma procedure para ler um arquivo INI.

ele vai ler 1 numero e 2 strings

só que a procedure está numa dll.

coloque o codigo que esta na dll para poder te ajudar

Outras formas de se usar arquivos INI

http://www.devmedia.com.br/articles/viewcomp.asp?comp=304

http://www.guiadodelphi.com.br/ler.php?codigo=261

http://www.devmedia.com.br/articles/viewcomp.asp?comp=2965

http://www.plugmasters.com.br/sys/materias...onfigura%E7%E3o

http://www.activedelphi.com.br/print.php?sid=389

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

procedure LeINI(var Porta: Integer; var TipoCon: String);Export;stdcall;
  var ArqINI : TIniFile;
  const Caminho = (ExtractFilePath(ParamStr(0)) + 'ServerConf.INI');
  Begin
  ArqINI := TINIFile.Create(caminho);
  try
    Porta := ArqINI.ReadInteger('Conexão','Porta',0);
    TipoCon := ArqINI.ReadString('Conexão','TipoCon','');
  finally
  ArqINI.Free;
  end;
end;

  Exports LeINI;

Esse é o meu código

mas não sei se está certo....Se ele tiver certo, como eu faço para usá-lo??

Link para o comentário
Compartilhar em outros sites

  • 0
mas não sei se está certo....Se ele tiver certo, como eu faço para usá-lo??

Estou sem tempo agora... passo o resto depois

library Path;

{ Important note about DLL memory management: ShareMem must be the
  first unit in your library's USES clause AND your project's (select
  Project-View Source) USES clause if your DLL exports any procedures or
  functions that pass strings as parameters or function results. This
  applies to all strings passed to and from your DLL--even those that
  are nested in records and classes. ShareMem is the interface unit to
  the BORLNDMM.DLL shared memory manager, which must be deployed along
  with your DLL. To avoid using BORLNDMM.DLL, pass string information
  using PChar or ShortString parameters. }

uses
  SysUtils,
  inifiles,
  Classes;

{$R *.RES}

procedure LeINI(var Porta: Integer; var TipoCon: String);stdcall;Export;
var ArqINI : TIniFile; Caminho : Pchar;
Begin
  caminho := Pchar(ExtractFilePath(ParamStr(0)) + 'ServerConf.INI');
  ArqINI := TINIFile.Create(caminho);
  try
    Porta := ArqINI.ReadInteger('Conexão','Porta',0);
    TipoCon := ArqINI.ReadString('Conexão','TipoCon','');
  finally
  ArqINI.Free;
  end;
end;

Exports LeINI;

begin
end.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Esse é o meu código

mas não sei se está certo....Se ele tiver certo, como eu faço para usá-lo??

NöU@, acho que ele está quase certo. Tem a penas um restrição quanto ao uso de Strings como parâmetro (talvez alguém possa explicar-lhe melhor).

Mas, quanto a esta questão e ao uso, dê uma olhada neste post do Churc e neste outro post do Jhonas.

Abraços

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...