Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как вытащить инфу из checkbox в запущенной програм 
:(
    Опции темы
rthsobakas
Дата 5.9.2009, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

Репутация: нет
Всего: -1



У  меня такой вопрос. Можно ли это ваще сделать или нет? Как вытащить инфу из checkbox в запущенной програме.
То есть объясняю.
Есть ехе фаил. Я на него дабл кликаю. И он(загрузочный модуль) грузится в память. Потом я в этой проге открываю дочернюю форму, а в ней есть элемент checkbox. Мне как -то надо вытащить все строки из него и записать в отдельный фаил.

То есть  если в чекбоксе например:
строка1
строка2
строка3

то это надо записать в фаил также.
Просто мне нужны эти строки,а переписывать их от руки не имеет смысла,так как их очень много.
Есть какой-нибудь выход из этой ситуации?
PM   Вверх
former
Дата 5.9.2009, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 5
Всего: 17



rthsobakas, сделай принт скрин, удали с изображения все ненужное и распознай с помощью FineReader.
Кстати, начиная с 8 версии (если я не ошибаюсь) с FineReader-ом идет утилита Screenshot Reader. Она решит твою проблему.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
rthsobakas
Дата 5.9.2009, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

Репутация: нет
Всего: -1



former, ха ха... Психоделичная идея  smile . Но тоже можно наверно.
PM   Вверх
THandle
  Дата 5.9.2009, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 65
Всего: 372



Можно попробовать как-нибудь так:

Код

procedure GetCBStrings(const AHandle: THandle; Strings: TStrings);
var
  Count: Integer;
  S: String;
  I: Integer;
  Len: Integer;
begin
  if not Assigned(Strings) then
    Exit;
  Count := SendMessage(AHandle, CB_GETCOUNT, 0, 0);
  if Count > 0 then
    for I := 0 to Count - 1 do
    begin
      Len := SendMessage(AHandle, CB_GETLBTEXTLEN, I, 0);
      SetLength(S, Len);
      SendMessage(AHandle, CB_GETLBTEXT, I, LParam(S));
      Strings.Add(S);
    end;
end;



AHandle - дескриптор ComboBox'а. Strings - список куда будут занесены строки ComboBox'а.
PM   Вверх
former
Дата 5.9.2009, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 5
Всего: 17



Цитата(rthsobakas @  5.9.2009,  20:24 Найти цитируемый пост)
former, ха ха... Психоделичная идея  smile . Но тоже можно наверно. 

Почему так сразу. Screenshot Reader-ом выделяешь область, которая тебе нужна и все, результат в буфере обмена.

Это сообщение отредактировал(а) former - 5.9.2009, 20:48


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Keeper89
Дата 5.9.2009, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



former, аналогично и сканером можно, думаю метод THandle автоматизирует задачу как надо - осталось теперь таким же образом найти все интересующие хендлы  smile 


--------------------
PM MAIL WWW   Вверх
former
Дата 5.9.2009, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 5
Всего: 17



Keeper89, сс точки зрения автоматизации, согласен. Но,
Цитата(rthsobakas @  5.9.2009,  12:23 Найти цитируемый пост)
Просто мне нужны эти строки,а переписывать их от руки не имеет смысла,так как их очень много.

Работа разовая, судя по задаче. Так что писать из-за этого программу не вижу смысла.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
rthsobakas
Дата 6.9.2009, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

Репутация: нет
Всего: -1



THandle, а как узнать  AHandle - дескриптор ComboBox'а.?
PM   Вверх
THandle
Дата 6.9.2009, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 65
Всего: 372



rthsobakas, через FindWindow(Ex). Поищи по форуму - примеров поиска различных окон приводилось огромнейшее количество.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0883 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.