Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2008, 00:12   #1
KancJler
 
Регистрация: 19.04.2008
Сообщений: 7
По умолчанию использование таймера

Здраствуйте)У меня вот какой вопрос:
1)как сделать задержку в переборе массива(т.е чтобы он перебирал строки с заданным интервалом)
2)и как приязать запуск консольных программ
заранее спасиб))
PS если нужно для решения проблемки, то могу выложить скрипт проги
KancJler вне форума Ответить с цитированием
Старый 19.04.2008, 00:29   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Язык программирования... Опять телепата вызывать?
mihali4 вне форума Ответить с цитированием
Старый 19.04.2008, 00:33   #3
KancJler
 
Регистрация: 19.04.2008
Сообщений: 7
По умолчанию

Delphi )))
KancJler вне форума Ответить с цитированием
Старый 19.04.2008, 00:34   #4
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Цитата:
1)как сделать задержку в переборе массива(т.е чтобы он перебирал строки с заданным интервалом)
можна без таймера, а просто sleep(n);где n интервал
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 19.04.2008, 00:38   #5
KancJler
 
Регистрация: 19.04.2008
Сообщений: 7
По умолчанию

Я,конечно, извиняюсь за тупость просто тока тока начинаю....)
А куда именно нужно вписать sleep(n) вот скрипт:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBTables, StdCtrls, Grids, DBGrids;

type
  TForm1 = class(TForm)
    DataSource1: TDataSource;
    Table1: TTable;
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    DBGrid1: TDBGrid;
    Timer1: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

const
  filename='settings.ini';

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure a(filename,username,pass,ivnum:string);
var
  f:Textfile;
begin
assignfile(f,filename);
rewrite(f);
writeln(f,'Do NOT edit this file!');
writeln(f,'[Settings]');
write(f,'username = ');
writeln(f,username);
write(f,'password = ');
writeln(f,pass);
write(f,'iv = ');
writeln(f,ivnum);
writeln(f,'refresh1 = 2');
writeln(f,'refresh2 = 3');
writeln(f,'startup = 0');
writeln(f,'proxy ='); 
writeln(f,'useragent ='); 
closefile(f);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 i:integer;
 user:string;
  pass:string;
  iv:string;
begin
  if Form1.OpenDialog1.Execute then
  begin
    Form1.Table1.TableName:=Form1.OpenDialog1.FileName;
    Form1.Table1.Open;
    Form1.Table1.First;
    for i:=0 to Form1.Table1.RecordCount-1 do
    begin
      user:=Form1.Table1.Fields.Fields[0].AsString;
       pass:=Form1.Table1.Fields.Fields[1].AsString;
       iv:=Form1.Table1.Fields.Fields[2].AsString;
      A(filename,user,pass,iv);
      form1.Table1.Next;
    end;
  end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Form1.Table1.Close;
end;

end.
KancJler вне форума Ответить с цитированием
Старый 19.04.2008, 00:40   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
как сделать задержку в переборе массива(т.е чтобы он перебирал строки с заданным интервалом)
В обработчике события таймера:
- остановка таймера
- выбор следующей строки
- обработка ее
- выдача результата
- запуск таймера
Цитата:
куда именно нужно вписать sleep(n)
В любое место цикла
for i:=0 to Form1.Table1.RecordCount-1 do
mihali4 вне форума Ответить с цитированием
Старый 19.04.2008, 00:41   #7
A_r_r_a_y
Форумчанин
 
Аватар для A_r_r_a_y
 
Регистрация: 01.03.2008
Сообщений: 165
По умолчанию

Лучше все таки с таймером, sleep имеет склонность к нестабильной работе, лично у меня не раз sleep работал след образом:
1.долго-долго спал
2.выполнилось все быстро
хотя должно было быть:
1.выполнил
2.спит
3.выполнил
...
A_r_r_a_y вне форума Ответить с цитированием
Старый 19.04.2008, 00:42   #8
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

for i:=0 to Form1.Table1.RecordCount-1 do
begin
sleep(300);

я поглядел на листинг и понял что вы пытаетесь работать с INI файлами, я правильно считаю?
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 19.04.2008, 00:44   #9
KancJler
 
Регистрация: 19.04.2008
Сообщений: 7
По умолчанию

Да правильно,а что там какая-то особенность нужна?)
KancJler вне форума Ответить с цитированием
Старый 19.04.2008, 00:48   #10
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

можна использовать модуль uses IniFiles; поищи инфу на эту тему. Все будет проще.
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите создать в делфи что то типа таймера. Unstaller Помощь студентам 2 16.07.2008 08:30
Интервал Таймера... Roof Общие вопросы Delphi 27 08.07.2008 20:19
Обращение к COM-порту из обработчика системного таймера (приложение WinForm) mdrake Общие вопросы .NET 4 18.06.2008 09:36
Отображение в Label периода с помощью таймера DenSuper007x Помощь студентам 37 26.03.2008 22:05
Время таймера в проге, -программно остановать. Air Общие вопросы Delphi 6 02.02.2008 18:49