powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / задачка
72 сообщений из 72, показаны все 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
задачка
    #37984465
Jonny540ps что-то мне напоминает фирму А&K'89 :)
Пока не согласен. Начинающий - да. Но из постов еще не торчат их "уши"...
...
Рейтинг: 0 / 0
задачка
    #37984474
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Jonny540, я знаю что она становится текущей :) умник
...
Рейтинг: 0 / 0
задачка
    #37984476
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991вообще должно работать так эти символы соответствуют отделам с 1 до 8 или буквы разницы нет. надо ставить галочки если этот пользователь может регистрировать людей из этого отдела. так допустим. 1- это поликлиника. если этот пользователь занимается регистрацией людей в поликлинике ставим галочку и в поле записывается 1, если убрать галочку то из поля удаляется единичкаПочему бы просто не завести 8 логических полей для отделов, привязав каждое к своему чекбоксу?
Ваще не надо мучиться... :)
...
Рейтинг: 0 / 0
задачка
    #37984479
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Станислав С...кий, нет, там значения полей нельзя менять, я хотел сделать так: вот открывается форма при открытии проверять если какой-то символ в поле есть, то открыть форму предварительно установив галочку соответствующую этому символу.. и так для каждого символа. если при открытии символа не было в поле то поставив галочку добавить символ, или убрав галочки которые не нужны удалить соответствующие символы. и чтобы при следующем открытии это все сохранялось
...
Рейтинг: 0 / 0
задачка
    #37984480
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991Jonny540, я знаю что она становится текущей :) умникСудя по вопросам, о тебе так не скажешь...
...
Рейтинг: 0 / 0
задачка
    #37984482
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Jonny540, нельзя добавлять новые поля, эти таблицы не должны трогаться, нельзя менять структуру, добавлять новые поля потому-что эти таблицы используют многие программы. просто надо сделать так как я описываю выше. добавление, удаление понятно теперь, сохранение значений галочек надо как-то реализовать
...
Рейтинг: 0 / 0
задачка
    #37984491
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Станислав С...кий, у меня вопрос к вам. функция АТ возвращает начальную позицию первого вхождения символьного выражения как я читал. значит с помощью этой функции можно искать символы в строке как я понимаю и если нашелся символ в методе init или load у открываемой формы сделать так чтобы галочка при открытии была уже установлена. Если так реализовать в поле лишние символы не будет записывать интересно? я имею ввиду тот символ, который соответствует этой галочке
...
Рейтинг: 0 / 0
задачка
    #37984505
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Jonny540, я имел ввиду когда писал про активную запись не знаю как программно указать когда запись активна. Т.е. эта форма должна открываться для каждой записи со своими настройками галочек. вот я не знаю где указать что форма открывается для активной записи из грид вернее не знаю как это сделать. в грид вывожу id и Name пользователя. имею ввиду следующее открылась первая форма с грид в котором выведены все пользователи, далее нажали на первого пользователя допустим. открывается форма с галочками соответствующими первому пользователю(первой записи) или аналогично для 5-ой, 10-й
...
Рейтинг: 0 / 0
задачка
    #37984529
Дима1991Jonny540, я имел ввиду когда писал про активную запись не знаю как программно указать когда запись активна. Т.е. эта форма должна открываться для каждой записи со своими настройками галочек. вот я не знаю где указать что форма открывается для активной записи из грид вернее не знаю как это сделать. в грид вывожу id и Name пользователя. имею ввиду следующее открылась первая форма с грид в котором выведены все пользователи, далее нажали на первого пользователя допустим. открывается форма с галочками соответствующими первому пользователю(первой записи) или аналогично для 5-ой, 10-й
откройте для себя When() и Valid()...
...
Рейтинг: 0 / 0
задачка
    #37984540
Дима1991Станислав С...кий, у меня вопрос к вам. функция АТ возвращает начальную позицию первого вхождения символьного выражения как я читал. значит с помощью этой функции можно искать символы в строке как я понимаю и если нашелся символ в методе init или load у открываемой формы сделать так чтобы галочка при открытии была уже установлена. Если так реализовать в поле лишние символы не будет записывать интересно? я имею ввиду тот символ, который соответствует этой галочке
Я потому и говорил про перезапись значения в поле, чтобы не было повторений...
То есть:
- считали значения из поля...
- расставили галочки
- пользователь поставил новые / убрал старые
- мы собрали значения с галочек, записали в поле (а старое значение, которое было в поле - стерли)...
...
Рейтинг: 0 / 0
задачка
    #37984707
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991Jonny540, я имел ввиду когда писал про активную запись не знаю как программно указать когда запись активна. Т.е. эта форма должна открываться для каждой записи со своими настройками галочек. вот я не знаю где указать что форма открывается для активной записи из грид вернее не знаю как это сделать. в грид вывожу id и Name пользователя. имею ввиду следующее открылась первая форма с грид в котором выведены все пользователи, далее нажали на первого пользователя допустим. открывается форма с галочками соответствующими первому пользователю(первой записи) или аналогично для 5-ой, 10-йЭто называется "передача параметра в форму". Можно сделать через
Код: plsql
1.
DO FORM ..... WITH par1, par2, ....

В Init() вызываемой формы первая строка
Код: plsql
1.
LPARAMETERS lcPar1, lcPra2, ....


Вот и передавай RECNO() или id...
...
Рейтинг: 0 / 0
задачка
    #37984710
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Станислав С...кий, писал такой код в load формы с галочками, но выдается ошибка что check1 не найден

авторif AT("0",tablica.pole1) = 0
thisform.check1.Value=0
ELSE
if AT("0",tablica.pole1) = 1
thisform.check1.Value=1
ENDIF
ENDIF

как бы вам не было сложно не могли бы вы дать небольшой исходник или код. читал про when и valid понял что работа с фокусом. записывает и удаляет символ вроде как надо. но вот при повторном открытии галочки не сохраняются и поэтому если пользователь нажал еще раз галочку то второй похожий символ записывается чего не должно быть
...
Рейтинг: 0 / 0
задачка
    #37984712
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991писал такой код в load формы с галочками, но выдается ошибка что check1 не найденпотому что надо писать в init (в load-е объекты формы ещё не созданы)
...
Рейтинг: 0 / 0
задачка
    #37984714
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторif AT("0",tablica.pole1) = 0
thisform.check1.Value=0
ELSE
if AT("0",tablica.pole1) = 1
thisform.check1.Value=1
ENDIF
ENDIFоткройте для себя do case ну а если "0" окажется на 2+ позиции в строке?
...
Рейтинг: 0 / 0
задачка
    #37984715
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir, а вот поставил в init и все работает. только я до сих пор не понял как сделать все это для выбранной записи. надо как-то идентифицировать записи по id что ли, а то у меня галочка устанавливается и для любой записи тоже самое выдается те же самые галочки
...
Рейтинг: 0 / 0
задачка
    #37984716
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir, да вы правы, если на других позициях есть 0 то галочка не ставится при открытии формы. какая функция есть чтобы искать этот символ на какой бы позиции он не был?
...
Рейтинг: 0 / 0
задачка
    #37984718
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991какая функция есть чтобы искать этот символ на какой бы позиции он не был?
AT()

PS про уши :)Станислав С...кийJonny540ps что-то мне напоминает фирму А&K'89 :)

Пока не согласен. Начинающий - да. Но из постов еще не торчат их "уши"...
а это?
Дима1991это поликлиника

Интересно где эти задания про больницы задают?
...
Рейтинг: 0 / 0
задачка
    #37984721
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T, вы что не читали что я пишу я же говорю делаю через АТ() он находит символ если встречает его на первой позиции, а если символ 5-й, 10-й не находит. а надо чтобы находил в любом месте
...
Рейтинг: 0 / 0
задачка
    #37984722
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T, я не в поликлинике работаю ты что :) я пишу для примера чтобы вам пояснить каждый символ какой-то отдел. допустим не поликлиника, а отдел программистов или сисадминов разницы нет
...
Рейтинг: 0 / 0
задачка
    #37984727
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991tanglir, да вы правы, если на других позициях есть 0 то галочка не ставится при открытии формы. какая функция есть чтобы искать этот символ на какой бы позиции он не был?
Ну
Код: sql
1.
AT("0",tablica.pole1) > 0

же...

и вообще, как вариант:
сделать контейнер cont_settings
забить туда все чекбоксы
каждому чекбоксу в Tag прописать символ, которому он соответствует
потом в ините
Код: sql
1.
2.
3.
4.
5.
6.
7.
Local lochk
For Each lochk In Thisform.cont_settings.Objects
  If Lower(lochk.BaseClass)=="checkbox"
      lochk.value=icase(empty(lochk.tag),.NULL.,;
        at(lochk.tag,tablica.pole1)>0,1,0)
  Endif
Endfor
...
Рейтинг: 0 / 0
задачка
    #37984731
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991Dima T, вы что не читали что я пишу я же говорю делаю через АТ() он находит символ если встречает его на первой позиции, а если символ 5-й, 10-й не находит. а надо чтобы находил в любом месте
Ты много пишешь и мало читаешь. Выше тебе уже все ответили. С разъяснениями.
...
Рейтинг: 0 / 0
задачка
    #37984747
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я читаю в хелпе о функциях, я недавно начал изучать фокспро, я больше не делфи программировал чем на фокпро. ActivateCell это получается активная строка в грид если я правильно понимаю, мне надо во первых сделать так чтобы для активной строки открывалась эта форма. выше писали передача параметров в форму, но какие параметры передавать и как понятия не имею
...
Рейтинг: 0 / 0
задачка
    #37984767
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991ActivateCell это получается активная строка в грид если я правильно понимаюфакин мануалActivateCell Method
Activates a cell in a Grid control.
Код: sql
1.
Grid.ActivateCell(nRow, nCol)


Parameters
nRow, nCol
Specifies the row and the column that contain the active cell.Это метод, устанавливающий фокус на указанную ячейку. Какая ещё "активная строка"??
Дима1991выше писали передача параметров в форму, но какие параметры передавать и как понятия не имеюJonny540
Код: plsql
1.
DO FORM ..... WITH par1, par2, ....


В Init() вызываемой формы первая строка
Код: plsql
1.
LPARAMETERS lcPar1, lcPra2, ....

Вот и передавай RECNO() или id...Что тут непонятного?
...
Рейтинг: 0 / 0
задачка
    #37984772
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir, мне надо сделать так. человек выбрал например 2-ю запись. нужно открыть форму с чекбоксами проверив такое условие. if AT("0",personal.slovo) = 0 AND и совпадает ли значение поля tablica.id с значением выбранной id выбранной записи. в грид в первую колонку вывожу id из таблицы tablica. не судите строго я новичек
...
Рейтинг: 0 / 0
задачка
    #37984890
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
DO FORM форма WITH tablica.id

в ините открывшейся формы выбираете по этому ид из той же таблицы свою строку с нулями и прочей требухой:
Код: sql
1.
2.
3.
4.
LPARAMETERS _id
local lastr[1]
select stroka from tablica where id=_id into array lastr
-- в массиве "lastr" теперь один элемент - искомая строка

, а как с этой строкой работать дальше, см. выше.
...
Рейтинг: 0 / 0
задачка
    #37984928
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir, написал так:

LPARAMETERS _id_reg
local lastr[1]
select pole1 from tablica where id_reg=_id_reg into array lastr


if AT("0",personal.pole1) = 0 AND personal.id_reg=_id_reg
thisform.check1.Value=0
ELSE
if AT("0",personal.pole1) = 1
thisform.check1.Value=1
ENDIF
ENDIF

Выбираю первую запись. для первой записи в таблице tablica в поле pole1 есть символы 01 он ставит галочку при открытии. вроде правильно работает. если нашел 0 ставит галочку, для второй записи не ставит галочку, так как в поле pole1 для второй записи нету 0. тоже вроде правильно. У меня вопрос. на форме этих чекбоксов около 20. если для всех чекбоксов я напишу подобный код для разных символов то будет ли работать так как надо?
...
Рейтинг: 0 / 0
задачка
    #37984933
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дима1991, если делать тоже самое для второго символа то уже не работает. как исправить это
...
Рейтинг: 0 / 0
задачка
    #37985040
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglir
Код: sql
1.
-- в массиве "lastr" теперь один элемент - искомая строка


, а как с этой строкой работать дальше, см. выше.
Дима1991if AT("0", personal.pole1 )

Дима1991если делать тоже самое для второго символа то уже не работает

Дима1991если для всех чекбоксов я напишу подобный код для разных символов то будет ли работать так как надо?да, но выше я давал более универсальный способ.
...
Рейтинг: 0 / 0
задачка
    #37985182
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir, с контейнерами я не знаю как работать. никогда не сталкивался ни в фокс ни в делфи
...
Рейтинг: 0 / 0
задачка
    #37985191
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если да, то хорошо извиняюсь во втором случае забыл изменить имя чекбокса, поэтому не работал второй чек
...
Рейтинг: 0 / 0
задачка
    #37985195
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991, не поверите, все здешние тоже когда-то не умели с ним работать, а ведь раньше и инет был не такой, как сейчас (а где-то его и вовсе не было). Однако ж как-то научились...
Имо единственный неочевидный момент при работе с контейнерами - чтобы объекты добавлялись именно в сам контейнер, а не поверх него, в редакторе форм нужно щёлкнуть по контейнеру с зажатым Ctrl (его рамка при этом подсветится), и уже после этого что-то добавлять/изменять.
А программу вам в этом подфоруме не напишут , и не надейтесь
...
Рейтинг: 0 / 0
задачка
    #37985234
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir, я и не говорю чтобы мне писали прогу саму, тогда я ничему и не научусь сам. скиньте ссылку на инфу про контейнеры. а то у меня один хелп и все.
...
Рейтинг: 0 / 0
задачка
    #37985248
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991 скиньте ссылку на инфу про контейнеры. а то у меня один хелп и все.
Такие вещи в книгах читают. И тебе советую начать не с вопросов как форму с галками создать, а с того чтобы книгу по фоксу прочитать и поразбираться с примерами в ней описанными.
Хотя в нынешнее время и на книги ссылки есть.
...
Рейтинг: 0 / 0
задачка
    #37985251
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T, спасибо за книжку
...
Рейтинг: 0 / 0
задачка
    #37985275
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не за что. Тут список книг по фоксу. Но ту советую почитать, лично мне она сильно помогла с фоксом разобраться.
...
Рейтинг: 0 / 0
задачка
    #37985277
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дима1991, люди вроде как все заработало как надо, но одна проблемка появилась в методе interactivechange у чекбокс пишу такой код:

IF thisform.check1.Value=1
replace pole1 with '0' + alltrim(tablica.pole1)
ELSE
replace pole1 with ChrTran(tablica.pole1,'0','')
ENDIF

но появляется ошибка variable 'pole1' not found. до передачи параметров работало все.
...
Рейтинг: 0 / 0
задачка
    #37985293
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вроде исправил ситуацию :)
...
Рейтинг: 0 / 0
задачка
    #37985297
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991,

вы "ушли" с таблицы
либо добавьте перед всем этим
Код: sql
1.
select tablica1 -- или какой там у неё алиас


, либо в реплейсах допишите "IN tablica1"

А вообще... у вас же есть ид, так что лучше написать это через update - sql (справка в помощь)

ЗЫ. Ошибочка у вас: в случае check1.Value=1 если в поле уже был ноль, то он продублируется. Лучше собирайте всё с нуля в момент записи и переписывайте строку целиком.
...
Рейтинг: 0 / 0
задачка
    #37985299
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirв момент записив смысле, не в момент изменения значения чекбокса, а по кнопке "да/окей" или там по закрытию формы с чекбоксами...
...
Рейтинг: 0 / 0
задачка
    #37985366
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir, вроде не дублируется. перед открытием формы я проверяю, если в поле есть допустим символ 2 то открываю форму с уже поставленным чекбоксом, если нету открываю с не поставленным чекбоксом и если пользователь потом ставит галочку записываю символ в строку
...
Рейтинг: 0 / 0
задачка
    #37985400
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как обновить значение поля в таблице сделав его таким же как и в textbox.

вот делаю так:
авторSELECT tablica
REPLACE parol WITH thisform.text1.value
UPDATE tablica SET parol=parol WHERE tablica.id_reg=id_reg
где Set немного загвоздка получилась там же надо указывать обновляемый столбец и выражение. столбец parol а его новое значение берется из textbox писал так:

авторUPDATE tablica SET parol=thisform.text1.value WHERE tablica.id_reg=id_reg ошибку выкидывает
...
Рейтинг: 0 / 0
задачка
    #37985418
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991tanglir, вроде не дублируется...а, ну да, вы же по каждому клшику меняете... тогда пардон, ошибся я.
авторthisform.text1.valueЭто присвоить какой-нибудь переменной, и её использовать в запросе. И вообще не используйте в запросах (да и во всяких replace-ах тоже) свойства объектов, работайте через переменные.
...
Рейтинг: 0 / 0
задачка
    #37985443
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir, пишу так:

авторSELECT tablica
REPLACE parol WITH thisform.text1.value
thisform.text1.Value=tablicapassword
UPDATE tablica SET parol=tablicapassword from tablica WHERE tablica.id_reg=id_reg

ошибка datatype mismatch, а почему так не пойму.
...
Рейтинг: 0 / 0
задачка
    #37985473
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
блин что-то нахимичил я :) сделал просто через replace

авторSELECT tablica

REPLACE tablica.parol WITH thisform.text1.Value
...
Рейтинг: 0 / 0
задачка
    #37985688
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
люди а как раскрасить зеленым цветом активную строку в грид
...
Рейтинг: 0 / 0
задачка
    #37985690
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
красоту навести хочу))
...
Рейтинг: 0 / 0
задачка
    #37985730
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
думал надо через DynamicBackColor надо а оказывается просто в свойствах можно настроить
...
Рейтинг: 0 / 0
72 сообщений из 72, показаны все 3 страниц
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / задачка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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