Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Программа для управления спортивным клубом С# + Access (*.mbd)  (Прочитано 15274 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« : 07-08-2009 10:23 » 

система довольно утрированная, поскольку это программа, написанная по заказу для курсового.

Собственно, просьба - потыкаться и потестировать программу на наличие глюков, поскольку среда разработки C# для меня совсем новая. Экзешник тут, а исходники прикреплю сегодня или завтра (пишу комментарии), тогда потом это всё можно будет переместить в авторское ПО

Про работу интерфейса намеренно ничего не говорю - так как это тоже тест его - на понятность. (На удобство интерфейса же не претендую ))) Самому многое не нравится)
« Последнее редактирование: 07-08-2009 14:47 от Алексей1153++ » Записан

Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 07-08-2009 14:05 » 

При попытке создать БД:

---------------------------

---------------------------
Could not load file or assembly 'Interop.ADOX, Version=2.8.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
---------------------------
OK  
---------------------------

Посмотри в сторону наличия adodb.dll при exe-файле. Хотя может он должен называться Interop.ADOX.dll
« Последнее редактирование: 07-08-2009 14:14 от Dimka » Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #2 : 07-08-2009 14:53 » 

намёк понял ) Прикладываю и проект, и папку Release




* SportClub_0048_forum.rar (162.39 Кб - загружено 1019 раз.)
« Последнее редактирование: 07-08-2009 14:59 от Алексей1153++ » Записан

Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 07-08-2009 15:19 » 

Что-то как-то убого интерфейс построен - вообще не продуманы типовые операции.

В бухгалтерии номер работника есть, и справочник работников - вообще не понятно, к чему они. Поиск по юзерам при пустой строке ничего не показывает, а хорошо бы либо "все", либо хоть "первую тысячу".
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #4 : 07-08-2009 15:42 » 

Цитата
вообще не продуманы типовые операции.
какие ? Если бы я знал эти типовые операции )


Цитата
В бухгалтерии номер работника есть,

по идее, в бухгалтерии номер работника - для отметки о выдачи зарплаты. То есть не во всех записях этот ID используется.
Выдача зп не реализована. Если будет руководителем студента велено, то надо будет проверку дат организовать

Цитата
справочник работников
собственно, список работников , почему бы и не быть ему ?

Цитата
Поиск по юзерам при пустой строке ничего не показывает
вообще то, я так и задумал. А почему должно быть иначе ? Ведь диалог поиска клиента предполагает сначала ввод информации для поиска, потом только выбор клиента. Большинство клиентов могут помнить свой номер (либо у них будет с собой карточка с индивидуальным ID, чтоб не запоминать)

Ещё  не нашёл, как отфильтровывать вводимые в текстовое окошко символы для ввода, скажем, чисел - символы "минус", "запятая" или "точка", 0...9
Только наследовать и переделывать там ?
Записан

Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 07-08-2009 19:50 » 

Цитата: Алексей1153++
какие ? Если бы я знал эти типовые операции )
Откуда я знаю? Я по названиям кнопок смотрю.

Цитата: Алексей1153++
Ещё  не нашёл, как отфильтровывать вводимые в текстовое окошко символы для ввода, скажем, чисел - символы "минус", "запятая" или "точка", 0...9
Вешаешь обработчик на TextChanged и проверяешь регулярными выражениями. Если надо, поправляешь - удаляешь непотребное. Только при этом опять возникнет событие TextChanged - смотри в оба, чтобы в бесконечную рекурсию не вылететь. Улыбаюсь
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #6 : 08-08-2009 06:01 » 

насчёт бесконечной - ну я обычно в таких случаях делаю что то вроде
if(control.text!=newText)
{
 control.text=newText;
}

но это всё крайне неудобно, потому что приходится следить за положением курсора

попробовал такое регвыражение  для числа с плавающей точкой?

1) плюс или минус (или пусто)
2) десятичные цифры (или пусто)
3) точка или запятая (или пусто)
4) десятичные цифры (или пусто)

@"[\+\-]{0,1}\d+[\,\.]{0,1}\d+"

только что то не так, потому что с точкой то проблемы и начинаются. Тестовые строки такие

Код:
"+"
"-"
""
"+11"
"-11"
"11"
"+."
"-."
"."
"+11."
"-11."
"11."
"+,"
"-,"
","
"+11,"
"-11,"
"11,"
"+22"
"-22"
"22"
"+1122"
"-1122"
"1122"
"+.22"
"-.22"
".22"
"+11.22"
"-11.22"
"11.22"
"+,22"
"-,22"
",22"
"+11,22"
"-11,22"
"11,22"
Записан

Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 08-08-2009 10:14 » 

Алексей1153++, какое ещё положение курсора? На каждое событие проверяешь весь текст целиком. Я такое делал для текстов в несколько Кб - не тормозит.

Давай составлять регулярное выражение.
1) Если тебе надо, чтобы в строке содержалось только то, что нужно, то сразу пишем конец и начало строки
Код:
^$
2) Внутри должны содержаться 1 или более цифр, значит
Код:
^\d+$
3) Цифры могут предваряться знаком, а могут и не предворяться. Знаки могут быть либо "+", либо "-". Значит
Код:
^[\+-]?\d+$
4) После цифр может находиться, а может и не находиться дробная часть - некая сложная конструкция, значит нужна группа
Код:
^[\+-]?\d+()?$
5) Дробная часть начинается с разделителя - либо ".", либо ",", и потом следуют одна или более цифр. Значит
Код:
^[\+-]?\d+([\.,]\d+)?$

Ну а теперь чуть преобразовать к .NET-формату.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #8 : 08-08-2009 10:34 » 

Dimka, Только поправка. Если ты используеш точку как разделитель дробной части, то тогда запятая может использоваться как разделитель тысяч. Отсюда следует, что запись 32,569.58 вполне законна. Лучше наверно поднять системные параметры и динамически формировать регулярку.
« Последнее редактирование: 08-08-2009 10:37 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 08-08-2009 14:31 » 

Finch, это ж американский формат. А по задаче обрабатывается строка ввода пользователя в русской программе без всяких локализаций и хитростей. Я думаю, юзер перебьётся без разделителей тысяч Улыбаюсь Тем более, что суммы там небольшие.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #10 : 08-08-2009 15:02 » 

Dimka, Если только Российская локализация, тогда нужно исключить точку в применении Улыбаюсь.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #11 : 09-08-2009 06:39 » 

Димка, положение курсора: это я не просто так говорю, курсор прыгает при корректировке текста. Надо запомнить, где курсор был до правки, поменять текст, потом вернуть курсор по логике на место
за пример регвыражения пасиба, буду разбираться

думаю, мне нужно без ^$

[\+-]?\d+([\.,]\d+)?
- это работает до строки "+.22" , на которой выдаёт "22" (
как-то надо учесть, что первый \d+ может быть и пустым



Финч, разделитель тысяч - не надо ) Я полагаю точку и запятую одним и тем же (кстати, можно ещё и "ю", "б" и прочие опечатки в качестве разделителя взять и подменить на запятую)

Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #12 : 09-08-2009 08:03 » 

собственно, осенило Отлично

[\+-]?(\d+)([\.,]\d+)?

 - работает как надо
Записан

Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #13 : 09-08-2009 11:29 » 

Цитата: Алексей1153++
Димка, положение курсора: это я не просто так говорю, курсор прыгает при корректировке текста. Надо запомнить, где курсор был до правки, поменять текст, потом вернуть курсор по логике на место
А куда он прыгает? Почему у меня не прыгает, хотя я его не запоминаю и не выставляю его позицию? Курсор управляется полями вроде как SelectedPosition и SelectedLength или как-то так - это текущий выделенный блок (можно 0 размера).

Цитата: Алексей1153++
[\+-]?\d+([\.,]\d+)?
- это работает до строки "+.22" , на которой выдаёт "22" (
как-то надо учесть, что первый \d+ может быть и пустым
У меня написано выражение, которое не допускает отсутствия чисел до разделителя. А поскольку ты не задал начало строки, то знаки "+." игнорируются - подходящим определяется только подстрока "22".

Цитата: Алексей1153++
[\+-]?(\d+)([\.,]\d+)?

 - работает как надо
Код:
[\+-]?\d*([\.,]\d+)?
Но такая схема приведёт к выбору отдельных знаков вовсе без цифр.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #14 : 09-08-2009 13:13 » new

ну так с плюсиком вместо * нормально работает
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines