Показано с 1 по 10 из 54

Тема: СПК1хх & Сокеты

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #33

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    я бы советовал не заниматься строками на прямую, а брать массив байт...
    Хорошо. Попробую этот метод.

    Создаю массив и указатель:

    arrDataSend : ARRAY[1..20000] OF BYTE; // Буфер для отправки
    wPointer : WORD := 0; // Указатель для накидывания новых строк в буфер

    wsLine01 : WSTRING := "Строка с кириллицей номер 01"; // Наша первая строка
    wsLine02 : WSTRING := "Строка с кириллицей номер 02"; // Наша вторая строка
    wsLine03 : WSTRING := "Строка с кириллицей номер 03"; // Наша третья строка

    Программа по склеиванию:

    // Первая строка:
    MEM.MemMove(ADR(wsLine01), ADR(arrDataSend[wPointer]), len(wsLine01));
    wPointer := wPointer + (len(wsLine01) * 2);

    // Вторая строка:
    MEM.MemMove(ADR(wsLine02), ADR(arrDataSend[wPointer]), len(wsLine02));
    wPointer := wPointer + (len(wsLine02) * 2);

    // Третья строка:
    MEM.MemMove(ADR(wsLine03), ADR(arrDataSend[wPointer]), len(wsLine03));
    wPointer := wPointer + (len(wsLine03) * 2);

    // Отправка на сервер:
    ...
    fbTcpWrite(xExecute:=TRUE, hConnection:=fbTcpClient.hConnection, pData:=ADR(arrDataSend), szSize:=wPointer);
    ...

    Указатель каждый раз инкрементируется на len*2 (из-за WSTRING) и каждая следующая строка начинает ложиться в буфер по новому значению.
    Тут есть вопрос: len не хочет отдавать длину строки, если она wstring. Видимо, len работает только со string. Какая функция отдаст длину wstring?

    И вообще, я правильно понял предложенную реализацию?
    Спасибо.
    Последний раз редактировалось ВладОвен; 12.12.2022 в 14:34.

Похожие темы

  1. UDP + Python + сокеты
    от БугиВуги в разделе Сетевые технологии
    Ответов: 0
    Последнее сообщение: 08.05.2020, 12:17
  2. PLC 110-30 v2 & сокеты
    от lazy в разделе ПЛК1хх [М02]
    Ответов: 50
    Последнее сообщение: 23.11.2018, 15:26
  3. ПЛК100 2.17 не работают сокеты
    от murdemon в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 02.07.2018, 21:15
  4. ПЛК100 + Сокеты
    от ribamuka в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 30.08.2017, 11:55
  5. Возможно ли в режиме эмуляции Codesys тестировать работу через сокеты TCP
    от Денис Бердяев в разделе Сетевые технологии
    Ответов: 2
    Последнее сообщение: 09.10.2014, 07:23

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •