Форум программистов, компьютерный форум, киберфорум
Delphi: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 02.03.2012
Сообщений: 66

Информационный дисплей

13.04.2015, 23:48. Показов 1532. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день ув. форумчане! Есть 2 программы клиент-сервер (DataSnap)! Клиентская программа вроде как информационного табло... На ней отображается внесенная сумма и остаток средств. Дело в том, что клиентское приложение время от времени "отваливается". Как сделать так чтобы при потере связи приложение перезапускало соединение!

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
procedure TMyThread.Execute;
var SMC:TServerMethods1Client;
s:string;
scet: double;
i: integer;
begin
frmMain.Memo1.Lines.Add('['+DateTimeToStr(now)+'] : '+'TMyThread.Execute');
while not Terminated do
begin
Synchronize(UpdateDispl);
sleep(1000);
end;
end;
 
procedure TMyThread.UpdateDispl;
var
scet: double;
i: integer;
begin
if  (Setup.SQLConnection.Connected) then begin
 
SMC:=TServerMethods1Client.Create(Setup.SQLConnection.DBXConnection);
try
  frmMain.BoxOstatok.Caption:=(SMC.ActivePost(setup.nPOST.Text));
  frmMain.PrM1.Caption := SMC.Price1('1');
  frmMain.PrM2.Caption := SMC.Price1('2');
  frmMain.PrM3.Caption := SMC.Price1('3');
 
 if SMC.ActivePost(setup.nPOST.Text)='False' then begin
  frmMain.BoxOstatok.Caption:='0.00 руб.';
  frmMain.Mode1.Caption := '0:00';
  frmMain.Mode2.Caption := '0:00';
  frmMain.Mode3.Caption := '0:00';
  for I := 1 to 3 do begin
 (TRzPanel(frmMain.FindComponent('AcFrame_'+IntToStr(i)))).Color       := clYellow;
 (TRzPanel(frmMain.FindComponent('AcFrame_'+IntToStr(i)))).BorderOuter := frmMain.RzPanel3.BorderOuter; 
 (TRzPanel(frmMain.FindComponent('AcFrame_'+IntToStr(i)))).Height      := 105;
  end;
 end else begin
  if frmMain.PanelInf.Visible=True then  begin
 TimStop:=0;
 frmMain.timer3.Enabled   := false;
 frmMain.PanelInf.Visible := false;
 frmMain.RzPanel3.Caption :='0';
 frmMain.RzLabel1.Caption :='0:00';
 
  end;
 
 if SMC.razvrat(setup.nPOST.Text)='' then begin
  frmMain.BoxOstatok.Caption := SMC.Zakaz(setup.nPOST.Text)+' руб.';
 end else begin
  frmMain.BoxOstatok.Caption := SMC.SumZ(setup.nPOST.Text)+' руб.';
  frmMain.UpdDispl(StrToInt(SMC.ActMode(setup.nPOST.Text)));
 
  frmMain.Mode1.Caption:= SMC.OstMode1(setup.nPOST.Text);
  frmMain.Mode2.Caption:= SMC.OstMode2(setup.nPOST.Text);
  frmMain.Mode3.Caption:= SMC.OstMode3(setup.nPOST.Text);
 
 
 frmMain.BoxOstatok.Caption:= '0,00 руб.';
 frmMain.Button1.Click;
 
 end else begin
 TimStop:=0;
 frmMain.timer3.Enabled:= false;
 frmMain.PanelInf.Visible:= false;
 frmMain.RzPanel3.Caption:='0';
 frmMain.RzLabel1.Caption:='0:00';
  end;
  SMC.Free;
 
  UpdDispl(0);
  end;
//*****************************************************************
 end;
 
  except
   on E : Exception do
       begin
   MyThread.Terminate;
   setup.SQLConnection.Connected:= false;
   frmMain.Memo1.Lines.Add('['+DateTimeToStr(now)+'] : frmMain - '+E.Message);
   frmMain.Memo1.Lines.SaveToFile(ExtractFilePath(Application.ExeName)+'loadDbXml.txt');
   frmMain.BoxOstatok.Caption:='Нет связи...';
   timer1.Enabled := True;
 
end;
end;
end;
 
procedure TfrmMain.Timer1Timer(Sender: TObject);
begin
n:=n+1;
try
if setup.SQLConnection.Connected=False then begin
memo1.Lines.Add('['+DateTimeToStr(now)+'] : Ожидание - '+ n +'сек.');
SQLConnection.Open;
end else begin
  memo1.Lines.Add('['+DateTimeToStr(now)+'] : Связь с сервером установлена.'+' ожидание : '+RzPanel8.Caption+ '*2 сек.');
  frmMain.Memo1.Lines.SaveToFile(ExtractFilePath(Application.ExeName)+'loadDbXml.txt');
  Timer1.Enabled:= false;
  MyThread:=TMyThread.Create(False);
  MyThread.Priority:=tpNormal;
end;
 
except
 on E : Exception do
       begin
frmMain.Memo1.Lines.Add('['+DateTimeToStr(now)+'] : frmMain - '+E.Message);
end;
end;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.04.2015, 23:48
Ответы с готовыми решениями:

После установки Ubuntu дисплей не определяется: "Неизвестный дисплей"
Доброго времени суток! Ноутбук: Asus K53SM. Видеоадаптеры: Intel HD Graphics 3000 (встроенный) и NVidia GeForce GT630M. Основная...

Информационный портал
как подойти к этому вопросу, как грамотно сделать, чтобы получить хороший трафик и на чём потом лучше всего заработать? и вообще...

Информационный справочник
Приветик всем!) мне нужно написать информационно-справочную систему на С#, подскажите с помощью чего это лучше сделать!? и еще, если...

23
15.04.2015, 21:26
Студворк — интернет-сервис помощи студентам

Не по теме:

можно даже так
Это уже совсем по феньшую)
Но сначала хотя бы искоренить дух Архангельского)

0
2 / 2 / 0
Регистрация: 02.03.2012
Сообщений: 66
16.04.2015, 16:27  [ТС]
Уважаемые форумчане! Дайте совет, как лучше сделать подобие "информационного табло", может не используя технологию DataSnap, нужно что-бы это было просто и стабильно!
0
16.04.2015, 16:41

Не по теме:

Цитата Сообщение от zurprog Посмотреть сообщение
что-бы это было просто и стабильно
Проблема-то вовсе не сложности и косячности датаснапа, а в принципиальном непонимании где-что-зачем-почему происходит в использующем его коде)

0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,684
Записей в блоге: 21
16.04.2015, 22:34
я использую для табло на соревнованиях смарт-тв и веб-сервер (который использует Datasnap)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.04.2015, 22:34

Информационный портал
Привет форумчане. Вкратце обо мне: хорошо разбираюсь в html и css, немного в php и javascript. Стоит задача сделать информационный...

Информационный поиск
Здравствуйте, уважаемые форумчане! Всегда было интересно, как работают поисковые системы. Теперь решил заняться этим вплотную и нужна...

Информационный граббер
Необходим граббер, сам я в деле программирование не долго и пока не могу представить именно структуру кода и как он должен выглядеть. Я...

Информационный блок
При запуски программы в самом начале очень долго загружается информационный блок. Подскажите пожалуйста как его убрать???Снимаю галку...

Информационный поиск
Где представлен хороший обзор поисковых алгоритмов ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru