• Caro Visitante, por que não gastar alguns segundos e criar uma Conta no Fórum Valinor? Desta forma, além de não ver este aviso novamente, poderá participar de nossa comunidade, inserir suas opiniões e sugestões, fazendo parte deste que é um maiores Fóruns de Discussão do Brasil! Aproveite e cadastre-se já!

Duvidas de linguagens de programação

Kementari

É só marca do fogão!
Eh legal um topico pras pessoas postarem algumas duvidas sobre linguagens, ou qlqer coisa.
Minha duvida: Tem como se colocar um comando em JS num hipertexto?
 
Hum, desculpa Kementari, mas eu so um leso em JS.

Tenho uma dúvida!
Alguem sabe como atualizar os dados de uma tabela de um DB (acess) em ASP sem usar instrução SQL? "UPDATE XXXX SET ..."
Eh que o burrinho aqui colocou alguns campos do DB com um "?" e as instruções SQL pelo jeito não aceitam isso...
Ajudem-me!
 
Gostei do tópico. 8-)

Tem como se colocar um comando em JS num hipertexto?
Como assim? Well, se for pra chara uma janelinha de alerta dentro do código, é simples. É só escrever, no ponto onde você quiser, algo como:
Código:
<script>alert('aqui!');</script>

Alguem sabe como atualizar os dados de uma tabela de um DB (acess) em ASP sem usar instrução SQL?
Você pode usar ADO. Depois de abrir um recordset com a tabela, basta atribuir novos valores pra os campos
Código:
objRS.Open
objRS("PrimeiroNome")= strPrimeiroNome
objRS("SegundoNome")= strSegundoNome <br>
objRS.Update

:wink:
 
Gildor disse:
Alguem sabe como atualizar os dados de uma tabela de um DB (acess) em ASP sem usar instrução SQL?
Você pode usar ADO. Depois de abrir um recordset com a tabela, basta atribuir novos valores pra os campos
Código:
objRS.Open
objRS("PrimeiroNome")= strPrimeiroNome
objRS("SegundoNome")= strSegundoNome <br>
objRS.Update

:wink:

Engraçado, fiz isso! Abri o recordset normalmente (Select ...From... Where...)
e coloquei todos os campos como vc fez ai (a ex daquele seu "<br>" que eu nao entendi por que diabos apareceu ali!). Mas, nao me lembro do erro direito (to fora de casa, nem da pra fazer de novo), deu isso: "O objeto não aceita tal propriedade". ou algo parecido.
Qdo chegar em casa eu confiro a msg.
 
ESSA EH URGENTE !!!!! Prum trabalho pra quarta feira:

Como eu contabilizo os ciclos de CPU (de clock) em C???? Como meu professor falar: "Contar os ticks do clock". Como eu faco isso? Em C ou C++ (preferencia ao C).
Por favor respondam!!!



Ps.: Gildor, ainda nao deu pra eu testar o que vc me disse, de qq forma obrigado!
 
ex disse:
Função clock(). Mas você não quer que eu faça a sua lição de casa, quer?

Claro que nao!!! QUal seria a graca???
Soh uma pergunta, qual a biblioteca disso? Tem no "Turbo C++"? (aquele em DOS, da Borland).

o codigo seria mais ou menos assim?
Código:
inicio = clock();

// codigo //

fim = clock();
ciclo = fim - inicio;

Seria assim??
 
BLACK PILOT disse:
Soh uma pergunta, qual a biblioteca disso? Tem no "Turbo C++"? (aquele em DOS, da Borland).

Faz parte da espeficação ANSI e está na bibliteca padrão. Qualquer compilador que se preze segue o padrão ANSI.


BLACK PILOT disse:
o codigo seria mais ou menos assim?
Código:
inicio = clock();

// codigo //

fim = clock();
ciclo = fim - inicio;

Seria assim??

Bem, se eu disser exatamente como faz, eu vou estar fazendo a sua lição de casa. :-) :mrgreen:
 
pelo jeito nao eh assim... hahaha
Tudo bem, a minha licao de casa nao eh diretamente relacionada ao ciclo de clock, mas o help do TC++ deve dar referencia a essa funcao...
 
Intercepta a interrupção do system timer tick, é a INT 1C :twisted:

O que? Não imagina o que é "interceptar", "system timer" ou "INT 1C"... Ah, então usa a função clock() mesmo... :mrgreen:
 
Mentor disse:
Intercepta a interrupção do system timer tick, é a INT 1C :twisted:

O que? Não imagina o que é "interceptar", "system timer" ou "INT 1C"... Ah, então usa a função clock() mesmo... :mrgreen:

tenho a impressao que esse post nao me acrescentou em nada...


Ah, soh uma coisa, essa funcao nao funcionaria mto bem num sistema multiprogramavel neh? Jah que ela nao seria unica na ucp?

--- Editei aqui ---

Olha soh o que eu fiz:
Código:
void main (void)
{
         clock_t inicio, fim;

// codigo nao importante aqui \\
	inicio = clock();
	heap(&vetor);
	fim = clock();
	puts("Vetor ordenado!");
	fim = fim-inicio;
	printf("Ciclos de cpu usados: %d\n",(fim-inicio));

// codigo nao importante aqui \\

}

Soh que nesse printf, ele me imprime zero, jah coloquei no "watch" pra ver qual o valor que as variaveis estao antes da impressao, e elas tem valores diferentes
 
BLACK PILOT disse:
Mentor disse:
Intercepta a interrupção do system timer tick, é a INT 1C :twisted:

O que? Não imagina o que é "interceptar", "system timer" ou "INT 1C"... Ah, então usa a função clock() mesmo... :mrgreen:

tenho a impressao que esse post nao me acrescentou em nada...

Que pena. Não ensinam mais aos programadores de hoje em dia o que está acontecendo sob as chamadas ao sistema, por que se ensinassem, eles já responderiam à questão:

BLACK PILOT disse:
Ah, soh uma coisa, essa funcao nao funcionaria mto bem num sistema multiprogramavel neh? Jah que ela nao seria unica na ucp?

Você quer dizer multitarefa? Continuando... o que ocorre na chamada à essa função, é que ela lê uma variável do sistema que guarda os ticks, independente do que está rodando, já que é uma interrupção (acho que é a INT8) que a atualiza. A contagem não depende de quantos threads estão rodando.
A INT1C é interceptada se quisermos, por exemplo, contar esses ticks, sem precisar chamar a função clock().



BLACK PILOT disse:
Código:
...
	fim = fim-inicio;
	printf("Ciclos de cpu usados: %d\n",(fim-inicio));
...

Soh que nesse printf, ele me imprime zero, jah coloquei no "watch" pra ver qual o valor que as variaveis estao antes da impressao, e elas tem valores diferentes

Talvez o problema seja que você calcula quantos ciclos foram usados na linha fim = fim-inicio, e na chamada ao printf passa como parâmetro (fim-inicio). Dava pra por no printf só:
Código:
printf("Ciclos de cpu usados: %d\n",fim);

Se bem que eu sugiro que você crie outra variável, por exemplo 'Ciclos', para guardar o resultado, pois fica mais fácil pra outra pessoa, como o professor, entender o que está acontecendo. Outra coisa, talvez os Ciclos não sejam um inteiro, mas sim um LONG... Tem que ver a definição de clock_t.

Código:
...
	Ciclos = fim-inicio;
	printf("Ciclos de cpu usados: %d\n",Ciclos);
...

E fica mais fácil para você mesmo, pois daqui a algum tempo já vai esquecer o que tinha feito. Então também lembre de deixar o código todo comentado! :wink:


PS: Vai dar tempo de terminar pra quarta-feira? :o?:
 
Mentor disse:
Que pena. Não ensinam mais aos programadores de hoje em dia o que está acontecendo sob as chamadas ao sistema, por que se ensinassem, eles já responderiam à questão:
Hum ah, eu to no terceiro periodo, que perido eles normalmente ensinam isso??? hehe

Mentor disse:
Você quer dizer multitarefa? Continuando... o que ocorre na chamada à essa função, é que ela lê uma variável do sistema que guarda os ticks, independente do que está rodando, já que é uma interrupção (acho que é a INT8) que a atualiza. A contagem não depende de quantos threads estão rodando.
A INT1C é interceptada se quisermos, por exemplo, contar esses ticks, sem precisar chamar a função clock().
Multitarefa e multiprogramavel sao a mesma coisa nao?
Errr ah, tem como vc me dizer como se faz isso? hehe

Mentor disse:
Talvez o problema seja que você calcula quantos ciclos foram usados na linha fim = fim-inicio, e na chamada ao printf passa como parâmetro (fim-inicio). Dava pra por no printf só:
Código:
printf("Ciclos de cpu usados: %d\n",fim);
PUTZ!!! Desculpa ae, eh que eu mudei o codigo pra passar pra cah, pq eu pensei que eu tinha feito alguma experiencia pra ver se dava certo. Meu printf tah como o seu e continua dando erro...

Mentor disse:
Se bem que eu sugiro que você crie outra variável, por exemplo 'Ciclos', para guardar o resultado, pois fica mais fácil pra outra pessoa, como o professor, entender o que está acontecendo. Outra coisa, talvez os Ciclos não sejam um inteiro, mas sim um LONG... Tem que ver a definição de clock_t.
Eh, isso pode ser, no help, ele passa pro printf que um %f pra imprimir a diferenca entre os dois, achei estranho mas tentei, soh que o compilador da erro, dizendo que o tipo eh incompativel...

Mentor disse:
PS: Vai dar tempo de terminar pra quarta-feira? :o?:

Acho que sim, tipo, a heapsort tah pronta, ta tudo pronto, soh precisa documentar e preparar um grafico relacionando o tamanho da lista a ser ordenada com os ciclos de clock.... Acho que da.
 
Eu dei uma olhada no help do TC, e é o seguinte, os ticks são contados a partir do início do programa. Num programa teste, provavelmente tudo ocorre muito rápido, e não dá tempo de ter muitos ticks. Tente rodar esse exemplo:
Código:
#include <stdio.h>
#include <time.h>
#include <dos.h>
#include <conio.h>

void main(){
	clock_t inicio;
	clock_t fim;
	clock_t Ciclos;

	inicio = clock();
	printf("Aguardando...\n");
	getch();
	fim = clock();

	Ciclos = fim - inicio;
	printf("Ticks por segundo: %f\n",CLK_TCK);
	printf("Inicio: %ld\n",inicio);
	printf("Fim   : %ld\n",fim);
	printf("Ciclos: %ld\n",Ciclos);
	printf("Tempo : %f segundos\n",Ciclos/CLK_TCK);
	getch();
}

Ele começa a contar o tempo ao entrar no programa, e fica aguardando você teclar algo. Então pega os ticks, e calcula... Você pode contar mentalmente o tempo, e ver se bate.
 
to enchando o saco com isso...

Blz, tendi, soh que a minha "inicio" e a minha "fim" tem o mesmo valor no ciclo. Soh que eu reparei (diga se eu to errado) que os valores dessas variaveis estao em ordem de grandeza, certo? Tem como eu pegar o valor real disso?
 
Aí pessoal, tô com um problema com o ASP aqui. A parada basicamente é: eu tenho um código (esse aí abaixo mesmo) mas tá dando um erro:
[Isso é só um exemplo hipotético, vocês vão entender o erro]
Código:
<%
If (hour(time)>2) Then
  Response.Write("Olá")
Elseif (hour(time)<=2) Then
  Response.Write("Alô")
%>

Esse é o erro:
Código:
Erro de compilação do Microsoft VBScript error '800a03f6' 

'End' esperado

[Nome do arquivo, linha do erro]

O erro é sempre na última linha de comando. Descobri que só funciona se eu fizer assim:

Código:
<%If (hour(time)>2) Then Response.Write("Olá")%>
<%If (hour(time)<=2) Then Response.Write("Alô")%>

Ou seja, eu tenho que fechar a tag na mesma linha que eu abri, senão não funciona.

Alguém tem alguma idéia?
 
Balbo Bolseiro disse:
[Isso é só um exemplo hipotético, vocês vão entender o erro]
Código:
<%
If (hour(time)>2) Then
  Response.Write("Olá")
Elseif (hour(time)<=2) Then
  Response.Write("Alô")
%>

Poe no fim o end, assim:

Código:
<%
If (hour(time)>2) Then
  Response.Write("Olá")
Elseif (hour(time)<=2) Then
  Response.Write("Alô")
end if   <----- poe isso.
%>


voce tem que dizer que o seu condicional "If" acabou, e vc faz isso com a "end if"

Depois vc diz se foi...
 

Valinor 2023

Total arrecadado
R$2.434,79
Termina em:
Back
Topo