Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 3

Модерирует : ShIvADeSt

ShIvADeSt (07-04-2008 02:27): продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=9383  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Через RegisterHotKey регистрируешь горячую клавишу (посмотри как сделать глобальный хоткей - где то уже было), а потом при событии горячки генерируешь событие на клавиатуру через keybd_event - это точно было, сам давал куски рабочего кода, так что фильтр и вперед

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:16 21-05-2007
JonyBes

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Перетаскивание с помощью мыши между listbox-сами
Делаю так  
Ставлю у обоих ListBox DragMode = dmAutomatic
 
В onDragOver у ListBox1 пишу
Accept := Source = ListBox2
 
В onDragOver у ListBox2 пишу
Accept := Source = ListBox1
 
В onDragDrop у ListBox1 пишу:
if (Source = ListBox2) and (ListBox2.ItemIndex >= 0) then
ListBox1.Items.Insert(ListBox1.ItemAtPos(Point(X,Y), true), ListBox2.Items[ListBox2.ItemIndex]);
 
В onDragDrop у ListBox2 соотвественно:
 
if (Source = ListBox1) and (ListBox1.ItemIndex >= 0) then
ListBox2.Items.Insert(ListBox2.ItemAtPos(Point(X,Y), true), ListBox1.Items[ListBox1.ItemIndex]);
 
Нужно сделать так, чтобы при перетаскивании из Л1 строка изчезала в Л2 появлялась.
Как победить?

Всего записей: 371 | Зарегистр. 29-11-2004 | Отправлено: 13:51 21-05-2007
Mandor Sawall

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
JonyBes

Цитата:
Нужно сделать так, чтобы при перетаскивании из Л1 строка изчезала в Л2 появлялась.

Не понял... когда надо изчезнет строку - после перемещение, или...?
 
Добавлено:
JonyBes
Если простое перетаскивание, что мешает сделать так:

Код:
 
if (Source = ListBox1) and (ListBox1.ItemIndex >= 0) then
begin
  ListBox2.Items.Insert(ListBox2.ItemAtPos(Point(X,Y), true), ListBox1.Items[ListBox1.ItemIndex]);
  ListBox1.Items.Delete(ListBox1.ItemIndex);
end;
 

Всего записей: 119 | Зарегистр. 20-03-2003 | Отправлено: 15:16 21-05-2007
JonyBes

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как загнать список папок в заданном каталоге.
Просмотрел все форум, ответа не нашел. Мне нужен простой способ найти только папки первого уровня в нужном коталоге и все!

Всего записей: 371 | Зарегистр. 29-11-2004 | Отправлено: 16:51 21-05-2007
Solnake



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
JonyBes
DirectoryListBox на вкладке Win 3.1
 
Добавлено:
Есть еще вот такая вот процедурка

Код:
// список содержимого папки
procedure ScanDir(StartDir, Mask: string; aList: TStrings);
var
  SearchRec: TSearchRec;
begin
  if Mask = '' then
    Mask := '*.*';
  if StartDir[Length(StartDir)] <> '\' then
    StartDir := StartDir + '\';
  if SysUtils.FindFirst(StartDir + Mask, faAnyFile, SearchRec) = 0 then
  begin
    repeat Application.ProcessMessages;
      if (SearchRec.Attr and faDirectory) <> faDirectory then
        aList.Add(StartDir + SearchRec.Name)
      else
      if (SearchRec.Name <> '..') and (SearchRec.Name <> '.')then
      begin
        aList.Add(StartDir + SearchRec.Name + '\');
        ScanDir(StartDir + SearchRec.Name + '\', Mask, aList);
      end;
    until SysUtils.FindNext(SearchRec) <> 0;
    SysUtils.FindClose(SearchRec);
  end;
end;
 

Ищет все начиная с указаной папки. Модифицируйте под то что вам нада.

----------
Я не страдаю манией величия, я ею наслаждаюсь(с)

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 17:03 21-05-2007 | Исправлено: Solnake, 17:18 21-05-2007
JonyBes

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Почему listbox помимо нужной информации содержит мусор какой-то
Вот что я получаю в отладчике:
rzListBox6.Items.Text    '06-107049-09'#$D#$A
поэтому сравнения типа
     if rzListBox6.Items.Text<>sr.Name then
       rzListBox1.Items.Add(sr.Name);
 работаю не корректно
 Как это победить?

Всего записей: 371 | Зарегистр. 29-11-2004 | Отправлено: 17:37 21-05-2007
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
JonyBes
ListBox.Items.Text содержит в виде многострочного текста текстовки всех итемов, в конце каждой строки стоит перевод строки (#13#10 или #$D#$A).
А побеждать... смотря что ты хочешь сделать: что такое sr? как должен себя вести алгоритм в случае если в листбоксе несколько строк? Если надо убрать перевод строки в конце используй Trim()

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 20:23 21-05-2007
makbeth

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
JonyBes
Может тебе подойдет во это:

Цитата:
if rzListBox6.Items.IndexOf(sr.Name) < 0 then
       rzListBox1.Items.Add(sr.Name);

Всего записей: 241 | Зарегистр. 08-12-2004 | Отправлено: 06:15 22-05-2007
JonyBes

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
makbeth
Спасибо решение как раз то что надо!

Всего записей: 371 | Зарегистр. 29-11-2004 | Отправлено: 09:22 22-05-2007
ArtemiyUO

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята может быть у кого то есть HYPERSTR (желательн оверсию попозднее, последня я про которую слышал v6.03) ?
В интернете просто катастрофа какая то -не найти.
Интересуют функции нечеткого сравнению строк (те которые есть медленные)
 
Добавлено:
Выковарял как бы функцию similar с какогото китайского сайта.

Всего записей: 539 | Зарегистр. 12-12-2005 | Отправлено: 10:03 22-05-2007
MOO123

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt
А мож код еще раз написать если не влом)

Всего записей: 27 | Зарегистр. 31-03-2007 | Отправлено: 14:38 22-05-2007
JonyBes

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как отследить новый файл в каталоге если даты изменения и создания у файлов остаются родные, т.е. по дате искать невозможно.
 То что файл пришел фиксирую с помощью dcFolderMonitorа из набора компонент Disk Controls. Что делать дальше  ?  
  Общая задача такая - В каталоге куча папок с файлами, если в каталог пришел новый файл то скопировать его в другой каталог.

Всего записей: 371 | Зарегистр. 29-11-2004 | Отправлено: 18:12 22-05-2007
oan42



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ArtemiyUO
У меня только HyperString v6.0,  там есть функция similar (на ассемблере).

Всего записей: 488 | Зарегистр. 03-08-2004 | Отправлено: 18:38 22-05-2007
SERGE_BLIZNUK

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
JonyBes
Цитата:
Общая задача такая - В каталоге куча папок с файлами, если в каталог пришел новый файл то скопировать его в другой каталог.

Кроме даты модификации, ещё есть  Дата Создания - проверьте, если она изменяется, тогда выбирайте по ней (TSearchRec.FindData.ftCreationTime : TFileTime,
или, если нужно TDateTime - тогда  
FileTimeToLocalDateTime( SearchRec.FindData.ftCreationTime )

Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 05:49 23-05-2007
Solnake



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
JonyBes
Вот как это примерно делается [?]

----------
Я не страдаю манией величия, я ею наслаждаюсь(с)

Всего записей: 826 | Зарегистр. 16-09-2004 | Отправлено: 09:25 23-05-2007
Stas001

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ХАЙ
 
Народ подскажите как реализовать такую штуку: в RichEdit нада удалить все строки которые находятся между двумя пустыми, причем пустые строки трогать не нада.... Что то не выходит
 
Заранее спасибо....

Всего записей: 1 | Зарегистр. 23-05-2007 | Отправлено: 16:32 23-05-2007
rutra13



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день. Подскажите поржалуста как в Delphi можно реализовать FFt преобразование, может существуют библиотеки? Может существуют некии модули спектроанилизаторы?

Всего записей: 28 | Зарегистр. 08-11-2005 | Отправлено: 18:17 23-05-2007
killerbeanjeka

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rutra13
 
вроде то что тебе надо, но код не проверял
 
unit Demo [?]
 
unit cplx [?]
 
unit cplxfft1 [?]

Всего записей: 86 | Зарегистр. 27-09-2006 | Отправлено: 18:25 23-05-2007 | Исправлено: killerbeanjeka, 18:35 23-05-2007
MAXAOH

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По ошибке использовал в названии таблицы зарезервированное слово "User", из-за чего не работали запросы.
Создал новый Table и DataSource, прописал путь к новой таблице "Useres".  При запуске запроса Delphi начинает ругаться что нет файлов "Useres.DB", "Useres.DBF", "Useres.txt", "Useres" в каталоге. Все таблицы находятся в каталоге Data. При копировании этих файлов в каталог все работает! В чем может быть проблема? (такое происходит именно при запросе)

Всего записей: 51 | Зарегистр. 11-05-2006 | Отправлено: 18:48 23-05-2007
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
в запросе написать имя таблицы толи в кавычках, толи в квадратных скобках. И отказаться от BDE

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 19:32 23-05-2007
   

Страницы: 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 3
ShIvADeSt (07-04-2008 02:27): продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=9383


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru