Вопрос № 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