Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 105
от 24.04.2005, 00:40

Администратор:Калашников О.А.
В номере:Вопросов: 3, Ответов: 11


Вопрос № 19896: Как в Memo вывести имена директорий на указанном диске? Имя диска хранится в переменной типа String....
Вопрос № 19911: Зравствуйте уважаемые Эксперты Вопрост довольный интересный... Технология клиент-сервер(есть SQL база и удаленный клиент) В базе данных заведен один пользователь для подключения Клиент подключается через ODBC под этим пользователем.<b...
Вопрос № 19916: Здравствуйте эксперты! У меня проблема с построением диаграмм с помощью компонента DBChart. Я выбрала диаграмму Pie и подключила ее на DataSet , подключен к таблице. В этой таблице есть столбцы как текстового так и числового типа, так во вкла...

Вопрос № 19896
Как в Memo вывести имена директорий на указанном диске?
Имя диска хранится в переменной типа String.
Отправлен: 18.04.2005, 00:21
Вопрос задал: source (статус: Посетитель)
Всего ответов отправлено: 5

Отвечает: Bochvarov NikB

Здравствуйте, source!
Смотри:
fl:=FindFirst(s,faDirectory,aFRec)=0;
fl:=FindNext(aFRec)=0;
{}procedure TTestDialog.MakeListAndDir(const aPath: string; aFRec: tSearchRec);
var
s, s0 : string;
fl : boolean;
begin
if aPath<>'' then begin
Path:=StrToPath(aPath); MakeList;
s:=Path+'*.*';
fl:=FindFirst(s,faDirectory,aFRec)=0;
while fl and (not flStop) do begin
if (aFRec.Name<>'') and (aFRec.Name[1]<>'.') then
if (aFRec.Attr and faDirectory)>0 then begin
s0:=GetCurrentDir;
s:=StrToPath(ExpandFileName(aFRec.Name));
SetCurrentDir(s);{}
inc(lFoldersNum);
MakeListAndDir(s, aFRec);
SetCurrentDir(s0);{}
end;
fl:=FindNext(aFRec)=0;
end;
FindClose(aFRec);
end;
end;
Ответ отправил: Bochvarov NikB (статус: 2-ой класс)
Отправлен: 18.04.2005, 01:15

Отвечает: sir henry
Здравствуйте, source!
Связкой функций FindFirst()-FindNext(). Если аттрибут файла содержит аттрибут директории, то добавляете ее название в Мемо, если нет, то пропускаете.
Это если у Вас стандартный TMemo. Можно зайти на www.torry.net и посмотреть там компонент TMemo для работы с каталогами.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 18.04.2005, 10:26

Отвечает: ImDeath
Здравствуйте, source!
код у Bochvarov NikB обсалютно не рабочий и давать такую потеху человеку начинающему чистейшее издевательство (где переменные Path,flStop,lFoldersNum; что делает функция StrToPath; что такое MakeList, зачем такая куча стринговых переменных?).
source, читай здесь: http://www.delphirus.com.ru/printout39.html
Ответ отправил: ImDeath (статус: 1-ый класс)
Отправлен: 18.04.2005, 10:44
Оценка за ответ: 4
Комментарий оценки:
пасиб

Отвечает: Voituk Alexander
Здравствуйте, source!
Используй функции FindFirst и FindNext с параметрами поиска только директории.
Пример есть в HELPе.
Ответ отправил: Voituk Alexander (статус: 7-ой класс)
Отправлен: 18.04.2005, 11:47

Отвечает: corsar
Здравствуйте, source!
var Where : string;F : TSearchRec;
begin
Where:='c:'; //например
if FindFirst(Where+'*.*',faDirectory,F)=0 then //ищем нормальные файлы + директории
begin
if F.Attr and faDirectory<>0 then //если это директория (а не нормальный файл)
Memo1.Lines.Add(F.Name);
while FindNext(F)=0 do //ищем пока есть нам нужные
if F.Attr and faDirectory<>0 then
Memo1.Lines.Add(F.Name);
FindClose(F);
end;
end;
Where в принципе может быть любой директорией, а не только диском
Ответ отправил: corsar (статус: 2-ой класс)
Отправлен: 18.04.2005, 17:01


Вопрос № 19911
Зравствуйте уважаемые Эксперты
Вопрост довольный интересный...
Технология клиент-сервер(есть SQL база и удаленный клиент)
В базе данных заведен один пользователь для подключения
Клиент подключается через ODBC под этим пользователем.
Клиентов много - пользователь один :((больше нельзя)
Как мне идентифицировате пользователей подключающихся к базе?
Допустим я создам табличку с пользователями в базе, но как мне программно
заставить их логиниться и идентифицироваться в этой табличке.
Заранее спасибо
Если можно, кусочек исходника, но можно и статьи по этому поводу
Отправлен: 18.04.2005, 12:40
Вопрос задал: Dima_x (статус: Посетитель)
Всего ответов отправлено: 4

Отвечает: sir henry
Здравствуйте, Dima_x!
Это нонсенс когда много пользователей заходят под одним именем. Сделайте по нормальному.
Если нужен геморой, то заведите таблицу с именами пользователей и ихними паролями, создай форму регистрации пользователя и запускайте ее после установления коннекта с базой данных. Я, честно говоря, не вижу тут никаких проблем. Может быть Вы неправильно сформулировали вопрос?
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 18.04.2005, 13:25

Отвечает: Кудрявцев Андрей
Здравствуйте, Dima_x!
Насчет исходника сразу нет - код изначально писался на ПХП, но как мы делали - рассказать могу.
В общем, так же сделано одно подключение на всех, но прежде чем позволить пользователю работать, от него затребуется логин и пароль, без которых доступ блокирован - инфу нельзя даже посмотреть. В особой таблице записаны права доступа, структуры меню и вся нужное, по которым создается рабочее место. И все.
Сэру Генри - иногда без геморроя не обойтись. Особенно если сервер слабый или надо одному юзверю сразу с нескольких компов входить. А такие ситуации очень даже не редкость
Ответ отправил: Кудрявцев Андрей (статус: 1-ый класс)
Отправлен: 18.04.2005, 15:14

Отвечает: Алексей Владимирович
Здравствуйте, Dima_x!
Единственное, что могу посоветовать, так это проверять комбинацию логин-пароль, набранные в приложении на соответсявие такой же комбинации в этой таблице.
Для кусочка исходника необходимо знать:
1. какая СУБД (SQL база)
2. какими компонентами пользуетесь для подключения (стандартными или другими).
Ответ отправил: Алексей Владимирович (статус: 7-ой класс)
Отправлен: 18.04.2005, 15:20

Отвечает: Shizuku Tsukishima
Здравствуйте, Dima_x!
Верно, как говорили выше, не зная типа вашей БД, нельзя сформулировать точный ответ.
Рискну всё же посоветовать Вам зайти сюда:
http://freesource.h12.ru/forum/viewtopic.php?t=3
и изучить исходники моей базы данных (Interbase, FireBird, на ibx - компонентах). Там есть рабочий модуль регистрации. Регистрация у меня производится на основе уникального имени-логина, без пароля.
Модули:
UReg.pas - обработчики формы регистрации
UEntry - обратите внимание на функцию Connect:Boolean, она служит для идентификации пользователя;
Ответ отправила: Shizuku Tsukishima (статус: 3-ий класс)
Отправлен: 18.04.2005, 20:53


Вопрос № 19916
Здравствуйте эксперты!
У меня проблема с построением диаграмм с помощью компонента DBChart. Я выбрала диаграмму Pie и подключила ее на DataSet , подключен к таблице.
В этой таблице есть столбцы как текстового так и числового типа, так во вкладке Data Sourse подключила DataSourse1 и выбрала таблицу так в поле Labels у меня не видны столбцы с текстовым типом, а только с числовым. Что делать, что надо изменить чтобы в Labels были видны все поля, в независимости от типа?
Отправлен: 18.04.2005, 16:46
Вопрос задала: Katy (статус: 1-ый класс)
Всего ответов отправлено: 2

Отвечает: sir henry
Здравствуйте, Katy!
Где это Вы видели, чтобы графики строились по текстовым строкам??? (только про Эксель мне не надо говорить) :))
Даже ежу ясно, что для графиков подойдут только числовые столбци.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 19.04.2005, 06:21
Оценка за ответ: 2
Комментарий оценки:
а почему в книге есть окно в котором вставленно текстовое поле, тем более что для этого графика что находится в Labels это просто надписи для кусочков диаграммы, по самому названию можно сказать что это пирог :)

Отвечает: Stamm
Здравствуйте, Katy!
Попробуй эту процедуру.
Dir - переменная типа string, в ней хранится путь.

Приложение:

Ответ отправил: Stamm (статус: 1-ый класс)
Отправлен: 19.04.2005, 07:23


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Отписаться

В избранное