Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Телефонный справочник!!!  [new]
kasablanka
Member

Откуда:
Сообщений: 14
Ради бога помогите создать телефонный справочник с помощью FoxPro....
достаточно одной таблицы....и формочка с поиском по телефону и ФИО,ну кнопки удалить создать..
21 ноя 09, 17:56    [7959983]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
Ffffffffff
Guest
Воспользуйтесь мастером создания форм.
21 ноя 09, 18:10    [7959995]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
kasablanka
Member

Откуда:
Сообщений: 14
Ffffffffff,
а если совсем не понятно как прописать выборку по поиску?
21 ноя 09, 18:13    [7960000]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
Ffffffffff
Guest
Мастер форм сам все это создаст. Правда на английском языке.
21 ноя 09, 18:15    [7960003]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
kasablanka
Member

Откуда:
Сообщений: 14
Ffffffffff,
все же с мастером форм слишком просто хотелось бы без него....хотелось бы присутствие хоть одного файла .prg
да и еще как осуществить связь с одной главной формы на другую(т.е. на одной форме есть кнопка абоненты....жмем на нее выходит форма со всеми абонентами)?
21 ноя 09, 18:21    [7960011]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
Fffffffff
Guest
kasablanka, у вас с каждым новым сообщением задача усложняется.
Совет: поищите по форуму. Такие задачи у студентов возникают регулярно.
21 ноя 09, 18:26    [7960018]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
kasablanka
Member

Откуда:
Сообщений: 14
Fffffffff,
увы и где ж я только не искала....все безрезультатно...хочется создать самое простое приложение....
21 ноя 09, 18:29    [7960020]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
reware
Member

Откуда: Хабаровск
Сообщений: 585
kasablanka
Fffffffff,
увы и где ж я только не искала....все безрезультатно...хочется создать самое простое приложение....

Ну так и создавайте. Или вам надо обьяснить 1) как создать базу данных 2) как создать форму 3) как на форме создать кнопки 4) как ... (дальше сами нафантазируйте). Не много ли натощак ?
21 ноя 09, 20:19    [7960140]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
kasablanka
Member

Откуда:
Сообщений: 14
reware,
это самое простое что можно сделать в foxpro...создайте базу данных...форму и т.д. и т.п.(((((
21 ноя 09, 22:48    [7960326]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
Dag
Member

Откуда:
Сообщений: 842
reware
Взялся за грудь - не говори, что не муж.
21 ноя 09, 23:25    [7960377]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
kasablanka
Member

Откуда:
Сообщений: 14
Dag
reware
Взялся за грудь - не говори, что не муж.

......??????????????
21 ноя 09, 23:29    [7960380]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
Dag
Member

Откуда:
Сообщений: 842
kasablanka
reware,
это самое простое что можно сделать в foxpro...создайте базу данных...форму и т.д. и т.п.(((((


!!!!!!!!!!!!!!!!! reware Ваши указания получил - будем ждать результат.....
21 ноя 09, 23:40    [7960395]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
kasablanka
Member

Откуда:
Сообщений: 14
!!!!!!!!!!!!!!!!! reware Ваши указания получил - будем ждать результат.....[/quot]

ну перетащить на форму компоненты....эт я уже сделала...бд создала....а дальше чтоб эт заработала я думаю надо еще чтот сделать...
Но вот что????
21 ноя 09, 23:42    [7960396]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
kolabok
Member

Откуда:
Сообщений: 14
kasablanka
я думаю надо еще чтот сделать...
Но вот что????


Забрать документы из института
22 ноя 09, 01:43    [7960541]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
reware
Member

Откуда: Хабаровск
Сообщений: 585
kasablanka
!!!!!!!!!!!!!!!!! reware Ваши указания получил - будем ждать результат.....


ну перетащить на форму компоненты....эт я уже сделала...бд создала....а дальше чтоб эт заработала я думаю надо еще чтот сделать...
Но вот что????[/quot]
Само по щучьему веленью и не заработает. Вы только нарисовали мышкой красивую целлофановую упаковку (форму), но не насыпали в нее конфет. Вы будете удивлены, но любая программа (MS Word, Internet Explorer, MS Windows) работает не потому, что кто-то хорошо освоил навыки рисования на экране, а благодаря работе программистов, наполнивших эту пустую оболочку содержанием (собственно программой). Команды, функции, методы, обьекты и прочие скучные вещи. Понятно, что это не так приятно, как перетаскивать кнопочку указателем поперек формы и раскрашивать буковки в Label. Огорчу вас, но придется прочитать хоть одну книгу по программированию.
22 ноя 09, 02:56    [7960599]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
Dag
Member

Откуда:
Сообщений: 842
kasablanka
ну перетащить на форму компоненты....эт я уже сделала...бд создала....а дальше чтоб эт заработала я думаю надо еще чтот сделать...
Но вот что????


Владельцы магических кристаллов в период сдачи курсовых работ в большом дефиците. По сему - Ваша задача донести до возможных советчиков всю информацию по уже сделанной работе. Дополните свою БД тестовыми данными, сверните проект в архив и выложите здесь. Так желающим будет проще Вам помочь.
22 ноя 09, 07:30    [7960670]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
reware
Member

Откуда: Хабаровск
Сообщений: 585
Dag

Владельцы магических кристаллов в период сдачи курсовых работ в большом дефиците.

Я совершенно не в тему, прошу милости у модератора. А на какие периоды года нынче приходятся эти паталогические сдачи курсовых ? Я бы в это время совсем перестал обращать внимание на подобные посты. Или вывесил обявление "Пишу дипломы, курсовые, диссертации. На языке VFP. Дорого." :)
22 ноя 09, 10:09    [7960732]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
*Lol*
Guest
kasablanka

ну перетащить на форму компоненты....эт я уже сделала...бд создала....а дальше чтоб эт заработала я думаю надо еще чтот сделать...
Но вот что????


Надо написать код на нужных контролах формы. Это ооочень просто в вашем случае. Достаточно прочитать пару лекций (если вы на них ходили) или открыть любую книжку по фокс про, а можно даже украсть у кого-то готовый код с похожей формы ))
(последнюю фразу моя совесть нагло игнорирует)
23 ноя 09, 12:27    [7963515]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
LUCIAN
Member

Откуда: Беларусь г.Лида
Сообщений: 192
kasablanka,

К сообщению приложен файл. Размер - 0Kb
23 ноя 09, 17:21    [7966151]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
LUCIAN
Member

Откуда: Беларусь г.Лида
Сообщений: 192
LUCIAN,

PUBLIC oform1

oform1=NEWOBJECT("form1")
oform1.Show
RETURN


	**************************************************
*-- Form:         form1 (d:\tabel\telef.scx)
*-- ParentClass:  form
*-- BaseClass:    form
*-- Time Stamp:   09/10/09 03:57:10 PM
*
DEFINE CLASS form1 AS form


	Top = 0
	Left = 0
	Height = 742
	Width = 1024
	DoCreate = .T.
	ShowTips = .T.
	Caption = "Телефонн.справочник Лидагропроммаш с возможностью поиска по цеху и фамилии работника"
	WindowState = 2
	Name = "Form1"


	ADD OBJECT container2 AS container WITH ;
		Top = 2, ;
		Left = 288, ;
		Width = 478, ;
		Height = 288, ;
		TabIndex = 2, ;
		TabStop = .F., ;
		BackColor = RGB(128,255,255), ;
		Name = "Container2"


	ADD OBJECT form1.container2.list1 AS listbox WITH ;
		BoundColumn = 3, ;
		ColumnCount = 3, ;
		ColumnWidths = "236,180,40", ;
		RowSourceType = 3, ;
		RowSource = "SELECT FIO,PROF,TN,KCEH FROM CFIO ORDER BY FIO INTO CURSOR CNAM", ;
		ControlSource = "TNT", ;
		FirstElement = 1, ;
		Height = 202, ;
		IncrementalSearch = .T., ;
		Left = 3, ;
		NumberOfElements = 0, ;
		TabIndex = 2, ;
		Top = 34, ;
		Width = 476, ;
		Name = "List1"


	ADD OBJECT form1.container2.txtsearch AS textbox WITH ;
		Height = 23, ;
		Left = 274, ;
		TabIndex = 1, ;
		Top = 249, ;
		Width = 100, ;
		Name = "txtSearch"


	ADD OBJECT form1.container2.label1 AS label WITH ;
		WordWrap = .T., ;
		Caption = "Вводите первые буквы ФИО. или фрагмент в форме(*.....):", ;
		Height = 31, ;
		Left = 75, ;
		Top = 242, ;
		Width = 193, ;
		TabIndex = 3, ;
		BackColor = RGB(255,255,128), ;
		Name = "Label1"


	ADD OBJECT form1.container2.label2 AS label WITH ;
		AutoSize = .T., ;
		Caption = "Поиск работника по первым буквам или таб.№", ;
		Height = 17, ;
		Left = 77, ;
		Top = 12, ;
		Width = 270, ;
		TabIndex = 4, ;
		ForeColor = RGB(255,255,255), ;
		BackColor = RGB(0,128,255), ;
		Name = "Label2"


	ADD OBJECT container4 AS container WITH ;
		Top = 296, ;
		Left = 381, ;
		Width = 386, ;
		Height = 147, ;
		TabIndex = 4, ;
		TabStop = .F., ;
		BackColor = RGB(0,255,255), ;
		Name = "Container4"


	ADD OBJECT form1.container4.label2 AS label WITH ;
		AutoSize = .T., ;
		Caption = "№№  телефоноф работника", ;
		Height = 17, ;
		Left = 81, ;
		Top = 2, ;
		Width = 162, ;
		ForeColor = RGB(255,255,255), ;
		BackColor = RGB(0,128,255), ;
		Name = "Label2"


	ADD OBJECT form1.container4.grdtel_rv AS grid WITH ;
		ColumnCount = 3, ;
		DeleteMark = .F., ;
		Height = 127, ;
		Left = 4, ;
		Panel = 1, ;
		ReadOnly = .T., ;
		RecordSource = "", ;
		RecordSourceType = 1, ;
		Top = 16, ;
		Width = 346, ;
		Name = "grdTel_rv", ;
		Column1.ControlSource = "", ;
		Column1.Width = 88, ;
		Column1.ReadOnly = .T., ;
		Column1.Name = "Column1", ;
		Column2.ColumnOrder = 3, ;
		Column2.ControlSource = "", ;
		Column2.Width = 159, ;
		Column2.ReadOnly = .T., ;
		Column2.Name = "Column2", ;
		Column3.ColumnOrder = 2, ;
		Column3.ControlSource = "tel_rab.n_dom", ;
		Column3.Width = 65, ;
		Column3.ReadOnly = .T., ;
		Column3.Name = "Column3"


	ADD OBJECT form1.container4.grdtel_rv.column1.header1 AS header WITH ;
		Caption = "мобильный", ;
		Name = "Header1"


	ADD OBJECT form1.container4.grdtel_rv.column1.text1 AS textbox WITH ;
		BorderStyle = 0, ;
		Margin = 0, ;
		ReadOnly = .T., ;
		ForeColor = RGB(0,0,0), ;
		BackColor = RGB(255,255,255), ;
		Name = "Text1"


	ADD OBJECT form1.container4.grdtel_rv.column2.header1 AS header WITH ;
		Caption = "примечание", ;
		Name = "Header1"


	ADD OBJECT form1.container4.grdtel_rv.column2.text1 AS textbox WITH ;
		BorderStyle = 0, ;
		Margin = 0, ;
		ReadOnly = .T., ;
		ForeColor = RGB(0,0,0), ;
		BackColor = RGB(255,255,255), ;
		Name = "Text1"


	ADD OBJECT form1.container4.grdtel_rv.column3.header1 AS header WITH ;
		Caption = "домашний", ;
		Name = "Header1"


	ADD OBJECT form1.container4.grdtel_rv.column3.text1 AS textbox WITH ;
		BorderStyle = 0, ;
		ControlSource = "tel_rab.n_dom", ;
		Margin = 0, ;
		ReadOnly = .T., ;
		ForeColor = RGB(0,0,0), ;
		BackColor = RGB(255,255,255), ;
		Name = "Text1"


	ADD OBJECT form1.container4.command1 AS commandbutton WITH ;
		Top = 34, ;
		Left = 354, ;
		Height = 20, ;
		Width = 29, ;
		FontName = "Arial Black", ;
		FontSize = 12, ;
		Caption = "+", ;
		Enabled = .F., ;
		ToolTipText = "Вставить новый номер", ;
		Name = "Command1"


	ADD OBJECT form1.container4.command2 AS commandbutton WITH ;
		Top = 72, ;
		Left = 353, ;
		Height = 20, ;
		Width = 29, ;
		FontName = "Arial Black", ;
		FontSize = 12, ;
		Caption = "-", ;
		Enabled = .F., ;
		ToolTipText = "Удалить номер", ;
		Name = "Command2"


	ADD OBJECT container1 AS container WITH ;
		Top = 2, ;
		Left = 9, ;
		Width = 254, ;
		Height = 288, ;
		TabIndex = 1, ;
		TabStop = .T., ;
		BackColor = RGB(128,255,128), ;
		Name = "Container1"


	ADD OBJECT form1.container1.list1 AS listbox WITH ;
		BoundColumn = 2, ;
		ColumnCount = 2, ;
		ColumnWidths = "190,16", ;
		RowSourceType = 3, ;
		RowSource = "SELECT NAMC,KOD FROM CPOD  ORDER BY NAMC INTO CURSOR CPAM", ;
		ControlSource = "KODC", ;
		FirstElement = 1, ;
		Height = 260, ;
		IncrementalSearch = .T., ;
		Left = 7, ;
		NumberOfElements = 0, ;
		TabIndex = 1, ;
		Top = 23, ;
		Width = 239, ;
		Name = "List1"


	ADD OBJECT form1.container1.txtsearch AS textbox WITH ;
		Height = 23, ;
		Left = 149, ;
		TabIndex = 2, ;
		Top = 257, ;
		Visible = .F., ;
		Width = 100, ;
		Name = "txtSearch"


	ADD OBJECT form1.container1.label1 AS label WITH ;
		WordWrap = .F., ;
		Caption = "Вводите  код или 1-ые буквы наименов.:", ;
		Height = 18, ;
		Left = 8, ;
		Top = 238, ;
		Visible = .F., ;
		Width = 228, ;
		TabIndex = 3, ;
		BackColor = RGB(255,255,128), ;
		Name = "Label1"


	ADD OBJECT form1.container1.label2 AS label WITH ;
		AutoSize = .T., ;
		Caption = "Выбор цеха (по первым буквам-поиск)", ;
		Height = 17, ;
		Left = 7, ;
		Top = 3, ;
		Width = 222, ;
		TabIndex = 4, ;
		ForeColor = RGB(255,255,255), ;
		BackColor = RGB(0,128,255), ;
		Name = "Label2"


	ADD OBJECT container3 AS container WITH ;
		Top = 296, ;
		Left = 9, ;
		Width = 321, ;
		Height = 147, ;
		TabIndex = 3, ;
		TabStop = .F., ;
		BackColor = RGB(128,255,128), ;
		Name = "Container3"


	ADD OBJECT form1.container3.label2 AS label WITH ;
		AutoSize = .T., ;
		Caption = "№№  телефоноф цеха", ;
		Height = 17, ;
		Left = 86, ;
		Top = 2, ;
		Width = 128, ;
		ForeColor = RGB(255,255,255), ;
		BackColor = RGB(0,128,255), ;
		Name = "Label2"


	ADD OBJECT form1.container3.grdtel_cv AS grid WITH ;
		ColumnCount = 3, ;
		DeleteMark = .F., ;
		Height = 127, ;
		Left = 4, ;
		Panel = 1, ;
		ReadOnly = .T., ;
		RecordSource = "", ;
		RecordSourceType = 1, ;
		Top = 19, ;
		Width = 281, ;
		Name = "grdTel_cv", ;
		Column1.ControlSource = "", ;
		Column1.Width = 28, ;
		Column1.ReadOnly = .T., ;
		Column1.Name = "Column1", ;
		Column2.ColumnOrder = 3, ;
		Column2.ControlSource = "", ;
		Column2.Width = 160, ;
		Column2.ReadOnly = .T., ;
		Column2.Name = "Column2", ;
		Column3.ColumnOrder = 2, ;
		Column3.ControlSource = "", ;
		Column3.Width = 55, ;
		Column3.ReadOnly = .T., ;
		Column3.Name = "Column3"


	ADD OBJECT form1.container3.grdtel_cv.column1.header1 AS header WITH ;
		Caption = "внутр.", ;
		Name = "Header1"


	ADD OBJECT form1.container3.grdtel_cv.column1.text1 AS textbox WITH ;
		BorderStyle = 0, ;
		Margin = 0, ;
		ReadOnly = .T., ;
		ForeColor = RGB(0,0,0), ;
		BackColor = RGB(255,255,255), ;
		Name = "Text1"


	ADD OBJECT form1.container3.grdtel_cv.column2.header1 AS header WITH ;
		Caption = "примечание", ;
		Name = "Header1"


	ADD OBJECT form1.container3.grdtel_cv.column2.text1 AS textbox WITH ;
		BorderStyle = 0, ;
		Margin = 0, ;
		ReadOnly = .T., ;
		ForeColor = RGB(0,0,0), ;
		BackColor = RGB(255,255,255), ;
		Name = "Text1"


	ADD OBJECT form1.container3.grdtel_cv.column3.header1 AS header WITH ;
		Caption = "городской", ;
		Name = "Header1"


	ADD OBJECT form1.container3.grdtel_cv.column3.text1 AS textbox WITH ;
		BorderStyle = 0, ;
		Margin = 0, ;
		ReadOnly = .T., ;
		ForeColor = RGB(0,0,0), ;
		BackColor = RGB(255,255,255), ;
		Name = "Text1"


	ADD OBJECT form1.container3.command1 AS commandbutton WITH ;
		Top = 37, ;
		Left = 288, ;
		Height = 20, ;
		Width = 29, ;
		FontName = "Arial Black", ;
		FontSize = 12, ;
		Caption = "+", ;
		Enabled = .F., ;
		ToolTipText = "Вставить новый номер", ;
		Name = "Command1"


	ADD OBJECT form1.container3.command2 AS commandbutton WITH ;
		Top = 75, ;
		Left = 287, ;
		Height = 20, ;
		Width = 29, ;
		FontName = "Arial Black", ;
		FontSize = 12, ;
		Caption = "-", ;
		Enabled = .F., ;
		ToolTipText = "Удалить номер", ;
		Name = "Command2"


	ADD OBJECT check1 AS checkbox WITH ;
		Top = 450, ;
		Left = 228, ;
		Height = 17, ;
		Width = 180, ;
		Alignment = 0, ;
		Caption = "Корректировка разрешена", ;
		Value = .F., ;
		Name = "Check1"


	ADD OBJECT shape1 AS shape WITH ;
		Top = 374, ;
		Left = 335, ;
		Height = 68, ;
		Width = 42, ;
		Curvature = 25, ;
		BackColor = RGB(255,255,128), ;
		Name = "Shape1"


	ADD OBJECT command1 AS commandbutton WITH ;
		AutoSize = .F., ;
		Top = 411, ;
		Left = 339, ;
		Height = 26, ;
		Width = 34, ;
		Picture = "..\mag\print.bmp", ;
		Caption = "", ;
		ToolTipText = "Вывод справочника на принтер", ;
		Name = "Command1"


	ADD OBJECT command2 AS commandbutton WITH ;
		AutoSize = .F., ;
		Top = 380, ;
		Left = 339, ;
		Height = 26, ;
		Width = 34, ;
		Picture = "..\mag\preview.bmp", ;
		Caption = "", ;
		ToolTipText = "Просмотр справочника на экране", ;
		Name = "Command2"


	PROCEDURE Load
		SET CARRY OFF
		SET DELETED ON
		SET DATE BRITISH
		public KODC,TNT
		If not USED("CPOD")
			select PADR(KODOTD,2) KOD,PROPER(NAIM1) NAMC from SPOD where not empty(NAIM1) ORDER BY 2 into cursor CPOD
		ENDIF
		SELE CPOD
		GO TOP
		KODC=CPOD.KOD

		If not USED("CFIO")
			select tn,PROPER(fio) FIO,PROPER(ZN2.NAM) PROF,PADR(Z2.KODOTD,2) KCEH from z2,ZN2 where ZN2.KS=Z2.SPEC AND not empty(fio) and D_UWL >= date() ORDER BY 2 into cursor cfio
		ENDIF
		SELE CFIO
		GO TOP
		TNT=CFIO.TN
	ENDPROC


	PROCEDURE Unload
		CLOS TABL ALL
		IF TYPE("KADRY")#"L"
			CLEAR EVENTS
		ENDIF
	ENDPROC


	PROCEDURE container2.LostFocus
		This.TabStop=.F.
	ENDPROC


	PROCEDURE container2.Init
		PERB=""
	ENDPROC


	PROCEDURE container2.GotFocus
		This.TabStop=.T.
		This.txtSearch.VALUE=""
		This.txtSearch.InteractiveChange
		SELECT CNAM
		GO TOP
		KODC=CNAM.KCEH
		ThisForm.Container1.List1.RowSource="SELECT NAMC,KOD FROM CPOD WHERE KOD=KODC ORDER BY KOD INTO CURSOR CPAM"
		ThisForm.Container1.List1.REQUERY
		ThisForm.Container1.REFRESH
	ENDPROC


	PROCEDURE list1.Valid
		IF This.Parent.TabStop=.T.
			KODC=CNAM.KCEH
			This.Parent.Parent.Container4.REFRESH
			This.Parent.Parent.Container1.LIST1.Requery
			This.Parent.Parent.Container1.REFRESH
			This.Parent.Parent.Container1.LIST1.VALID
		ENDIF
	ENDPROC


	PROCEDURE list1.When
		THIS.VALID
	ENDPROC


	PROCEDURE list1.GotFocus
		ThisForm.Container1.List1.RowSource="SELECT NAMC,KOD FROM CPOD WHERE KOD=KODC ORDER BY KOD INTO CURSOR CPAM"
		ThisForm.Container1.List1.REQUERY
		ThisForm.Container1.REFRESH
	ENDPROC


	PROCEDURE txtsearch.InteractiveChange
				LOCAL PERB
				PERB=""
				PERB=UPPER(RTRIM(This.Value))
				IF LEFT(This.Value,1) = "*"
				   IF LEN(ALLTRIM(This.Value)) > 1
				   	  PERB=RIGHT(ALLTRIM(This.Value),LEN(ALLTRIM(This.Value))-1)
				   ELSE
					  PERB=""
				   ENDIF
					This.Parent.List1.RowSource='SELECT FIO,PROF,TN,KCEH FROM CFIO WHERE PERB=="" OR AT(UPPER(ALLTRIM(PERB)),UPPER(FIO))>0 AND NOT EMPTY(FIO) order by FIO INTO CURSOR CNAM'
		*!*			IF BETWEEN(LEFT(This.Value,1),"0","9") && по табельному №
		*!*				This.Parent.List1.RowSource="SELECT FIO,PROF,TN,KCEH FROM CFIO WHERE LEFT(TN,LEN(PERB))=PERB AND NOT EMPTY(FIO) ORDER BY TN INTO CURSOR CNAM"
				ELSE
					This.Parent.List1.RowSource='SELECT FIO,PROF,TN,KCEH FROM CFIO WHERE (PERB=="" OR LEFT(UPPER(FIO),LEN(PERB))=PERB) AND NOT EMPTY(FIO) ORDER BY FIO INTO CURSOR CNAM'
				ENDIF
				This.Parent.List1.REQUERY
		*ThisForm.LIST1.SetFocus
		*This.SetFocus
	ENDPROC


	PROCEDURE txtsearch.Valid
		IF LASTKEY()=13
			SELE CNAM
			GO TOP
			TNT=CNAM.TN
			This.Parent.List1.refresh
			This.Parent.List1.VALID
		ENDIF
	ENDPROC


	PROCEDURE container4.LostFocus
		This.TabStop=.F.
	ENDPROC


	PROCEDURE container4.GotFocus
		This.TabStop=.T.
	ENDPROC


	PROCEDURE grdtel_rv.Init
		use zar!Tel_rv in 0
		this.recordsource="tel_rv"
	ENDPROC


	PROCEDURE grdtel_rv.Refresh
		=requery("tel_rv")
	ENDPROC


	PROCEDURE command1.Click
		SELE TEL_rab
		APPEND BLANK
		REPL TN WITH TNT
		NOR_ID=ID_NOR
		=REQUERY("TEL_RV")
		SELE TEL_RV
		LOCA FOR ID_NOR=NOR_ID
		This.Parent.grdTel_Rv.SETFOCUS
	ENDPROC


	PROCEDURE command2.Click
		sele TEL_RV
		NZ=RECNO()
		NOR_ID=ID_NOR
		delete from TEL_RAB where id_noR=noR_id
		=REQUERY("TEL_RV")
		SELE TEL_RV
		IF NZ>1
			GO NZ-1
		ENDIF
		This.Parent.grdTel_Rv.SETFOCUS
	ENDPROC


	PROCEDURE container1.LostFocus
		This.TabStop=.F.
	ENDPROC


	PROCEDURE container1.GotFocus
		This.TabStop=.T.
		PERB=""
		THIS.List1.RowSource="SELECT NAMC,KOD FROM CPOD  ORDER BY NAMC INTO CURSOR CPAM"
		This.txtSearch.VALUE=""
		THIS.List1.REQUERY
		SELECT CPAM
		GO TOP
		KODC=CPAM.KOD
		ThisForm.Container2.List1.RowSource="SELECT FIO,PROF,TN,KCEH FROM CFIO ORDER BY FIO INTO CURSOR CNAM"
		ThisForm.Container2.txtSearch.VALUE=""
		ThisForm.Container2.txtSearch.InteractiveChange
	ENDPROC


	PROCEDURE list1.When
		*!*	kodc=CPAM.KOD
		*!*	This.Parent.Parent.Container3.refresh
		This.VALID
	ENDPROC


	PROCEDURE list1.Valid
		*kodc=this.value
			This.Parent.Parent.Container3.refresh
	ENDPROC


	PROCEDURE txtsearch.Valid
		IF LASTKEY()=13
			SELE CPAM
			GO TOP
			kodc=cpam.kod
		*	THISFORM.KODT=CNAM.TN
			This.Parent.List1.refresh
			This.Parent.List1.VALID
		ENDIF
	ENDPROC


	PROCEDURE txtsearch.InteractiveChange
				LOCAL PERB
				PERB=""
				PERB=UPPER(RTRIM(This.Value))
				IF BETWEEN(LEFT(This.Value,1),"0","9")
					This.Parent.List1.RowSource="SELECT NAMC,KOD FROM CPOD WHERE LEFT(KOD,LEN(PERB))=PERB AND NOT EMPTY(NAMC) ORDER BY KOD INTO CURSOR CPAM"
				ELSE
					This.Parent.List1.RowSource='SELECT NAMC,KOD FROM CPOD WHERE (PERB=="" OR LEFT(UPPER(NAMC),LEN(PERB))=PERB) AND NOT EMPTY(NAMC) ORDER BY NAMC INTO CURSOR CPAM'
				ENDIF
				This.Parent.List1.REQUERY
		*ThisForm.LIST1.SetFocus
		*This.SetFocus
	ENDPROC


	PROCEDURE container3.GotFocus
		This.TabStop=.T.
	ENDPROC


	PROCEDURE container3.LostFocus
		This.TabStop=.F.
	ENDPROC


	PROCEDURE grdtel_cv.Init
		use zar!Tel_cv in 0
		this.recordsource="tel_cv"
	ENDPROC


	PROCEDURE grdtel_cv.Refresh
		=requery("tel_cv")
	ENDPROC


	PROCEDURE command1.Click
		SELE TEL_CEH
		APPEND BLANK
		REPL KOD WITH KODC
		NOC_ID=ID_NOC
		=REQUERY("TEL_CV")
		SELE TEL_CV
		LOCA FOR ID_NOC=NOC_ID
		This.Parent.grdTel_cv.SETFOCUS
	ENDPROC


	PROCEDURE command2.Click
		sele TEL_CV
		NZ=RECNO()
		NOC_ID=ID_NOC
		delete from TEL_CEH where id_noc=noc_id
		=REQUERY("TEL_CV")
		SELE TEL_CV
		IF NZ>1
			GO NZ-1
		ENDIF
		This.Parent.grdTel_cv.SETFOCUS
	ENDPROC


	PROCEDURE check1.Valid
		IF THIS.VALUE
			DO FORM parol WITH 5 TO PAR
			IF NOT RTRIM(PAR)=="ЦУКЕР"
				WAIT WINDOW NOWAIT "ВЫ НЕ ЗНАЕТЕ ПАРОЛЬ"
				THIS.VALUE=.F.
			ELSE
				ThisForm.Container3.grdTel_cv.READONLY=.F.
				ThisForm.Container3.Command1.ENABLED=.T.
				ThisForm.Container3.Command2.ENABLED=.T.
				ThisForm.Container4.grdTel_Rv.READONLY=.F.
				ThisForm.Container4.Command1.ENABLED=.T.
				ThisForm.Container4.Command2.ENABLED=.T.
			ENDIF
		ELSE
				ThisForm.Container3.grdTel_cv.READONLY=.T.
				ThisForm.Container3.Command1.ENABLED=.F.
				ThisForm.Container3.Command2.ENABLED=.F.
				ThisForm.Container4.grdTel_Rv.READONLY=.T.
				ThisForm.Container4.Command1.ENABLED=.F.
				ThisForm.Container4.Command2.ENABLED=.F.
		ENDIF
	ENDPROC


	PROCEDURE command1.Init
		THIS.ADDPROPERTY("KUDA",1)
	ENDPROC


	PROCEDURE command1.Click
		SELECT NAMC Цех,CPOD.KOD Код,Tel_ceh.nomer внутр_номер, Tel_ceh.n_gor город_номер, Tel_ceh.prim примечание;
		 FROM zar!tel_ceh INNER JOIN CPOD ON CPOD.KOD=Tel_ceh.kod;
		  ORDER BY NAMC into cursor ctel


		DO CASE
			CASE THIS.KUDA=1
				REPORT FORM  telef.frx NOEJECT NOCONSOLE TO PRINTER prompt
			CASE THIS.KUDA=2
				REPORT FORM  telef.frx PREVIEW
		ENDCASE
		THIS.KUDA=1
	ENDPROC


	PROCEDURE command2.Click
		This.Parent.Command1.KUDA=2
		This.Parent.Command1.CLICK
	ENDPROC


ENDDEFINE
*
*-- EndDefine: form1
**************************************************
23 ноя 09, 17:28    [7966188]     Ответить | Цитировать Сообщить модератору
 Re: Телефонный справочник!!!  [new]
kasablanka
Member

Откуда:
Сообщений: 14
LUCIAN,

От всей души благодарю за помощь!!!!!!
23 ноя 09, 20:18    [7966878]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить