Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#1: 2013-03-29 14:19:45 ЛС | профиль | цитата

code_30710.txt
Задача:
Используя окно ComboBox, организовать:
1. Выбор значения из списка
2. Редактирование выбранного (если нужно) и запись в БД под тем же ID.
3. Ввод нового значения и запись его в БД.
Не использовать PopupMenu
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_30710.txt [2.9KB] [141]
Ответов: 1528
Рейтинг: 57
#2: 2013-03-29 14:27:53 ЛС | профиль | цитата
Tad, это первой записью
#sql
INSERT INTO author values (',NULL);

а всё остальное отлавливая клавишу Enter


т.е. при выборе пустышки, и введённом тексте и нажатой клавишей Enter добавлять
с остальным вроде всё и так понятно
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#3: 2013-03-29 15:25:58 ЛС | профиль | цитата
hitman249, вот в остальном как раз и не понятно.
1. Программа пишется не для себя, а для "блондинки".
2. Выбрала "Петя",стерла, набрала "Толя",нажала Enter. Что делать в этом случае ? Добавлять или исправлять в БД под тем же id ?
3. Выбрала "Коля", не стирая исправила на "Толя" (одну первую букву),нажала Enter. Вопросы те же.
4. Выбрала "пустышку", набрала "Петя",нажала Enter. А он уже в БД есть. Можно конечно применить UNIQUE, но не хочется применять тормоза.


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1528
Рейтинг: 57
#4: 2013-03-29 15:42:39 ЛС | профиль | цитата
Выбрала "Петя",стерла, набрала "Толя",нажала Enter.
исправлять в БД под тем же id


Выбрала "Коля", не стирая исправила на "Толя" (одну первую букву),нажала Enter.
исправлять в БД под тем же id


Выбрала пустышку, вписала "Иван", нажала Enter, добавлять.

Ну и удалить, выбрала нажала Delete, показался диалог.
------------ Дoбавленo в 15.42:
Tad писал(а):
А он уже в БД есть.
можно мессагу показать что есть такой уже
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#5: 2013-03-29 16:04:37 ЛС | профиль | цитата
hitman249 писал(а):
Ну и удалить, выбрала нажала Delete, показался диалог
Во первых Delete там не пляшет - таблицы связаны между собой и Delete в одной ведет к Delete в остальных.
hitman249 писал(а):
можно мессагу показать что есть такой уже
hitman249, ты не в теме. Посмотри как работают Операторы (с большой буквы) - они на экран не смотрят - смотрят на обрабатываемый документ и очень уважают программы (и программистов) которые не заставляют их пялиться на экран.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1528
Рейтинг: 57
#6: 2013-03-29 16:26:35 ЛС | профиль | цитата
Tad, м, ComboBox это такая штука которая их уже заставляет туда пялиться
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#7: 2013-03-29 16:49:52 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-10 23:08:37
карма: 0

0
Ответов: 1528
Рейтинг: 57
#8: 2013-03-29 18:37:22 ЛС | профиль | цитата
или как вариант использовать Ctrl+Enter добавить, Enter сохранить
карма: 0

0
Ответов: 758
Рейтинг: 112
#9: 2013-03-29 18:39:41 ЛС | профиль | цитата
Мои 5 коп.
code_30712.txt
карма: 1

0
файлы: 1code_30712.txt [4.8KB] [154]
Ответов: 16884
Рейтинг: 1239
#10: 2013-03-29 20:05:35 ЛС | профиль | цитата
miver, спасибо ! но... не проходит. Никаких добавочных кнопок.
И для науки (обмен опытом):
code_30713.txt

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
файлы: 1code_30713.txt [4.2KB] [136]
Голосовали:miver
Ответов: 758
Рейтинг: 112
#11: 2013-03-30 22:15:42 ЛС | профиль | цитата
Tad писал(а):
спасибо ! но... не проходит.

А если так
code_30723.txt
карма: 1

0
файлы: 1code_30723.txt [3.5KB] [158]
Ответов: 16884
Рейтинг: 1239
#12: 2013-03-30 22:30:22 ЛС | профиль | цитата
miver писал(а):
А если так ?

code_30724.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_30724.txt [3.6KB] [142]
Ответов: 758
Рейтинг: 112
#13: 2013-03-30 23:49:22 ЛС | профиль | цитата
Это проверка на пустоту строки для исключения автора без имени
Там связь нужно переставить на onFalse
------------ Дoбавленo в 23.49:
На всякий пожарный выложу

Add(ChildGroupBox,4791122,350,161)
{
}
BEGIN_SDK
Add(EditMulti,8875009,21,21)
{
WorkCount=1
Width=608
Height=249
link(doWork1,11027836:doEvent1,[(31,27)(31,55)])
}
Add(GroupBox,9592801,105,56)
{
Left=10
Top=10
Width=140
Height=47
Font=[Arial,9,1,8388608,204]
Visible=1
Caption="Автор"
Point(doLeft)
Point(doTop)
Point(doBringToFront)
Point(doVisible)
}
Add(DSC_Query,7584567,175,49)
{
SQL="SELECT * FROM author ORDER BY name"
DSManager="parent.testauthor"
link(onQuery,14233784:doEvent1,[])
}
Add(ComboBox,2706344,315,49)
{
Left=4
Top=17
Width=125
Height=21
Font=[Arial,9,1,0,204]
ParentFont=0
Text=""
DataType=1
Point(onChangeText)
Point(onKeyUp)
Point(Index)
Point(doSelectString)
link(onClick,2900863:doEvent1,[])
link(onChangeText,2962690:doWork2,[(375,69)(375,125)])
link(onKeyUp,11558186:doCase,[(354,76)(354,209)])
}
Add(Hub,6296753,147,42)
{
InCount=2
link(onEvent1,2706344:doClear,[(291,48)(291,62)])
link(onEvent2,7584567:doQuery,[])
}
Add(DSC_Exec,11412484,567,217)
{
DSManager="parent.testauthor"
link(onExec,6296753:doEvent1,[(606,223)(606,34)(137,34)(137,48)])
}
Add(FormatStr,1813336,525,217)
{
Mask="INSERT OR REPLACE INTO author values('%1',%2);"
link(onFString,11412484:doExec,[])
link(Str1,12639998:Var3,[(531,166)])
link(Str2,4788008:Value,[])
}
Add(Hub,11027836,35,49)
{
OutCount=3
link(onEvent1,6296753:doEvent2,[])
link(onEvent2,2892741:doSplit,[])
link(onEvent3,9592801:doVisible,[(77,69)(77,83)])
}
Add(MultiStrData,2892741,63,56)
{
link(onPart1,9592801:doLeft,[])
link(onPart2,9592801:doTop,[])
}
Add(InfoTip,7345432,21,98)
{
Info=#7:author(|5:name,|22:id INTEGER PRIMARY KEY|2:);|
HAlign=0
Width=155
Height=67
Margin=3
}
Add(Case,11558186,371,203)
{
Value=Integer(13)
link(onTrue,10660537:doCompare,[])
}
Add(Memory,3173574,427,119)
{
@Hint=#6:String|
AddHint(-10,-22,42,13,@Hint)
}
Add(Memory,4788008,532,70)
{
@Hint=#5:Index|
AddHint(-7,-23,41,13,@Hint)
}
Add(Hub,14233784,217,49)
{
link(onEvent1,2706344:doAdd,[])
link(onEvent2,14365881:doData,[(242,62)(242,97)])
}
Add(DoData,14365881,252,91)
{
link(onEventData,2706344:doSelectString,[])
link(Data,16736448:Var,[])
}
Add(LineBreak,11247518,427,175)
{
Type=1
link(Data,9071308:Var2,[])
Primary=[16736448,-175,-112]
}
Add(GetDataEx,9071308,427,161)
{
link(Data,3173574:Value,[])
}
Add(Case,4282188,476,63)
{
Value=Integer(1)
DataOnTrue=String(null)
link(onNextCase,16360229:doWork1,[(515,69)])
link(onTrue,16360229:doWork2,[])
}
Add(Hub,2900863,385,56)
{
link(onEvent1,16250631:doSeparateMT,[])
link(onEvent2,2962690:doWork1,[(410,69)])
}
Add(HubEx,2962690,406,119)
{
link(onEvent,3173574:doValue,[])
}
Add(HubEx,16360229,511,70)
{
link(onEvent,4788008:doValue,[])
}
Add(If_else,10660537,427,210)
{
Op2=Integer(-1)
link(onTrue,6014222:doCompare,[])
link(Op1,2706344:Index,[(433,194)(335,194)])
}
Add(MT_MultiData,16250631,427,56)
{
link(onData2,4282188:doCase,[])
}
Add(If_else,6014222,476,210)
{
link(onFalse,1813336:doString,[])
link(Op1,12639998:Var2,[])
}
Add(GetDataEx,12639998,476,161)
{
Angle=3
link(Data,9071308:Var3,[])
}
END_SDK

карма: 1

0
Ответов: 16884
Рейтинг: 1239
#14: 2013-03-31 00:23:23 ЛС | профиль | цитата
......
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
14
Сообщение
...
Прикрепленные файлы
(файлы не залиты)