Создание своего терминала. На основе Delphi
|
|
Space | Дата: Суббота, 13.03.2010, 00:22 | Сообщение # 61 |
Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
| Ура!!! Я смог сделать сохранение настроек порта. Единственное с чем не разобрался так это с тем, что не знаю как сохранить .ini файл в папку с самой программой, поэтому сделал сохранение на диск с. А по стандарту сохраняется в C:\WINDOWS\namefile.ini Думаю пока это окончательный вариант первой версии.
|
|
| |
Dimsan | Дата: Суббота, 13.03.2010, 11:40 | Сообщение # 62 |
Язык программированя: Си, Делфи
Зарегистрирован 18.06.2009
Группа: Опытные
Сообщений: 252
Город: Херсон
Статус: Offline
| Space, я не знаю каким способом ты создаёшь файл. Если используется Assign, то просто указываешь имя файла и всё. Он создастся в папке с программой. Если ещё как-то, то есть функция ExtractFilePath. http://www.delphibasics.ru/ExtractFilePath.php Посмотри, всё просто.
|
|
| |
Space | Дата: Суббота, 13.03.2010, 11:50 | Сообщение # 63 |
Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
| нажимаю кнопку сохранить настройки и всё. файл появляется на диске С под названием SaveOptionsPort.ini. При загрузке программы настройки автоматически восстанавливаются, если файл SaveOptionsPort.ini есть на диске С. А смотрел здесь библиотека inifiles подключена во-второй форме(настройки). Там весь код связанный с созданием ini файлаДобавлено (13.03.2010, 11:50) ---------------------------------------------
Code //******Процедуры******
procedure TOptionsPorts.ReadParams; begin IniFile:=TIniFile.Create('C:\SaveOptionsPort.ini'); // создаем переменную ComboBox1.ItemIndex:=IniFile.ReadInteger('OptionsPorts','ComboBox1ItemIndex',ComboBox1.ItemIndex); // выбранный пункт ComboBox2.ItemIndex:=IniFile.ReadInteger('OptionsPorts','ComboBox2ItemIndex',ComboBox2.ItemIndex); // выбранный пункт ComboBox3.ItemIndex:=IniFile.ReadInteger('OptionsPorts','ComboBox3ItemIndex',ComboBox3.ItemIndex); // выбранный пункт ComboBox4.ItemIndex:=IniFile.ReadInteger('OptionsPorts','ComboBox4ItemIndex',ComboBox4.ItemIndex); // выбранный пункт ComboBox5.ItemIndex:=IniFile.ReadInteger('OptionsPorts','ComboBox5ItemIndex',ComboBox5.ItemIndex); // выбранный пункт IniFile.Free; // если сами создаем, то сами уничтожаем. end;
procedure TOptionsPorts.WriteParams; begin IniFile:=TIniFile.Create('C:\SaveOptionsPort.ini'); IniFile.WriteInteger('OptionsPorts','ComboBox1ItemIndex',ComboBox1.ItemIndex); IniFile.WriteInteger('OptionsPorts','ComboBox2ItemIndex',ComboBox2.ItemIndex); IniFile.WriteInteger('OptionsPorts','ComboBox3ItemIndex',ComboBox3.ItemIndex); IniFile.WriteInteger('OptionsPorts','ComboBox4ItemIndex',ComboBox4.ItemIndex); IniFile.WriteInteger('OptionsPorts','ComboBox5ItemIndex',ComboBox5.ItemIndex); IniFile.Free; end;
|
|
| |
Dimsan | Дата: Суббота, 13.03.2010, 12:07 | Сообщение # 64 |
Язык программированя: Си, Делфи
Зарегистрирован 18.06.2009
Группа: Опытные
Сообщений: 252
Город: Херсон
Статус: Offline
| Замени в обеих процедурах IniFile := TIniFile.Create('C:\SaveOptionsPort.ini'); на IniFile := TIniFile.Create(extractfilepath(Application.ExeName) + 'SaveOptionsPort.ini');
|
|
| |
Space | Дата: Суббота, 13.03.2010, 12:12 | Сообщение # 65 |
Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
| ага. спасиб. заменил терь сохраняет как надо
|
|
| |
alien | Дата: Среда, 17.03.2010, 19:22 | Сообщение # 66 |
Язык программированя: С,C#,PHP,JS
Зарегистрирован 13.03.2010
Группа: Новички
Сообщений: 48
Город: Троицк
Статус: Offline
| Space, а как ты отправляешь в UART числа с плавающей точкой?
|
|
| |
Dimsan | Дата: Среда, 17.03.2010, 19:27 | Сообщение # 67 |
Язык программированя: Си, Делфи
Зарегистрирован 18.06.2009
Группа: Опытные
Сообщений: 252
Город: Херсон
Статус: Offline
| Здесь никак.
|
|
| |
alien | Дата: Среда, 17.03.2010, 19:35 | Сообщение # 68 |
Язык программированя: С,C#,PHP,JS
Зарегистрирован 13.03.2010
Группа: Новички
Сообщений: 48
Город: Троицк
Статус: Offline
| Да это ясен пень Я имел ввиду как с Мк отправляешь.
|
|
| |
Space | Дата: Среда, 17.03.2010, 22:23 | Сообщение # 69 |
Зарегистрирован 25.12.2007
Группа: Администраторы
Сообщений: 1103
Статус: Offline
| вот так Code Do Akb: Start Adc : Акб = Getadc(0) : Stop Adc Volt = 22.5 * Акб Volt1 = Volt * 10 Volt2 = Volt1 / 1023 Напряжение_Акб1 = Volt2 / 10 Напряжение_Акб = Напряжение_Акб1 ' - 0.06 Procent = Volt2 + 10 If Акб > 375 Then : Gosub 1 : Else : Gosub 2 : End If Input , Q If Q = 1 Then : Goto РаботаТерминала : End If Loop 1: Print : Print "Заряд аккумулятора 100%" : Waitms 500 Return 2: Print : Print "1-Возврат" : Print "Заряд аккумулятора состовляет " ; Procent ; "%" Print Напряжение_Акб ; " Вольт" : Waitms 500 Return
|
|
| |