标签: timer

更有效的Android秒表代码方法?

我是Android应用程序开发的新手,所以我知道我可能会让事情变得太复杂.

下面的代码按预期工作(经过几个小时!!!),但我很好奇我是否正确处理两个线程的实现?就像我说它至少运行,但我不确定是否一切都是必要的.

PS:奖励积分向我展示将厘米转换为h:m:s:c的公式,这样我就不必使用那个可怕的字符串长度解决方案我找到了哈哈![编辑......见下文,我找到了这部分的答案]

package com.test.advancedtimer;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Timer;
import java.util.TimerTask;

public class MainActivity extends AppCompatActivity {
    String time;   //Clock's combined time
    String elapsedTime;    //Stopwatch elapsed time
    int stopwatchHour = 0;
    int stopwatchMin = 0;
    int stopwatchSec = 0;
    int stopwatchCentiSec = 0;
    int elapsedSeconds = 0;
    int elapsedCentiseconds = 0;    //cumulative Centiseconds elapsed since starting countdown

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        updateTime();

    }

    //First timer that …
Run Code Online (Sandbox Code Playgroud)

java android timer stopwatch

0
推荐指数
1
解决办法
1795
查看次数

使用单个Timer更改标签的ForeColor

我可以用一个计时器更改我的ForeColor标签吗?我试过这种方法,但我不知道为什么我的第一个标签变成了红色.这是我的代码:

        private void timer1_Tick_1(object sender, EventArgs e)
    {
        label1.ForeColor = Color.Red;
        if (timer1.Interval == 3499)
        {
            label1.ForeColor = Color.Black;
        }
        if(timer1.Interval == 3500)
        {
            label2.ForeColor = Color.Red;
        }
        if(timer1.Interval == 4199)
        {
            label2.ForeColor = Color.Black;
        }
    }
Run Code Online (Sandbox Code Playgroud)

如何用单个计时器改变我的前景?

.net c# timer winforms

0
推荐指数
1
解决办法
112
查看次数

为什么我的int值在更改时会给我一个错误?

我是C#的新手,我正在尝试了解计时器功能..我制作了一个标签,一个文本框和一个按钮,还添加了一个计时器.

我有一个int设置为1000 = 1秒.

我希望能够在文本框中输入一个值,即5,然后计时器将其用作每个刻度之间的间隔.

由于某种原因,它说"不能隐式转换类型"字符串为int"

我不知道如何将字符串转换为int ..

任何例子?会帮到我这么多!

namespace Clicker
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        int count = 0;
        int interval = 1000;


        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            timer1.Start();
            interval = textBox1.Text;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            count++;
            label1.Text = count.ToString();

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# timer intervals

0
推荐指数
1
解决办法
50
查看次数

使图形在关键事件上移动

当按下"i,j,k,l"键(如箭头键)时,我试图制作一个能够移动的圆,并在释放时停止.尝试创建一个Timer,以便在再次移动之前等待一秒,这样动画就可以了,但是因为我创建了'while(!quit)'循环,所以没有图形移动或显示.你能指出我的错误吗?

码:

import java.awt.*;
import java.awt.Color.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.Timer;
import java.util.TimerTask;


public class Event_test{
    public static void main(String args[])
    {
        boolean quit = false;

        JFrame Window = new JFrame("Event_test");
        MyCanvas WCanvas = new MyCanvas();
        KeyCatcher k = new KeyCatcher();

        WCanvas.addKeyListener(k);


        Window.getContentPane().add(WCanvas);
        Window.setSize(640, 360);
        Window.setVisible(true);
        Window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        new Notification(1);

        while(!quit)
        {
            WCanvas.update(WCanvas.getGraphics());

            if(!Notification.flag)
            {
                continue;
            }
            else
            {
                Notification.flag = false;
                System.out.println("tic");
                /*
                CONTROLS:
                */

                if(KeyCatcher.KEYS[0])
                {
                    MyCanvas.x--;
                }
                if(KeyCatcher.KEYS[1])
                {
                    MyCanvas.y++;
                }
                if(KeyCatcher.KEYS[2])
                {
                    MyCanvas.x++;
                }
                if(KeyCatcher.KEYS[3])
                { …
Run Code Online (Sandbox Code Playgroud)

java graphics swing timer keylistener

0
推荐指数
1
解决办法
39
查看次数

C#创建一个以mm:ss计数的计时器,可以在'x'分钟执行操作

嘿我正在创建一个与另一个交互的程序,我正在尝试设置一个计时器!

我想要一个以mm:ss格式计数的计时器

    int seconds = 0;
    int minutes = 0;
    private void timer1_Tick(object sender, EventArgs e)
    {
        seconds++;
        lblView.Text = seconds.ToString();

    }
Run Code Online (Sandbox Code Playgroud)

现在,我正处于一个标签在几秒钟内上升的阶段,但我想要它显示分钟和秒.我查了一下,我读了一些关于TimeSpan的信息,请访问https://msdn.microsoft.com/en-us/library/ee372287(v=vs.110).aspx

我遇到过这种方法:

public static double ConvertSecondsToMinutes(double seconds)
    {
        return TimeSpan.FromSeconds(seconds).TotalMinutes;
    }
Run Code Online (Sandbox Code Playgroud)

但不知道如何将其实现到我的代码中.我正在寻找正确的方法来做到这一点.谢谢

c# timer

0
推荐指数
1
解决办法
872
查看次数

将秒和纳秒转换为微秒的最快(最佳时间)方式

我想在C中编写函数,需要几秒和几纳秒作为输入.将秒和纳秒转换为微秒,以微秒为单位返回总数.

unsigned long long get_microseconds(int seconds, unsigned long long nSeconds);
Run Code Online (Sandbox Code Playgroud)

现在转换非常简单.我可以使用以下公式 -

mSeconds =秒*1000000 + nSeconds/1000(纳秒转换精度损失不错,我的计时器无论如何最小分辨率为100微秒)

如果不使用乘法和除法运算符来获得最佳精度和最小数量的cpu周期,那么实现此等式的最快方法是什么.

编辑:我正在使用基于GNU但定制设计的工具链的自定义DSP上运行.我还没有真正测试过算术运算的性能,我只是想知道它是否会影响性能,是否有办法改进它.

c timer

0
推荐指数
1
解决办法
131
查看次数

C#Timer Interval不起作用

正如标题中所写,Timer Interval中的某些内容似乎已关闭.计时器应该从"DateTimePicker"获取时间,将其转换为秒并将Interval更改为DateTimePicker上设置的时间.之后它应该在推特上发布推文,虽然它不起作用.它只是一遍又一遍地发送垃圾邮件.

            private void IntervalChoose_ValueChanged(object sender, EventArgs e) //DateTimePicker
    {
        postInterval.Interval = (IntervalChoose.Value.Hour * 3600) + (IntervalChoose.Value.Minute * 60) + IntervalChoose.Value.Second;
        saveTimerInterval = postInterval.Interval; //saveTimerInterval is set 0 at the beginning
        MessageBox.Show("Current Interval in Seconds: " + postInterval.Interval.ToString());
    }

    private void button1_Click(object sender, EventArgs e)
    {
        if (button1.Text == "Start Bot") //Starts program (works)
        {
            IntervalChoose.Enabled = false;
            MessageBox.Show(saveTimerInterval.ToString());
            postInterval.Interval = saveTimerInterval; //Sets the interval (once again, safecall)
            postInterval.Start(); //starts posting.
            button1.Text = "Stop Bot";
        }
    private void postInterval_Tick(object sender, …
Run Code Online (Sandbox Code Playgroud)

c# timer tweetsharp

0
推荐指数
1
解决办法
1006
查看次数

禁用和启用计时器会导致第二个实例?

我在窗体上有一个启动和停止按钮,用于启动和停止重复的SQL查询,该查询将数据发送到pubnub通道.当我启动表单并单击开始时,我看到了我对订阅客户端的期望.但是,如果我单击停止然后再次启动,我现在会获得重复数据.第三次给我三份数据,等等.是什么导致了这个?以下是启动和停止方法:

private void btnQuery1Start_Click(object sender, EventArgs e)
{

    lblQuery1Status.Text = "Status: Running";
    btnQuery1Start.Enabled = false;
    txtQuery1Interval.Enabled = false;
    btnQuery1Stop.Enabled = true;
    query1Timer.Elapsed += new ElapsedEventHandler(doQuery1);
    query1Timer.Interval = Convert.ToInt32(txtQuery1Interval.Text) * 1000;
    query1Timer.Enabled = true;

}
private void btnQuery1Stop_Click(object sender, EventArgs e)
{
    btnQuery1Start.Enabled = true;
    btnQuery1Stop.Enabled = false;
    txtQuery1Interval.Enabled = true;
    query1Timer.Enabled = false;
    lblQuery1Status.Text = "Status: Stopped";
}
Run Code Online (Sandbox Code Playgroud)

我可以发布,doQuery1如果有必要,但它使用OdbcConnection和数据读取器获得单个整数结果然后它序列化Newtonsoft.Json并使用它发送Pubnub.publish().我希望尽管这是显而易见的,我只是在btnQuery1Start_Click()上面的方法中遗漏了.

c# timer

0
推荐指数
1
解决办法
110
查看次数

C#定时器停止

对于测试我设置了一个简单计算int每秒的类:

class TestComp1
{
    public TestComp1()
    {
        var timer = new Timer(o => TestInt++,null,0,1000);
    }

    [ViewableProperty]
    public int TestInt { get; set; } = 0;
}
Run Code Online (Sandbox Code Playgroud)

问题是这Timer似乎在大约一分钟后停止工作.
如果我重写它使用一个Thread而不是它继续工作.所以它似乎真的是停止的计时器.

有没有人知道为什么会这样?

c# timer

0
推荐指数
1
解决办法
58
查看次数

为什么局部变量在timer_click事件中变空?

当我以编程方式调用Timer1_Tick(null,null)事件消息变空时?如何解决此问题OnMessageReceieve在事件触发时调用.

string message = string.Empty;
public void OnMessageReceieve(string message)
{
   //  I have a message in message variable
   txtMessage.Text += message;
   Timer1.Enabled = true;
   Timer1_Tick(null, null);
   // UpdatePanel1.Update();                  
}

protected void Timer1_Tick(object sender, EventArgs e)
{
   //message variable gets empty here?
   if (!string.IsNullOrEmpty(message))
   {
      txtMessage.Text += message;
   }                
}
Run Code Online (Sandbox Code Playgroud)

c# webforms timer

0
推荐指数
1
解决办法
61
查看次数

标签 统计

timer ×10

c# ×7

java ×2

.net ×1

android ×1

c ×1

graphics ×1

intervals ×1

keylistener ×1

stopwatch ×1

swing ×1

tweetsharp ×1

webforms ×1

winforms ×1