powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / задачка
25 сообщений из 72, страница 1 из 3
задачка
    #37984044
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на форме стоит checkbox. как сделать так чтобы если checkbox стоит галочка в таблицу в поле slovo добавить символ 0, а если убрать checkbox то из этого поля этот символ 0 убрать. т.е. если галочка стоит ставить символ, если убрать галочку и символ убрать
...
Рейтинг: 0 / 0
задачка
    #37984262
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никто не знает как сделать?
...
Рейтинг: 0 / 0
задачка
    #37984288
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. При изменении значения CheckBox сработает событие CheckBox.InteractiveChange()
2. Замена значения в текущей рабочей области в текущей записи - это команда Replace

Дальше сами...
...
Рейтинг: 0 / 0
задачка
    #37984292
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ, мне нужно не замену делать в поле а вставлять и удалять символ в зависимости от значения checkbox
...
Рейтинг: 0 / 0
задачка
    #37984293
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как пробовали? Что не получается?
...
Рейтинг: 0 / 0
задачка
    #37984295
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и кстати в поле могут быть и другие символы. так что надо искать этот символ в строке и если есть удалять, иначе вставлять
...
Рейтинг: 0 / 0
задачка
    #37984297
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ, не знаю как реализовать то что мне нужно.
...
Рейтинг: 0 / 0
задачка
    #37984298
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предположим, у Вас в поле записано "1 000 000 000". Какой из нулей Вы будете удалять?
...
Рейтинг: 0 / 0
задачка
    #37984299
BMJ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BMJ
Гость
Поясню тем кто в танке, вставлять 0 или 1 это заменять значение в поле. Что там по умолчанию?
...
Рейтинг: 0 / 0
задачка
    #37984303
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ, такой пример допустим в поле есть символы 123CFH если убрал галочку надо удалить символ F, если ставить галочку вставлять F
...
Рейтинг: 0 / 0
задачка
    #37984306
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вы не поняли, не все значения надо менять.. в так как я чуть выше написал. простую замену бы я и сам мог чуть повозившись
...
Рейтинг: 0 / 0
задачка
    #37984309
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
- А если вместо "123CFH" будет записано "123CFF" надо оба символа "F" удалить?
- А вставлять символ "F" куда? В начало? В конец? В середину?
...
Рейтинг: 0 / 0
задачка
    #37984315
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ, да удалять оба, а куда вставлять без разницы но можно в конец сделать
...
Рейтинг: 0 / 0
задачка
    #37984317
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вообще должно работать так эти символы соответствуют отделам с 1 до 8 или буквы разницы нет. надо ставить галочки если этот пользователь может регистрировать людей из этого отдела. так допустим. 1- это поликлиника. если этот пользователь занимается регистрацией людей в поликлинике ставим галочку и в поле записывается 1, если убрать галочку то из поля удаляется единичка
...
Рейтинг: 0 / 0
задачка
    #37984358
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
* Удалить все указанные символы из строки
?ChrTran('12304560789','0','')

* Добавить символ в начало
?'0' + '123456'


Дима1991вообще должно работать так эти символы соответствуют отделам с 1 до 8 или буквы разницы нет. надо ставить галочки если этот пользователь может регистрировать людей из этого отдела. так допустим. 1- это поликлиника. если этот пользователь занимается регистрацией людей в поликлинике ставим галочку и в поле записывается 1, если убрать галочку то из поля удаляется единичка
Угу. А следующий Ваш вопрос будет "как узнать есть ли определенный символ в строке?".

Сама система организации - не удачная. Оставьте признак в логических полях. Точнее, связанная таблица, содержащая пары: пользователь - код отдела. Не надо делать комбинированное поле. Такое поле еще имеет смысл для отчетов, но для поиска - крайне не удобно. Вот как Вы собираетесь искать всех пользователей, которые могут регистрировать людей, скажем, в 1 отделе?
...
Рейтинг: 0 / 0
задачка
    #37984370
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ, т.е. если я напишу например ?'0' + '123456' то добавится в поле символ 0? не могли бы вы более конкретно написать на примере какой-то таблицы
...
Рейтинг: 0 / 0
задачка
    #37984377
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ, это не я делал такое поле а до меня еще сделано и много лет функционирует предприятие так. мне просто надо написать программу которая делает следующее. вот поле содержит символы 1345CGF если ставить галочку то добавлять например F, если убирать галочку то удалять F. напишите пожалуйста код который делает это и больше ничего ненадо
...
Рейтинг: 0 / 0
задачка
    #37984413
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пишу так чтобы удалить символ, но не удаляется

авторChrTran(tablica.slovo,'0','')
...
Рейтинг: 0 / 0
задачка
    #37984428
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
* Переходим в нужную рабочую область
select tablica

* Выполняем поиск нужной записи (где будем выполнять замену)
* Если уже стоим на нужной записи, то этот этап пропускается
(...)

* Заменяем значение в поле
replace slovo with ChrTran(tablica.slovo,'0','')

* Для добавления символа соответственно
* replace slovo with '0' + alltrim(tablica.slovo)
...
Рейтинг: 0 / 0
задачка
    #37984432
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ, спасибо, сейчас буду пробовать
...
Рейтинг: 0 / 0
задачка
    #37984440
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а если это надо сделать на записи которая активна в грид. у меня делается так в грид вывожу записи из таблицы нажимаю на какую-то запись и для этой записи открывается форма где делается удаление или замена. у записей есть поле id идентификатор можно по этому полю как-то идентифицировать и при открытии формы для активной записи делать эти вещи?

т.е. имею ввиду к этому коду replace slovo with '0' + alltrim(personal.slovo) добавить условие того что это делается для выбранного из грид человека(записи)
...
Рейтинг: 0 / 0
задачка
    #37984444
Дима1991вообще должно работать так эти символы соответствуют отделам с 1 до 8 или буквы разницы нет. надо ставить галочки если этот пользователь может регистрировать людей из этого отдела. так допустим. 1- это поликлиника. если этот пользователь занимается регистрацией людей в поликлинике ставим галочку и в поле записывается 1, если убрать галочку то из поля удаляется единичка
Переводим с русского на русский:
В текстовом поле таблицы каждый символ обозначает конкретный отдел предприятия. Строка (содержимое поля) анализируется и динамически формируется интерфейс. Например, для соответствующих строк в лист-боксе ставится отметка в виде "галочки".
Вопрос: как сделать так, чтобы запомнить (в виде строки в текстовом поле) в режиме множественного выбора "галочки" пользователя...

Алгоритм решения:
1. Найти какому символу соответствует выбор (постановка или снятие "галочки") пользователя. В специальной переменной запомнить какое событие произошло: снятие "галочки" или ее установка.
2. Если была поставлена "галочка" и такого символа в строке нет, то дописать символ в строку. Например:
Код: sql
1.
2.
3.
 if AT("b",stroka) = 0 
                             stroka = stroka + "b"
                           endif 


3. Если галочка была снята, то удалить символ из строки. Например:
Код: sql
1.
2.
3.
4.
 pos = AT("b",stroka)
if pos > 0
  stroka = substr(stroka,1,pos-1)+substr(stroka,pos+1)
endif

либо (мне нравится больше)
Код: sql
1.
2.
 
  stroka = chrtran(stroka,"b",'')



Примерно как-то так. Но это сырое решение. Его еще допиливать и допиливать "по месту"...
...
Рейтинг: 0 / 0
задачка
    #37984449
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Станислав С...кий, вот первый шаг я тоже думаю что так надо делать потому-что каждый раз а то ставить убирать символы если в поле каша получится много повторяющихся значений будет. но только вот не понимаю как реализовать запоминание установлена галочка или нет
...
Рейтинг: 0 / 0
задачка
    #37984456
Дима1991,
Ну, если делать немного подумав, то:
1.Эти "буквы" должны быть = идентификатору записи в справочнике отделов.
2. Буквы должны отделяться друг от друга разделителями. Тогда можно будет вводить двухсимвольные идентификаторы, трехсимвольные и т.д.
3. Строку надо "парсить", то есть разбирать на отдельные значения.
4. При вызове формы редактирования распарсенные значения дают "галочки" в соответствующих строках справочника отделов....
5. Можно не запоминать состояние КАЖДОЙ "галочки", а при сохранении формировать строку заново.
...
Рейтинг: 0 / 0
задачка
    #37984460
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991а если это надо сделать на записи которая активна в грид. у меня делается так в грид вывожу записи из таблицы нажимаю на какую-то запись и для этой записи открывается форма где делается удаление или замена. у записей есть поле id идентификатор можно по этому полю как-то идентифицировать и при открытии формы для активной записи делать эти вещи?

т.е. имею ввиду к этому коду replace slovo with '0' + alltrim(personal.slovo) добавить условие того что это делается для выбранного из грид человека(записи)Когда жмешь на строку грида, соответствующая запись таблицы (которая, собственно, отображается в гриде)
становится текущей.

ps что-то мне напоминает фирму А&K'89 :)
...
Рейтинг: 0 / 0
25 сообщений из 72, страница 1 из 3
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / задачка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]