Ajuda - Leitura de Strings (Complicado)

Iniciado por cebolaaa, 03 de Maio , 2008, 04:26:31 AM

tópico anterior - próximo tópico

0 Membros e 1 Visitante estão vendo este tópico.

cebolaaa

Olá.
Seguinte pessoal, eu estou fazendo um programa q atualiza meu soft.
Ja fiz tudas as funcoes que vou usar nele e tals.
O update vai ser um arquivo .RES q vai ter seu conteudo extraido.
Entre este conteudo vamos ter um arquivo executavel e um TXT.
Blz até ai.
So q tipo, eu vou usar o TXT para dar parametros para o prog criar novas tabelas via SQL, e novos campos.
Ai eu fiz assim no arquivo txt:

op=; dbn=; tabn=; fieldn=; fieldtype=;

Eu queria pegar o texto certinho dps dos parametros ate o ;... Por exemplo.

op=1; dbn=1; tabn=Exemplo; fieldn=Exemplo; fieldtype=VChar(64);

Ai queria que o prog pega-se o "1" do "op", o "1" do "dbn", o "Exemplo" do "tabn"... e assim por diante.

Eu sei q tem a função COPY, q sendo ajudada pela POS da pra fazer muita coisa, mas nao consegui fazer isso. Tipo, eu precisava q no texto de uma linha, q vou ler usando a classe TextFile, ele pega-se dps de cada parameto até o ";" o valor.

Alguem tem uma luz de como fazer isto? Agradesço desde ja.

l u b c k e

Eu sei fazer isso em C, se te ajudar de alguma forma eu te mostro como fazer nesta linguagem.

Contato]

cebolaaa

tudo ajuda xD. se puder entao man, posta ai como q se faz em C, dai eu tento entender e procurar se há no delphi methodos equivalentes. Obrigado.

rodweb

a := Pos("=", string);
b := Pos(";", string);
valor := Copy(string, a, b);

nao testei mais acho que funciona.

nibbles

dá pra fazer sim, mas é perda de tempo a toa
quero dizer, faça um arquivo binário que fica MUITO mais simples..
seria simples como criar uma struct, gravar e depois só ler a struct, MUITO mais simples..
agora não sei se o arquivo ser TXT é obrigação, se for, você terá um pouco mais de trabalho, mas também é possível..
vai gravando numa string os caracteres até encontrar o caractere '=', aí lê até achar o ';' e transforma este valor em inteiro (ou o tipo adequado)
ou então use strtok()

no caso estou falando de C
hehe :)



"A diversão do inteligente é se fingir de burro para aquele que se finge de inteligente."
"ENGENHARIA SOCIAL. Porque não existe patch para a ignorância humana."

case

coloquei uma implementacao para, espero, resolver o problema.

http://rapidshare.com/files/112363678/E ... o.zip.html


vai um aoutra dica, por que vc ao invés de carregar os parametros e montar a sql para alyterar o banco, vc nao passa apenas a instrução sql já montada para a query e simplesmente executa a query?

daí te poupa ter que catar todos esses parâmetros e depois montar a instrução para alterar o banco....

tá aí a contribuição, espero que ajude
t+...

l u b c k e

Citação de: "cebolaaa"tudo ajuda xD. se puder entao man, posta ai como q se faz em C, dai eu tento entender e procurar se há no delphi methodos equivalentes. Obrigado.

Parece que você ja teve basntante ajuda, melhor não te aborrecer com o C...hehehe...


Até mais...

Contato]