Ir para conteúdo
Fórum Script Brasil

pimpocvl

Membros
  • Total de itens

    14
  • Registro em

  • Última visita

Tudo que pimpocvl postou

  1. Exemplo: ARQUIVO ORIGEM: [CEP]..........[TIPO].....[LOGRADOURO].....[bAIRRO]..........[CIDADE].....[uF] 85819110.....Rua.........Universitaria..........Universitario.......Cascavel.....Pr 85816290.....Av...........Av. Brasil..............São Cristovao.....Cascavel.....Pr ...os pontos na verdade são espacos em branco). ARQUIVO DESTIVO: ...bem, neste caso eu preciso ter a flexbilidade de informar para qual coluna sera copiado as informacoes do "arquivo origem" sendo que elas podem variar dependendo do layout desejado. -------------------------------- Para copiar do arquivo ORIGEM, eu poderia utilizar o seguinte codigo "FIXO": Readln(ArquivoOrigem,ArquivoOrigemLinha); ArquivoOrigemLinha := copy(ArquivoOrigemLinha,1,8)+' '+copy(ArquivoOrigemLinha,14,4)+' '+copy(ArquivoOrigemLinha,26,15)+' '+copy(ArquivoOrigemLinha,54,15)+' '+copy(ArquivoOrigemLinha,79,10)+' '+copy(ArquivoOrigemLinha,92,2); ...eu preciso deixar esse codigo DINAMICO para que possa estar alterando as colunas e quantidades de caracteres a copiar (ate qui tudo bem, o problema vai agora) e tambem determinando se vou copiar somente 1, 2, 3...5 colunas, ou seja, digamos que eu preciso copiar somente o CEP e o nome do BAIRRO. Eu acredito que se resolver esta situacao, a questao de colar no arquivo destino já se resolve por si só.
  2. Jhonas, Eu não consegui resolver isso aqui, preciso que você tenha paciência comigo, isso mesmo, mais paciência do que já tem, para alguns e um absurdo ler isso, mas a verdade e esta, eu não consegui resolver o meu problema com as dicas que você me passou; eu acredito que deve ser algo bem insignificante para alguém que já detem o conhecimento mas para mim não. Veja bem, a minha necessidade e copiar dados de um arquivo TXT tendo a possibilidade de informar "dinamicamente" quantas colunas (+quantidade de caracteres) que serão copidos desse arquivo. informar para qual TABELA ou ARQUIVO (destino) ira ser colado essas informações, sendo que tambem preciso infomar para qual coluna ira ser colado na TABELA ou ARQUIVO destino. (tendo em vista que amanha pode ser outro arquivo). Bom, desde já agradeço pela atenção disponibilizada a minha pessoa. obs.: este arquivo TXT não possui tabulação.
  3. Minhas arma, eu não entendi nada daqueles codigos q o senhor indicou no link, ou seja, não consegui adaptar a minha necessidade. Precisaria de uma dicas a mais dos colegas tento em vista que me enquadro na categoria INICIANTE. (super fralda) hehehe. E não entendi como que ficou com titulo de RESOLVIDO se eu não editei o mesmo. Seria que teria alguém com um pouco de paciencia para me ajudar? Desde já obrigado.
  4. Jhonas, ...você tem razao, desta vez eu nem procurei, so postei. Obrigado pelo link e farei o possivel para que isso não aconteca mais. Vou verificar se consigo adaptar a minha necessidade. Obrigado.
  5. Boa noite pessoal. Novamente recorro a voces para solucionar esta duvida. Preciso criar um jeito auto-independente de copiar DADOS de um arquivo TXT, para outro arquivo TXT. Por exemplo, digamos que hoje eu tenha que copiar alguns DADOS de um arquivo TXT que contem os CEP's do Brasil, e amanha eu tenha que copiar alguns dados de outro arquivo TXT que contenham informacoes FINANCEIRAS; Estes dois arquivos tem suas proprias caracteristas, ou seja, tem seus proprios LAYOUT's (coluna, tamanho do campo etc...); So que eu preciso gravar estas informacoes no meu proprio LAYOUT, a ideia seria copiar de um arquivo TXT para outro arquivo TXT, porem tendo a possibilidade de manipular para qual coluna eu quero colar no arquivo DESTINO os dados do arquivo ORIGEM. Acredito que se eu der um exemplo mais detalhado ficara mais facil de entender a minha duvida. Supomos que temos um arquivo TXT que contem os CEP's de todo o Brasil, exemplo: [ARQUIVO ORIGEM - (dentro do arquivo esta assim)] CEP CIDADE BAIRRO NUMERO LOGRADOURO ESTADO 80002900CURITIBA JOAO NEGRAO 1251 RUA REBOUCAS PR ...eu preciso copiar somente o CEP o NOME DA RUA a CIDADE e o ESTADO. (deixamos o bairro de fora e o numero de fora). Linha := OpenDialog1.FileName; Assignfile(ARQ, OpenDialog1.FileName); Reset(ARQ); Readln(ARQ,Linha); [PERGUNTA] Como eu posso fazer para colar os dados do arquivo ORIGEM que estao armazenados na variavel LINHA em outro arquivo TXT, porem indicando para qual coluna ira a informacao (dados) CEP, em qual coluna ficara o NOME DA RUA, em qual coluna ficara o nome da CIDADE etc... no arquivo DESTINO. ...tendo em vista que amanha eu quero copiar alguns dados de outro arquivo que contem dados FINANCEIROS, exemplo: NOME DO CLIENTE Data vencimento Valor Olimpio 01/05/2009 100,00 ...eu não gostaria de ter que ficar mechendo no codigo fonte. Estava pensando em algo como: Entro no sistema, acesso o ASSISTENTE DE CONVERSAO. Indico o arquivo de ORIGEM, indico o nome do arquivo DESTINO e onde ele sera salvo, tambem informo quantos "campos vou copiar" da linha de origem. Avanco no assistente e vou informar de qual coluna ele vai copiar o primeiro campo, a quantidade de caracteres que sera copiado e para qual coluna ele vai colar no arquivo DESTINO, isso sera repetido a mesma quantidade de vezes que eu informei na primeira tela do assistente "campos a copiar", pois eu preciso informar a coluna, qtd de campos a copiar e coluna destino para todos os campos que eu quero "converter". obs: PEGA DA COLUNA 1, COPIA TANTOS CARACTERES, E COLA NO ARQUIVO DESTINO NA COLUNA 10. (exemplo de um unico campo, porem a linha tem mais de um campo). Pessoal, espero ter conseguido explicar minha duvida, estou esbarrando na questao de variaveis, pois num arquivo eu posso querer copiar 5 campos, e em outro arquivo eu posso querer copiar 40 campos, então eu queria deixar isso automatizado para não quer que ficar criando manualmente um codigo toda vez que preciso converter um txt. Desde já agradeco pela atencao dos amigos. Olimpio Gonzatto Jr.
  6. Micheus, agradeco muito pela sua ajuda, principalmente por ter disponibilizado seu tempo para poder resolver um problema que nem era seu. Enfim, sou muito grato. Consegui fazer funcionar aqui, agora vou dar uma pesquisada no forum para implementar o intervalor de data, caso não consiga hehehe, vo te enche mais um pouco. Valeu.
  7. pimpocvl, não sei se seria a isso que você se refere, mas neste exemplo que postei antes, considerando que o seu Param1 é o Número do atendimento, Param2 é o Codigo do Cliente (Integer), então o status do atendimento (String) seria Param3. Eu acredito que fazendo as alterações abaixo (informar o tipo do parâmetro via As<tipo>) deva funcionar: ... if Param1 <> '' then IBQueryfiltro.ParamByName('pParametro1').AsInteger := StrToInt(Param1); if Param2 <> '' then IBQueryfiltro.ParamByName('pParametro2').AsInteger := StrToInt(Param2); if Param3 <> '' then IBQueryfiltro.ParamByName('pParametro3').AsString := Param3; IBQueryfiltro.Open; end; Abraços Ola, Micheus. Obrigado por esta me ajudando. Veja bem, fiz desta maneira que indicou, porem ao listar a consulta, o resultado e igual a "nada", ou seja, eu preenche os 3 campos (3 parametros), e quando mando listar, o resultado aparece em branco (nada). Quando os 3 parametros estao preenchidos o sql fica assim: WHERE NUMEROATENDIMENTO = :pParametro1 AND CODIGOCLIENTE = :pParametro2 AND STATUS = :pParametro3 ...teria mais alguma dica?
  8. -----------------------------------------------//-----------------------------------------------//-----------------------------------------------//-----------------------------------------------// O Leonardo, tudo bem? Seguinte, na minha santa ignorancia, pensava que se tivesse um exemplo de filtro, que busca-se os parametros em 2 edit's, já poderia sair por ai fazendo os filtros que bem entende-se, "santa ignorancia", a unica coisa que sei sobre DELPHI ou programação em si, e o que estou aprendendo via "google", exemplos pegos prontos, outras vezes documentacões mais tecnicas (que realmente detalham o porque disso ou daquilo), dai so me resta vazer uma alteraçãozinha aqui outra ali e pronto, outras vezes fico martelando um bom tempo em cima de uma coisa que depois, quando consigo resolver era um "detalhe" tão tosco que da ate vergonha hehehe. Pois bem, estou bolando um programa para controlar os ATENDIMENTOS prestados aos clientes. A pergunta que eu deveria ter feito desde a primeira vez que eu postei aqui no site SCRIPT"BRASIL", seria: Se eu tenho: edit1.text, ...que seria o campo para filtrar o NUMEROATENDIMENTO (numerico) edit2.text, ...que seria o campo para filtrar o CODIGOCLIENTE (numerico) edit3.text, ...que seria o campo para filtrar o SOLICITANTE (letras) combobox1.text, ...que seria o campo para filtrar o STATUS (do atendimento, que pode ser tanto ANDAMENTO, ATENDIDO ou CANCELADO). (ao meu entender seria letras). edit4.text e edit5.text ...que seriam os campos para filtrar o intervalo de data que este atendimento foi realizado. Acredito eu que incluir datas seja um procedimento mais complicado, portanto, de inicio talvez eu não implemente esta opcao para poder absoverver melhor os filtros feitos com numeros e letras, depois eu implemento datas. Então pelo que o Sr. me passou ate agora, eu consegui fazer o filtro listar buscando pelo edit1 e edit2 (campos, integer correto?), ficou show de bola, porem agora, eu preciso implementar o codigo para que filtre também o edit3 e o combobox1. E futuramente o intervalo de data. O Sr. havia respondi para mim com este codigo ali em cima, que esta anexado a esta msg. Porem eu testei fazendo desta forma: [No componente IBQueryfiltro, no object inspetor / SQL deixei assim:] SELECT * FROM CADASTRO_ATENDIMENTO WHERE (NUMEROATENDIMENTO = :pParametro1 OR :pParametro1 = 0) AND (CODIGOCLIENTE = :pParametro2 OR :pParametro2 = 0) AND (STATUS = :pParametro3 OR :pParametro3 = '') [No Params do object inspetor:] 0 - pParametro1, datatype = ftInteger 1 - pParametro1, datatype = ftInteger 2 - pParametro2, datatype = ftInteger 3 - pParametro2, datatype = ftInteger 4 - pParametro3, datatype = ftString 5 - pParametro3, datatype = ftString [E no botao:] IBQueryfiltro.Close; if Trim(edit1.Text) <> '' Then IBQueryfiltro.ParamByName('pParametro1').Value := Trim(edit1.Text) else IBQueryfiltro.ParamByName('pParametro1').Value := 0; if Trim(edit2.Text) <> '' Then IBQueryfiltro.ParamByName('pParametro2').Value := Trim(edit2.Text) else IBQueryfiltro.ParamByName('pParametro2').Value := 0; if Trim(combobox1.Text) <> '' Then IBQueryfiltro.ParamByName('pParametro3').Value := Trim(combobox1.Text) else IBQueryfiltro.ParamByName('pParametro3').Value := ''; IBQueryfiltro.Open; [Ai ele retorna esse erro:] Project Project_controleatendimentosolution.exe raised exception class EIBInterBaseError with message 'Dynamic SQL Error SQL error code = -804 Incorrect values within SQLDA structure'. Process stopped. Use Step or run to continue. Dynamic SQL Error SQL error code = -804 Incorrect values within SQLDA structure. ...e agora, tens ai alguma dica?
  9. Micheus, Com todo respeito, você poderia me passar um exemplo de como posso misturar esse codigo para filtrar tanto string, quanto integer? Gostaria de filtrar por exemplo, o codigo do cliente, e o status do atendimento (andamento, finalizado etc), desta forma eu posso pegar todos os clientes que estao com o atendimento em andamento, ou poderia pegar todos os atendimentos finalizados de um determinado cliente. Desde agradeço.
  10. Funcionou, realmente eu devo ter feito algo errado. Mas e agora Leonardo? se eu precisar misturar datatype ftINTEGER com ftSTRING como que fica, olha eu bem que tentei emendar o seu SQL e depois manipular o PARAMS e por ultimo o codigo no botao, mas não consegui não, da um erro muito extranho, antes de posta-lo talvez você poderia me ajudar complementando o seu codigo. Novamente agradeço pelo tempo disposto.
  11. Boa noite, Eu testei das duas formas que me passou, a primeira deu erro, dai me liguei na questao do INTEGER. Estou empolgado =), avancamos mais um paço, agora o resultado ficou assim: 1 - Se eu deixo os EDIT'S em branco, o sistema lista tudo. OK 2 - Se eu filtro os EDIT'S informado o valor nos dois campos (edit1 e edit2), ele lista somente o registro solicitado. OK ...porem, 3 - Se eu informo o EDIT1 e deixo o EDIT2 em branco, o sistema lista tudo, mas eu gostaria que ele lista-se somente o que for referente ao EDIT1. Por exemplo: Digamos que o EDIT1 e o filtro do cliente, e o EDIT2 e o filtro da cidade (isso e so um exemplo). Se eu filtra-se pegando o nome do cliente JOAO (edit1), e deixo o nome da cidade em branco (edit2), então o sistema deveria listar todos os JOAO's de todas as cidades. Mas se eu filtra-se buscando pelo nome JOAO (que seria o edit1) e também filtra-se pela cidade CURITIBA (que seria o edit2), o sistema deveria listar somente os JOAO'S que moram em CURITIBA, e vice versa, se eu filtra somente pela cidade (edit2), deixando o nome cliente em branco (edit1), o sistema deveria aparecer todos os clientes daquela cidade. ...novamente agradeço por estar disponibilizando seu tempo para me ajudar. E se ti tiver mais uma sugestao e bem provavel que eu agradeça novamente. =)
  12. Primeiramente, agradeço por estar me ajudando Sr. Leonardo C. Cavalcante. No entanto, Deu na trave!!!, porem, ainda pode algo que fiz errado, talvez la onde você diz - ...informar o tipo para cada parametro no datatype! - , eu coloquei: ftString. O resultado foi o seguinte: 1 - Se eu preencher os "dois" campos aparece o resultado na grid. 2 - Se eu deixar os campos "edit1.text e edit2.text" em branco, não lista nada. 3 - Se eu deixar somente o campo "edit1.text" preenchido e o "edit2.text" em branco, então não lista nada. 4 - Se eu fizer o inverso do que descrivi na opcao 3. acontece a mesma coisa. ...então agora eu preciso fazer um ajuste para que quando os dois EDIT'S estiverem em branco, o sistema lista tudo, ou caso, somente um dos dois campos forem preenchidos, então que o sistema considere o outro campo como "todos". ...o q acha?
  13. Boa tarde, A 1 mes estou procurando algo neste sentido e não encontro. Preciso criar uma consulta que liste o resultado no DBGRID, porem o filtro deve passar por mais de um Edit. ou seja exemplo: edit1.texte e edit2.text. Estou tentando com os componente QUERY, DATASOURCE, DBGRID e Edit's normais. Meu banco e INTERBASE. Veja, só, o mais proximo que consegui chegar foi utilizando esta SQL: IBQueryfiltro.SQL.Add('SELECT * FROM CADASTRO_ATENDIMENTO WHERE NUMEROATENDIMENTO = '+Edit1.Text+' AND CODIGOCLIENTE = '+Edit2.Text+''); ...porem se eu deixo um dos campo em branco da erro, ao envez disso, eu gostaria que ao encontrar o campo em branco, então que fosse listado tudo. ...se por exemplo que preencher o edit1 e deixar o edit2 em branco da este erro: [Project Project_Nomedomeuprojeto.exe raised exceptio class EIBInterBaseError with message 'Dynamic SQL Error SQL error code = -104 Unexpected end of command'. Process stopped. Use Step or Rum to continue.] [Dynamic SQL Error SQL error code = -104 Unexpected end of command.] ...desde já agradeço.
×
×
  • Criar Novo...