GARANTIR DESCONTO

Fórum Conversão de tipos para bytes #264503

07/01/2005

0

Fala galera!

Estou precisando urgentemente descobrir uma maneira de converter um tipo String em bytes e um tipo Inteiro (Long) também para bytes.

Alguém sabe como se faz isso? Já existe alguma função nativa?

Valeu!
wbb


[color=red:95b8f03488]Título Alterado por oTTo. Removido: ´ (URGENTE!)´.[/color:95b8f03488]


Wbb

Wbb

Responder

Posts

07/01/2005

Bruno_fantin

Desculpa a ignorancia...

Como assim converter para bytes???? Dar um exemplo...


Responder

Gostei + 0

07/01/2005

Wbb

Acrescentando...

Meu objetivo na realidade é pegar um conjunto de dados vindos de muitas variáveis e salvar num arquivo stream, ou seja, um arquivo de bytes, sem formatação.

wbb


Responder

Gostei + 0

07/01/2005

Rafael Santana

amigo, não entendi a sua pergunta, mas vc quer converter uma strint em bytes?...

esclareça melhor sua dúvida para que eu possa te ajudar...
obrigado


Responder

Gostei + 0

07/01/2005

Bruno_fantin

Usa a classe TFileStream... No help do Delphi tem alguns exemplos....


Responder

Gostei + 0

07/01/2005

Wbb

Para exemplificar melhor, como pediu o ´rafael miguel santana´...

Num determinado momento em meu programa, eu precisava, gerar um arquivo texto que armazenasse alguns valores que estavam contidos em variáveis do tipo Integer, String, Char, etc.
Agora porém, devido a uma mudança na concepção eu preciso que, no lugar de gerar um arquivo texto que armazene os valores dos conteúdos das variáveis, que eram então gravados um em cada linha do arquivo, eu preciso que o conteúdo destas mesmas variáveis de vários tipos, sejam convertidos em bytes e aí então gravados do arquivo (o tipo do arquivo você pode chamar como quiser. O que importa é o que está sendo gravado nele).

O problema está na conversão de dados e que estou quebrando a cabeça.

Obrigado pela atenção.

wbb


Responder

Gostei + 0

07/01/2005

Bruno_fantin

Sincerramente não sei qual o seu real problema...

Mas acredito que a melhor forma ela você continuar salvando em arquivos de texto e no codigo do programa fazer as conversões na hora da leitura...


Responder

Gostei + 0

07/01/2005

Vinicius2k

[b:93ba80ea1e][color=red:93ba80ea1e]Notificação de Infração às Regras de Conduta :[/color:93ba80ea1e][/b:93ba80ea1e]

Colega wbb,

Neste tópico ocorreu infração às Regras de Conduta do Fórum :
[list:93ba80ea1e][*:93ba80ea1e]Utilização de texto apelativo no título do tópico (URGENTE!).[/list:u:93ba80ea1e]
Peço que leia atentamente as [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]Regras de Conduta[/url] para evitar que este fato se repita.

Se algum esclarecimento sobre o funcionamento do fórum ou sobre as Regras de Conduta for necessário, envie-me uma [url=http://delphiforum.icft.com.br/forum/privmsg.php?mode=post&u=2796]Mensagem Particular[/url].


Responder

Gostei + 0

07/01/2005

Massuda

Como o Bruno falou, você pode usar um TFileStream:
var
  X: Integer;
  Y: Double;
  S: string;

procedure Gravar(NomeDoArquivo: string);
var
  Stream: TFileStream;
  N: Integer;
begin
  Stream := TFileStream.Create(NomeDoArquivo, fmCreate);
  
  Stream.Write(X, SizeOf(X));
  Stream.Write(Y, SizeOf(Y));

  // string é mais complicado...
  N := Length(S);
  Stream.Write(N, SizeOf(N)); // tamanho
  if N > 0 then Stream.Write(S[1], N); // texto

  Stream.Free;
end;

procedure Ler(NomeDoArquivo: string);
var
  Stream: TFileStream;
  N: Integer;
begin
  Stream := TFileStream.Create(NomeDoArquivo, fmOpenRead);
  
  // le na mesma ordem que escreveu
  Stream.Read(X, SizeOf(X));
  Stream.Read(Y, SizeOf(Y));

  // string é mais complicado...
  Stream.Read(N, SizeOf(N));
  if N > 0 then begin
    SetLength(S, N);
    Stream.Read(S[1], N);
  end
  else begin
    S := ´´;
  end;

  Stream.Free;
end;


Uma alternativa seria criar um record com o que precisa ser posto no arquivo e gravar/ler o record ao invés de fazer do jeito que foi feito acima.


Responder

Gostei + 0

07/01/2005

Wbb

Fala aí Massuda!
Era exatamente isso que eu estava precisando!

Só vou ter que fazer uma pequena mudança na gravação do formato de string no arquivo, pois há um outrto programa que irá lê-lo e é desenvolvido em ´C´ (o formato de strring em bytes é diferente).

Mas, deste jeito que vc passou já resolveu o problema.

Obrigadão!

wbb


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar