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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 17.05.2009, 20:34
_Hattab_ _Hattab_ вне форума
Прохожий
 
Регистрация: 17.05.2009
Сообщения: 17
Репутация: 10
По умолчанию

Код:
object ADOQuery1: TADOQuery
    Connection = ADOConnection1
    Parameters = <>
    Left = 216
    Top = 184
  end 
Ответить с цитированием
  #17  
Старый 17.05.2009, 20:50
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

У меня пока больше идей нет.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #18  
Старый 17.05.2009, 20:57
_Hattab_ _Hattab_ вне форума
Прохожий
 
Регистрация: 17.05.2009
Сообщения: 17
Репутация: 10
По умолчанию

и на этом спасибо

но если что - нибудь появится - не стесняйтесь, пишите...
очень надо, а время поджимает...
буду рад любым советам
Ответить с цитированием
  #19  
Старый 17.05.2009, 21:01
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Тут уже только экспериментировать, а для этого надо вашу программу, вашу БД, ваш драйвер для связки с mySQL, вашу версию mySQL.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #20  
Старый 17.05.2009, 21:35
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Я юзаю для мускуля этот пак.
Прост в использовании, я на нём любую прогу за полчаса нарежу.
Думаю смастерить на нём подобие Навиката, но это в планах...

ЗЫ: Архив большой (>500Кб), сюда не заливается. Слил на свой сайт.
http://russiaonline.sytes.net/MySQL.rar
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #21  
Старый 18.05.2009, 01:23
_Hattab_ _Hattab_ вне форума
Прохожий
 
Регистрация: 17.05.2009
Сообщения: 17
Репутация: 10
По умолчанию

в общем решение найдено...
проблемы с сообщениями об ошибках - смена кодировки таблицы на UTF-8 (в самый последний момент вспомнил... млин...)
тестовый, но работоспособный вариант
вот код:
Код:
Var
                 Arr: Array of variant;
                  i: integer;
    begin

           i := 0;
           DataModuleUnit.ADOQuery1.SQL.Text:='select www from qqq';
           DataModuleUnit.ADOQuery1.Open;
           SetLength(Arr,DataModuleUnit.ADOQuery1.RecordCount);
           DataModuleUnit.ADOQuery1.First;
                           while not DataModuleUnit.ADOQuery1.eof   do 
begin
               Arr[i] := DataModuleUnit.ADOQuery1.FieldValues['www'];
                         memo3.lines.add(DataModuleUnit.ADOquery1.fieldbyname('www').asstring);
              DataModuleUnit.ADOQuery1.next;
                       Inc(i);
                         end;
end;

остается только написать разбор элементов массива на символы...

Последний раз редактировалось _Hattab_, 18.05.2009 в 01:25.
Ответить с цитированием
  #22  
Старый 18.05.2009, 01:53
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Разбивать и не потребуется, если вы смените тип элементов массива с variant на string, т.к. string по сути массив символов и к любому символу можно обращаться по его индексу.
Но вот накой бес вам на символы-то разбивать, я никак въехать немогу.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #23  
Старый 18.05.2009, 02:56
_Hattab_ _Hattab_ вне форума
Прохожий
 
Регистрация: 17.05.2009
Сообщения: 17
Репутация: 10
По умолчанию

может конечно и на самом деле не надо...

мне нужно найти присутствие символов записи столбца второй таблицы среди полученных эл-тов массива (код города и исходящий номер телефона)
т.е. в одной таблице у меня лежат телефонные коды городов и стран, а в другой таблице лежат записи из логов о звонках (кто,куда и сколько по времени и т.д)

я пока это так себе представляю
в двух словах: получил я массив А, элементы которого - исходящие телефонные номера. Например первым элементом будет запись 84951234567. Обращаемся к нему и раскладываем его по символам во второй массив Б. Затем со второго эл-та (отбрасываем код 8) сравниваем с записями второй таблицы(которая с кодами и стоимостью этого направления). Таким образом мы определим, что данный звонок был по такому-то направлению и минута разговора стоит столько-то. Затем в таблице1 смотрим сколько времени длился разговор - вычисляем стоимость звонка.
Вот такая у меня идея.
Хочу попробовать сделать.
Если подскажете какой-нибудь более рациональный алгоритм, я буду очень признателен.

В частности конечно интересует, как посоветуете сравнивать "напрямую" с записями кодов в таблице2. Если такое конечно возможно...

Последний раз редактировалось _Hattab_, 18.05.2009 в 03:16.
Ответить с цитированием
  #24  
Старый 18.05.2009, 09:46
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Так нафига разбивать по символам? Надо просто найти вхождение одного текста в другой, для этого функции Pos или PosEx вполне достаточно.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #25  
Старый 18.05.2009, 20:51
_Hattab_ _Hattab_ вне форума
Прохожий
 
Регистрация: 17.05.2009
Сообщения: 17
Репутация: 10
По умолчанию

можно...

а если использовать бинарный поиск в массиве?
как лучше сделать?
берем первый элемент массива звонков. PosEx'ом откидываем первый символ и проверяем вхождение кода в оставшийся номер. (кстати, PosEx проверяет точную последовательность символов или любой порядок?). Но тогда это будет последовательный перебор 500 элементов массива кодов...

Или можно ли как-нибудь в элементе массива "взять" только первые, допустим, 5 символов. и их бинарным поиском сравнить


Прошу прощения за возможно примитивно-глупые вопросы, но мой мозг уже теряет связь с реальностью, поэтому хотелось-бы узнать ваше мнение... ну и возможно что-нибудь по советуете...
Ответить с цитированием
  #26  
Старый 18.05.2009, 21:43
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Функция Pos и PosEx очень шустрые функции, незнаю какой они алгоритм для поиска используют, но скорости на обработку 500 элементов хватит с избытком. Я думаю, там и пол секунды небудет.
Или я чего-то непонимаю, или вы какими-то заморочеными путями идете.
У вас есть элемент массива, он же - строка. Найти в этой строке все вхождения какой-либо другой подстроки, элементарно. Например есть строка телефонного трафика вида:
Код:
S := '01.01.2009 16:00:00 Вх. 9353345668 4567789032 26';
и есть массив с предопределенными номерами
Код:
Const
Tel:Array[1..2] of string = ('4567789032','4567789134');
надо найти все вхождения из Tel в S:

Код:
for i := 1 to 2
do begin
    P := 1;
    while P>0
    do begin
        P := PosEx(Tel[i],S,P);
        if P > 0 then ShowMessage(Tel[i]);
        end;
    end;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #27  
Старый 18.05.2009, 21:46
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Если что-то непонятно, выйдите на меня по аське. Так будет попроще.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #28  
Старый 20.05.2009, 19:55
_Hattab_ _Hattab_ вне форума
Прохожий
 
Регистрация: 17.05.2009
Сообщения: 17
Репутация: 10
По умолчанию

Спасибо большое вам за ответы. Очень помогло. Все работает как надо...
С остальным пока вроде бы и у самого получается
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter