M@RcOs pS09
-
Total de itens
39 -
Registro em
-
Última visita
Posts postados por M@RcOs pS09
-
-
LuanMesquita,
1°) Correto.
2º) Correto.
Olha só: Ao contrário do pascal, o return funciona como um término de uma função! Quando um return é invocado, o cursor volta para o local que foi chamado (desempilha).
Por exemplos.: Para ficar mais prático, coloque um alert antes do return true, veja:
... return false; } alert("Chegou aqui!"); return true; ...
Você vai notar que quando o return false for invocado (quando um e-mail é inválido), a mensagem não será exibida, o que significa que a função terminou antes dela: no return false! Outro exemplo:function teste(exibir) { if (!exibir) return; alert("Você optou por exibir!"); }
Na função acima, se você instanciá-la como teste(false), nada acontecerá pois o return foi invocado. Agr, se você instanciá-la como teste(true), uma mensagem será exibida!
Espero ter ajudado.
Att
-
DaniMant,
Corrigi o código!
Att
-
demolish,
100% funcionado
program agenda_de_notas; uses crt; type reg_agenda = record mes:integer; dia:integer; cod:integer; nota:string[10]; end; agenda = array [1..100] of reg_agenda; VAR cod,x:integer; procedure insere(var a:agenda; var ultimo:integer); begin clrscr; writeln('::Inserindo nova nota::'); writeln; ultimo:=ultimo+1; for x := 100 downto 1 do begin if a[x].cod = 0 then cod:=x; end; a[ultimo].cod :=cod; writeln('Digite a data da nota:'); write('Mes: '); readln(a[ultimo].mes); while (a[ultimo].mes < 1) or (a[ultimo].mes > 12) do begin writeln('Mes invalido, digite novamente: '); readln(a[ultimo].mes); end; write('Dia: '); readln(a[ultimo].dia); case a[ultimo].mes of 2: while ((a[ultimo].dia < 1) or (a[ultimo].dia > 29)) do begin writeln('Dia invalido, digite novamente: '); readln(a[ultimo].dia); end; 1,3,5,7,8,10,12: while ((a[ultimo].dia < 1) or (a[ultimo].dia > 31)) do begin writeln('Dia invalido, digite novamente: '); readln(a[ultimo].dia); end; 4,6,9,11: while ((a[ultimo].dia < 1) or (a[ultimo].dia > 30)) do begin writeln('Dia invalido, digite novamente: '); readln(a[ultimo].dia); end; End; write('Digite uma nota: '); readln(a[ultimo].nota); writeln('C¢digo:', a[ultimo].cod); writeln; writeln('Pressione uma tecla para retornar ao menu.'); readkey; end; //------------------------------------------------------------------------------ procedure consulta(a:agenda; ultimo:integer); var m,d:integer; achou:boolean; cont:integer; begin clrscr; writeln('::Consultar uma nota::'); writeln; write('Entre com o mes: '); readln(m); write('Entre com o dia: '); readln(d); achou:=false; for cont:=1 to ultimo do if (a[cont].mes=m) and (a[cont].dia=d) then begin achou:=true; writeln('Nota agendada: '); writeln(a[cont].nota); writeln('Data: ',a[cont].dia,'/',a[cont].mes); writeln('C¢digo: ',a[cont].cod); end; if not achou then writeln('Nenhuma nota foi encontrada para essa data.'); writeln; writeln('Pressione uma tecla para retornar ao menu.'); readkey; end; //------------------------------------------------------------------------------ procedure change(var a:agenda; var ultimo:integer); var cod2,cont:integer; begin clrscr; Write('Informe o c¢digo: '); readln(cod2); for cont := 1 to ultimo do if (cod2 = a[cont].cod) then begin writeln('::Alterar uma nota::'); write('Nota [', a[cont].nota, ']: '); write('Digite nova nota: '); readln(a[cont].nota); writeln('Data: '); write('Dia [', a[cont].dia,']: '); write('Digite o novo dia: '); readln(a[cont].dia); write('Mˆs [',a[cont].mes,']: '); write('Digite o novo mes: '); readln(a[cont].mes); Readkey; End; end; //------------------------------------------------------------------------------ procedure listar(var a:agenda; var ultimo:integer); var cont:integer; begin clrscr; writeln('::Lista de Notas::'); writeln; for cont :=1 to ultimo do begin if a[cont].cod <> 0 then begin writeln('###'); writeln('Codigo: ',a[cont].cod); writeln('Nota: ',a[cont].nota); writeln('Data: ',a[cont].dia,'/',a[cont].mes); writeln('###'); end; end; Readkey; end; //------------------------------------------------------------------------------ procedure ordenar(var a:agenda; var ultimo:integer); var cont,j,mes1,dia1,cod1: integer; nota1:string; begin //Ordenar Meses; for cont := ultimo downto 2 do for j := 1 to cont-1 do if a[j].mes > a[j+1].mes then begin mes1 := a[j].mes; a[j].mes := a[j+1].mes; a[j+1].mes := mes1; dia1 := a[j].dia; a[j].dia := a[j+1].dia; a[j+1].dia := dia1; cod1 := a[j].cod; a[j].cod := a[j+1].cod; a[j+1].cod := cod1; nota1 := a[j].nota; a[j].nota := a[j+1].nota; a[j+1].nota := nota1; end; begin //Ordenar Dias; for cont := ultimo downto 2 do for j := 1 to cont-1 do if a[j].mes = a[j+1].mes then if a[j].dia > a[j+1].dia then begin mes1 := a[j].mes; a[j].mes := a[j+1].mes; a[j+1].mes := mes1; dia1 := a[j].dia; a[j].dia := a[j+1].dia; a[j+1].dia := dia1; cod1 := a[j].cod; a[j].cod := a[j+1].cod; a[j+1].cod := cod1; nota1 := a[j].nota; a[j].nota := a[j+1].nota; a[j+1].nota := nota1; end; end; writeln('Ordenado com sucesso.'); Readkey; end; //------------------------------------------------------------------------------ procedure del(var a:agenda; var ultimo:integer); var apagar:integer; begin clrscr; writeln('::Excluir uma nota::'); writeln; write('Digite o codigo da nota a ser excluida: '); readln(apagar); for x:=1 to ultimo do begin if apagar = a[x].cod then begin a[x].cod:=0; writeln('Nota removida.'); Readkey; end; end; end; //------------------------------------------------------------------------------ function le_opcao:integer; var opcao:integer; begin clrscr; writeln('Agenda de Notas'); writeln; writeln('::::::::::Menu::::::::::'); writeln('1. Inserir uma nova nota'); writeln('2. Consultar uma nota'); writeln('3. Alterar nota'); writeln('4. Listar notas'); writeln('5. Ordenar notas'); writeln('6. Excluir nota'); writeln('7. Sair do programa'); writeln; writeln('Escolha uma opcao valida: ' ); readln(opcao); le_opcao:=opcao; end; function FileExists(FileName: string): Boolean; var F: file; begin {$I-} Assign(F, FileName); FileMode := 0; Reset(F); Close(F); {$I+} FileExists := (IOResult = 0) and (FileName <> ''); end; { FileExists } function carregar(Arq: string;var agenda: array of reg_agenda): integer; var arquivo: file of reg_agenda; aux: reg_agenda; i: integer; begin assign(arquivo, Arq); if (FileExists(Arq)) then reset(arquivo) else rewrite(arquivo); i := 0; while (not eof(arquivo)) do begin read(arquivo,aux); agenda[i] := aux; i := i +1; end; carregar := i; close(arquivo); end; procedure salvar(Arq: string; agenda: array of reg_agenda); var arquivo: file of reg_agenda; aux: reg_agenda; i: integer; begin assign(arquivo, Arq); rewrite(arquivo); for i:=0 to 99 do begin aux := agenda[i]; write(arquivo,aux); end; close(arquivo); end; var vetor:agenda; quantidade:integer; op:integer; sair:boolean; begin sair:=false; quantidade := carregar('teste.dat',vetor); repeat op:=le_opcao; if op=1 then insere(vetor,quantidade); if op=2 then consulta(vetor,quantidade); if op=3 then change(vetor,quantidade); if op=4 then listar(vetor,quantidade); if op=5 then ordenar(vetor,quantidade); if op=6 then del(vetor,quantidade); if op>=7 then sair:=true; until sair; salvar('teste.dat',vetor); readln; end.
Att
-
IkeBoy,
O post do Alberto Mota está correto! Like é insensitive por padrão.
Usando a mesma idéia do Alberto Mota (que por sinal está correta), faça esta outra idéia:
QueryAssociados.Close; QueryAssociados.SQL.clear; QueryAssociados.SQL.Add('SELECT * from TblAssociados where nomeassociado like LOWER(:nome) order by nomeassociado'); QueryAssociados.Parameters.ParamByName('nome').Value := '%' + AnsiLowerCase(Edit1.text) + '%'; QueryAssociados.Open;
Pré-Requisito: SysUtils;
Att
-
DaniMat,
Código corrigido:
//... // Sua conexão com banco de dados aqui //... $login = $_POST['login']; //Supondo method=post do form //Seleciona um campoLogin da tabela usuario na qual o login seja igual a informada $sql = "SELECT campoLogin FROM usuario WHERE campoLogin = '$login' LIMIT 1"; //Executa o sql e colhe o resultado para $res $res = mysql_query($sql); //Se ao pegar a linha de dados atual for nulo, então login não existe ,senaum já existe if ($dados = mysql_fetch_assoc($res)) { //O Login já existe echo "<p style='color:red'> Esse login já está cadastrado. Por favor, informe outro!</p>"; }else{ //O Login não existe $sql = "INSERT INTO usuario (campoLogin) VALUES ('$login')"; //Executa o sql inserindo o login em usuario if (mysql_query($sql)) { echo "<p style='color:blue'> Login cadastrado com êxito!</p>"; }else{ echo "<p style='color:red'> Um erro ocorreu ao tentar cadastra o login!</p>"; } }
Att
-
Unknown,
Dê uma olhada no tópico abaixo:
http://scriptbrasil.com.br/forum/index.php?showtopic=151963
Att
-
demolish,
Corrigi o erro, estava faltando um "do".
Olha só, quando o arquivo não existir ele simplesmente não carrega. Porém, quando for salvar, se o arquivo não existir ele o cria. Daí não precisa de uma função para criar.
Att
-
MTavares,
Use jQuery e jQuery-UI que você consegue tirar grandes efeitos com pequenos códigos!
Para saber mais a respeito e ver demos, entre no site:
Pré-requisito de conhecimento: um pouco de css (seletores);
Para o seu caso, basta apenas deixar uma div com style='display:none'; Quando o usuário passar o mouse em cima (onMouseOver) você exibe a div,
pelo jquery $("#idDaDiv").show(), caso contrário, use document.getElementById("idDaDiv").style.display=""; Quando o usário tirar o mous (onmouseout)
basta apenas fazero caminho contrário (hide() pro jquery). O texto da div fica a seu critério e pode ser mudado por
elemento.innerHtml ou pelo jquery como $("#IdDaDiv").html("codigo html").
Att
-
LuanMesquita,
Questão 1:
a parte1 guarda a posição do primeiro @ na string;
a parte2 guarda a posição do primeiro . na string;
a parte3 guarda o tamanho da string;
if(!(parte1 >= 2 && parte2 >= 6 && parte3 >= 9)){Olha só: se a primeira ocorrêcia de arroba estiver numa posição maior ou igual a 3º posicao (começa do 0) e
se a primeira ocorrêcia do . estiver numa posição maior ou igual a 7º posicao e
se o tamanho da string for maior o igual a 9, então:
Meu email está correto! Eu não preciso mostrar mensagem alguma! Daí o negado (!) pelo fato de que se tudo estivesse certo
ele mostraria a mensagem mas, neste caso com o negado, se tudo estiver certo, ele vai para o else que no nosso caso não existe.
Se uma ou mais condições das citadas acimas forem inválidas:
Meu email está incorreto. Entaum (parte1 >= 2 && parte2 >= 6 && parte3 >= 9)
me retorna falso, pois é necessário todas serem verdadeiras. Porém eu não quero usar o else, daí eu nego, pois a condição inversa que me interessa.
Então !(parte1 >= 2 && parte2 >= 6 && parte3 >= 9) me retorna true, mostrando a mensagem!
Questão 2: Irá retornar falso se, e somente se, uma ou mais das condições acimas forem inválidas. Por que?
Pois se uma das condições (parte1 >= 2 && parte2 >= 6 && parte3 >= 9) forem inválidas, então, eu entro no escopo deste if ( {...} ), aí
então será retornado false, ou seja, o form não é submetido. Caso contrário, nada acontece: o form é submetido.
Para exemplificar melhor, se eu não usasse o negado, ficaria assim:
if(parte1 >= 2 && parte2 >= 6 && parte3 >= 9) { //esta parte não me interessa, pois o email está ok! }else{ { alert("O Campo deve conter um endereço eletronico correto!"); document.cadastro.email.focus(); return false; }
Espero ter ajudado.
Att
-
demolish,
Para carregar, utilize a função:
function carregar(Arq: string): boolean; var arquivo: file of reg_agenda; aux: reg_agenda; i: integer; begin try assign(arquivo, Arq); reset(arquivo); result:=true; except result:=false; end; i := 0; while (not eof(arquivo)) do begin read (arquivo,aux); a[i] := aux; i := i +1; end; close(arquivo); end;
Para salvar, utilize a função:function salvar(Arq: string): boolean; var arquivo: file of reg_agenda; aux: reg_agenda; i: integer; begin try assign(arquivo, Arq); rewrite(arquivo); result:=true; except result:=false; end; for i:=0 to 100 do begin aux = a[i]; write(arquivo,aux); end; close(arquivo); end;
Att
-
Cleverson Honório Gouvêa,
Olha só, existe programas bakanas, como Microsoft Visual Studio e wxDev-C++ que por sinal, são muito bons.
Aliás, o wxDev-C++ foi desenvolvido em Delphi 6: Ele tem uma interface bem parecida. Ele é uma expansão do Dev-C++.
Para saber mais do wxDev-C++: http://wxdsgn.sourceforge.net/
Tutorial de wxDev-C++: http://www.arquivodecodigos.net/sistema/ma...igo_tutorial/32
É bem bakana, pois você pode aprender usando o que já tem pronto!
O Code-Blocks também vem com essa opção, no menu wxSmith.
Segue um tutorial de GUI de C++ (puro):
http://eliteinvaders.forumbrasil.net/progr...-gui-c-c-t8.htm
Att
-
postali,
O uso da seguinte função resolve o seu problema:
array explode ( string $delimiter , string $string [, int $limit ] );
O q faz: Ela simplesmente quebra a string em um array na qual o delimitador é informado! Ex:$arr = explode('_','p1_eng');
No caso acima será criado um vetor com duas posições, na qual: $arr[0] = p1; $arr[1] = 'eng'; No caso de ser variável via post (ou get), basta você usar a seguinte idéia:array array_keys ( array $input [, mixed $search_value [, bool $strict = false ]] )
Essa função ela retorna um array contendo as keys do vetor passado! Ex.:$varKeys = array_keys($_POST); foreach ($varkey as $key) { $arr = explode('_',$key); $pergunta = $arr[0]; $area = $arr[1]; $nota = $_POST[$key]; echo "Pergunta = $pergunta; Area = $area; Nota = $nota"; }
Fonte: http://php.net/manual/pt_BR/function.explode.php
http://php.net/manual/en/function.array-keys.php
Att
-
-
DaniMat,
Cola o código:
echo "<p style='color:green'>".mysql_error()."</p>";
abaixo do código:... $sql = "SELECT login FROM cadcliente WHERE login = '$login' LIMIT 1"; $res = mysql_query($sql); ...
E depois posta o que foi impresso em verde!
Aguardando resposta...
Att
-
mestre fyoda,
Duas perguntas:
1) A extensão está em php?
2) Já tentou <? phpinfo(); ?>? Se não, tente e poste o q houve
Se isso não adiantou, dê uma olhada em:
http://linhadecodigo.com.br/cs2/forums/thread/1283.aspx
Att
-
DaniMant,
Um exemplo de conexão:
<?php $link = mysql_connect('localhost', 'usuario', 'senha'); if (!$link) { die('Erro ao conectar! '); } mysql_select_db("NomeDoBancoDeDados",$link); ?>
Att
-
DaniMant,
Uma maneira simples de se fazer é:
Supondo que o campo em html seja login (nome="login" do input text), no arquivo do action (pra onde o form será enviado) você pode utilizar a seguinte idéia:
<?php //... // Sua conexão com banco de dados aqui //... $login = $_POST['login']; //Supondo method=post do form //Seleciona um campoLogin da tabela usuario na qual o login seja igual a informada $sql = "SELECT campoLogin FROM usuario WHERE campoLogin = '$login' LIMIT 1"; //Executa o sql e colhe o resultado para $res $res = mysql_query($sql); //Se ao pegar a linha de dados atual for nulo, então login não existe ,senaum já existe if ($dados = mysql_fetch_assoc("$res")) { //O Login já existe echo "<p style='color:red'> Esse login já está cadastrado. Por favor, informe outro!</p>"; }else{ //O Login não existe $sql = "INSERT INTO usuario (campoLogin) VALUES ('$login')"; //Executa o sql inserindo o login em usuario if (mysql_query($sql)) { echo "<p style='color:blue'> Login cadastrado com êxito!</p>"; }else{ echo "<p style='color:red'> Um erro ocorreu ao tentar cadastra o login!</p>"; } } ?>
Att
-
KiiroGAZEROCK,
Pode ser feita de no mínimo duas formas, que são:
1) Substitua o código seu input conforme abaixo, ou seja aonde era:
... <input type="password" name="id" id="id" /> ...
Substitua por:<?php $valorInicial = 0; $valorFinal = 10000; //Irá gerar um valor randômico de $valorInicial até $valorFinal, incluindo-os $valorRand = rand($valorInicial ,$valorFinal); //Se você não quiser que o usuário veja, comente a próxima linha: echo $valorRand; echo "<input type='hidden' name='id' id='id' value='$valorRand'/>"; ?>
2) Caso você não queira mostrar ao usuário o número aleatório, mude apenas o código seguinte da página Cadastra.php:... $id = $_POST['id']; ...
Para:$valorInicial = 0; $valorFinal = 10000; //Irá gerar um valor randômico de $valorInicial até $valorFinal, incluindo-os $valorRand = rand($valorInicial ,$valorFinal); $id = $valorRand;
Att
-
oblinez,
Só uma coisa: Esta dúvida é na seção Web/JavaScript.
Coloque o seguinte código antes do form:
<script type="text/javascript"> function CalcularROPs(e) { var a = document.getElementById("rops"), b = e.value, res = b*1000; a.value = isNaN(res)?"1000":res; } </script>
Se foi útil, responda para o tópico ser definido como resolvido!
Att
-
Leon Carreras,
Existe duas formas que eu executei em casa e funcionou:
1) Ao invés de você abrir direto do download, você faz o download primeiro depois usa o abrir do calc no menu Ficheiro;
2) Salvar-lo como .xlsx
Se eu encontrar algo melhor, posto aqui
Att
-
Leon Carreras,
Só uma coisa: O Calc importa table em html.
Se isso não resolve, então:
Tem como você postar um pequeno exemplo do seguinte:
1) Código gerado no php ao fazer o download;
2) Visualização pelo Excel;
3) Visualização pelo Calc;
Daí eu ver o que consigo fazer
-
griloleo11,
Tente o seguinte código:
function xml2array($source,$arr){ $xml = simplexml_load_string($source); $iter = 0; foreach($xml->children() as $b){ $a = $b->getName(); if(!$b->children()){ $arr[$a] = trim($b[0]); } else{ $arr[$a][$iter] = array(); $arr[$a][$iter] = xml2Array($b,$arr[$a][$iter]); } $iter++; } return $arr; }
Exemplo de uso:$xml = ""; //contém o xml $myArray = array(); $myArray = xml2Array($xml, $myArray);
Att
-
Leon Carreras,
Por que não usa .csv? Funciona em Excel, Calc,...
Daí você utiliza fputcsv para escrever no arquivo.
Att
-
Helio,
1) Sua página tem que ter a extensão php
2) O código ficaria assim:
<tr> <td width="200" bgcolor="#FFFFFF"><h4>Número de visitas: <?php echo contador();?></h4> </td> </tr>
Att
Dúvida sobre !, &&, return
em Ajax, JavaScript, XML, DOM
Postado
LuanMesquita,
Não, pelo fato de a condição ser verdadeira, então o return será executado, o que levá ao fim da função!
Att