Ir para conteúdo
Fórum Script Brasil

Jhonas

Monitores
  • Total de itens

    9.657
  • Registro em

Tudo que Jhonas postou

  1. exemplo: procedure TForm1.Button1Click(Sender: TObject); var Arquivo : TextFile; begin AssignFile(arquivo, 'C:\teste.txt'); Append(arquivo); // adicionar nova linha WriteLn(arquivo, 'adicionando linha.'); CloseFile(arquivo); end; abraço
  2. unitcadpessoas.pas(197,37) Erro: Tipo incompatível para arg nº. 2: Got " não tipado ", esperado " <procedimento tipo variável de procedure(TObject) de object;Register>" unitmain.pas(184,20) Sugestão: Ache declaração: TfrmMain.SetBtnEvent(Byte,TNotifyEvent); tem um exemplo nesse link de como é montada a função setBtnEvents(btn:MovieClip) ... veja se te ajuda http://forum.imasters.com.br/topic/407885-...acao-flash-xml/ abraço
  3. veja esse comando: for i := k to Memo1.Lines.Count-1 do não é a variavel i do for que irá variar e sim o k ... por isso a necessidade de incrementar o valor de k para poder pegar o valor da linha corrente do memo s := Memo1.Lines.Strings[k]; se o valor do memo for: o código abaixo vai separar nos edits os valores unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Button1: TButton; Edit7: TEdit; Edit8: TEdit; Edit9: TEdit; Edit10: TEdit; Edit11: TEdit; Edit12: TEdit; Edit13: TEdit; Edit14: TEdit; Edit15: TEdit; Edit16: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; valores : array[1..10] of string; palavras : array[1..10] of string; banco : string; s : string; t : string; const d : array[0..5] of string = ('qualquercoisa', 'descriçãoaqui', 'outrainformação', 'maisuma', 'todasdiferente', 'valor1valor2valor3'); // aqui tentei listar as possiveis descrições de crédito implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i, j, X , n, k : integer; begin x := 0; k := 0; for i := k to Memo1.Lines.Count-1 do begin s := Memo1.Lines.Strings[k]; IF Pos('BancoCódigo', S) > 0 THEN begin edit1.text := 'BancoCódigo'; banco := copy(Memo1.Lines.Strings[k+1],1,11); // Pegar o Banco já que ele esta em uma mesma linha sempre. edit2.text := banco; inc(k); inc(k); continue; end; for j := 0 to 5 do // valores de d begin IF Pos(d[j], S) > 0 THEN begin x := x + 1; palavras[x] := copy(s,1,Pos(d[j], S)+length(d[j])-1); // pega a palavra encontrada delete(S,1,Pos(d[j], S)+length(d[j])-1); valores[x] := s; //continue; end; end; case x of 1 : begin edit3.text := palavras[x]; edit4.text := valores[x] end; 2 : begin edit5.text := palavras[x]; edit6.text := valores[x] end; 3 : begin edit7.text := palavras[x]; edit8.text := valores[x] end; 4 : begin edit9.text := palavras[x]; edit10.text := valores[x] end; 5 : begin edit11.text := palavras[x]; edit12.text := valores[x] end; end; if x >= 5 then begin while Pos(',', S) > 0 do begin x := x + 1; valores[x] := copy(s,1,Pos(',', S)+2); // SEPARAR OS VALORES S[Pos(',', S)] := '#'; delete(S,1,Pos('#', S)+2); case x of 6 : edit13.text := valores[x]; 7 : edit14.text := valores[x]; 8 : edit15.text := valores[x]; end; end; end; inc(k); end; end; end. OBS: Tudo depende de como vai estar o conteudo do memo abraço
  4. Eu quis dizer pelo Delphi, se existe alguma função ou componente do Delphi que me de esta informação, se o sistema é 64 bits ou 32 bits? unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function IsWindows64: Boolean; type TIsWow64Process = function(AHandle:THandle; var AIsWow64: BOOL): BOOL; stdcall; var vKernel32Handle: DWORD; vIsWow64Process: TIsWow64Process; vIsWow64: BOOL; begin Result := False; vKernel32Handle := LoadLibrary('kernel32.dll'); if (vKernel32Handle = 0) then Exit; try @vIsWow64Process := GetProcAddress(vKernel32Handle, 'IsWow64Process'); if not Assigned(vIsWow64Process) then Exit; vIsWow64 := False; if (vIsWow64Process(GetCurrentProcess, vIsWow64)) then Result := vIsWow64; finally FreeLibrary(vKernel32Handle); end; end; procedure TForm1.Button1Click(Sender: TObject); begin if IsWindows64 = true then showmessage('O sistema windows é 64 Bits') else showmessage('O sistema windows é 32 Bits') end; end. abraço
  5. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function IsWindows64: Boolean; type TIsWow64Process = function(AHandle:THandle; var AIsWow64: BOOL): BOOL; stdcall; var vKernel32Handle: DWORD; vIsWow64Process: TIsWow64Process; vIsWow64: BOOL; begin Result := False; vKernel32Handle := LoadLibrary('kernel32.dll'); if (vKernel32Handle = 0) then Exit; try @vIsWow64Process := GetProcAddress(vKernel32Handle, 'IsWow64Process'); if not Assigned(vIsWow64Process) then Exit; vIsWow64 := False; if (vIsWow64Process(GetCurrentProcess, vIsWow64)) then Result := vIsWow64; finally FreeLibrary(vKernel32Handle); end; end; procedure TForm1.Button1Click(Sender: TObject); begin if IsWindows64 = true then showmessage('O sistema windows é 64 Bits') else showmessage('O sistema windows é 32 Bits') end; end.
  6. exemplo: http://www.planetadelphi.com.br/dica/7163/...lquer-cadastro- abraço
  7. unitcadpessoas.pas(197,37) Error: Wrong number of parameters specified for call to "pesAddClick" Número errado de parâmetros especificado para chamada a " pesAddClick " OBS: pode ser que tambem não tenha a necessidade de passar nenhum parametro abraço
  8. Não vou te dar tudo mastigado, mas voce pode comparar o seu código com este e ver o que estava fazendo de errado unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Button1: TButton; Edit7: TEdit; Edit8: TEdit; Edit9: TEdit; Edit10: TEdit; Edit11: TEdit; Edit12: TEdit; Edit13: TEdit; Edit14: TEdit; Edit15: TEdit; Edit16: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; valores : array[1..10] of string; palavras : array[1..10] of string; banco : string; s : string; t : string; const d : array[0..5] of string = ('qualquercoisa', 'descriçãoaqui', 'outrainformação', 'maisuma', 'todasdiferente', 'valor1valor2valor3'); // aqui tentei listar as possiveis descrições de crédito implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i, j, X , n, k : integer; begin x := 0; k := 0; for i := k to Memo1.Lines.Count-1 do begin s := Memo1.Lines.Strings[k]; IF Pos('BancoCódigo', S) > 0 THEN begin edit1.text := 'BancoCódigo'; banco := copy(Memo1.Lines.Strings[k+1],1,11); // Pegar o Banco já que ele esta em uma mesma linha sempre. edit2.text := banco; inc(k); inc(k); continue; end; for j := 0 to 5 do // valores de d begin IF Pos(d[j], S) > 0 THEN begin x := x + 1; palavras[x] := copy(s,1,Pos(d[j], S)+length(d[j])-1); // pega a palavra encontrada delete(S,1,Pos(d[j], S)+length(d[j])-1); valores[x] := s; continue; end; end; case x of 1 : begin edit3.text := palavras[x]; edit4.text := valores[x] end; 2 : begin edit5.text := palavras[x]; edit6.text := valores[x] end; 3 : begin edit7.text := palavras[x]; edit8.text := valores[x] end; 4 : begin edit9.text := palavras[x]; edit10.text := valores[x] end; 5 : begin edit11.text := palavras[x]; edit12.text := valores[x] end; end; inc(k); end; end; end. abraço
  9. como eu disse é uma variação do código que voce vai usar ... se os valores do memo forem descriçãoaqui2.000,00 descrição2aqui2.200,00 descrição3aqui2.000,00 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; valores : array[1..10] of string; palavras : array[1..10] of string; s : string; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i, X , n : integer; begin x := 0; for i := 0 to Memo1.Lines.Count-1 do begin s := Memo1.Lines.Strings[i]; IF Pos(',', S) > 0 THEN BEGIN x := x + 1; palavras[x] := copy(s,1,Pos('aqui', S)+3); delete(S,1,Pos('aqui', S)+3); valores[x] := copy(s,1,Pos(',', S)+2); // SEPARAR OS VALORES case x of 1 : begin edit1.text := palavras[x]; edit2.text := valores[x] end; 2 : begin edit3.text := palavras[x]; edit4.text := valores[x] end; 3 : begin edit5.text := palavras[x]; edit6.text := valores[x] end; end; END; end; end; end. o resultado seria voce tem que tentar fazer sozinho agora .. ok ? abraço
  10. esse é um erro especifico da instrução select ... Simbolo desconhecido - linha 1, caracter 13 ( enter ) encontrado antes do 1 ... deveria ser espaço obs: apague a instrução e digite-a novamente abraço
  11. Vamos lá... SELECT * FROM atestado WHERE EMPRESA LIKE '%COM_RCIO%' voce pode usar o caracter coringa '_' na letra da palavra que tem o acento, dessa maneira o select traz todas as palavras acentuadas ou não SELECT * FROM CADEMPRESA WHERE EMPRESA LIKE '%COMERCIO%' OR EMPRESA LIKE '%COMÉRCIO%' neste select voce coloca implicitamente a pesquisa com a palavra sem acento e acentuada Nome varchar(50) CHARACTER SET WIN1252 COLLATE PXW_INTL850 desta forma o collate serve como auxílio de ordenação também dos valores com acento, onde essa definição é feita dentro da tabela IBQ.SQL.Add('where Upper(COL_CIDADE COLLATE PXW_INTL850) like "%' + edLocalizar.Text + '%"'); nesse caso acima, independentemente do CHARACTER SET WIN1252 estar definido na tabela voce pode mudar o COLLATE em tempo de execução pode abraço
  12. http://windows.microsoft.com/pt-BR/windows...asked-questions http://www.clubedainformatica.com.br/site/...-32-ou-64-bits/ http://www.aprendaefaca.net/2010/02/window...frequentes.html abraço
  13. esse comando funciona no Firebird 1.5 SELECT FIRST 10 * FROM DOCUMENT ORDER BY STRLEN(DESCRIPTION) DESC leia a apostila para saber mais http://www.firebirdsql.org/rlsnotes/pt-br/...s-Brazilian.pdf abraço
  14. Olhe na pasta Demos do Delphi ... tem um exemplo de uso do TeeChart abraço
  15. Exemplo: SELECT * FROM atestado WHERE EMPRESA LIKE '%COM_RCIO%' SELECT * FROM CADEMPRESA WHERE EMPRESA LIKE '%COMERCIO%' OR EMPRESA LIKE '%COMÉRCIO%' Serve para procurar todas as palavras que contenham COMÉRCIO OU COMERCIO ou seja palavras acentuas ou não Nome varchar(50) CHARACTER SET WIN1252 COLLATE PXW_INTL850, desta forma o collate serve como auxílio de ordenação também dos valores com acento. IBQ.SQL.Add('select * from TB_NOME'); IBQ.SQL.Add('where Upper(COL_CIDADE collate win_ptbr) like "%' + edLocalizar.Text + '%"'); IBQ.SQL.Add('where Upper(COL_CIDADE COLLATE PXW_INTL850) like "%' + edLocalizar.Text + '%"'); no banco de dados você tem que colocar o charset WIN1252 e o collate win_ptbr Collate Win_PTBR e PT_BR - Firebird O collate Win_PTBR (Character Set Win1252) tem as seguintes características: - não diferencia letras maiúsculas de minúsculas e nem acentuadas de não acentuadas nas operações de procura/comparação e ordenação. - pode ser criado um índice com campo de até 250 caracteres (os demais collates só aceitam 83) O collate PT_BR (Character Set ISO8859-1) tem as seguintes características: - não diferencia letras maiúsculas de minúsculas e nem acentuadas de não acentuadas nas operações de procura/comparação e ordenação. - pode ser criado um índice com campo de até 250 caracteres (os demais collates só aceitam 83) á é í ó ú ã ç abraço
  16. o codigo que te passei funciona sim ... copie como esta e faça o teste abraço
  17. clique com o botão direito no form, e escolha a opção Tab Order... ele vai mostrar a sequencia que o foco vai percorrer os componentes ... voce pode alterar a sequencia mudando os componentes da lista de posição abraço
  18. veja nesse link ... esta explicando para o interbase, mas é a mesma coisa para o Firebird http://www.devmedia.com.br/forum/viewtopic.asp?id=324317 abraço
  19. exemplo para pegar os valores 2.000,00242,622.581,48 imagine que tenha somente essa linha no memo unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; Edit1: TEdit; procedure Button1Click(Sender: TObject); procedure FormActivate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; valores : array[1..10] of string; s : string; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i, X , n : integer; begin x := 0; IF Pos(',', S) > 0 THEN BEGIN x := x + 1; valores[x] := copy(s,1,Pos(',', S)+2); // SEPARAR OS VALORES S[Pos(',', S)] := '#'; delete(S,1,Pos('#', S)+2); n := Length(trim(valores[x])); Edit1.Text := trim(valores[x]); END end; procedure TForm1.FormActivate(Sender: TObject); begin S := memo1.Lines.Text; end; end. o resultado a cada clik do botão no Edit1 seria 2.000,00 242,62 2.581,48 para os outros valores segue-se a mesma idéia abraço
  20. o que voce esta querendo, somente se voce criar o seu proprio componente derivado do stringgrid por isso passei a apostila ... lá ensina como modificar as propriedades do componente OBS: se voce estiver usando skin o stringgrid vai ficar com a cor padrão voce pode procurar por um componente com essa propriedade http://www.torry.net/pages.php?s=73 abraço
  21. veja a partir do capitulo 6 dessa apostila http://www.matorres.com.br/portal/index.ph...s&Itemid=54 abraço
  22. a idéia é a mesma ... faça modificações no código .... vai ser mais trabalhoso porque não é um texto padrão ou tabulado, mas é possivel pense em como separar o que voce precisa, usando apenas uma linha do memo de cada vez abraço
  23. isso varia em função do tamanho do texto .... tem que ficar trocando os valores até chegar o mais proximo do que voce precisa abraço
  24. exemplo: procedure TForm1.Button1Click(Sender: TObject); var url : string; begin url := InputBox ('Seleção de URL' , 'Digite o endereço de uma URL', ''); showmessage(url); WindowsMediaPlayer1.URL:= url; end; abraço
×
×
  • Criar Novo...