Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.09.2012, 23:09
Аватар для Amgsys HQ
Amgsys HQ Amgsys HQ вне форума
Начинающий
 
Регистрация: 11.11.2011
Адрес: Загрузочный сектор
Сообщения: 115
Версия Delphi: 7, XE
Репутация: 538
По умолчанию Delphi и Java - обмен данными

Доброго времени суток!

Подскажите, пожалуйста, как реализовать обмен данными между
программами на Delphi и Java. Стороняя программа использует Java-пакеты
в качестве подключаемых модулей (плагинов).

P.S. Можно вариант для обмен простыми строковыми значениями, этого
будет достаточно. Если есть вариант обмена record'ами - приветствуется.

Пример: программа A1 (написанная на Delphi) запрашивает данные у
программы A2 (написанная на Java) в виде запроса (напр., "GetVersion").
Вторая должна обработать этот запрос и "отправить" ответ первой, как бы
это делалось через TCP-клиент и -сервер (но, к сожалению, данный
вариант c TCP не устраивает). И наоборот...

Заранее спасибо.
__________________
Работа пpогpаммиста и шамана имеет очень много общего:
оба боpмочyт непонятные слова, совеpшают непонятные действия и не могyт объяснить, как оно pаботает.

Последний раз редактировалось Amgsys HQ, 10.09.2012 в 23:28.
Ответить с цитированием
  #2  
Старый 11.09.2012, 09:43
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Сообщение от Amgsys HQ
Можно вариант для обмен простыми строковыми значениями, этого будет достаточно.
мониторить буфер обмена в потоке и создать своеобразный протокол обмена, чтобы не реагировать на обычные копипасты:
PHP код:
{
    
Clipboard clipboard Toolkit.getDefaultToolkit().getSystemClipboard();
    
Transferable transferable clipboard.getContents(null);
    try
    {
      
StringTokenizer t = new StringTokenizer((String)transferable.getTransferData(DataFlavor.stringFlavor), "\n");
      while(
t.hasMoreTokens()) 
      {
        
String s t.nextToken();
        ...
      }
    }
    catch (
Exception ex)
    {
    }
  } 
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 11.09.2012, 10:07
Аватар для Amgsys HQ
Amgsys HQ Amgsys HQ вне форума
Начинающий
 
Регистрация: 11.11.2011
Адрес: Загрузочный сектор
Сообщения: 115
Версия Delphi: 7, XE
Репутация: 538
По умолчанию

NumLock, оставим этот вариант на критическую ситуацию...

Почитал в инете про именованные каналы, возможно ли этим способом?
__________________
Работа пpогpаммиста и шамана имеет очень много общего:
оба боpмочyт непонятные слова, совеpшают непонятные действия и не могyт объяснить, как оно pаботает.
Ответить с цитированием
  #4  
Старый 11.09.2012, 10:19
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Amgsys HQ
Почитал в инете про именованные каналы, возможно ли этим способом?
Да пожалуйта, если из Java можно получить к ним доступ.

Цитата:
Сообщение от NumLock
мониторить буфер обмена в потоке и создать своеобразный протокол обмена, чтобы не реагировать на обычные копипасты:
Знаете вы, батенька, толк в извращениях
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #5  
Старый 11.09.2012, 10:21
stanilar stanilar вне форума
Прохожий
 
Регистрация: 31.08.2009
Сообщения: 30
Репутация: 140
По умолчанию

Если обе программы имеют окна, то можно через windows - сообщения. В винде есть функции по поиску хендла окна по заголовку.

Связывал так D и С++, полетело хорошо.
Ответить с цитированием
  #6  
Старый 11.09.2012, 10:25
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Цитата:
Сообщение от stanilar
Связывал так D и С++, полетело хорошо.
С Java не взлетит. Без извращений во всяком случае.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #7  
Старый 11.09.2012, 10:28
stanilar stanilar вне форума
Прохожий
 
Регистрация: 31.08.2009
Сообщения: 30
Репутация: 140
По умолчанию

Цитата:
Без извращений

В Java нет доступа к сообщениям?
Ответить с цитированием
  #8  
Старый 11.09.2012, 10:31
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

В Java нет доступа почти ко всей винде. Это цена "платформонезависимости".
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #9  
Старый 11.09.2012, 10:33
Аватар для ~TB~
~TB~ ~TB~ вне форума
Начинающий
 
Регистрация: 17.02.2006
Адрес: Казахстан
Сообщения: 172
Версия Delphi: XE
Репутация: 1500
По умолчанию

Еще одно извращение - можно юзать буферный файл. Реализуется в 6 секунд, правда быстродействия этого "метода" мягко говоря...
__________________
00110001 00101100 00110110 00110001 00111000 00110000 00110011 00110011 00111001 00111000 00111000 00110111 00110100 00111001 00111000 00111001 00110100 00111000 00110100 00111000 00110010 00110000 00110100 00110101 00111000 00110110 00111000 00110011 00110100 00110011 00110110 00110101 00110110
Ответить с цитированием
  #10  
Старый 11.09.2012, 11:06
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

У джавы наверняка есть какий-то API, для симбиоза с пользовательскими программами.

Про консоль.
http://i43.fastpic.ru/big/2012/0911/...f0a442c9a1.png
Оно не?
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию

Последний раз редактировалось M.A.D.M.A.N., 11.09.2012 в 11:10.
Ответить с цитированием
  #11  
Старый 11.09.2012, 11:25
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

не, ну можно JNI использовать, тогда вся кроссплатформенность в пролете.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #12  
Старый 11.09.2012, 11:58
Аватар для Amgsys HQ
Amgsys HQ Amgsys HQ вне форума
Начинающий
 
Регистрация: 11.11.2011
Адрес: Загрузочный сектор
Сообщения: 115
Версия Delphi: 7, XE
Репутация: 538
По умолчанию

Попробовал поискать еще раз в инете по именнованые каналы - ничего
нужно не нашел. Будем использовать пока сокеты, других вариантов не нахожу.
__________________
Работа пpогpаммиста и шамана имеет очень много общего:
оба боpмочyт непонятные слова, совеpшают непонятные действия и не могyт объяснить, как оно pаботает.
Ответить с цитированием
  #13  
Старый 11.09.2012, 12:29
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

http://www.delphimaster.ru/articles/...pes/index.html
смотрел?
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #14  
Старый 11.09.2012, 13:04
Аватар для Amgsys HQ
Amgsys HQ Amgsys HQ вне форума
Начинающий
 
Регистрация: 11.11.2011
Адрес: Загрузочный сектор
Сообщения: 115
Версия Delphi: 7, XE
Репутация: 538
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Вроде как натыкался на эту статью. Но нужна реализация на Java, если такая существует.
__________________
Работа пpогpаммиста и шамана имеет очень много общего:
оба боpмочyт непонятные слова, совеpшают непонятные действия и не могyт объяснить, как оно pаботает.
Ответить с цитированием
  #15  
Старый 11.09.2012, 13:45
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Amgsys HQ
Вроде как натыкался на эту статью. Но нужна реализация на Java, если такая существует.
Вот например
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:48.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter