
Micheus
Veteranos-
Total de itens
3.189 -
Registro em
-
Última visita
Tudo que Micheus postou
-
(Resolvido) Ajuda com a função update + replace
pergunta respondeu ao fatherofpain de Micheus em MySQL
Denis Courcy, este post é apenas para reforçar a necessidade do colega. Acredito que seria algo como: SET post = REPLACE(post, '<a href=\"http://www.uol.com.br\">site</a>', 'site'); Veja o que você acha? Abraços -
Eder, primeiramente, para evitar problemas quando conseguir-mos resolver esta "pendenga", você deve corrigir a parte do DeleteTable. Observe que eu disse para você substituir as duas linhas pela sequencia com try..except.. end; e você não fez exatamente como eu mostrei (onde está o try... <_<). Depois, só para ter certeza de que não há qualquer problema com acesso (na criação do arquivo), você poderia substituir (temporariamente) a linha: TabTmp.DatabaseName := QueryTodas.DatabaseName; por: TabTmp.DatabaseName := 'c:\temp\'; // ou 'c:\windows\temp' e apenas confirmando: a consulta QueryTodas já está ativa (aberta) quando o procedimento é realizado. Não está?! Informe os resultados. Abraços
-
Vivendo&Aprendendo, vamos tentar esclarecer mais esta dúvida, porque acho que não está muito clara. Voce quer colocar o arquivo do Access (*.mdb) em um servidor de FTP e realizar uma conexão via ADO para acessar os dados do banco neste servidor. É isto? Este banco tem que ficar em um servidor FTP (isto é pouco convencinal)? Abraços
-
M@tEuS, como mencionou o Jhonas, coloque no evento OnExit. O evento OnChange ocorre para cada caracter digitado e com relação ao erro, ele sugere que você possa não ter inicializado (criado) o form frmProdutos antes de utilizá-lo - dê uma verificada. Abraços
-
U2 - VERTIGO (ou seria, VERTRIGO...) - esta é a melhor de todas! CREEDENCE - Have You Ever Seen The Rain (Eu vi o revólver sim do Rei) Abraços
-
Curiosidade: qual a finalidade desta aplicação (além de matar processos remotamente - é claro)?
-
Vivendo&Aprendendo, ficou faltando explicar esta parte. ;) Sergio, feito o que o colega sugeriu você acessa o componente (em um form) pelo nome utilizando o método FindComponent do form em questão e atribuí-lo a uma variável do tipo TComponent - para facilitar seu manuseio; Vamos a um exemplo: 1) em algum momento você guardou o nome do componente (conf. outro post) em uma variável chamda NomBotao (string); 2) usando esta variável, utiliza FindComponent para acessar o componente: var Componente :TComponent; begin Componente := FindComponent(NomBotao); // receberá o endereço do componente se existir if Assigned(Componente) then // testamos se o componente foi encontrado begin // sabendo que ele é um botão (TButton), vamos fazer um type-cast // para manipular uma de suas propriedades TButton(Componente).Caption := 'Novo caption do botão'; end; end; a idéia é por aí. Detalhes, dependem da aplicação que você irá implementar. Abraços
-
David_Silva, difícil de ela lhe responder. Se você ver o perfil dela (fora este post) verá que a última atividade foi em 2005 - 3 anos atrás!! :o
-
Aprendendo, configurar formulário de etiquetas para ficar certinho é chato mesmo. Mas, uma coisa que você parece não entendeu é que você não pode definir o tamanho do formulário no quick maior que o tamanho do papel! Não é para sobrar nada. Se vier a dar certo na primeira página, vai dar erro se houver um segunda. Quando final da página é encontrado pelo Quick (baseado na configuração), vai haver um avanço de página e, já estando na segunda página, a impressora deverá passar para a 3ª - e por ai vai. Tem que ser lembrado que o quick faz impressão no modo gráfico - não texto como quando você utiliza writeln (motivo de ser mais rápido). Abraços
-
Eder, provavelmente é porque houve erro na criação da tabela (CreateTable). Pode ser em função do código que postei: if FileExists(TabTmp.DatabaseName +'\' +TabTmp.TableName) then TabTmp.DeleteTable; esse file exists está errado para o caso em que DatabaseName não é o nome de um diretório, mas sim um Alias. este código deve substituir mas corretamente as duas linhas anteriores: try TabTmp.Open; TabTmp.Close; TabTmp.DeleteTable; except end; caso a tabela seja aberta com sucesso - ela existe. Logo, deletamos ela. De qualquer modo, você observou se por acaso, o arquivo chegou a ser gerado? Assim, remotamente é complicado tentar acertar (eu testei um caso aqui, com essas características, e funcionou). Deve haver alguma coisa pegando... Tente, comentar a parte que gera os índices: TabTmp.IndexDefs.Clear; // TabTmp.IndexDefs.Add('', 'UNIDADE', [ixPrimary]); // TabTmp.IndexDefs.Add('FRETE_TOTAL_IDX', 'VALOR_FRETE_TOTAL', [ixDescending]); TabTmp.CreateTable; // TabTmp.IndexName := 'FRETE_TOTAL_IDX'; TabTmp.Open;e veja se ela será criada sem problemas. Abraços
-
Vamos ver se damos algum rumo a este tópico. É improvável que o arquivo na pasta temporária tenha alguma característica diferente de qualquer outro arquivo listado no HD. Logo, tratando-se fisicamente de uma pasta como outra qualquer, de arquivos como outro qualquer, deve-se pressupor de que haja algum lugar em que permita ao Windows tratar estes arquivos/informações de forma diferente. Se você prestar atenção na pasta Temporary Internet Files\Content.IE5 (ou similar), vai observar que existe um arquivo chamado Index.dat associado a esta pasta (e que não nos é permitido apagá-lo com facilidade). Com isto em mente, uma busca com relação a este arquivo resulta em artigos interessantes: - Ver, analisar e apagar conteúdo index.dat - Index.Dat Files and Primary I.E. Folders - Reverse Engineering Index.dat Abraços
-
Ramon, você por acaso verificou em qual momento/tabela este erro ocorre? É com alguma tabela específica? Que componente você está utilizando, um ZQuery ou um ZTable? Seria interessante por a parte do código em que este erro ocorre. Abraços
-
vms, acho que sujou... :rolleyes: Lendo a referência que citei (no msdn): "Edit controls and Rich Edit 1.0: An undo operation can also be undone. For example, you can restore deleted text with the first EM_UNDO message, and remove the text again with a second EM_UNDO message as long as there is no intervening edit operation. Rich Edit 2.0 and later: The undo feature is multilevel—so sending two EM_UNDO messages will undo the last two operations in the undo queue. To redo an operation, send the EM_REDO message." Daí, conferindo no código da unit ComCtrls, tá lá no TCustomRichEdit.CreateParams: RichEditModuleName = 'RICHED32.DLL' o que significa que está sendo carregada justamente a versão 1.0: Talvez seja interessante considerar as sugestões neste outro tópico do colefa Greed - post#7 Quando eu tiver um tempinho, vou dar uma olhada na proposta do artigo que cito, do forum Expert-Exchange. Abraços
-
(Resolvido) Ajuda com a função update + replace
pergunta respondeu ao fatherofpain de Micheus em MySQL
Pois é Denis Courcy, esqueci que ainda estes dias você já tinha falado algo sobre estas barras em funções. :blush: Eu entendi que ele queria apenas substituir um texto pelo outro e que o caracter especial que aparece no meio dele não seria levado em conta pela função, porque em termos de atribuição direta do texto a um campo, não há este tipo de problema (não com a versão 5 que tenho instalada). Descupe aí, fatherofpain Abraços -
(Resolvido) Erro "multiple rows in singleton"
pergunta respondeu ao robinhocne de Micheus em Delphi, Kylix
Difícil ter certeza. O melhor seria você depurar o programa e, antes da execução da consulta, verificar como está sua SQL. Então, pegar ela e jogar no IBExpert para ir mexendo e ver onde está o erro. Mas, tente mudar o código que pinta seu DBGrid, para testar por not IsNull: if not DtmIza.QryIza.FieldByName('Vencimento').IsNull and (DtmIza.QryIza.FieldByName('Vencimento').AsDateTime < Date) then DbgPes.Canvas.Font.Color:= clMaroon; Abraços -
Micheus, tudo bem. Este UPDATE seria feito lançamento por lançamento já existente, ou tem como fazer um geral, o pessoal já fez mais de 2000 lançamento. VDLR, com esta dúvida envolve apenas apenas recurso do banco de dados, estou movendo para a sessão MySQL. Abraços
-
Então está explicado!Sendo varchar você tem que usar o delimitador de string (texto) - aspas. No código delphi, você poderá utilizar deste modo: 'Select * From Phones Where Phones.Phone = '+QuotedStr(Telefone2.Text); mas eu lhe aconselharia a utilizar parametrização. Veja exemplo: Query1.SQL.Add('Select * From Phones Where Phones.Phone = :Phone'); Query1.ParamByname('Phone').AsString := Telefone2.Text; Query1.Open; Abraços
-
(Resolvido) Ajuda com a função update + replace
pergunta respondeu ao fatherofpain de Micheus em MySQL
fatherofpain, então você poderia fazer esta mudança na istrução SQL: trocar o " por ': update cgd_post set post = replace(post, '<a href="http://www.uol.com.br">site</a>', "site"); Abraços -
Valmir, acredito que este seu novo tópico se refira ao mesmo assunto que o anterior: Load data infile (sem respostas) Supondo que seja isto mesmo, aquele exemplo dá a entender que o delimitador de campos (colunas) seja o caracter " " (espaço) e, neste caso, há uma situação (coluna extra - em vermelho) que aparentemente não permitirá o uso deste método: MySQL não é minha especialidade mas, pelo que entendi do uso deste recurso (implementei algo similar), o número de colunas no arquivo de importação deve ser igual em cada linha (pelo menos no que diz respeito a delimitação). Mas a título de auxílio, vou deixar aqui o código que testei, considerando: - nome da tabela pabx; - que são as colunas: Data(Date), Hora(Time), Situacao(varchar(1), Campo1(varchar(6)), Campo2(varchar(6)), Fone(13), Duracao(Time); - suas colunas são delimitadas por " " (espaço); - que a linha "anômala" foi retirada do arquivo. load data infile "c:\\temp\\pabx.txt" into table pabx fields enclosed by ' ' terminated by ' ' escaped by ' ' (Data, @varTime, status, Cmp1, Cmp2, Fone, @varDuracao) set Hora = cast(if(substring(@varTime, 6, 2)='PM', cast(substring(@varTime, 1, 5) as time)+cast('12:00' as time), cast(substring(@varTime, 1, 5) as time)) as time), Duracao = cast(substring(@varDuracao, 1, 5)+substring(":", 1, 1)+substring(@varDuracao, 7, 2) as time); Ref. LOAD DATA INFILE Syntax (site oficial MySQL) Abraços
-
lucas, como está declarado o campo Phone no seu banco de dados (o tipo de dados)?
-
VLDR, não seria o caso de executar um UPDATE na tabela, setando o campo com a sua nova formatação?
-
(Resolvido) Copiar Linhas de um DBgrid para outro Dbgrid
uma questão respondeu Micheus em Delphi, Kylix
Sergio, é preciso ter em mente que um TDBGrid não é um TStringGrid. Sabendo disto, fica mais fácil saber como resolver tal "problema". Seu DBGrid certamente está obtendo os dados de um dataset não é mesmo? Então, estas linhas selecionadas se referem as linhas selecionadas neste dataset. Logo, é dele, e não do DBGrid, que os dados serão copiados. Da mesma forma, não será para o outro DBGrid que os dados serão copiados, mas sim para o dataset ligado ao outro DBGrid. Assim, dê uma olhada neste post onde há um exemplo de como copiar os dados selecionados (SelectedRows) em um DBGrid para uma tabela. Observe que o dataset do qual se usa o método GotoBookMark é o de origem, ou seja, o que está ligado ao DBGrid de origem. Se não conseguir implementar (eu acho que conseguirá), poste o nome dos datasets e colunas necessários para um exemplo decente. ;) Abraços -
(Resolvido) Ajuda com a função update + replace
pergunta respondeu ao fatherofpain de Micheus em MySQL
fatherofpain, eu sugeriria a você que trocasse as "(aspas duplas), na URL, por '(aspas simples) ou mesmo pelo texto ": update cgd_post set post = replace(post, "<a href='http://www.uol.com.br'>site</a>", "site"); Isto não deverá interferir na sua utilização em arquivos HTML, conforme você pode verificar em "HTML 4.01 Specification", especificamente no item 3.2.2 Attributes - eles são intercambiáveis: "By default, SGML requires that all attribute values be delimited using either double quotation marks (ASCII decimal 34) or single quotation marks (ASCII decimal 39). Single quote marks can be included within the attribute value when the value is delimited by double quote marks, and vice versa. Authors may also use numeric character references to represent double quotes (") and single quotes ('). For double quotes authors can also use the character entity reference "." (ref. W3C) Abraços -
MLeandroJr, parece que você acabou alertando eles. Fui conferir e não aparece mais a sugestão. Gostei da brincadeira, até eu apareço na lista (que droga...) - trazendo links para o forum nas costas ;) (ou seria o contrário :blink:)
-
Wibson, você não poderia baixar o SQL Server Express Edition? É uma versão free, justamente para estudo (tem algumas limitações) - veja aqui: http://www.microsoft.com/sql/editions/express/default.mspx e se precisar, veja este artigo: Instalando e Configurando o SQL Server 2005 Express