shuster писал(а):
никак не могу найти где на новом форму заливаются файлыВсё. Буду в 15
Ответов: 16884
Рейтинг: 1239
|
|||
shuster писал(а): никак не могу найти где на новом форму заливаются файлыВсё. Буду в 15 |
|||
карма: 25 |
|
Разработчик
Ответов: 26177
Рейтинг: 2128
|
|||
Tad писал(а): компонент StrCase. Я бы добавил вначале Trim(Str); Ну очень многие начинают печатать с Пробела (иногда с нескольких)КМК. Строку трогать вообще нельзя. Надо бы сделать это так, как в методе ProperCase, только с выходом из цикла по первому вхождению. |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Shuster писал(а): При нажатии на Edit открывалась бы форма аналогичная AddВообще-то это всё можно организовать и в одной форме, что я тебе и показал раньше. При таком подходе (как ты там в file2 задумал) насношаешься ты по самое нехочу. Начинать нужно с проектирования БД. nesco, это понятно. Но некоторае умудряются и заканчивать ввод парой-тройкой пробелов. ![]() Давно применяю IC. Редактировалось 5 раз(а), последний 2016-08-29 14:25:17 |
|||
карма: 25 |
| ||
файлы: 1 | file2+Edit.rar [11KB] [421] |
Разработчик
Ответов: 26177
Рейтинг: 2128
|
|||
Tad писал(а): Но некоторае умудряются и заканчивать ввод парой-тройкой пробеловЭто ихние проблемы, а не компонента. Для этой цели есть отдельный компонент Trim и его свойство NormalText, пихать функцию обрезки в элемент Case не имеет никакого смысла |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
nesco писал(а): Это ихние проблемы"Вот, ты деньги взял, а я не могу найти Петрова, хотя точно помню, что вводила его сегодня утром". Оказалось ввела не "Петров", а "__Петров" (два пробела спереди). Вывел все фамилии в Memo со шрифтом Consoles А там "картина маслом":
Редактировалось 1 раз(а), последний 2016-08-29 14:45:23 |
|||
карма: 25 |
|
Разработчик
Ответов: 26177
Рейтинг: 2128
|
|||
Добавил в StrCase пропуск пробелов для метода FirstChar.
Tad писал(а): Оказалось ввела не "Петров", а "__Петров" (два пробела спереди). Еще раз повторю nesco писал(а): Для этой цели есть отдельный компонент Trim и его свойство NormalTextили TrimStrXXX StrCase предназначен только для управления регистром и ни для чего больше. Возможно, мне не надо будет обрезать строку, а он будет это делать. Редактировалось 1 раз(а), последний 2016-08-29 14:50:50 |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
nesco писал(а): Еще раз повторю Но,например, перед записью в БД для обслуживания одной Edit при вводе фамилии нужно: 1.Trim() 2.проверить на "" (If-Else) 3.если не "" то а) Проверить на символы букв и "-" (может быть Салтыков-Щедрин) б) привести в божеский вид (FirstChar), который из Салтыков-Щедрин сделает Салтыков-щедрин в) Поднимаем "Щ" и установить флаг разрешения записи (Memory) 4.если "", то сбросить флаг разрешения записи и разбудить оператора длинным гудком и предупреждающей красной табличкой с матюгами. А если нужно оприходовать Рустам Мамед Ибрагим оглы Ибрагимбе́ков ? Вообще страшный сон. ![]() |
|||
карма: 25 |
|
Ответов: 72
Рейтинг: 0
|
|||
Спасибо, Tad за кнопку Edit. Подскажи еще ответ на вопрос - как сделать чтобы удаление происходило, например, по телефону, дому или имени? замена DELETE FROM note where LastName='%1' на например DELETE FROM note where Name='%2' ничего не дает.
|
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
shuster,
DELETE FROM - самая "коварная команда". Удаляет в SQLite безвозвратно. Например : DELETE FROM note where LastName='%1'; удалит ВСЕХ Ивановых, а не только того, которого ты выбрал в StringTable. DELETE FROM note where Name='%2' удалит ВСЕХ Васей, невзирая на их LastName. Чтобы избежать этого, можно удалять по № строки. Для этого заполнять StringTable в твоём случае нужно запросом SELECT rowid, LastName, Name FROM note ORDER BY LastName,Name; (rowid - это номер строки в БД) DELETE FROM note where rowid=%1; удалит только того, кого ты выделил в StringTable. А вообще-то (нормальные люди) применяют колонку id INTEGER PRIMARY KEY Чего ты упёрся в этот notebook ? Редактировалось 1 раз(а), последний 2016-08-30 06:16:52 |
|||
карма: 25 |
|
Ответов: 72
Рейтинг: 0
|
|||
Чтобы избежать этого, можно удалять по № строки
Да, только я не совсем понимал как это должно быть прописано. Теперь понятно. Чего ты упёрся в этот notebook ?
Да потому, что этот пример ближе всего к тому что я хочу сделать. Я же скидывал тебе файл-схему LDv1.0.rar (внешнее представление программы), теперь я пытаюсь заставить ее работать. Уровень моего понимания хиасма достаточно низок, поэтому работаю с тем, что воспринимается моим мозгом, на углубленное изучение уже не остается времени. Программа нужна будет достаточно скоро. Максимум я сейчас могу сделать - это огромный клубок схем, с кусками кода из других программ форумчан и демок самого хиасма. ![]() Я прочитываю топик "sqlite - с чем его едят" почти каждый день, но пока не сильно приблизился к пониманию нормального проектирования БД. ![]() |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
shuster писал(а): Да потому, что этот пример ближе всего к тому что я хочу сделать. Формы ввода и редактирования данных одних программ от других различаются только внешним видом. У одних перед Edit написано "Фамилия", у других "Товар" у третьих ещё что-то, но алгоритм обработки данных один и тот же. ![]() Всё. Поехал на работу Редактировалось 1 раз(а), последний 2016-08-30 08:51:55 |
|||
карма: 25 |
|
Ответов: 72
Рейтинг: 0
|
|||
Все программы, работающие с БД, ничем не отличаются друг от друга Да не отличаются внешне, но когда открываешь схему будучи новичком - глаза разбегаются ![]() --- Добавлено в 2016-08-30 10:39:28 Пропала функция Edit ![]() еще вопрос по другой схеме - не работает кнопка Удалить ![]() Редактировалось 3 раз(а), последний 2016-08-30 11:40:27 |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
shuster писал(а): Пропала функция Editshuster писал(а): по другой схеме - не работает кнопка УдалитьДа не прыгай ты между схемами. Давай сначала:
Личное дело № - в номере только цифры или могут быть и другие символы ? Группа - это что ? номер или название. Если есть названия, то нужен список. Тренер - величина постоянная или может меняться ? А если тренер бросил, уехал или, не дай бог, помер ? Статус - это что ? Есть какой-то список статусов ? Если "да" то список в студию. Редактировалось 7 раз(а), последний 2016-08-30 16:54:47 |
|||
карма: 25 |
|
Ответов: 72
Рейтинг: 0
|
|||
[Id] INTEGER PRIMARY KEY, -- идентификатор записи я добавил. О его пользе мы говорили Да я про него почитал, делает значения уникальными. Забыл добавить в схему перед тем как отправил. Личное дело № - будут цифры Группа - Тренировочная группа1 (ТГ1), Тренировочная группа2 (ТГ2), Спортивное совершенствование (СС), ВСМ и т.д. Тренер - в школе несколько тренеров, тут я планирую заменить строку на список с возможностью добавлять новых. Статус - это то кем будут являться ученики - обучающиеся, спортсмены. Редактировалось 1 раз(а), последний 2016-08-30 16:47:15 |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Tad писал(а): Есть какой-то список статусов ? |
|||
карма: 25 |
|