Вопрос № 31167: Здравствуйте ув. эксперты!!
Возможно мой вопрос и не нов но всетаки - помогите!!
Есть опыт работы с Делфи,могу быстро сделать БД,
но вот как организовать работу с БД в Делфи??
Есть простая БД со связями, нужен интерфейс работы с ней...Вопрос № 31170: Здравствуйте эксперты !
Вопрос такой мне нужно при запуске моей проги запихать в listbox поддиректории(но не файлы) определённой папки подскажите как это сделать.
з.ы. компоненты не предлогать ...Вопрос № 31183: Доброго времени суток уважаемые эксперты! Подскажите пожалуйста, как найти все каталоги на диске и создать пункты с ссылками на них в PopUpMenu? Зарание спасибо!!!...Вопрос № 31186: Приветствую Вас дорогие эксперты!
Идёт вывод информации на компонент TMemo(неважно откуда :-)).
Надо всю эту информацию записывать в файл.
Вся информация должна оставаться в файле после каждого сеанса работы.
Т.е. включили, заноси...Вопрос № 31192: как в XP скрыть процесс из диспетчера задач вкладка процессы.
Я Дмитрий Албегов ...
Вопрос № 31.167
Здравствуйте ув. эксперты!!
Возможно мой вопрос и не нов но всетаки - помогите!!
Есть опыт работы с Делфи,могу быстро сделать БД,
но вот как организовать работу с БД в Делфи??
Есть простая БД со связями, нужен интерфейс работы с ней.
Желательно без доп компонент вроде БДЕ, так как я собираюсь ее распространять,
Что использовать?? Как? Маленький пример... В каком формате хранить БД?
Чем преобразовывать в этот формат? Чем просматривать?
Отвечает: sir henry
Здравствуйте, Болотов Сергей!
Все что здесь будет написано вряд ли поможет Вам. Судя по вопросам, Вы имеете только поверхностное представление о работе с БД. В рамках консультации полностью ответить Вам невозможно.
Купите книгу по работе с БД в Дельфи, например: Фаронов В. "Программирование баз данных в Delphi". Там исчерпывающе излагаются сведения для начала работы с БД. Причем как БД файлового типа, так и SQL сервером БД.
Работа с БД идет через специальные компоненты: компоненты связи с БД, компоненты отображения данных, компонент построения отчетов и т.п.
"Без дополнительных компонент" - понятие притянутое за уши. Если Вы работаете не через BDE, то Вы будете работать через ADO (например). Может так случится, что на машине клиента ADO не стоит, следовательно придется все равно качать и устанавливать ADO как дополнительный компонент.
Допустим Вы решите использовать InterBase. Для работы с ней не нужны ни BDE, ни ADO, зато нужно устанавливать дополнительный компонент - сервер БД InterBase.
Формат хранения БД на этапе изучения работы с БД совершенно не важен, можете использовать любой на Ваше усмотрение. В дальнейшем формат будет зависеть от специфики задачи.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 09.12.2005, 20:57
Отвечает: Zubex
Здравствуйте, Болотов Сергей!
Могу посоветовать БД FireBird, и компонент для работы с ней (без BDE и ADO) - FIBPlus.
--------- Если не знаешь что сказать - лучше промолчи...
Ответ отправил: Zubex (статус: 3-ий класс)
Отправлен: 12.12.2005, 09:51
Вопрос № 31.170
Здравствуйте эксперты !
Вопрос такой мне нужно при запуске моей проги запихать в listbox поддиректории(но не файлы) определённой папки подскажите как это сделать.
з.ы. компоненты не предлогать
Отправлен: 09.12.2005, 21:11
Вопрос задал: Dimon007 (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: sir henry
Здравствуйте, Dimon007!
Для этого Вам нужно с пмомщью связки функций FindFirst()\FindNext(), шаблона *.* и дополнительного аттрибута faDirectory составить список названий и выделяя из этого списка маской faDirectory только подкаталоги, заносить их название в ListBox.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 10.12.2005, 05:07
Отвечает: Schmak
Здравствуйте, Dimon007!
При помощи FindFirst/FindNext. Пример см. в приложении.
Приложение:
--------- Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Студент)
Отправлен: 11.12.2005, 09:29
Вопрос № 31.183
Доброго времени суток уважаемые эксперты! Подскажите пожалуйста, как найти все каталоги на диске и создать пункты с ссылками на них в PopUpMenu? Зарание спасибо!!!
Отправлен: 10.12.2005, 04:04
Вопрос задал: MaCC (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: sir henry
Здравствуйте, MaCC!
Найти можно с помощью связки функций FindFirst()\FindNext().
Однако я сильно сомневаюсь в целесообразности создания на этой основе Popup-меню. У меня на диске, например, около 40 тысяч каталогов. Представляете, какое это будет меню. Подумайте хорошенько. Меню создавать целесообразно, если там не больше десятка пунктов.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 10.12.2005, 05:14 Оценка за ответ: 5 Комментарий оценки: Спасибо огромное sir henry за ответ и за то что наставили меня на путь истинный. Я действительно не учёл того, что у некоторых пользователей может быть подобное количество каталогов. Признаю свою ошибку и постараюсь больше не задавать глупых вопросов.
Отвечает: Schmak
Здравствуйте, MaCC!
А насколько разумно выводить все каталоги компа в меню (Их же много!!!:)). Поддиректории одного каталога ещё куда не шло. Вот пример для вывода в Listbox, переделать на вывод в menu думаю не составит труда.
Приложение:
--------- Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Студент)
Отправлен: 11.12.2005, 09:29 Оценка за ответ: 4 Комментарий оценки: Большое спААААААААААсибо!
Вопрос № 31.186
Приветствую Вас дорогие эксперты!
Идёт вывод информации на компонент TMemo(неважно откуда :-)).
Надо всю эту информацию записывать в файл.
Вся информация должна оставаться в файле после каждого сеанса работы.
Т.е. включили, заносится в файл информация первого сеанса, выключили потом снова вкл. (второй сеанс) заносится в фаил информация второго сеанса и после выключения в файле остаётся информация как первого сеанса и второго так и последующих.
P.S. Про создание файла, дескрипторы файла и всё такое можно не рассказывать, а вот секреты работы TMemo обязательно расскажите.
Отправлен: 10.12.2005, 07:14
Вопрос задал: Vbhjndjhtw (статус: 6-ой класс)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Romodos
Здравствуйте, Vbhjndjhtw! >P.S. Про создание файла, дескрипторы файла и всё такое можно не рассказывать, >а вот секреты работы TMemo обязательно расскажите.
Не понял, а в чём тогда трабла то??
Просто пишем цикл и в нем посточно сохраняем memo.lines[i] в файл.
--------- FAQ me off!
Ответ отправил: Romodos (статус: Студент)
Отправлен: 10.12.2005, 07:36 Оценка за ответ: 5 Комментарий оценки: Вот и пошёл разговор.
Как задать динамический массив в этом случае? Мы ведь незнаем скока "линесов" будет.
P.S.Тема в том, что на мемо выводится информация с навигационного спутника. И там этой информации не меренно.
Отвечает: sir henry
Здравствуйте, Vbhjndjhtw!
Да, в принципе, никакого секрета там нет. :)
Можно сохранять каждый сеанс в отдельном файле. Тагда будет все очень просто:
Memo1.Lines.SaveToFile('Имя_файла.txt');
Файл при этом создавать не надо, он создается, а потом закрывается автоматически.
Если нужно заносить каждый сеанс в один и тот же файл, не стирая предыдущих записей в нем, то процедура несножко усложняется:
var
f: TextFile;
i: integer;
Begin
AssignFile(f, 'Имя_файла.txt');
Append(f); {Открываем файл для ДОБАВЛЕНИЯ строчек в конец}
WriteLn(f, '****************************'); {Отделяем предыдущий сеанс для красоты :) }
WriteLn(f, 'Сеанс № ', SeansNumber, ' ', DateTimeToStr(Now)); {Заносим номер сеанса, дату, время, чтобы потом найти его}
For i:=o To Memo1.Lines.Count-1 Do
WriteLn(f, Memo1.Lines[i]);
CloseFile(f);
End;
Информация в файл заносится поле завершения работы сеанса, например при закрытии программы.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 10.12.2005, 08:23 Оценка за ответ: 5 Комментарий оценки: ОООООООООООООООООООООООООООООО !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ОГРОМНОЕ ВАМ СПАСИБО.
Отвечает: Denisss Здравствуйте, Vbhjndjhtw!
Смотрю, все Вам выдали примеры с использованием циклов. Я же Вам приведу пример без циклов (см. приложение).
Комментарии в коде.
Удачи!
Приложение:
Ответ отправил: Denisss (статус: Специалист)
Отправлен: 10.12.2005, 11:24 Оценка за ответ: 5
Отвечает: Schmak
Здравствуйте, Vbhjndjhtw!
А какие там могут быть секреты. Всё просто.
Сохранение можно сделать так:
memo1.Lines.SaveToFile('file.txt');
Тогда загрузка так:
memo1.Lines.LoadFromFile('file.txt');
Для добавления строки в конец memo
memo1.Lines.add('Stroka');
Для добавления строки в любое место
memo1.Lines.insert(num,'Stroka'); где num-номер строки
А теперь из этих "кирпичиков" можно сделать программу.
1)Открываем файл
2)Дописываем в конец Метку о начале сессии
3)Записываем данные Сессии
4)Дописываем в конец Метку о конце сессии
5)Сохраняем файл
--------- Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Студент)
Отправлен: 11.12.2005, 09:29 Оценка за ответ: 5 Комментарий оценки:
Вопрос № 31.192
как в XP скрыть процесс из диспетчера задач вкладка процессы.
Ответ отправил: Denisss (статус: Специалист)
Отправлен: 10.12.2005, 12:29
Отвечает: Ерёмин Андрей
Здравствуйте, Дмитрий Албегов!
Вот здесь подробное обсуждение (с решениями) данной задачи: http://www.delphi.int.ru/modules.php?name=questions&action=view&id=75. Удачи!
--------- В то время как остальные процессоры уже закончили работу, процессоры VIA продолжают работать, работать и работать! :))
Ответ отправил: Ерёмин Андрей (статус: Специалист)
Отправлен: 10.12.2005, 13:09
Отвечает: REFERI
Здравствуйте, Сергей Борисович!
Я тоже интересовался этим вопросом...
Нарыл листинг dll с помощью которой прога невидна в процессах...
Меня она не устроила тем что на нее матерится касперский, мол, hacktools.
А так все работает.
Подправить надо где-нить что-нить чтобы каспер ее не ощущал...
Да вот только я не понимаю кода этой dll - что, куда, зачем...
Может вы лучше поймете или вам все равно на каспера...
Если такой вариант вас заинтересовал, пишите - вышлю.
Ничего другого я не находил.
Удачи.
--------- Не судите, да не судимы будете...
Ответ отправил: REFERI (статус: Студент)
Отправлен: 10.12.2005, 13:29