Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Заблокирован

Как исправить ошибку: одинаковый запуск программы с разными ключами

31.07.2014, 13:52. Показов 2793. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
case 0 : FullPath = "revLoader.exe","-launch hl.exe -key key -key"; break;
case 1 : FullPath = "revLoader.exe","-launch hl.exe -key key -key"; break;
case 2 : FullPath = "revLoader.exe","-launch hl.exe -key"; break;
Разные параметры а запускается одно и тоже


C++
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
#include <vcl.h>
#pragma hdrstop
#include <Tlhelp32.h>
#include "Unit1.h"
 
#pragma package(smart_init)
#pragma resource "*.dfm"
 
 
TForm1 *Form1;
 
char* pName;
AnsiString FullPath;
int OE;
String Capt;
 
__fastcall TForm1::TForm1(TComponent* Owner)
   :TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N1Click(TObject *Sender)
{
   OE = ((TMenuItem *)Sender)->Tag;
   Capt = ((TMenuItem *)Sender)->Caption;
   BitBtn1->Enabled = true;
   switch(OE)
    {
      case 0 : FullPath = "revLoader.exe","-launch hl.exe -key key -key"; break;
          case 1 : FullPath = "revLoader.exe","-launch hl.exe -key key -key"; break;
          case 2 : FullPath = "revLoader.exe","-launch hl.exe -key"; break;
 
    }
   Timer1->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
  ShellExecute(NULL,"open",FullPath.c_str(),NULL,NULL,SW_SHOWNORMAL);
}
//---------------------------------------------------------------------------
bool IsProcessRun(char* pName)
{
  HANDLE Hndl = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  if(Hndl == INVALID_HANDLE_VALUE) return false;
  PROCESSENTRY32 ProcessEntry;
  ProcessEntry.dwSize = sizeof(ProcessEntry);
  bool Loop = Process32First(Hndl, &ProcessEntry);
  while (Loop)
   {
     if (strcmp(ProcessEntry.szExeFile, pName) == 0)
       {
         CloseHandle(Hndl);
         return true;
       }
     Loop = Process32Next(Hndl, &ProcessEntry);
   }
  return false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
  pName = AnsiString(ExtractFileName(FullPath)).c_str();
  if(! IsProcessRun(pName))
   {
     BitBtn1->Caption = Capt + " [0]";
     BitBtn1->Enabled = true;
   }
  else
   {
     BitBtn1->Caption = Capt + " [1]";
     BitBtn1->Enabled = false;
   }
  Application->ProcessMessages();
}
//---------------------------------------------------------------------------
Добавлено через 2 минуты
Ключи правильно написаны
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.07.2014, 13:52
Ответы с готовыми решениями:

Запуск программы с ключами.Как такую написать?
Здравствуйте, помогите написать программу которою можно-бы было запускать с ключами Например, первая часть программы копирует...

Запуск программы с ключами
Всем привет! Как зделать батник чтобы он запсукал программу с ключами к файлу, и показывал надпись &quot;Идёт обновление...(Желательно...

Запуск программы с ключами (с параметрами)
Программа должна печатать результат в зависимости от трех ключей: -p, -u и -l. В консоли захожу в директорию, где лежит программа и...

20
 Аватар для DeadHipo
85 / 85 / 33
Регистрация: 21.09.2013
Сообщений: 339
31.07.2014, 14:13
Цитата Сообщение от Gurellol Посмотреть сообщение
Разные параметры а запускается одно и тоже
Я лично вижу, что у тебя ключи в первом и во втором случае абсолютно одинаковые.
Цитата Сообщение от Gurellol Посмотреть сообщение
Ключи правильно написаны
Можно узнать откуда ты берёшь информацию?
0
Заблокирован
31.07.2014, 14:26  [ТС]
Исходники
Вложения
Тип файла: rar SourceCodeD1973.rar (4.50 Мб, 4 просмотров)
0
Заблокирован
31.07.2014, 14:28  [ТС]
Там все точно также,там только видно что я запускаю
0
Заблокирован
31.07.2014, 14:37  [ТС]
Во вложении пример в каком порядке должны быть прописаны кдючи
Вложения
Тип файла: txt Ключ.txt (234 байт, 7 просмотров)
0
74 / 54 / 17
Регистрация: 10.07.2014
Сообщений: 329
31.07.2014, 14:42
Ну так и присвой переменной эту строку...
FullPath = "revLoader.exe -launch hl.exe -game cstrike -steam";

А вообще - открой книгу и почитай, что и как должно быть в программе хоть в начальном этапе.
Что такое переменные, константы, присваивание, переменные, условия, циклы и тд
0
 Аватар для DeadHipo
85 / 85 / 33
Регистрация: 21.09.2013
Сообщений: 339
31.07.2014, 14:48
Так значит ты запускаешь вот так?
C++
1
2
3
case 0 : FullPath = "revLoader.exe","-launch hl.exe -key key -key"; break;
case 1 : FullPath = "revLoader.exe","-launch hl.exe -key key -key"; break;
case 2 : FullPath = "revLoader.exe","-launch hl.exe -key"; break;
Вместо того что бы запускать вот так?
C++
1
2
3
case 0 : FullPath = "revLoader.exe","-launch hl.exe -game cstrike -steam"; break;
case 1 : FullPath = "revLoader.exe","-launch hl.exe -key key -key"; break;  // тут какие то другие ключи
case 2 : FullPath = "revLoader.exe","-launch hl.exe -key"; break;// тут какие то другие ключи
И жалуешься что он запускает дно и тоже?
0
Заблокирован
31.07.2014, 14:52  [ТС]
C++
1
2
3
case 0 : FullPath = "revLoader.exe","-launch hl.exe -game cstrike -steam"; break;
case 1 : FullPath = "revLoader.exe","-launch hl.exe -key key -key"; break;  // тут какие то другие ключи
case 2 : FullPath = "revLoader.exe","-launch hl.exe -key"; break;// тут какие то другие ключи
Запускаю вот так:
C++
1
2
3
case 0 : FullPath = "revLoader.exe","-launch hl.exe -game cstrike -steam"; break;
      case 1 : FullPath = "revLoader.exe","-launch hl.exe -game czero -steam"; break;
      case 2 : FullPath = "revLoader.exe","-launch hl.exe -steam"; break;
Добавлено через 36 секунд
Полный код

C++
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
#include <vcl.h>
#pragma hdrstop
#include <Tlhelp32.h>
#include "Unit1.h"
 
#pragma package(smart_init)
#pragma resource "*.dfm"
 
 
TForm1 *Form1;
 
char* pName;
AnsiString FullPath;
int OE;
String Capt;
 
__fastcall TForm1::TForm1(TComponent* Owner)
   :TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N1Click(TObject *Sender)
{
   OE = ((TMenuItem *)Sender)->Tag;
   Capt = ((TMenuItem *)Sender)->Caption;
   BitBtn1->Enabled = true;
   switch(OE)
    {
      case 0 : FullPath = "revLoader.exe","-launch hl.exe -game cstrike -steam"; break;
      case 1 : FullPath = "revLoader.exe","-launch hl.exe -game czero -steam"; break;
      case 2 : FullPath = "revLoader.exe","-launch hl.exe -steam"; break;
    }
   Timer1->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
  ShellExecute(NULL,"open",FullPath.c_str(),NULL,NULL,SW_SHOWNORMAL);
}
//---------------------------------------------------------------------------
bool IsProcessRun(char* pName)
{
  HANDLE Hndl = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  if(Hndl == INVALID_HANDLE_VALUE) return false;
  PROCESSENTRY32 ProcessEntry;
  ProcessEntry.dwSize = sizeof(ProcessEntry);
  bool Loop = Process32First(Hndl, &ProcessEntry);
  while (Loop)
   {
     if (strcmp(ProcessEntry.szExeFile, pName) == 0)
       {
         CloseHandle(Hndl);
         return true;
       }
     Loop = Process32Next(Hndl, &ProcessEntry);
   }
  return false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
  pName = AnsiString(ExtractFileName(FullPath)).c_str();
  if(! IsProcessRun(pName))
   {
     BitBtn1->Caption = Capt + " [0]";
     BitBtn1->Enabled = true;
   }
  else
   {
     BitBtn1->Caption = Capt + " [1]";
     BitBtn1->Enabled = false;
   }
  Application->ProcessMessages();
}
//---------------------------------------------------------------------------
0
74 / 54 / 17
Регистрация: 10.07.2014
Сообщений: 329
31.07.2014, 15:32
Я не следил в предыдущих темах. Ты при создании меню теги им прописал в дизайн-тайм?
Намекаю:
C++
1
2
OE = ((TMenuItem *)Sender)->Tag; //узнаем кто запустил по его тегу.
switch(OE) // выбор действия по тегу
Зачем OE глобальна?

зы Научись пользоваться точками останова и списком значений переменных Watch-list

ззы. задача какая то накрученная. Почему бы сразу в меню и не запустить? Зачем еще клик дополнительный по кнопке?
Ладно это не меню было бы, а радиогруппа....
0
Заблокирован
31.07.2014, 15:40  [ТС]
Если ее не будет case не будет работать
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33400 / 21510 / 8236
Регистрация: 22.10.2011
Сообщений: 36,910
Записей в блоге: 12
31.07.2014, 17:42
Gurellol, только я один вижу, что в строке
C++
1
case 0 : FullPath = "revLoader.exe","-launch hl.exe -game cstrike -steam"; break;
запятая не является частью строки, следовательно в результате FullPath будет содержать "revLoader.exe", и все, что после запятой бесследно исчезнет, потому что приоритет операции "запятая" ниже, чем приоритет присваивания? То же самое касается и всех остальных строк... У тебя действительно независимо от значения OE значение FullPath одно и то же всегда...
1
31.07.2014, 17:55

Не по теме:

Ох уж эта запятая.... Самая мне непонятная операция в плюсах. Точнее непонятна логика - зачем она вообще нужна :)
А вообще тренироваться сразу на игрушке - это как то так... Лучше на калькуляторе.

0
Заблокирован
31.07.2014, 18:14  [ТС]
C++
1
case 0 : FullPath = "revLoader.exe -launch hl.exe -game cstrike -steam"; break;
Если вот так ,то ничего не происходит только название кнопки сменилось (нет клика)

Добавлено через 5 минут
C++
1
case 0 : FullPath = "revLoader.exe","-launch hl.exe -game cstrike -steam"; break;
Когда было вот так написано,запускалось хоть что то но не то что надо(игнорирование ключей)
А вариант который выше вообще ничего не запускает,меняет только название кнопки и видит запущено ли приложение

Добавлено через 2 минуты
C++
1
2
3
4
5
6
switch(OE)
    {
      case 0 : FullPath = "revLoader.exe" "-launch hl.exe -game cstrike -steam"; break;
      case 1 : FullPath = "revLoader.exe" "-launch hl.exe -game czero -steam"; break;
      case 2 : FullPath = "revLoader.exe" "-launch hl.exe -steam"; break;
    }
И с таким вариантом не происходит клика

Добавлено через 3 минуты
Все варианты прописывания ключей перепробовал
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33400 / 21510 / 8236
Регистрация: 22.10.2011
Сообщений: 36,910
Записей в блоге: 12
31.07.2014, 18:17
Gurellol, а не работает у тебя ничего потому, что ты до сих пор не удосужился прочитать help, и до сих пор не знаешь, что третий параметр ShellExecute - это только имя запускаемого файла, а нужные ему для запуска ключи передаются в четвертом параметре этой функции. В общем, читай про ShellExecute внимательно, а не просто тупо изменяй что-то, не понимая, что именно ты делаешь...
0
 Аватар для DeadHipo
85 / 85 / 33
Регистрация: 21.09.2013
Сообщений: 339
31.07.2014, 18:25
Цитата Сообщение от Gurellol Посмотреть сообщение
И с таким вариантом не происходит клика

Не по теме:

Чудеса, да и только.



Пробуй это
C++
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
#include <vcl.h>
#pragma hdrstop
#include <Tlhelp32.h>
#include "Unit1.h"
 
#pragma package(smart_init)
#pragma resource "*.dfm"
 
 
TForm1 *Form1;
 
char* pName;
AnsiString FullPath;
AnsiString Keys;
int OE;
String Capt;
 
__fastcall TForm1::TForm1(TComponent* Owner)
   :TForm(Owner)
{
}
 
//---------------------------------------------------------------------------
bool IsProcessRun(char* pName)
{
  HANDLE Hndl = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  if(Hndl == INVALID_HANDLE_VALUE) return false;
  PROCESSENTRY32 ProcessEntry;
  ProcessEntry.dwSize = sizeof(ProcessEntry);
  bool Loop = Process32First(Hndl, &ProcessEntry);
  while (Loop)
   {
     if (strcmp(ProcessEntry.szExeFile, pName) == 0)
       {
         CloseHandle(Hndl);
         return true;
       }
     Loop = Process32Next(Hndl, &ProcessEntry);
   }
  return false;
}
 
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
  ShellExecute(NULL,"open",FullPath.c_str(),Keys.c_str(),NULL,SW_SHOWNORMAL);
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
  pName = AnsiString(ExtractFileName(FullPath)).c_str();
  if(! IsProcessRun(pName))
   {
     BitBtn1->Caption = Capt + " [0]";
     BitBtn1->Enabled = true;
   }
  else
   {
     BitBtn1->Caption = Capt + " [1]";
     BitBtn1->Enabled = false;
   }
  Application->ProcessMessages();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N1Click(TObject *Sender)
{
   OE = ((TMenuItem *)Sender)->Tag;
   Capt = ((TMenuItem *)Sender)->Caption;
   BitBtn1->Enabled = true;
   switch(OE)
    {
      case 0 : FullPath = "revLoader.exe", Keys ="-launch hl.exe -game cstrike -steam"; break;
      case 1 : FullPath = "revLoader.exe", Keys ="-launch hl.exe -game czero -steam"; break;
      case 2 : FullPath = "revLoader.exe", Keys ="-launch hl.exe -steam"; break;
    }
   Timer1->Enabled = true;
}
//---------------------------------------------------------------------------
0
Заблокирован
31.07.2014, 18:31  [ТС]
C++
1
ShellExecute(NULL,"open","revLoader.exe","-launch hl.exe -game cstrike -steam",NULL,SW_SHOWNORMAL);
Раньше так и запускал и все работало
В справке смотрел там все тоже самое что пишет MSDN

Добавлено через 5 минут
Клик кнопки и запуск произошли
Двое запустились неправильно какие именно комментариями отметил

C++
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
#include <vcl.h>
#pragma hdrstop
#include <Tlhelp32.h>
#include "Unit1.h"
 
#pragma package(smart_init)
#pragma resource "*.dfm"
 
 
TForm1 *Form1;
 
char* pName;
AnsiString FullPath;
AnsiString Keys;
int OE;
String Capt;
 
__fastcall TForm1::TForm1(TComponent* Owner)
   :TForm(Owner)
{
}
 
//---------------------------------------------------------------------------
bool IsProcessRun(char* pName)
{
  HANDLE Hndl = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  if(Hndl == INVALID_HANDLE_VALUE) return false;
  PROCESSENTRY32 ProcessEntry;
  ProcessEntry.dwSize = sizeof(ProcessEntry);
  bool Loop = Process32First(Hndl, &ProcessEntry);
  while (Loop)
   {
     if (strcmp(ProcessEntry.szExeFile, pName) == 0)
       {
         CloseHandle(Hndl);
         return true;
       }
     Loop = Process32Next(Hndl, &ProcessEntry);
   }
  return false;
}
 
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
  ShellExecute(NULL,"open",FullPath.c_str(),Keys.c_str(),NULL,SW_SHOWNORMAL);
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
  pName = AnsiString(ExtractFileName(FullPath)).c_str();
  if(! IsProcessRun(pName))
   {
     BitBtn1->Caption = Capt + " [0]";
     BitBtn1->Enabled = true;
   }
  else
   {
     BitBtn1->Caption = Capt + " [1]";
     BitBtn1->Enabled = false;
   }
  Application->ProcessMessages();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N1Click(TObject *Sender)
{
   OE = ((TMenuItem *)Sender)->Tag;
   Capt = ((TMenuItem *)Sender)->Caption;
   BitBtn1->Enabled = true;
   switch(OE)
    {
      case 0 : FullPath = "revLoader.exe", Keys ="-launch hl.exe -game cstrike -steam"; break;//Правильно
      case 1 : FullPath = "revLoader.exe", Keys ="-launch hl.exe -game czero -steam"; break;//Не правильно
      case 2 : FullPath = "revLoader.exe", Keys ="-launch hl.exe -steam"; break;//Не правильно
    }
   Timer1->Enabled = true;
}
//---------------------------------------------------------------------------
0
 Аватар для DeadHipo
85 / 85 / 33
Регистрация: 21.09.2013
Сообщений: 339
31.07.2014, 18:34
Тебя уже спрашивали, но ты в созданных кнопках N1, N2, N3 свойство Tag пронумеровал? N1 Tag = 0, N2 Tag = 1, N3 Tag = 2. Делается это в графическом редакторе
0
74 / 54 / 17
Регистрация: 10.07.2014
Сообщений: 329
31.07.2014, 18:36
Так работает
C++
1
ShellExecute(NULL,"open","revLoader.exe","-launch hl.exe -game cstrike -steam",NULL,SW_SHOWNORMAL);
Так не работает
C++
1
2
FullPath = "revLoader.exe" "-launch hl.exe -game -steam";
ShellExecute(NULL,"open",FullPath.c_str(),Keys.c_str(),NULL,SW_SHOWNORMAL);
Это есстественно. Ибо это разный код. Я специально выкусил определяющие строки.
А вот в чем разница - пока не поймешь, лучше дальше не пробовать писать.

Учиться надо, если есть желание учиться - на более простых вещах.

пока я писал, ты сам исправил. Но почему через запятую? Операторы разделяются символом <;>
0
Заблокирован
31.07.2014, 18:37  [ТС]
Да пронумеровал!

И сейчас теги только что проверил все пронумеровано правильно
Как написано у тебя
0
 Аватар для DeadHipo
85 / 85 / 33
Регистрация: 21.09.2013
Сообщений: 339
31.07.2014, 18:42
Цитата Сообщение от krv Посмотреть сообщение
Учиться надо, если есть желание учиться - на более простых вещах.

Не по теме:

Могу предположить, что автор топа не особо и пытался, что то учить. Ему надо сделать программу и мы её послушно делаем, а как сделаем он всё бросит. :(



Добавлено через 1 минуту
Цитата Сообщение от Gurellol Посмотреть сообщение
Да пронумеровал!
И сейчас теги только что проверил все пронумеровано правильно
Как написано у тебя
Что ты имеешь в виду под 'неправильностью запуска'?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.07.2014, 18:42
Помогаю со студенческими работами здесь

Как исправить ошибку: формат теста исправить нельзя, только текст программы
class AmericanDate: def __init__(self, y, m, d): self.get_year = str(y) self.get_month = str(m//10)+str(m%10) ...

Первый запуск. Как исправить ошибку?
Привет. Первый раз установил QT, хотел начать работать, но вот незадача какая... Как завести программу?

Как исправить ошибку в коде программы?
Цель такая - выбраны строки 1 (тонна) в CоmboBox4 и строка 2 (центнер) в ComboBox5. В TextBox3 задаётся значение тонны, которое надо будет...

Запуск программы от разных пользователей с разными настройками
Добрый времени суток, форумчане. В нашей организации развернут контакт центр где есть суточные операторы. Всего 4 смены и 4 ПК. И...

Не знаю, как исправить ошибку в тексте программы
Дана матрица Х размера 5х6. Написать на MATLAB программу для определения суммы и количества ее элементов, которые меньше 10, если таких...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru