Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Lazarus, (linux!!!) IpHtmlPanel - как прокрутить вниз автоматом?

Хочу грузить Web-контент, чтобы сразу движок внизу был
Ответ:
 // load
 IpHtmlPanel1.Update;
 IpHtmlPanel1.Scroll(hsaEnd);

Кривовато, но работает.
Вопрос: Lazarus и mysql

Здравствуйте. в общем суть проблемы:
Имеется сервер mysql 5.5 на котором база данных с таблицей. Нужно подключиться с помощью лазаруса к бд и реализовать добавление изменение и удаление... но при этом чтобы производились определенные расчеты.
то есть, дано число начала действия определенной и услуги и окончания, и надо чтобы после добавление он автоматически просчитывал кол-во дней и по введенной стоимости выводил общую сумму в последний столбец. ДОбавление лучше чтобы реализовывалось отдельным окном без dbnavigtora. так же как и удалить и изменить.
Ответ: Вот, что нашел по первой ссылке в яндексе

TMySQL50Connection, TSQLTransaction, TSQLQuery – компоненты для работы с базой данных

Создайте пустой проект. В папку проекта необходимо скопировать библиотеку DLL для работы с MySQL. ( libmysql.dll)
Для подключения к базе данных необходимо для объекта MySQL50Connection1 указать адрес сервера (свойство HostName), название базы данных (свойство DatabaseName), имя пользователя (свойство UserName) и пароль для доступа к базе данных (свойство Password). Если Вы подключаетесь к базе данных на своем web сервере, значения этих свойств можно узнать у Вашего хостера. В моем случае я просто зашел в панель управления сайтом и скопировал все необходимые мне поля из соответствующего раздела.

Объекты класса TSQLQuery представляют собой наборы данных. В него загружается копия таблицы с сервера БД, с которой потом и осуществляется вся работа.

TSQLQuery поддерживает два принципиально разных способа доступа к данными: навигационный, который заключается в обработке каждой отдельной(текущей) записи(строки) таблицы; и реляционный, основанный на обработке сразу группы записей, посредствам SQL-запросов.
Вопрос: Подскажите (Delphi+Andriod+Web+DB)

Прошу совета куда смотреть (технологии, какой вебсервер, на чем писать) так как опыта в данном вопросе нет.

Есть желание сделать апликейшен под андроид с которого будут отсылаться сообщения (текст + данные (изображение)) на сервер (хостинг) через интернет. На сервере БД, в нее пишутся и отправляются считанные данные апликейшенам под андроидом.

Предположительное кол-во одновременно работающих клиентов порядка 100. Делать прямой доступ клинтам в базу мне видится очень плохой практикой. По этому необходимо написать какой-то мидлвейр, который будет осуществлять обмен данными между клиентами и базой данных.

Опыта написания подобного рода мидлвейра для вебсерверов нет.
Нужен совет в сторону каких технологий/языков смотреть для реализации описанного выше с учетом использования разных типов вебсерверов (LAMP/WAMP/IIS).
Ответ: Док,

Я видал игрушку на Lazarus, но Lazarus для Android не может делать полноценное GUI.
Вопрос: Как использовать камеру видеонаблюдения в Lazarus-е?

Пишу программу, которая должна контролироват (через COM-порт) состояние физических параметров объекта (температура, давление, уровень радиации и т.д.). Хотелось бы так же сделать на форме небольшое окно, в котором через видеокамеру можно было бы наблюдать за состоянием объекта и записывать это "кино", чтобы потом можно было всё проанализировать.
С видеонаблюдением вообще раньше дел не имел. Понимаю, что двумя - тремя строчками ответить на этот вопрос невозможно. Подскажите, где искать информацию.
Большое спасибо всем ответившим.
Ответ: тут даже понятие видеокамера не определено
аналог? цифра? web?
большинство совр. камер для видеонаблюдения имеют http доступ и можно вывести видео просто в окно браузера
Вопрос: Лазарус и БД

Здравствуйте, уважаемые форумчане, есть такая тема, Lazarus подключается к БД MySQL, все норм, все что надо это записывать в переменную результат запроса, типа "Select login from users where id = a", где a тоже переменная.
Если реализовать это не представляется возможным, может быть както можно реализовать выполнение PHP скриптов(Ну так чтоб не выгледело как web браузер), заранее спасибо!
Ответ: Огромное спасибо
Вопрос: TFPHTTPClient.FormPost и TStringList

Здравствуйте.
Столкнулся со странным поведением функции TFPHTTPClient.FormPost при отправке запроса, содержащего TStringList.
Например, в таком коде:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  PostData:= TStringList.Create;
  PostData.Clear;
 
  with TFPHTTPClient.Create(Nil) do
  try
    // заполнение списка
    PostData.Add('param1='+'1');
    PostData.Add('param2='+'');    
 
    FormPost('http://*адрес_сайта*/*имя_файла*.php',PostData);
    Free;
  except
    on e:Exception do
    Free;
  end;
 
  PostData.Free;      
Вместо пустого значения после 'param2=' подставляется значение, которое идёт выше, т.е. 1, хотя строка PostData.Text выглядит правильно: 'param1=1'#13#10'param2='#13#10.
Отсылаемый запрос выглядит так ...param1=1&param2=1

Если дописать значение после 'param2=', например:
Delphi
1
2
3
...
PostData.Add('param2='+'2');
...
то всё работает нормально.

Подскажите, пожалуйста, в чём может быть проблема.
Ответ: Проще всего - скопировать файл fphttpclient.pp из папки \lazarus\fpc\{version}\source\packages\fcl-web\src\base в папку с проектом, убедиться, что при наведении мыши на имя модуля подхватывается именно тот модуль, который лежит в папке с проектом:



после чего удалить все содержимое папки {project_name}\lib\{target} и пересобрать проект полностью. Тогда откомпилируется и будет использоваться в проекте именно этот, измененный файл.
Вопрос: Реализовать программу, эмулирующую внешний вид заданной экранной формы

1)Проанализировать заданную форму и выделить основные визуальные и не визуальные компоненты, используемые в ней;
2)Используя стандартные компоненты Lazarus, как можно ближе, повторить внешний вид диалоговых окон или приложений;
3)Полученная эмуляция окна должна быть полностью работоспособной (то есть меню отображаться, кнопки нажиматься, пункты выбираться);
4)Кнопки, не выполняющие никаких действий, должны выдавать соответствующее сообщение;
5)Необходимо эмулировать не только главную форму, но и все подчиненные;
6)Окна с отображением файлов, наполнять по своему усмотрению;
7)После реализации экранной формы, уметь описать работу каждого из используемых компонентов.
Эмуляция*LibreOffice*Writer: Сервис*→*Параметры (LibreOffice Writer/Web);
Ответ: вот
Вопрос: Парсер json - утечка памяти?

При обработке строки стабильно растёт используемая память. Попытка раскоментировать блок обрушивает программу с ошибкой сегментации. Как исправить? Я ожидал что метод free однозначно сработает, но тут видимо не создаётся экземпляр класса?

Pascal
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
program Project1;
 
uses
  fpjson,
  jsonparser;
 
var
  jData: TJSONData;
  jObject, jobj1, jobj2, jobj3: TJSONObject;
  s: string;
  a: longint;
 
begin
  for a := 1 to 1000000000 do
  begin
    jData := GetJSON(
      '{"response":{"count":86,"items":[{"id":340387,"from_id":-1,"owner_id":-1,"date":1453977294,"post_type":"post","text":"Два важных обновления для работы с сообществами:\n\n— cообщения сообщества теперь доступны через API; \n— групповые токены, которые позволяют совершать действия от имени группы без привязки к конкретному пользователю. \n\nС помощью API Сообщений Вы можете разработать мобильное приложение, чтобы пользователи быстрее получали ответ, а также интегрировать Сообщения в системы поддержки клиентов. Подробное описание представлено на странице vk.com\/dev\/bizmessages\n\nТакже сейчас в закрытом режиме проходит тестирование технологии, которая позволяет отправлять личные сообщения пользователям от имени вашего сообщества. Эти уведомления помогут вам в перспективе заменить оповещения посредством SMS и электронной почты.","attachments":[{"type":"photo","photo":{"id":400864382,"album_id":-7,"owner_id":-1,"user_id":100,"photo_75":"http:\/\/cs7008.vk.me\/v7008448\/63b19\/Hqp_DewDBaQ.jpg","photo_130":"http:\/\/cs7008.vk.me\/v7008448\/63b1a\/IGBmbqOrqVM.jpg","photo_604":"http:\/\/cs7008.vk.me\/v7008448\/63b1b\/O4UsaMm9XR8.jpg","photo_807":"http:\/\/cs7008.vk.me\/v7008448\/63b1c\/RkdHas0o8ag.jpg","photo_1280":"http:\/\/cs7008.vk.me\/v7008448\/63b1d\/Z2pA0wSqDLk.jpg","photo_2560":"http:\/\/cs7008.vk.me\/v7008448\/63b1e\/xCVoYX-SoII.jpg","width":2560,"height":1434,"text":"","date":1453985357,"access_key":"831bffed13e5df74a2"}}],"comments":{"count":0},"likes":{"count":223},"reposts":{"count":24}},{"id":340385,"from_id":-1,"owner_id":-1,"date":1452599544,"post_type":"post","text":"Методы для работы с товарами доступны для всех приложений: https:\/\/vk.com\/dev\/market\n\nВ объект сообщества https:\/\/vk.com\/dev\/fields_groups добавлено поле "market" с основной информацией о магазине, включающей контактные данные продавца для обратной связи по товарам.\n\nВ секции "photos" добавлены методы для загрузки фотографий к товарам: vk.com\/dev\/photos.getMarketUploadServer, vk.com\/dev\/photos.getMarketAlbumUploadServer, vk.com\/dev\/photos.saveMarketPhoto, vk.com\/dev\/photos.saveMarketAlbumPhoto\n\nВы можете добавлять, удалять, редактировать товар, управлять подборками товаров средствами API ВКонтакте. Новые методы позволят реализовать выгрузку товаров из Вашего каталога в сообщество ВКонтакте и организовать удобное взаимодействие с товарами в чужих сообществах для покупателей.\n\nОбратите внимание — для работы с методами этой секции при авторизации необходимо запрашивать новое право доступа "market" (+134217728). Использовать методы можно в приложении любого типа (Standalone, Flash\/iFrame, Web).","attachments":[{"type":"photo","photo":{"id":398383250,"album_id":-7,"owner_id":-1,"user_id":100,"photo_75":"http:\/\/cs628623.vk.me\/v628623179\/34112\/sLBTo4548Sw.jpg","photo_130":"http:\/\/cs628623.vk.me\/v628623179\/34113\/EBL5vRIx-Sg.jpg","photo_604":"http:\/\/cs628623.vk.me\/v628623179\/34114\/pgkjRw_eFmY.jpg","width":604,"height":604,"text":"Original: http:\/\/cs628623.vk.me\/v628623077\/3338d\/S5qNbghqOzk.jpg","date":1452599545,"post_id":340385,"access_key":"a7be789acdfb038991"}}],"comments":{"count":0},"likes":{"count":178},"reposts":{"count":17}},{"id":340384,"from_id":-1,"owner_id":-1,"date":1451033840,"post_type":"post","text":"","copy_history":[{"id":12,"owner_id":-104669514,"from_id":-104669514,"date":1450951280,"post_type":"post","text":"ВКонтакте проводит конкурс по разработке мобильных приложений для платформ Android, iOS и Windows Phone.\n\nСоздатели лучших приложений разделят между собой призовой фонд в размере 2 000 000 рублей, а также получат поддержку команды ВКонтакте в развитии своих продуктов.\n\nПодробное описание конкурса:\nvk.com\/page-104669514_49813789","signer_id":6492,"attachments":[{"type":"photo","photo":{"id":394979092,"album_id":-7,"owner_id":-104669514,"user_id":100,"photo_75":"http:\/\/cs628530.vk.me\/v628530492\/49c14\/2esrKm8_1LA.jpg","photo_130":"http:\/\/cs628530.vk.me\/v628530492\/49c15\/OX64xr77rLM.jpg","photo_604":"http:\/\/cs628530.vk.me\/v628530492\/49c16\/SsAZP9AcIvI.jpg","photo_807":"http:\/\/cs628530.vk.me\/v628530492\/49c17\/YwkFCo--0Kc.jpg","photo_1280":"http:\/\/cs628530.vk.me\/v628530492\/49c18\/1kQzDOhyAi8.jpg","photo_2560":"http:\/\/cs628530.vk.me\/v628530492\/49c19\/Xp9XA3XP6aQ.jpg","width":2560,"height":1669,"text":"","date":1450908005,"access_key":"f869141bbcec2b470a"}},{"type":"page","page":{"id":49813789,"group_id":104669514,"title":"Условия конкурса","who_can_view":2,"who_can_edit":0,"edited":0,"created":1446130755,"views":27448,"view_url":"http:\/\/m.vk.com\/page-104669514_49813789?api_view=528031aa15da2cf52ad388031aa68a"}}],"post_source":{"type":"vk"}}],"comments":{"count":0},"likes":{"count":137},"reposts":{"count":18}},{"id":340383,"from_id":-1,"owner_id":-1,"date":1447078985,"post_type":"post","text":"Если Вы используете Open API ВКонтакте на своем сайте (например, для отображения виджета комментариев или лайков) и храните копию openapi.js на своем сервере, пришло время обновить его версию. \n\nОбратите внимание! Предыдущие версии openapi.js с этого момента могут работать некорректно.","comments":{"count":0},"likes":{"count":232},"reposts":{"count":9}},{"id":340382,"from_id":-1,"owner_id":-1,"date":1438285204,"post_type":"post","text":"С сегодняшнего дня для использования доступен новый метод API — https:\/\/vk.com\/dev\/secure.addAppEvent \n\nС его помощью Вы можете разнообразить данные о достижениях, которые показываются друзьям пользователя в ленте «Активность друзей».\n\nПоддерживается 3 типа достижений — уровни (аналог secure.setUserLevel), очки, миссии. Вы можете добавить собственные миссии в настройках Вашего приложения, они станут доступны после проверки нашими модераторами.\n\nМы рекомендуем использовать именно secure.addAppEvent для работы со всеми типами достижений, включая уровни. Метод secure.setUserLevel далее относится к устаревшим.\n\nПодробное описание функциональности новой расширенной ленты активности друзей Вы можете найти в нашей документации: https:\/\/vk.com\/dev\/native_promo?f=Активность+друзей","attachments":[{"type":"photo","photo":{"id":376055770,"album_id":-7,"owner_id":-1,"user_id":100,"photo_75":"http:\/\/cs625819.vk.me\/v625819815\/3c659\/ujL9BgbGtYU.jpg","photo_130":"http:\/\/cs625819.vk.me\/v625819815\/3c65a\/5-RJNHaxBS8.jpg","photo_604":"http:\/\/cs625819.vk.me\/v625819815\/3c65b\/7S3WOj0OgMc.jpg","photo_807":"http:\/\/cs625819.vk.me\/v625819815\/3c65c\/N_9rCa4OzVc.jpg","width":716,"height":362,"text":"Original: http:\/\/cs625819.vk.me\/v625819971\/4810e\/MfjvARuhdTk.jpg","date":1438285205,"post_id":340382,"access_key":"cd2597921a6674f0b5"}},{"type":"link","link":{"url":"https:\/\/vk.com\/dev\/secure.addAppEvent","title":"","description":""}}],"comments":{"count":0},"likes":{"count":352},"reposts":{"count":29}}]}}');
    jObject := TJSONObject(jData);
    jobj1 := TJSONObject(jObject.FindPath('response'));
    jobj2 := TJSONObject(jobj1.FindPath('items[1]'));
    if jobj2 <> nil then
      s := jobj2.Get('text');
   { jdata.Free;
    jObject.Free;
    jobj1.Free;
    jobj2.Free;   }
  end;
  readln;
end.
      
Ответ: Помогло, а как это объясняется? То есть - нормальная в целом ситуация? Немного странно показалось что фри jData не происходит и утечки нет, при том что она явно с jObject не связана.
Вопрос: CEBIT 2017 - что будет интересного

Всем доброго времени суток,

21го поеду, для тех кто собирается посетить предлагаю в этой ветке собрать стенды/фирмы которые следует/интересно посетить.

тематика наша: Базы, программирование, железо, хобби итп

Кстати, по направлениям embarcadero, firebird, fpc, lazarus, платформо независимое программирование, новые веяния в программировании итп кто то будет?
Ответ:
Гаджимурадов Рустам
А вы каждый год там выставляетесь?

нет, я только посещаю CEBIT (пока )

для себя нарыл вот это пока:
Odoo Entwicklung / OpenERP Entwicklung Halle 5, Stand C60 ( Mehr Rus: oder Englisch: )
BBj: Für Desktop und Web entwickeln Halle 5, Stand F46 (Mehr Deteil )
Вопрос: Как завершить процесс, запущенный с RunCommand?

Здравствуйте! Вопрос, наверно, ламерский, но все же.

Я с помощью RunCommand запустил консольную команду, с помощью которой включил микрофон на web-камере. А вопрос: Как теперь его выключить, как остановить процесс??

если в терминале, то для этого надо нажать Ctrl+C. А как сделать это из моей программы?

Пробовал симулировать, как в Delphi, с помощью keybd_event. Не работает. Наверно, это чисто виндовая команда.
Ответ: Так, походу сработало. Но выключается процесс очень медленно.

Добавлено через 6 часов 35 минут
В продолжение темы. все же оставили RunCommand, а в Bush-команде прописали время ее работы.
Теперь возник вопрос: можно ли одновременно с runCommand запустить другой процесс (конкретно нужен таймер обратного отсчета).

Не до, не после Runcommand, а именно одновременно. Чтобы отобразить, как долго команда выполняется.