Ir para conteúdo
Fórum Script Brasil

Churc

Veteranos
  • Total de itens

    1.198
  • Registro em

  • Última visita

Tudo que Churc postou

  1. Opa Tente assim: Screen.Cursors[crSqlWait] := Screen.Cursors[crDefault]; Troque o crDefault pelo cursor que deseja, crHourGlass por exemplo... abraço
  2. Opa Você rodou o programa na mesma máquina em que instalou o MySQL Server? Se não, da uma olhada neste tópico. Perguntei porque se sim, exclua esta opção, pois que eu saiba o MySQL Server coloca a libmysql.dll na pasta do sistema... Esse erro pode acontecer por vários motivos, normalmente quando não dá nenhuma mensagem de erro do aplicativo e se encerra pelo Windows é por causa de dlls, normalmente mais nem sempre... abraços
  3. Opa Ooo Progr'amador se sabe o quanto sou grato a você né fera! Apareça sempre que puder, sempre será bem vindo! Sucesso! Abraços!
  4. Churc

    Editor De Texto Mdi

    Opa Veja se isto te ajuda... abraço
  5. Churc

    [delphi] Kl De Banco!

    Tópico fechado! Seguindo as regras do fórum, não é permitido a discussão de nada sobre pirataria, hacker, ou coisas parecidas! Abraço
  6. Opa Da uma olhada neste post do Micheus e ve se te ajuda... Só que o que você quer é só fazer ao contrário... abraço
  7. Churc

    Ler Arquivo Txt

    Opa Exato. Significa a posição (Index) em que vai começar a ser copiado, ou seja, a partir de qual Index vai começar a copiar, o 1 significa que começa da primeira letra... se fosse 2 da segunda letra... O Pos retorna a posição de um caracter que é passado no parametros dele, então Pos(Separator, szLine) ele acha o Separador que seria o » mas não queremos copiar o separador então usamos o -1, ou seja, copia até o separador mais não copia o separador... Da uma olhada neste post. abraço
  8. Churc

    Ler Arquivo Txt

    Opa Ahh verdade Micheus agora que fui ver que ele modificou o código... Pirambu, como o Micheus falou no meu código repare que para o último campo eu usei: Copy(szLine, 1, Length(szLine)); Para funcionar do jeito que você está fazendo, você teria que no WriteLn colocar + Separator pro último campo... abraço
  9. Churc

    Memo

    Opa Não entendi bem mais esse número é o que um texto? Se for um texto, você quer que ao clicar em um botão o memo1 receba em suas linhas o numero 1, o memo 2 o numero 2 e assim sucessivamente mas como são seis memos e vai contar até 6 não tem segredo é só fazer no clique do botão: memo1.lines.add('1'); memo2.lines.add('2'); memo3.lines.add('3'); memo4.lines.add('4'); memo5.lines.add('5'); memo6.lines.add('6'); Seria isso? Não entendi =S abraço
  10. Churc

    Ler Arquivo Txt

    Opa Faz o seguinte, depois de gerar o arquivo de texto, abra-o e cole aqui parte do que está nele, assim da pra saber se está saindo corretamente... abraço
  11. Churc

    Ampulheta

    Opa Eu não conheço, mas o que você pode fazer é colocar essa ampulheta no Evento OnBeforePrint: cursor := crSqlWait; e depois no evento OnAfterPrint: cursor := crDefault; do seu relatório... pela lógica ela só iria sumir depois que o relatório fosse impresso mas não sei exatamente como são tratados estes eventos nunca testei eles pra ver a precisão... abraço
  12. Churc

    Ler Arquivo Txt

    Opa Tendo por base que esta tabela tem os seguintes campos: funcionarioID - Integer CursoID - Integer Periodo - String Datatermino - Date Para gravar no arquivo de texto: const Separator = '»'; var CSVFile: TextFile; begin try AssignFile(CSVFile, 'C:\Treinamento.txt'); Rewrite(CSVFile); adotable1.First; while not ADOTABLE1.Eof do begin Writeln(CSVFile, adotable1funcionarioID.AsString + Separator + adotable1funcionarioID.AsString + Separator + adotable1cursoID.AsString + Separator + adotable1Periodo.AsString + Separator + adotable1Datatermino.AsString); adotable1.Next; end; closefile(CSVFile); except Showmessage('Não Disponivel'); end; Para ler do arquivo de texto: const Separator = '»'; var CSVFile: TextFile; szLine: String; begin AssignFile(CSVFile, 'C:\Treinamento.txt'); Reset(CSVFile); while not EOF(CSVFile) do begin Readln(CSVFile, szLine); table1.Append; table1codigofunc.Value := StrtoInt(Copy(szLine, 1, Pos(Separator, szLine) -1)); Delete(szLine, 1, Pos(Separator, szLine)); table1nomecurso.Value := StrtoInt(Copy(szLine, 1, Pos(Separator, szLine) -1)); Delete(szLine, 1, Pos(Separator, szLine)); table1periodo.Value := Copy(szLine, 1, Pos(Separator, szLine) -1); Delete(szLine, 1, Pos(Separator, szLine)); table1datatermino.Value := StrtoDate(Copy(szLine, 1, Length(szLine))); Delete(szLine, 1, Length(szLine)); table1.Post; end; Da pra se fazer funções pra não ficar utilizando o Copy mas estou sem o Delphi aqui então nem vou arriscar a fazer Qualquer coisa posta ai, capaz que tenha erros tipo faltando fechar parenteses e tal rsr abraço
  13. Churc

    Ampulheta

    Opa Então não fique se matando, se não existir essa ampulheta no Delphi 4 não há jeito mesmo, o que você pode fazer é procurar na Internet por uma ampulheta dessa e colocar como resource no seu aplicativo e utiliza-lá... abraço
  14. Opa A vantagem é clara, dar ao cliente a opção de qual sistema operacional utilizar, independente de preço ou facilidade... Muitas empresas de grande porte ainda vão trocar se já não trocou ou está trocando por sistemas free como o Linux pois os gastos com a Microsoft são relativamente altos... por exemplo, o governo não só brasileiro, imagina quanto o governo não gasta com as licenças do Windows... abraço
  15. Churc

    Ampulheta

    Opa basta definir exemplo Cursor := crSQLWait; Query1.Open; ... Query1.Close; Cursor := crDefault; Isto no Delphi 2006 mas acredito que já tenha em outras versões! abraço
  16. Churc

    Ler Arquivo Txt

    Opa Faz assim pra não ficar nenhum tipo de dúvida, mostra como é o código que você está gerando o arquivo de texto! Assim da pra montar pra você desde a criação do arquivo até a leitura... abraço
  17. Churc

    Ler Arquivo Txt

    Opa Na hora de você ler os campos de data você deve converte-la de String para o formato DateTime StrtoDate Exemplo: table1datatermino.Value := StrtoDate(copy(linha,35,44)); Mas você não está usando delimitadores de campo no arquivo de texto, creio então que você está preenchendo com espaço em branco pra completar o mesmo tamanho do Registro correto? abraço
  18. Opa Como é um trabalho acho que você mesmo tem que pesquisar ;) É o que disseram os administradores do fórum, quanto a trabalho deixar o usuário fazer e não fazer pra ele... rsr abraço
  19. Opa Funciona sim, porque na verdade esse processo se chama CSV que em inglês seria Comma Separated Values ou Valores separados por vírgula, então não tem haver com uma tabela em si e pode ser utilizado para várias outras coisas, o Outlook por exemplo usa este processo para exportar contatos, tem esta opção... A teoria é assim, agora você vai entender Na sua tabela do SQL server você vai andar por ela toda (while) do começo (First) ao fim (Eof) e enquanto caminha por ela você vai criando num arquivo de texto os valores dessa tabela separados por um delimitador... Então vamos supor que sua tabela tenha 2 campos NOME IDADE Então enquanto você caminha por ela o arquivo de texto vai ficando tipo assim: João»20 Marcos»19 Augusto»36 Ai depois você faz o inverso, você vai lendo linha por linha do arquivo de texto copiando os valores que estão separados pelo delimitador e jogando na tabela firebird... É como está naquele tópico que te passei... Como delimitador você deve utilizar um caracter que não esteja na sua tabela senão vai confundir tudo, como exemplo eu usei (ALT + 175) abraço
  20. Opa A numeração de versão a partir do Delphi 7 é 8 - Delphi .NET 9 - Delphi 2005 10 - Delphi 2006 11 - Delphi 2007 A maioria dos componentes vem com um pacote Runtime que possue todas as units que vão ser usadas pelo componente e outro Design que é o componente em si que aparece na palheta... Exemplos vclskin_d10R.dpk - Runtime vclskin_d10D.dpk - Design A primeira coisa a fazer é adicionar a pasta dos Sources do componente na Type Library do Delphi, depois compilar o pacote Runtime e depois compilar e instalar o pacote Design O delphi 2006 suporta os pacotes de Delphi 6 em diante, qual problema acontece? ps: A maioria dos seus tópicos, mesmo que são resolvidos você não posta uma mensagem dizendo se deu certo ou não, isto é ruim porque como diz o Micheus: Não leve isto como uma crítica ;) abraço
  21. Opa Sei que foje um pouco de questão do tópico, mas aproveitando que o fajo mencionou do D2007, muda muito do D2006 pro D2007 fajo? Compensa mudar? Abraço
  22. Churc

    Libmysql.dll

    Opa Essa DLL é usada pra fazer a ligação entre Client/Server do Servidor MySQL... Por padrão ela vem no MySQL Server mas como você instala ele somente em uma máquina, que seria a máquina servidor então quando você rodar seu programa nas outras máquinas vai ter este problema... O que você deve fazer é ou baixar esta DLL de algum site como este ou procurar no servidor que você instalou o MySQL Server, lembrando que você vai precisar distribuí-la junto com seu programa, você pode tanto colocá-la na pasta do programa quanto em pastas que estão nas variáveis de ambiente do Windows, como a pasta do Windows ou System (Win9x/ME), System32 (NT, 2000, XP, VISTA) Vale lembrar que a DLL do site que passei eu não sei a versão e também não testei portanto o ideal é você pegar ela na máquina em que instalou o MYSQL Server abraço
  23. Opa Se não houver programas que façam isso, o ideal é você fazer este processo... Da uma olhada neste tópico. abraço
  24. Opa O fato de os 2 estarem selecionados e não funcionar é pelo seguinte... Acontece que se um estava checado ele não passava pro outro, ao invés de verificar se os 2 estavam checados, o correto seria fechar o end e não usar o else para poder verificar se o outro checkbox também estava checado... não sei se fui bem claro rsr Tente assim: dm.qryclientes.Close; dm.qryclientes.SQL.Clear; dm.qryclientes.SQL.Add('SELECT * FROM cliente'); if ordenar.Checked then begin case coluna.ItemIndex of 0: dm.qryclientes.SQL.Add('ORDER BY codigo'); 1: dm.qryclientes.SQL.Add('ORDER BY nome'); 2: dm.qryclientes.SQL.Add('ORDER BY tipo'); end; dm.qryclientes.Open; RVclientes.ProjectFile := 'Relatorio_Clientes.rav'; RVclientes.Execute; end; if (listar.Checked) then begin case (coluna3.ItemIndex) of 0: dm.qryclientes.SQL.Add('WHERE tipo="Pessoa Física"'); 1: dm.qryclientes.SQL.Add('WHERE tipo="Pessoa Jurídica"'); end; dm.qryclientes.Open; RVclientes3.ProjectFile := 'Relatorio_Clientes_3.rav'; RVclientes3.Execute; end; Só que quando os 2 Checkboxes estiverem checados vai abrir 2 relatórios já que você definiu 2 ProjectFile diferentes e um relatorio Rave diferente também para cada checkbox, ou seja, não resolveu seu problema, mas como eu nunca usei o Rave, suponho que esse RV e extensão .rav seja do Rave Reports, então não sei nem como funciona, por exemplo, porque você usa ProjectFile do Rave um diferente para cada checkbox, seria o Layout do relatório? abraço
×
×
  • Criar Novo...