Пятница, 26.04.2024, 10:48
| RSS
[SEARCH_TITLE]
[SEARCH_FORM]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Архив - только для чтения
Форум » Мастерская » Идеи, предложения и их реализация. » Создание своего терминала. На основе Delphi (Передача данных с помощью Rs-232)
Создание своего терминала. На основе Delphi
SpaceДата: Пятница, 05.03.2010, 00:52 | Сообщение # 46








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Quote (Dimsan)
Всё это можно реализовать, кроме видео, т.к скорости не хватит.

вот на робофоруме нашёл. не знаю на сколько хорошо работает, но делают такое
Прикрепления: 2548449.jpg (52.4 Kb) · 8834183.jpg (65.0 Kb)
 
DimsanДата: Суббота, 06.03.2010, 00:52 | Сообщение # 47








Язык программированя: Си, Делфи
Зарегистрирован 18.06.2009
Группа: Опытные
Сообщений: 252
Город: Херсон
Статус: Offline
Space, Кое-что сделал. Правда с самим кодом Ком-порта не разбирался. Протестируй(Сам не смог, т.к. временно нет Ком-порта под рукой)
Нужно ещё добавить синхронизацию между настройками порта и в настройке меню добавить обработку DTR, RTS,...
Я не понял, что ты имел в виду под Настройкой программы. Что там должно быть?
Завтра, я надеюсь, доделаем...
Прикрепления: Project.exe (989.5 Kb)
 
SpaceДата: Суббота, 06.03.2010, 10:34 | Сообщение # 48








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Quote (Dimsan)
Space, Кое-что сделал. Правда с самим кодом Ком-порта не разбирался. Протестируй(Сам не смог, т.к. временно нет Ком-порта под рукой)
Нужно ещё добавить синхронизацию между настройками порта и в настройке меню добавить обработку DTR, RTS,...
Я не понял, что ты имел в виду под Настройкой программы. Что там должно быть?

хорошо спасиб ща проверю. настройка программы это я потом сам сделаю. что то типо настройки шрифтов.

Добавлено (06.03.2010, 10:34)
---------------------------------------------
отлично работает. dance4 как надо. спасибо те огромное. скинь ещё исходник

 
SpaceДата: Суббота, 06.03.2010, 10:51 | Сообщение # 49








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Тут ещё есть нюанс. На днях делал заставку и хотел чтобы вместо стандартной иконки на exe была другая. Вообщем код нашёл всё сделал. Загружается, но не то не другое почему то не работает. Уже всё проверял не знаю в чём причина. Когда загружаю программу задержка в момент которой должа быть заставка есть, а самой заставки нет. Исходники ниже. С заставкой папка тож есть, отдельная, рабочая(на картинку не обращай внимания я потом её сменю, если заработает)
-собственно такая иконка должна была быть на exe.
Прикрепления: 1964523.jpg (104.8 Kb) · _ZIP-WinRAR.zip (3.18 Mb)
 
DimsanДата: Суббота, 06.03.2010, 11:04 | Сообщение # 50








Язык программированя: Си, Делфи
Зарегистрирован 18.06.2009
Группа: Опытные
Сообщений: 252
Город: Херсон
Статус: Offline
ЛС прочитай.
Заставка у тебя работает вроде.
А чтобы изменить иконку .ехе файла нужно зайти Project - Options - Application и там уже указать .ico файл - иконка.
 
SpaceДата: Суббота, 06.03.2010, 11:11 | Сообщение # 51








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Ок терь работает
 
DimsanДата: Суббота, 06.03.2010, 19:13 | Сообщение # 52








Язык программированя: Си, Делфи
Зарегистрирован 18.06.2009
Группа: Опытные
Сообщений: 252
Город: Херсон
Статус: Offline
Смотри.
Прикрепления: 7082878.rar (786.2 Kb)
 
SpaceДата: Суббота, 06.03.2010, 21:46 | Сообщение # 53








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
так нормик. терь осталось убрать лишние всё. То есть убрать меню PageControl
И вид будет такой:
Прикрепления: 6188681.jpg (41.8 Kb)
 
DimsanДата: Суббота, 06.03.2010, 22:43 | Сообщение # 54








Язык программированя: Си, Делфи
Зарегистрирован 18.06.2009
Группа: Опытные
Сообщений: 252
Город: Херсон
Статус: Offline
Тю, блин... Я долбался, чтобы те 2 окна показывали одинаковое, а оказывается одно лишнее...

Добавлено (06.03.2010, 22:43)
---------------------------------------------
Кстати. У меня на 128000 и 256000 Бод вылетает ошибка. Проверьте ещё кто-то.
И данные только 8 бит.

 
DoniakДата: Суббота, 06.03.2010, 23:20 | Сообщение # 55








Язык программированя: CodeVisionAVR Си
Зарегистрирован 19.03.2008
Группа: Модераторы
Сообщений: 584
Город: Кривой Рог (Днепропетровск)
Статус: Offline
Quote (Dimsan)
Кстати. У меня на 128000 и 256000 Бод вылетает ошибка. Проверьте ещё кто-то.
И данные только 8 бит.

скорость зависит от вашего ком порта. если он не поддерживает выставленную скорость будит вылетать ошибка. Максимально допустимую скорость можно посмотреть в диспетчере устройств найти свой ком порт и глянуть в его настройки.
 
SpaceДата: Суббота, 06.03.2010, 23:37 | Сообщение # 56








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
Quote (Dimsan)
Тю, блин... Я долбался, чтобы те 2 окна показывали одинаковое, а оказывается одно лишнее...

я думал ты понял, сам посуди нафигаж 2 одинаковые окна wink
менюшку та сделал временно и об этом вроде упоминал
 
DimsanДата: Суббота, 06.03.2010, 23:46 | Сообщение # 57








Язык программированя: Си, Делфи
Зарегистрирован 18.06.2009
Группа: Опытные
Сообщений: 252
Город: Херсон
Статус: Offline
Doniak, 128000 поддерживает, а вот 256000 действительно нет.
Space, ну ладно, не беда)
 
SpaceДата: Суббота, 06.03.2010, 23:58 | Сообщение # 58








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
не заморачевайся на счёт скоростей всё равно больше чем 19200 б/с мало кто использует
 
DimsanДата: Воскресенье, 07.03.2010, 22:10 | Сообщение # 59








Язык программированя: Си, Делфи
Зарегистрирован 18.06.2009
Группа: Опытные
Сообщений: 252
Город: Херсон
Статус: Offline
Тестируем последнюю версию)
Прикрепления: 690271012.rar (1.11 Mb)
 
SpaceДата: Вторник, 09.03.2010, 12:32 | Сообщение # 60








Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
короч проверил, всё работает кроме передачи команд, выводит в окно memo причём вместо одной цифры две(((
на счёт сохранения настроек идею подкинул MiBBiM:

Quote (MiBBiM)
идея - при выходе сохранять в ини-файле поля компонента tbcomport, а при загрузке восстанавливать.

Code
procedure TfrmMain.LoadConfigs;
const
      FileName = 'MBTerm.ini';
      MaxAmount = 16;
var
      ini: TINIFile;
      k,i: byte;
      s: string;
begin
      ini := TINIFile.Create(extractfilepath(Application.ExeName) + FileName);
      with ini do
      begin
        with frmMain do
        begin
        //MainForm position
          Left := ReadInteger('MainForm', 'Left', 100);
          Top  := ReadInteger('MainForm', 'Top',  100);
        //MainForm sizes
          Height := ReadInteger('MainForm', 'Height', 425);
          Width  := ReadInteger('MainForm', 'Width',  677);
        //MainForm state
          WindowState := TWindowState(GetEnumValue(TypeInfo(TWindowState),
            ReadString('MainForm', 'WindowState', 'wsNormal') ));
        end;

        //LoadCommands
        for i := 0 to MaxAmount - 1 do
        begin
          s := ReadString('CNames', inttostr(i), 'Error');
          if s <> 'Error' then
            sgComm.Cells[0,i] := s
          else
            break;
        end;

        k := i;
        setlength(commands, k);
        if k <> 0 then
          for i := 0 to k - 1 do
            commands[i] := ReadString('CComms', inttostr(i), 'Error');

        with ComPort do
        begin
          Port := ReadString('ComPort', 'Port', 'COM1');
          BaudRate := TBaudRate(GetEnumValue(TypeInfo(TBaudRate),
            ReadString('ComPort', 'BaudRate', 'br115200') ));
        end;
      end;
end;

procedure TfrmMain.SaveConfigs;
const
      FileName = 'MBTerm.ini';
var
      ini: TINIFile;
      i,am: shortint;
begin
      ini := TINIFile.Create(extractfilepath(Application.ExeName) + FileName);
      with ini do
      begin
        with frmMain do
        begin
        //MainForm position
          WRiteInteger('MainForm', 'Left', Left);
          WRiteInteger('MainForm', 'Top',  Top);
        //MainForm sizes
          WRiteInteger('MainForm', 'Height', Height);
          WRiteInteger('MainForm', 'Width',  Width);
        //MainFormState
          WriteString('MainForm', 'WindowState',
            GetEnumName( TypeInfo(TWindowState), ord(WindowState)) );
        end;

        with ComPort do
        begin
        //ComPort Main Feautures
          WriteString('ComPort', 'Port', Port);
          WriteString('ComPort', 'BaudRate',
            GetEnumName( TypeInfo(TBaudRate), ord(BaudRate)) );
        end;

        //SaveCommands
        am := high(commands);
        if am > -1 then
          for i := 0 to am do
          begin
            WriteString('CNames', inttostr(i), sgComm.Cells[0,i]);
            WriteString('CComms', inttostr(i), commands[i]);
          end;

      end;
end;

Quote (MiBBiM)

нужно подключить

Code
uses ..., TypInfo, inifiles

Quote (MiBBiM)
GetEnumValue,GetEnumName, TypeInfo - из первой либы
запись, чтение из ini - из второго.
получается примерно такой иник:

Code
[MainForm]
Left=670
Top=520
Height=425
Width=677
WindowState=wsNormal
[ComPort]
Port=COM1
BaudRate=br115200
[CNames]
...

Добавлено (09.03.2010, 12:24)
---------------------------------------------
Вот так работает:

Добавлено (09.03.2010, 12:32)
---------------------------------------------
если ни чего не видно, то скину оригинал на полный экран

 
Форум » Мастерская » Идеи, предложения и их реализация. » Создание своего терминала. На основе Delphi (Передача данных с помощью Rs-232)
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск: