Уважаемые эксперты!! Прошу прощения если криво сформулирую вопрос. Есть несколько файло с расширением .TXT ,содержат однородную инфу в виде цифр проще говоря что то типа LOG файла в котором фиксируется дата и время какого либо действия программы.Подскажите как создать подобие БД так чтобы можно было выбирать инфу допустим по числам месяца. Заранее благодарен.С уважением Антон.
Добрый день, антон! Из файла считывать построчно информацию и смотреть, если в строке находится нужное число и т.п., то остальную часть строки добавлять в массив или еще куда. ------------------------------------------- Трудно сказать без самих файлов. Надо было хотя бы фрагмент файла вставить. Ответ отправлен: 07.01.2004, 20:35 Отправитель: Trubler Отвечает fs_more
Приветствую Вас, антон! Для "подобия" подойдет простое считывание записей из файла и проверка условия на дату записи. Легко реализуется в цикле. Ответ отправлен: 05.01.2004, 22:40 Отправитель: fs_more Отвечает Bob Johnson
Добрый день, антон! Вариант 1: читаешь весь файл в память, попутно преобразуя его из текстового формата в то, что нужно. А потом в памяти уже ищешь нужные данные. Не подходит, если файл может быть большого размера. Вариант 2: то же самое, но ищешь в процессе чтения и сразу отбираешь нужные записи. При этом для новой выборки надо будет перечитать файл.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 06.01.2004, 02:31 Отправитель: Bob Johnson Отвечает Pawel
Доброе время суток, антон! Есть много способов. Можно использовать поиск по фаилу с поиощью комманды POS(s,s1). Или например в фаиле первые 8 символов каждой строки-это дата. Тогда читаем строку берём первые 8 символов, переводим их в дату и сравниваем с условием.
Приложение: Ответ отправлен: 06.01.2004, 07:40 Отправитель: Pawel Отвечает Lot
Здравствуйте, антон! таблица типа: - int - real - data Вот по последнему полю будешь проводить SLQ запрос типа SELECT * FROM name_table WHERE pole3="need_data"; Ответ отправлен: 06.01.2004, 12:47 Отправитель: Lot Отвечает THE_PRO
Добрый день, антон! mojesh ispolzovat klass TIniFile (to est texnologiyu INI) Ответ отправлен: 06.01.2004, 16:39 Отправитель: THE_PRO Отвечает Boriss
Здравствуйте, антон! Практически "ручками": нужно анализировать строки, выделять дату и если совпадает с нужной, то остаток строки переносит в БД стандартными методами. Готовой процедуры для этого нет Ответ отправлен: 06.01.2004, 16:46 Отправитель: Boriss Отвечает sir henry
Доброе время суток, антон! Если этот файл имеет определенную структуру, типа: 12.12.2003 Оплачено 13.12.2003 Неоплачено 14.12.2003 Оплачено и так далее, то можно запись для считывания этой структуры из файла. Type TDateEvent = record date: TDateTime; Event: String; end; Далее, работать с этой записью. См. приложение. Поиск можно организовать путем последовательного считывания и сравнения с нужной датой.
Приложение: Ответ отправлен: 08.01.2004, 03:59 Отправитель: sir henry
Вопрос № 1223
На минутку вернемся к вопросу 1217 от 02.01.2004 (уточнения и благодарность). to Pawel >> уже было сказано, что код работает, токмо невсегда без ошибок. А ты тупишь, извини, конечно. Вроде бы вопрос был сформулирован четко, хотелось бы получить равноценный ответ. Енто раз. Теперь два - в указанный раздел реестра действительно заносится имя группы, однако информация эта не обновляется в режиме реального времени, а оттого ее нельзя считать полностью достоверной. (Я уже не говорю о том, что данный параметр можно найти под 2k, а под XP нельзя). to Bob Johnson >> Прав на все сто. Благодарю. Вот ведь незадача изначально я-таки прописал тот самый гетмем, однако вспомнив, что getmem заменен new (обе создают динамическую переменную и указатель на нее в блоке памяти) в соответствии с рекомандациями borland, пошел на поводу
у веяний моды. >> Как бывший эксперт >А чего ушел? Отъехал из города на n-ное число суток, приезжаю - мой аккаунт профессионала не работает. Спросил о Олега, он сказал, что видимо система удалила, за то что ответов не было. Вот такая грусная история.
Приветствую Вас, Idle Sign! "Вот такая грусная история." Теперь придется повторять подвиг Сизифа :))). У меня пару раз тоже такое было :)). Ответ отправлен: 08.01.2004, 04:08 Отправитель: sir henry Отвечает Bob Johnson
Добрый день, Idle Sign! > Вот такая грусная история. Да, с некоторой стороны это действительно недостаток системы. А ведь если бы не удаляла, наверное не так уж и много места тратилось бы на хранения информации об эксперте.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 09.01.2004, 03:35 Отправитель: Bob Johnson
Вопрос № 1224
ПРивеТ! Скажите, как сделать такое же меню как в Delphi7?
Доброе время суток, Кирилл! Ispolzuy Delphi7 Ответ отправлен: 06.01.2004, 16:29 Отправитель: THE_PRO Отвечает Boriss
Приветствую Вас, Кирилл! Уточните, пожалуйста, в чем сделать "таким же как в Delphi7"? Ответ отправлен: 06.01.2004, 16:43 Отправитель: Boriss Отвечает Pawel
Добрый день, Кирилл! Есть множество компонентов. Например "KsDev MediaPack v2.8.0 For Delphi And BCB" Полная версия весит 7,50 Mb, но и возможностей содержит много.
Ответ отправлен: 06.01.2004, 21:22 Отправитель: Pawel
Вопрос № 1225
Я хочу из программы передать картинку в CorelDraw. Создаю обект mExApp:=CreateOleObject(\'Coreldraw.Application\'); . . . mExApp.Visible:=true; а сам документ создать не могу, помогите (Сам Corel открывается а документа нет)
Приветствую Вас, Toha! У тебя должен быть класс типа _Documents или как-то подобно. Кроме того у приложения _Application должен быть метод New или Open (правда они могут быть и у документа). Идея в том, что ты должен создать документ и в нем открыть новый файл, или сразу создать и открыть, зависит от программистов в Corel-е.
Приложение: Ответ отправлен: 07.01.2004, 09:24 Отправитель: vitya Отвечает THE_PRO
Добрый день, Toha! Snachalo protestiruy vse eto na TOleContainer! Ответ отправлен: 07.01.2004, 09:36 Отправитель: THE_PRO Отвечает Pawel
Здравствуйте, Toha! Попробуй посмотреть пример в С:Program FilesBorlandDelphiDemosActiveXOleCtnrs С:Program FilesBorlandDelphiDemosActiveXOleAuto p>хочу из программы передать картинку в CorelDraw. p>а сам документ создать не могу Ты передаёшь комманду на создания документа или на открытие?
Ответ отправлен: 06.01.2004, 21:29 Отправитель: Pawel Отвечает Bob Johnson
Добрый день, Toha! Ну так используй какие-либо методы у объекта mExApp, чтобы передать ему то, что хочешь.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 09.01.2004, 03:35 Отправитель: Bob Johnson
Вопрос № 1226
Я создал свой маленький инсталятор, можно ли какнить отслеживать количество инсталяций (запуска программы).
Добрый день, Toha! Записывайте количество обращений в ресурсы программы. Правда это легко лечится с помощью патча. Ответ отправлен: 07.01.2004, 09:21 Отправитель: vitya Отвечает Boriss
Здравствуйте, Toha! Это будет несеръезно. Сам посуди: допустим у "него" CD только читающий ... А так, прописываешь в реестр параметр и увеличиваешь его при каждом запуске. Только этот прием даже чайники знают и обходят легко. Ответ отправлен: 08.01.2004, 20:02 Отправитель: Boriss Отвечает THE_PRO
Здравствуйте, Toha! Pri installyatsii zapisivay v reyestr integer znacheniye i pri kajdom zapuske progi uvelichivay yeqo na 1 Alqoritm dlya chaynikov: Pri zapuske proqrammi proveryayem estli v reyestre nash klyuch. Yesli net to sozdayem yeqo i zapisivayem tuda znacheniye 1, a yesli on(klyuch) yest to uvelichivayem yeqo znacheniye na odin(+1). Ответ отправлен: 07.01.2004, 09:33 Отправитель: THE_PRO Отвечает samum2000
Здравствуйте, Toha! Если инсталляция проводится с носителя типа CD, то отслеживать можно только количество установок на данную машину (через реестр или какой-нибудь файл). Если установка идет с дискет, то есть вариант прописывать это количество непосредственно в тело программы (через ресурсы, например) или в какой-нибудь файл на дискете непосредственно.
Ответ отправлен: 09.01.2004, 17:28 Отправитель: samum2000 Отвечает CJ
Приветствую Вас, Toha! При каждой инсталяции пиши в какой нить файл на пример 1! А потом сощитай все 1! Ответ отправлен: 06.01.2004, 21:35 Отправитель: CJ Отвечает Pawel
Доброе время суток, Toha! Можно!!! Напимер создать в ...Windows фаил. куда и записывать данные, или можно писать данные в реестр.
Ответ отправлен: 06.01.2004, 21:36 Отправитель: Pawel Отвечает sir henry
Приветствую Вас, Toha! Можно создать ключ в реестре для инсталлятора и инкрементировать его при каждом запуске. Ответ отправлен: 08.01.2004, 04:24 Отправитель: sir henry
Вопрос № 1227
Вот у компонента mainmenu обычный вид, а мне надо что бы был вид как в главном меню Delphi7!
Приветствую Вас, Kirill!K omponent "TActionMainMenuBar" s paneli "Additional" v D7. Ответ отправлен: 07.01.2004, 09:29 Отправитель: THE_PRO Отвечает Pawel
Приветствую Вас, Kirill! Компонент KsDev MediaPack v2.8.0 For Delphi And BCB Ответ отправлен: 06.01.2004, 21:44 Отправитель: Pawel Отвечает samum2000
Приветствую Вас, Kirill! Для этого придется использовать ActionManager, а не MainMenu. И не забудь выбрать для него соответствующую цветовою палитру. Ответ отправлен: 09.01.2004, 17:28 Отправитель: samum2000 Отвечает Bob Johnson
Здравствуйте, Kirill! Используй сторонние компоненты вроде TToolBar2000
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 09.01.2004, 03:36 Отправитель: Bob Johnson Отвечает Boriss
Приветствую Вас, Kirill! Еще можно поместить CoolBar с закладки Win32, на нее ToolBar. Для CoolBar устанавливаете ShowText в TRUE, на для ToolBar - Flat в TRUE. Затем правой кнопкой на ToolBar - NewButton. Получится как меню, но нужно еще определить PopupMenu - в нем определить пункты меню (удобнее через Action). И это Popup нужно записать для кнопки, которая теперь меню, в свойство DropdownMenu. Получается точь-в-точь, как меню Delphi Ответ отправлен: 09.01.2004, 11:17 Отправитель: Boriss Отвечает _vt
Добрый день, Kirill! Скачиваешь компонент ToolBar2000 и компонент TBX одной версии. Ставишь - получаешь меню как в OfficeXP, Delphi7 и др.
--- E-Man 1.5+ : Happy New Year!
Ответ отправлен: 10.01.2004, 08:23 Отправитель: _vt
Вопрос № 1228
Как из компильного swf вырезать swf! Типа из exe в swf! Пришлите код, я еще надумал такой алгоритм! - открываешь исследуемый файл; - переходишь сначала на смещение 5С000h и читаешь три байта. Если это слово "FSW" то возвращаешься обратно на три байта, создаешь новый файл и копируешь в него исследуемый файл с текущей позиции и до конца; - если слова не нашел, переходишь на смещение 0С8000h и повторяешь то что написано выше; - если и на втором смещении строка не найдена значит это неправильный файл.
Доброе время суток, Kirill! Vrode bi tvoy alqoritm doljen rabotat Ответ отправлен: 07.01.2004, 09:27 Отправитель: THE_PRO Отвечает Bob Johnson
Здравствуйте, Kirill! > Пришлите код, я еще надумал такой алгоритм! Ну-ну :))))
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 09.01.2004, 03:36 Отправитель: Bob Johnson
Вопрос № 1229
Приветствую Вас. У меня к Вам несколько вопросов: 1. B TImage загружен рисунок BMP или WMF или JPG. Как определить цвет нужного мне пиксела, в виде #ff0000 или в привычном "clRed" например? 2. Где можно достать функцию перевода векторного изображения в растровое?
Добрый день, Oleg! 1) Не помню точно, но если у TImage есть свойство Canvas, то можно через Canvas.Pixels[xxx,xxx] узнать цвет любого пиксела как TColor. Дальше см. хелп по функциям работы с цветом. 2) Можно загрузить векторную картинку в тот же TImage, а потом обратиться к нему как к BitMap. У последнего есть свойство Canvas... Ответ отправлен: 07.01.2004, 17:44 Отправитель: fs_more Отвечает Pawel
Доброе время суток, Oleg! если это jpg,wmf то надо преобразовать в BMP (см.приложение ) при сохранении можно преобразовать обратно. Чтобы узнать цвет пикселя Image1.Canvas.Pixels[1,1]=clColor
Приложение: Ответ отправлен: 07.01.2004, 10:56 Отправитель: Pawel Отвечает THE_PRO
Приветствую Вас, Oleg! 1) TImage->Canvas->Pixels[x,y]:TColor; Ответ отправлен: 07.01.2004, 09:26 Отправитель: THE_PRO Отвечает sir henry
Добрый день, Oleg! 1. TCanvas.Pixels[X, Y] - содержит значение типа TColor для указанного пикселя.
Ответ отправлен: 08.01.2004, 04:51 Отправитель: sir henry Отвечает Bob Johnson
Доброе время суток, Oleg! 1. TImage.Picture.Bitmap.Scanline [n]; 2. Векторное изображение в растровое перевести можно так: нарисовать его где угодно (в каком-либо PaintBox'е например), затем скопировать графическую информацию из этого PB в какой-либо TBitmap в памяти.
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 09.01.2004, 03:36 Отправитель: Bob Johnson
Вопрос № 1230
Привет! Есть скрипт cgi`ный. Как через дельфи ему послать данные и соответственно получить их от него?
Здравствуйте, maDByte! Komponent TWebBrowser Ответ отправлен: 08.01.2004, 09:49 Отправитель: THE_PRO Отвечает Bob Johnson
Добрый день, maDByte! В стандартном HTTP запросе: GET /path_to_script_on_the_remote_computer/script_name?param1=value1¶m2=value2¶m3=value3&... HTTP/1.1 Host: _name_of_required_host [два символа CR+LF]
* EMan1.5: ---===*** The game we play ***===---
Ответ отправлен: 09.01.2004, 03:36 Отправитель: Bob Johnson
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.