Ir para conteúdo
Fórum Script Brasil

FFernando

Membros
  • Total de itens

    15
  • Registro em

  • Última visita

Tudo que FFernando postou

  1. Cara, MUITOOO OBRIGADO!! Funcionou certinho, agora estou tentando fazer com que o array encontre todos os campos, mesmo estando fora da ordem. porque o array ele varre sequencial =/ Mas muito obrigado!!! Funcionou perfeitamente.
  2. Obrigado Jhonas, consegui fazer bastante coisa aki no programinha, só estou com uma duvida de como fazer dinamicamente o meu programa ler no final da linha o codigo 020309101112131416 e eu armazenei o valor do arquivo INI em um TStringList: ArquivoINI.Strings o programa tem quem pegar em "pares" 02 03 09
  3. Bom Dia Galera, Estou com um programinha que lerá um arquivo txt de posições fixas e um .ini com os seguintes dados: Arquivo TXT 01 Henrique 020305 02 Fernando 010205 Arquivo INI 01 Mercedez 02 Chevrolet 03 Audi 04 BMW 05 Ferrari Eu preciso fazer o seguinte, ele ler o arquivo TXT e quando chegar na posicao dos numeros "020305" Ele tera que verificar no arquivo .INI o numero e o nome da marca, ai ele vai pegar e alterar ou gerar um novo arquivo assim: 01 Henrique 02Chevrolet03Audi05Ferrari 02 Fernando 01Mercedez02Chevrolet05Ferrari Eu consegui fazer o seguinte, armazenei os dados do .INI: N := Arquivo.Count-1; // Identifica quantas linhas tem o arquivo {Verifica até que seja final de arquivo} for I := 0 to N do begin Linha := Arquivo.Strings[I]; // Verifica linha por linha NovaLinha := ''; repeat Y := Pos(';', Linha); Palavras.DelimitedText := Copy(Linha, 1, Y-1); Linha := Copy(Linha, Y+1, Length(Linha)); until Y = 0; Arquivo.Strings[I] := Linha; end; Agora estou com dificuldades para ler o arquivo txt, encontrar a posição dos numeros e altera-las. Alguém pode me ajuda?
  4. Obrigadooo Duduh, consegui solucionar o problema!! Abraços
  5. Oi Jhonas.. O usuário gostaria que gravasse no MESMO arquivo, mas com muito jeito convenci de gravar em outro rs... funcionou perfeitamente, obrigado!
  6. Oi Jonas, Obrigado, estou usando o openDialog. mas o problema persiste.. Pois ele deve ler o arquivo LOAD DATA INFILE "CAMINHO" INTO TABLE Teste.TMP_BASE_DADOS SINGLEROW TRUNCATE (TIPO_REGISTRO POSITION(1:1), FONTE_PAGADORA POSITION(2:15), IDENTIFICACAO POSITION(16:29), CODIGO_TRIBUTO POSITION(30:33), SIGLA_SISTEMA POSITION(34:36)) E alterar o CAMINHO, mas ele ira gravar no MESMO arquivo, então ficara LOAD DATA INFILE "C:\teste.txt" e caso eu queira gravar novamente outro arquivo, ele não terá mais o "CAMINHO" e sim o "C:\teste.txt" :huh:
  7. Boa tarde galera, Estou com um programinha e que tenho que ler um arquivo TXT: LOAD DATA INFILE "C:\X.UAS" INTO TABLE Teste.TMP_BASE_DADOS SINGLEROW TRUNCATE (TIPO_REGISTRO POSITION(1:1), FONTE_PAGADORA POSITION(2:15), IDENTIFICACAO POSITION(16:29), CODIGO_TRIBUTO POSITION(30:33), SIGLA_SISTEMA POSITION(34:36)) O programa deve substituir o que esta entre aspas quando o usuario digitar o novo caminho e arquivo no edit1.text eu fiz assim: sBufferOrig := StringReplace(sBufferOrig, 'X', Edit1.text, [rfReplaceAll, rfIgnoreCase]); Ele substitui direitinho, mas tem um problema. Caso altere a letra X o programa não irá mais funcionar, então como q faço p substituir de outra forma? independentemente de ser X, a, B... :wacko:
  8. Ola Jhonas, Obrigado pelos links, mas eu estou cm duvida no seguinte. O Select é aleatório, não é fixo. Gostaria de saber como faço para ele gerar o arquivo .db com o MESMO tamanho das colunas do select. exemplo: O sistema lê o arquivo Cliente.sql select * from cliente nome = Fernando Batista da Costa idade = 19 endereco = Rua do Limoeiro desc cliente nome varchar2(50) idade number endereco varchar2(50) O arquivo db deverá ser gerado assim: (vou utilizar _ como espaço) Fernando Batista da Costa______________|19|Rua do Limoeiro____________________| Joao Carlos de Almeirda Junior_________|20|Rua da Margarida___________________| então, minha dificuldade é em saber como pegar o tamanho das colunas do oracle e fazer ele exportar p o arquivo DB na formatação correta.
  9. Bom Dia galera, estou com um probleminha p resolver aki no trampo e não faço nem ideia de como resolver isso.. Tenho um DBGRID que me retorna um select de um arquivo .SQL que o usuario insere no edit1.txt após a consulta, eu devo importar os dados para um arquivo .DB esse arquivo deve seguir a formatação dos campos da tabela, exemplo Nome varchar2(50) Idade int Sexo char(1) O problema é o seguinte, o arquivo de select é aleatório, então não posso fixar os campos no meu codigo, tenho que fazer de um jeito que ele retorne o tamanho dos campos e formate o arquivo de acordo. Um cara aki disse p usar XSL, estou pesquisando sobre isso p me ajudr o mais rapido possivel.
  10. Oi Micheus, Obrigado pela ajuda, tive que fazer uma pequena alteração: while not OracleDataSet1.EOF do // percorre enquanto não chegar aofim begin for coluna := 0 to OracleDataSet1.FieldCount -1 do begin valorcampo := OracleDataSet1.Fields[coluna].AsString; if Coluna < (OracleDataSet1.FieldCount -1) then Write(txtSAIDA, valorcampo + ';') else // última coluna - avança linha e não põe o delimitador WriteLn(txtSAIDA, valorcampo + ';'); end; OracleDataSet1.Next; // próximo registro end; Funcionou perfeitamente, obrigado cara! abraços
  11. Oi Micheus, O arquivo csv eu converteria após os dados estando no excel, mas vi q não funcionaria.. estou transferindo para txt mesmo. estou com problema nessa parte do código, onde consigo apenas pegar o ULTIMO registro e ele grava uma coluna abaixo da outra. :wacko: for linha := 0 to OracleDataSet1.RecordCount - 1 do begin for coluna := 0 to OracleDataSet1.FieldCount -1 do begin valorcampo := OracleDataSet1.Fields[coluna].AsString; StrToCopy := valorcampo; WriteLn(txtSAIDA, StrToCopy + ';'); end; end;
  12. vou procurar fazer do jeito que você disse, eu estou usando esse codigo aki: var linha, coluna : integer; var planilha : variant; var valorcampo : string; begin OracleDataSet1.CachedUpdates := true; planilha:= CreateoleObject('Excel.Application'); planilha.WorkBooks.add(1); planilha.caption := 'Exportando dados do dbGrid para o Excel'; planilha.visible := true; OracleDataSet1.First; for linha := 0 to OracleDataSet1.RecordCount - 1 do begin for coluna := 1 to OracleDataSet1.FieldCount do begin valorcampo := OracleDataSet1.Fields[coluna - 1].AsString; planilha.cells[linha + 2,coluna] := valorCampo; end; OracleDataSet1.Next; end; for coluna := 1 to OracleDataSet1.FieldCount do begin valorcampo := OracleDataSet1.Fields[coluna - 1].DisplayLabel; planilha.cells[1,coluna] := valorcampo; end; planilha.columns.Autofit; end;
  13. Ahh sim... :huh: sorry.. O arquivo por padrão tem que ser formatado assim, pois será enviado a um cliente, que fará a inserção no banco de dados dele. Eu preciso pegar os resultados do dbgrid e fazer a sepação das colunas por ponto e virgula, salvar em um arquivo .CSV
  14. Olá Obrigado Micheus, Consegui fazer e ficou desta forma: OracleDataSet1.SQL.LoadFromFile(Edit1.text); // OracleDataset1.SQL.Add(sBufferOrig); OracleDataSet1.Active:=true; OracleDataSet1.Open; Gauge1.MaxValue := DBGrid1.DataSource.DataSet.RecordCount; OracleDataSet1.First; if not OracleDataSet1.Eof then repeat Gauge1.Progress := Gauge1.Progress + 1; if Gauge1.Progress = Gauge1.MaxValue then begin ShowMessage('Processo Terminado!'); end; OracleDataSet1.Next; until OracleDataSet1.Eof; Agora estou tentando transportar os dados do dbgrid p um arquivo CSV, achei aki o forum mesmo uma exportação p excel, mas tem consultas que excedem o limite de 65000 linhas do excel e o programa acaba dando pau, você saberia algum outro jeito p ele exportar os dados do dbgrid separados por ponto e virgula ?
  15. Bom dia galera, Sou novo aki no forum e iniciante em delphi.. Estou com uma extrema dificuldade em um projeto.. :angry: Meu problema é o seguinte: Tenho 1 edit.text que receberá um arquivo, por exemplo: Consulta.SQL dentro dessa consulta tenho um select: Select * from funcionarios where codigo > 01 eis o problema, como que faço p LER este arquivo .SQL, fazer com que o sistema execute esta query que esta dentro do arquivo e me traga o resultado dentro d um DBGRID??? Valeu galera... abraços
×
×
  • Criar Novo...