![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Где запретить недопустимые символы в имени файла
Aleks © (2006-10-26 01:03:00)Доброго времени суток.
В программе при создании имени файла используется InputBox.
Где или как запретить пользователю ввод некоторых символов.
Ketmar (2006-10-26 18:51:00) [1]>[50] Aleks(c) 26-Oct-2006, 18:36
>Тренируюсь )))
увы, заметно, что тренировки повышают уровень "чукотскости"... %-(
%-)
>допустим у Васи на компе стоит эта программа, и он хочет
[и так далее...]
>шрифтом.
а вот не путай сущности. для твоей задачи вообще БД применяют.
Aleks (2006-10-26 18:36:00) [2]
> Ketmar ©
Тренируюсь )))
> Сергей М.
> Но тогда, пардон, при чем здесь
> дата первой смены с 8.00 Бригады Семёнова?? и Какой у него
> график работы (сутки - трое, четверо.... и т.д.)
допустим у Васи на компе стоит эта программа, и он хочет посмотреть не только свой график работы, но и кума Пети, кроме того, ему нравится внешний вид программы синего цвета, и что бы шрифт был обычный, а Петя торчит по золотистому цвету и обязательно с каким-нибудь необычным шрифтом.
Ketmar (2006-10-26 14:08:00) [3]>[42] Aleks(c) 26-Oct-2006, 13:24
>где у InputBox обработчик-KeyPress ). И мне стало
>интересно есть ли у InputBox обработчик-KeyPress.
ты тоже чукча-писатель, или просто тренируешься? [8], [10] читал? или на имя Ketmar врождённая идиосинкразия?
Сергей М. (2006-10-26 14:01:00) [4]
> считаю, что если пользователь меняет цвет, шрифт,( вид программы)
> - то это и есть профиль пользователя.
Так точно, сэр.
Но тогда, пардон, при чем здесь
> дата первой смены с 8.00 Бригады Семёнова?? и Какой у него
> график работы (сутки - трое, четверо.... и т.д.)
?
Aleks (2006-10-26 13:41:00) [5]
> Сергей М. © (26.10.06 13:34) [45]
> Ну и какой же это "профиль пользователя" ?)
Там ещё хранится много всякого, я просто не стал перечислять всё, не вижу в этом смысла.
Я, почему-то считаю, что если пользователь меняет цвет, шрифт,( вид программы) - то это и есть профиль пользователя.
Хотя могу и ошибаться. :)
Так и писать правильно научите:))
Aleks (2006-10-26 13:34:00) [6]
> Сергей М. © (26.10.06 13:30) [43]
> InputBox - это функция.
> Какой "обработчик" может быть у функции ?)
Понятно.
Спасибо всем, что уделили мне время.
Сергей М. (2006-10-26 13:34:00) [7]
> где это в системе хранится дата первой смены с 8.00 Бригады
> Семёнова?? и Какой у него график работы (сутки - трое, четверо.
> ... и т.д.)
Ну и какой же это "профиль пользователя" ?)
Aleks (2006-10-26 13:32:00) [8]
> Anatoly Podgoretsky
© (26.10.06 13:19) [41]
Рассказать тебе где профили хранятся, и зачем тут пользователь, он не должен задавать системно зависимые вещи, которые к тому же уже заданы системой и они правильные!
Интересно где это в системе хранится дата первой смены с 8.00 Бригады Семёнова?? и Какой у него график работы (сутки - трое, четверо.... и т.д.)
Сергей М. (2006-10-26 13:30:00) [9]
> мне стало интересно есть ли у InputBox обработчик-KeyPress
InputBox - это функция.
Какой "обработчик" может быть у функции?)
Aleks (2006-10-26 13:24:00) [10]Я уже всё сделал, отловил ошибку как ты подсказал и всё.
Просто хотел сделать но у меня не получилось, я не знаю куда прилипить свой обработчик-KeyPress к InputBox (Или где у InputBox обработчик-KeyPress ). И мне стало интересно есть ли у InputBox обработчик-KeyPress.
Anatoly Podgoretsky (2006-10-26 13:19:00) [11]Рассказать тебе где профили хранятся, и зачем тут пользователь, он не должен задавать системно зависимые вещи, которые к тому же уже заданы системой и они правильные!
Anatoly Podgoretsky (2006-10-26 13:18:00) [12]
> Программа объединяет все эти данные и сохраняет их в файл,
> в корневой коталог программы
Вот уже первое не корректное имя на большинстве систем.
Не позволит создать файл с таким именем.
Сергей М. (2006-10-26 13:08:00) [13]
> просто хотел съделать что то типа этого
Ну сделай, если так уж хочешь)
Но вот что ты при этом к InputBox() прилип - мне по сей момент так и не понятно.
Заведи форму, брось на нее Edit, назначь ему свой KeyPress-обработчик и вызови свою форму модально вместо InputBox() ! В чем проблема-то ?
Aleks (2006-10-26 13:06:00) [14]Но как это сделать для ImputBox я не знаю.
Aleks (2006-10-26 13:03:00) [15]>Джо
try
Memo1.Lines.SaveToFile('c:/'+s+'.txt');
except
MessageDlg(Ну Ну НУ Незя.', mtError,
[mbOk], 0);
end;
>Сергей М.
В программе создаётся файл с личным профилем юзера, туда записываются разные данные: Дата,Смена,Цвет ....и т.д. Также он пишит ИМЯ своего профиля. Программа объединяет все эти данные и сохраняет их в файл, в корневой коталог программы. Впоследствии при выборе данного профиля, из
списка, строится график.
Я просто хотел съделать что то типа этого:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
If (byte(Key)<48) Or ((byte(Key)> 57) And (byte(Key)<65)) then
Begin
//нажатия не было
End;
end;
Anatoly Podgoretsky (2006-10-26 12:55:00) [16]Ой это не ужас, это хуже, это пожизненный цик с гвоздями.
Так что насчет, что скрипач не нужен, я был прав.
Anatoly Podgoretsky (2006-10-26 12:53:00) [17]
> Я предполагал, что просто запрещу все символы кроме русских
> и английских букв
Ой бардак в системе пытаешься устроить, работать без расширений тяжело, позволь пользователю хотя бы вводить точку, хоть этого недостаточно.
И вообще не стоит быть надсмотрщиком над пользователем, он сам решит, как ему именовать и если система согласится с этим именем, то все будет в порядке.
По крайней мере ты в этом деле лишний.
Сергей М. (2006-10-26 12:27:00) [18]
> Aleks © (26.10.06 12:14) [32]
А ежели юзер вообще ничего не ведет ?)
Джо (2006-10-26 12:18:00) [19]Удалено модератором
Примечание: Ужас
Aleks (2006-10-26 12:14:00) [20]Код всё тот же с небольшими дополнениями. (Спасибо Сергей М.)
Я предполагал, что просто запрещу все символы кроме русских и английских букв, и юзер просто не сможет ввести C:\MyFile.ext, кроме того
путь и расширение ему (Юзеру) не надо вводить, нужно ввести только ИМЯ.
Var
s:String
Begin
s:= InputBox('Íàçâàíèå ïðîôèëÿ','Ââåäèò ; ;å Èìÿ ïðîôèëÿ è íàæìèòå ÎÊ','') ;
try
Memo1.Lines.SaveToFile('c:/'+s+'.txt');
except
// ошибка
end;