21

(7 відповідей, залишених у Java)

Яке ім'я бази даних у тебе на сервері test чи library? Можливо ти не вірно вказав найменування БД? тільки що помітив

22

(7 відповідей, залишених у Java)

Ти використовуєш безпечне підключення за допомогою SSL.
Потрібно налаштувати автентифікацію сервера/клієнт, якщо ти хочеш використовувати SSL сертифікат. Глянь чи у MySQL Workbench з'єднання із сервером за допомогою SSL, тоді налаштування перенеси із нього. Але здається мені, що воно не налаштоване. Проглянь добре за допомогою чого Workbench здійснює підключення до MySql.
Тобто, потрібно правильно налаштувати DriverManager. Можливо це підійде?

23

(16 відповідей, залишених у C++)

Droid 77 написав:

Піпли, ви що тут понапоносили?
Першочергово:
що плює в порт контролер?,
які мітки в плюванні початку та кінці транслювання даних?
в якому форматі то всьо блюється?
... ююю ... ? ББА 198

Так?
Чи якісь іні мітки?
Мікроконтролери це не просто бездумно фігачити машинний код, то тре дофіга подумати що саме той контролер повинен робити та за якими командами.

ТОВЧЕМО ВОДУ В СТУПІ.

Тут не такий рівень абстракції блювання та плювання. Чомусь, автор не дає всієї повноти своєї думки і усе потрібно додумувати самому - "вангувати". До кінця не розібрались із самою схемою підключення контролера до порту, та як ті дані по ньому "бігають". Не відомо, чи підключення є фізичним (підключений пристрій на пряму до інтерфейсу), чи імітовано програмно. Може ви поясните і нам буде цікаво?

А на рахунок "поносу", того що ми понаписували полягає у наступному. Автор завантажив з мережі бібліотеку, назвемо її ну нехай "ЯКАСЬ_ФІГНЯ". У цій бібліотеці є визначення типу CSerial, котрий описує, який вигляд буде мати кінцевий об'єкт - comPort. Однією із закритих властивостей цього типу - є m_bOpened та метод IsOpened(), який є публічним. І от в попередній темі у автора не вийшло звернутись до цього публічного методу. Не спрацьовує чомусь. І щоб розібратись, чому воно не спрацьовує, автор робить закриту властивість m_bOpened відкритою. І от "ВУАЛЯ", Працює. і здається мені, буде воно зчитувати дані, але які?
Далі виникає наступне питання. Чи ці дані є істинними, тобто чи те що відправляє контролер із зчитаних датчиків збігається з даними що прийшли до ПК. Як вам такий перебіг подій?

P.S. Я бачу, що продовження цього "екшена" буде, бо

ijonhson написав:

Тут вже інше питання, можливо для іншої гілки , чому ардуїнка обнуляється?

як вам таке?

ijonhson написав:

Про всяк випадок , я прочитав два підручника.... із с++ не бийте боляче

Будь ласка, прочитайте ще раз!

24

(16 відповідей, залишених у C++)

І скажу напевно вже втретє чи четверте. Ці ваші бібліотеки - це оболонки над WinAPI, посилання на які я давав.

"Російська мова"

25

(16 відповідей, залишених у C++)

ijonhson написав:

Я про буфер ком порта

Чудово. І звідки на вашу думку я міг про це знати? І напевне воно зветься не буфер, а скоріш за все log, report. Коли говорите БУФЕР, то це має інше значення.

Перше, не множте однакових тем. Перенесу сюди вашу частину коду:

".h"
#include <windows.h>

#ifndef __SERIAL_H__
#define __SERIAL_H__

#define FC_DTRDSR 0x01
#define FC_RTSCTS 0x02
#define FC_XONXOFF 0x04
#define ASCII_BEL 0x07
#define ASCII_BS 0x08
#define ASCII_LF 0x0A
#define ASCII_CR 0x0D
#define ASCII_XON 0x11
#define ASCII_XOFF 0x13

class CSerial
{
public:
  CSerial();
  ~CSerial();

  bool Open(wchar_t *szPort, int nBaud = 9600, int nDataBids = 8, float nStopBits = 2);
  bool Close(void);

  int ReadData(void *, int);
  int SendData(const char *, int);
  int ReadDataWaiting(void);

  bool IsOpened(void)
  {
    return (m_bOpened);
  }
  void GetComList(TStringList list);

  struct ComPort
  {
    ComPort(LPSTR name, LPSTR key);
    ~ComPort();
    LPSTR name;
    LPSTR key;
  };

protected:
  bool WriteCommByte(unsigned char);

  HANDLE m_hIDComDev;
  OVERLAPPED m_OverlappedRead, m_OverlappedWrite;
  bool m_bOpened;
};

#endif
".hpp"
CSerial::CSerial()
{
  memset(&m_OverlappedRead, 0, sizeof(OVERLAPPED));
  memset(&m_OverlappedWrite, 0, sizeof(OVERLAPPED));
  m_hIDComDev = NULL;
  m_bOpened = false;
}

CSerial::~CSerial()
{
  Close();
}

bool CSerial::Open(wchar_t *szPort, int nBaud, int nDataBids, float nStopBits)
{
  if (m_bOpened)
    return (TRUE);

  char szComParams[50];
  DCB dcb;

  m_hIDComDev = CreateFile(szPort, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL);
  if (m_hIDComDev == NULL)
    return (FALSE);

  memset(&m_OverlappedRead, 0, sizeof(OVERLAPPED));
  memset(&m_OverlappedWrite, 0, sizeof(OVERLAPPED));

  COMMTIMEOUTS CommTimeOuts;
  CommTimeOuts.ReadIntervalTimeout = 0xFFFFFFFF;
  CommTimeOuts.ReadTotalTimeoutMultiplier = 0;
  CommTimeOuts.ReadTotalTimeoutConstant = 0;
  CommTimeOuts.WriteTotalTimeoutMultiplier = 0;
  CommTimeOuts.WriteTotalTimeoutConstant = 5000;
  SetCommTimeouts(m_hIDComDev, &CommTimeOuts);

  m_OverlappedRead.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
  m_OverlappedWrite.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);

  dcb.DCBlength = sizeof(DCB);
  GetCommState(m_hIDComDev, &dcb);
  dcb.BaudRate = nBaud;
  dcb.ByteSize = nDataBids;
  dcb.StopBits = nStopBits;

  unsigned char ucSet;
  ucSet = (unsigned char)((FC_RTSCTS & FC_DTRDSR) != 0);
  ucSet = (unsigned char)((FC_RTSCTS & FC_RTSCTS) != 0);
  ucSet = (unsigned char)((FC_RTSCTS & FC_XONXOFF) != 0);
  if (!SetCommState(m_hIDComDev, &dcb) ||
      !SetupComm(m_hIDComDev, 10000, 10000) ||
      m_OverlappedRead.hEvent == NULL ||
      m_OverlappedWrite.hEvent == NULL)
  {
    DWORD dwError = GetLastError();
    if (m_OverlappedRead.hEvent != NULL)
      CloseHandle(m_OverlappedRead.hEvent);
    if (m_OverlappedWrite.hEvent != NULL)
      CloseHandle(m_OverlappedWrite.hEvent);
    CloseHandle(m_hIDComDev);
    return (FALSE);
  }

  m_bOpened = TRUE;

  return (m_bOpened);
}
ijonhson написав:

та робота з ком портом , це подія. ComPort- обєкт CSerial , StopBitsCBox -комбобокс, LStatus- лейбл

І у мене виникає питання. Як ви ініціалізуєте цей об'єкт? Тобто, де в коді ви пишете ComPort.Open( ... );

Має бути, щось типу:

CSerial ComPort;
ComPort.Open( ... );
if (!ComPort.IsOpened())
  exit;

Якщо ви так зробили, тоді у мене наступне питання про підключення кабелем. Який у вас тип підключення, тобто що за кабель? Бо від розпіновки кабелю залежить режим передавання даних.

Третє питання полягає в коректності даних. Тобто, чи збігаються ваші вхідні дані на ПК і вихідними даними Ардуіно чи там сміття яке не має відношення до потрібного вам результату. Бо дивлячись на те як ви відкрили КОМ-порт, я сумніваюсь в істинності цих даних.

26

(388 відповідей, залишених у Алгоритми та структури даних, технології)

leofun01 написав:
Прихований текст

Завершилося змаганя в Алґотестер, а я все ще не маю рішеня, яке би проходило всі тести для задачі E (pdf).

Дано: n, a[k] (k=1..n)
, де a[k] - кількість інверсій префікса довжиною k.
Знайти: p[k] - перестановку, для якої всі префікси мають задану кількість інверсій (a[k]).

Приклад даних
stdin написав:

5
0 1 2 4 7

stdout написав:

5 1 4 3 2

Всі мої ідеї виявились до сраки. Може ви знаєте як рішати подібні задачі ?

Цей алгоритм?

27

(16 відповідей, залишених у C++)

ijonhson написав:

та і де такий буфер на 100 мб, якщо ардуінка вже працює 5 годин?

Ви про що? Який на вашу думку має бути буфер? Більшим? Це ви про цей буфер char * buff = new char[50];?

Якщо ж таки про цей буфер, то він і не повинен бути більшим. Інша справа, що його може бути недостатньо для вхідних даних.
Він існує для тимчасового зберігання, а в подальшому переносу з нього даних у файл чи БД, або як у вашому випадку Memo1, щоб потім можна було обробити ці дані. І якщо таки "важити" об'єм вхідних даних, то Memo1 чи файл куди ви будете записувати.

28

(16 відповідей, залишених у C++)

ijonhson написав:
void __fastcall TForm1::Timer1Timer(TObject * Sender) {
  char * buff = new char[50];
  if (ComPort.m_bOpened) {  // <-- ?
    if (ComPort.ReadData(buff, 50)) {
      PurgeComm(ComPort.m_hIDComDev, PURGE_TXCLEAR);
      PurgeComm(ComPort.m_hIDComDev, PURGE_RXCLEAR);
      Memo1 -> Lines -> Insert(0, AnsiString(buff));
      Memo1 -> GoToTextEnd();
    }
  }
  delete buff;
}

if (ComPort.m_bOpened) - Можливо тому, що ви звертаєтесь до m_bOpened напряму, а не через метод. Не знаю, що за бібліотека, але перевірте чи там є якийсь код який перевіряє режими роботи КОМ-порту. Можливо є якісь біти, котрі задаються при ініціалізації об'єкту.

Прихований текст

І форматуйте код. Потім і вам буде легше працювати з ним...

Ще хотілося б побачити принципову схему підключення, цього вашого проекту (можна намальовану від руки на листочку). Так людям буде легше розуміти про, що мова. А то все якесь настільки абстрактне, що потрібно самому додумувати, як то воно у вас, там все має працювати.

Так, ще є запитання про кабель підключення, якщо пристрій до КОМ-порту у вас підключається фізично? Це нуль-модемний кабель, якийсь перехідник на USB... ? З нову ж таки, дуже багато потрібно додумувати самому.

29

(7 відповідей, залишених у C#, .NET)

1. Видаляєш пропуски у всіх трьох рядах S P1 P2
2. Робиш конкатенацію P1 та P2
3. Порівнюєш S та P1 + P2

Не уважно я прочитав завдання

30

(27 відповідей, залишених у Ваші проєкти)

javascriptIsLife написав:

В мене працює, але потихеньку підʼїдає оперативку.

Напевно Sempron AMD 1.6GHz із 1GB-ом тієї під'їденої RAM.

javascriptIsLife написав:

Ага–ага. Написав після того як покористувався Cuppa яка під Android. А піктограма з Ktiatime.

Так це ще й плагіат! За таке в давні часи, можна було лишитись без рук.

31

(27 відповідей, залишених у Ваші проєкти)

javascriptIsLife написав:

В мене працює, але потихеньку підʼїдає оперативку.

Виправте помилку
Та й взагалі. Якийсь куций функціонал, хотілося б більшого:
- Нагадування про те, що потрібно "бабахнути" чаю;
- Вести БД сортів чаю за якою можна було б робити вибірки та проводити статистичний аналіз, чи хоча б вести примітивну бухгалтерію (Витрати на приготування чаю? Скільки пачок чаю потрібно закупити на тиждень, місяць, рік? Скільки затрачено електроенергії на підігрів води...)
- Гадання на "чайовій" гущі (не знаю чи таке є?)

32

(27 відповідей, залишених у Ваші проєкти)

https://replace.org.ua/uploads/images/10952/9376cfdd0595e6c7419c360c65405529.jpg
Щось вона не працює. Дивно

33

(27 відповідей, залишених у Ваші проєкти)

А для приготування вермішелі МІВІНА підійде?

34

(2 відповідей, залишених у C)

MaxPluto написав:

... Тобто при введенні 10 або -1 програма підтримує значення. ...

  /* ... */
  if (number >= 9 || number <= 0)
  {
      printf("Error! Values are unacceptable! \n");
      break;
   }
  /* ... */

Звичайно вона буде лишати ці числа 10 та -1, тому що це останнє, що запам'ятав number після BREAK.
Окрім тогоб, твоя умова не відповідає поставленому завданню:

MaxPluto написав:

Реалізувати заповнення двовимірного масиву числами 0 - 9

(За твоєю умовою ти первіряєш чи попадає number у [1..8]. Якщо FALSE, тоді BREAK;)

Якщо добре глянеш у конспекст, там має бути щось на зразок цього:

(N < 0 || N> 9) <--- ЧИ ---> !(N >= 0 && N <= 9) для [0..9]

І взагалі прибери IF, BREAK та викорстай третій вкладений цикл WHILE, DO..WHILE. Поки умова FALSE, тоді вводиш число до тих пір поки не буде TRUE.

35

(6 відповідей, залишених у Обговорення)

А єслі Ві чімась лішітесь незадаволєні, мі павєрнємо Вам ваші гроші жолудями

36

(11 відповідей, залишених у C++)

ijonhson написав:

А для вінди немає інструкції?

Тут дивись?. Та й зібрати її можна у Visual Studio?
Під Linux теж збирається. Без помилок.

ijonhson написав:

Ваша lib не працює на комуніті, можливо це через те що потрібно збирати borland-овським компілятором

Можливо. А що хоч виводить? Які помилки?

На жаль у мене не має " borland-овського компілятора" та й ставити його не хочеться заради однієї бібліотеки. Дивлячись вихідний код цієї бібліотеки можу сказати, що її сирці можна кинути до вашого проекту і не збираючи у бібліотеку. Там додати всього декілька файлів до проекту:

examples/serial_example.cc   
include/serial/serial.h
include/serial/v8stdint.h ---> Тут можуть бути нюанси із представлення цілого. У різних компіляторів по своєму...
include/serial/impl/unix.h
include/serial/impl/win.h
src/serial.cc
src/impl/unix.cc   
src/impl/win.cc

Як я і раніше говорив Serial - це лише оболонка над DCB structure написана на С++.

37

(24 відповідей, залишених у Залізо)

bebyk написав:

Мій ноут має вільне місце для HDD, думаю придбати, аби мати змогу зберігати більше даних.

Геть не пам‘ятаю, наскільки шумний HDD.  *PARDON*

Сучасні харди сильно гудять? І якщо так, я зможу його unmount на Лінупсі, аби не шкварчав?

У мене так. Коли HDD від монтований він не розкручує диск. Шумить тільки при старті.

38

(2 відповідей, залишених у Обговорення)

Дивлячись на те, які діти? Для маленьких початківців думаю краще почати Скретч

39

(11 відповідей, залишених у C++)

lucas-kane написав:
lucas-kane написав:

Для збірки тобі, ще знадобиться Python3 та https://catkin-tools.readthedocs.io/en/ … lling.html

Мушу вибачитись. Дав не той напрямок. Catkin

Ці два посилання - це один і той самий проект.
Друге посилання це ВІКІ ДОК. Спочатку я чомусь подумав, що це два різні проекти.

40

(11 відповідей, залишених у C++)

ijonhson написав:

Це якійсь грьобаний квест.... В мережі знайшов перелік причин через які виникає помилка , основна, немає ліб файлу. поліз у документацію, так треба перед використанням зібрати за допомогою cmake. Cmake не хоче компілювати через відсутність, або неможливість знайти catkin package що воно таке я й гадки не маю може допоможе хтось?

і так, перш ніж підключити її до свого проекту ти маєш її зібрати. для windows мають бути файли *.lib, а для unix-подібних систем *.so