I'm creating a Tic tac toe game, in that after click made by user automatically the cpu will respond. I want the cpu response after 0.50 seconds, the sleep() function takes too many time, I don't want that much time, is there any other way to do so?
use
[self performSelector:#selector(FunctionName) withObject:nil afterDelay:0.5 ];
usleep(500000)
use sleep property and give (more milliseconds)
Related
I would like to give the user a button that allows them to skip ahead 1 hour in the simulation and then continue running the model if play is clicked. The code below allows the user to skip ahead an hour, however they are unable to resume the simulation when play is clicked.
double nextHour = time() + 60;
pauseSimulation();
getEngine().runFast(nextHour); //Runs the model to the next hour when button is clicked
Any help much appreciated.
Try adding runSimulation() after the last line. But probably, that does not work. In that case:
Create a dynamic event (not the normal event) with the line runSimulation() in its action code.
In the button code, before the runFast... line, write create_MyDynamicEvent(1, HOUR). This will trigger the even 1 hour later and unpause the model.
AnyLogic Support suggested the following solution, which I have used:
Unfortunately, Ben's suggestion didn't didn't work; it seems to cause an issue when pauseSimulation() is used.
I was wondering if someone could help me. I want to introduce a 10 minute wait or time delay within my sahi script.
Can someone confirm the correct command to use?
Thanks in advance
Just have a look at the docs, the command you are looking for is _wait
https://sahipro.com/docs/sahi-apis/action-apis.html#Waits
Write _wait(parameter); where parameter is your the time in milli-seconds you want to introduce the delay for.
In your case try _wait(600000);
You can also use the setSpeed(parameter); API , in this case Sahi will wait for the time specified in milli-seconds as a parameter , after each task in the script. But I guess waiting 10 mins after each task is not your requirement.
You can use this method:
_wait($timeout, [$condition])
here $timeout is the duration you want to wait for. And $Condition is something that you can customize based on what condition you want to wait for.
Or you can just use the overloaded method _wait($timeout) if you want to wait for a specific duration.
You can also apply a conditional wait:
_wait(timeOut, _isVisible($element));
This will either wait till "timeOut" milliseconds, or till $element is visible. (whichever condition is satisfied earlier)
I have created task on controller and there is loop which is loading for 100 times.
Now I want to load it for 25 times and pause that loop for 1 min and after that it will execute next 25 items same for next 25.
I have checked it with sleep but its not working.
Can you please advise me if is there any way on plugin event or any other method.
Thanks
This is actually unrelated to Joomla! Since you're creating a long running process you need to start it with something else than a browser. A CRON job is a good idea here if you want to execute this operation multiple times. Otherwise it can run via command line. Make sure the max_execution time setting of PHP does not cause any trouble.
If you still need this within Joomla please have a look at the CLI documentation.
https://docs.joomla.org/How_to_create_a_stand-alone_application_using_the_Joomla!_Platform
Anyone know if there's a way to generate URL's for SoundCloud tracks that specify a start time for the song? I'm looking for a way to force playback of streams at a certain time in the stream without having to do any processing on my end via the API.
As #bsz correctly noticed, we have released a way of specifying start time on the sound when linking to it, append #t=12s to the sound's URL to start it at 12th second, etc.
If the audio is long enough, you can use (e.g.) #t=2h10m12s.
They seem to have added a #t option but not sure if you can also give an stop time:
https://soundcloud.com/razhavaniazha-com/06-06-2013-razhavaniazha-afn#t=54:00
You can also specify a start time one minute or over by appending
#XmXs
If you want a time right on the minute mark (e.g. 3:00), include 0 seconds (0s) in the time code (i.e. 3m0s), or else the start time will be ignored. It does not appear to support a start time over an hour.
Click share and set or pick time
In my app I apply filters for the image. I want to add UIProgressView as it takes about couple of seconds to complete the editing. How to add a UIProgressView for such method and also update how many percent it is completed? I have gone through many examples for UIProgressView but they are for Http request and loading network data. How to implement that for custom method ?
I guess you need to use Operation Queue for this.
[NSThread detachNewThreadSelector:#selector(showProgressView:) toTarget:self withObject:nil];
This has worked for me I hope it works for you too.. Have a happy Coding.!!
If you have control over how much of the editing is completed, like any delegate events you can update the progress just like network calls or others. Even if you don't have such events, you might be having some inner methods, which can give you a delta of the total progress happened.
Then you can have a method which takes in this delta, add it to existing progress.
- (void)updateProgress:(CGFloat)delta
{
[self.progressView setProgress:self.progressView.progress+delta];
self.progressLabel.text = [NSString stringWithFormat:#"Completed : %.0f",self.progressView.progress*100];
}
It's difficult to answer this without knowing what data you have available to you, but essentially, you need to have a method that gets called at a consistent periodic time interval until the image filter gets applied. A trick for doing this would be if you could come up with a time estimate for a filter and then just use an NSTimer to fire a method until that time is complete. Although if you could figure out an exact time for it to filter, that would obviously be preferable.
From there you need to set the progress of the progress view to that time over the amount of time total like so...
self.progressView.progress = (float) progress
Keep in mind though that the progress view is a percent, so you will need to store two values to compare (divide over each other) 1) the total amount of time 2) the total amount of time passed. You can just do this though by setting up a float progress in your user #interface.