powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как при выборке заменить .NULL на "" (пустоту/пробелы)
58 сообщений из 58, показаны все 3 страниц
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33868255
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT ;
    CaseCategories.name as CaseCategName,;
    CaseReturnReasons.name as ReturnReason,;
    ExecDepExecMail.recid,;
    ExecDepExecMail.Letter_n,;
    ExecDepExecMail.Date_out,;
    ExecDepExecMail.ReturnCode;
    FROM ExecDepExecMail;
    LEFT JOIN CaseReturnReasons ON ExecDepExecMail.ReturnCode=CaseReturnReasons.code;
    LEFT JOIN CaseCategories ON ExecDepExecMail.CategCode=CaseCategories.code;
    INTO CURSOR curExecMail ;
    ORDER BY ExecDepExecMail.Letter_n, ExecDepExecMail.Date_out;
    READWRITE 
оно в поле ReturnReason лупит .NULL когда ExecDepExecMail.ReturnCode=0, а такого кода в CaseReturnReasons нету. Или че - все риплейсами забивать?
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33868316
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nvl(CaseReturnReasons.name,'')
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33868323
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
классы начнем изучать???
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33868330
Cyv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
nvl(CaseReturnReasons.name,'')
А размерность? Наверное лучше бы
Код: plaintext
NVL(CaseReturnReasons.name,SPACE(размер поля name))
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33868338
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сенкс, о такой функции я не знал

классы изучать - будем АбязатИльнА :)
я твой пост читал - думаю вот что лучше будет - уйти в мыло или тут продолжить?
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33868400
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
давай тута

так интересней
и мне руку набить нужно

мне понять нужно как объяснять
и что в этом непонятного
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33869561
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОК.
будем здеся. наверняка кому-то еще будет полезно...
или мож нарисуем топик -Шо такое этот класс?-
заодно другие подтянуцца
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33869579
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SELECT ;
    NVL(CaseReturnReasons.name,SPACE( 20 )) as CaseCategName,;
    CaseReturnReasons.name ReturnReason,;
    ExecDepExecMail.recid,;
    ExecDepExecMail.Letter_n,;
    ExecDepExecMail.Date_out,;
    ExecDepExecMail.date_in,;
    ExecDepExecMail.CategCode,;
    ExecDepExecMail.Executed,;
    IIF(ExecDepExecMail.Executed,"ага","неа") as ExecutedName,;
    ExecDepExecMail.ReturnCode;
    FROM ExecDepExecMail; 
    LEFT JOIN CaseReturnReasons ON ExecDepExecMail.ReturnCode=CaseReturnReasons.code;
    LEFT JOIN CaseCategories ON ExecDepExecMail.CategCode=CaseCategories.code;
    INTO CURSOR curExecMail ;
    ORDER BY ExecDepExecMail.Letter_n, ExecDepExecMail.Date_out;
    READWRITE 

не катит, сиравно нулл и все тут!
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33869600
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
извиняюсь, лоханулся как обычно
все работает!!!
СПАСИБЫ!!!
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33869619
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну мне данные нужны и знать, что ты хочешь выбрать
я так не МАГУ

ну тады так еще ему
update curExecMail set ReturnReason=nvl(ReturnReason,'')


ну внеси в CaseReturnReasons
запись с 0 = "Ошибка"

или добавь условие !empt(ExecDepExecMail.ReturnCode)
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33869843
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да все окейно ужо. я ж в запостщенном примере не туды фукцию впарил :) а потом, правда так и оставил, на всяк пож, но и куды нада тоже прикрутил.

Дык что с классами? создаем топик или там продолжим или тут? ты, кстати, начал с того что вот представь что есть базовые классы. с этим проблема - я не могу представить себе что это. вот объект - это понятно, а что есть класс? это набор свойств для объектов или что?
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870033
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
короче
продолжаем тута


вот смотри
в лисе можно по-всякому

можно тупо код писать
можно даже руками окна взметать
можно формы рисовать

т.е. несколько способов

но рано или поздно это надоедает
во-первых долго
во-вторых нудно
в-третьих, ну не то это

вот смотри
ты создаешь форму
кладешь на нее кнопку и текстбокс

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

а вот с классами ...
это подход с другого бока ....

почитай, задай вопросы
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870055
Кузнецов Игорь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На тему классов.
Я когда еще только-только приступил в визуальному программирования тоже не мог воспринять понятие класса. Я конечно прочитал, что это набор свойств, методов, событий, но все равно было не понятно. И только через некоторое время я придумал для себя аналогию.
Представь себе машиностроение. И как там изготавливают детали методом литья. Берут форму, наливают в нее расплавленный метал, когда остынет - вытряхают. Заливают следующую порцию. Так вот форму для заливки можно уподобить классу в программировании, а созданный на её основе объект - это полученная деталь. Деталь получает точно такие же впуклости и выпуклости (свойства и методы), так и литейная форма, её породившая. После на этой детали можно дополнительно дырок насверлить или шильдик прикрутить (добавить\убрать лишние объекты например), а на другой детали из той же литейной формы зубилом чего-нибудь высечь!
-------------------------------------------------
Я понимаю, что я что-то не понимаю, но вот что я не понимаю, я пока не понимаю.
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870095
AKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100
вот смотри
ты создаешь форму
кладешь на нее кнопку и текстбокс

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


недопонял.. с формой и кнопкой = ясно..
в случае класса
для формы с 1-м объектом а-ля гиперлинк (ну не важно что)
пишу

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
DEFINE CLASS frmwlistbox1 AS frmwlistbox

	DoCreate = .T.
	Caption = "Íîìåðè êâ."
	Name = "Frmwlistbox1"

	ADD OBJECT hyperlinklabel1 AS hyperlinklabel WITH ;
		Caption = "Âèáðàòè", ;
		Left =  24 , ;
		Top =  202 , ;
		Name = "Hyperlinklabel1"

ENDDEFINE

теперь мне нужно такое же тно с 2-мя такими объектами пишу:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
DEFINE CLASS frmwlistbox1 AS frmwlistbox

	DoCreate = .T.
	Caption = "Íîìåðè êâ."
	Name = "Frmwlistbox1"

	ADD OBJECT hyperlinklabel1 AS hyperlinklabel WITH ;
		Caption = "Âèáðàòè", ;
		Left =  24 , ;
		Top =  202 , ;
		Name = "Hyperlinklabel1"

	ADD OBJECT hyperlinklabel2 AS hyperlinklabel WITH ;
		Caption = "Âèáðàòè", ;
		Left =  124 , ;
		Top =  500 , ;
		Name = "Hyperlinklabel2"

ENDDEFINE

ну и так далее... так тут два варианта
1 - я неверно понимаю, и буду благодарен коль Вы поясните..
2 - разница только в подходе - формы - класс-файлы...
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870140
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так, стоять, руки в гору

будем разговаривать про
визуальные классы

нельзя класс понять через написание его
в прг, ты никогда не поймешь, что классы можно создать и нужно
создать как матрешку, один в одном и другого погоняет ...


нужно понимать сущность
представлять класс как яблоко, которое лежит на руке


начнем изучать визуальные
и начнем писать правильно
созданием визуальной библиотеки и визуальных классов
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870166
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
создание библиотеки классов
позволяет создать набор
сущностей - объектов, которые будут
наделены своими свойствами и методами
(иными, не такими, как у базового набора лисы)

и когда этот набор классов
разрастается
управлять им можно только с помощью визуальных средств
понимать такой класс можно, только видя его, представляя его
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870179
AKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100так, стоять, руки в гору

будем разговаривать про
визуальные классы

нельзя класс понять через написание его
в прг, ты никогда не поймешь, что классы можно создать и нужно
создать как матрешку, один в одном и другого погоняет ...


нужно понимать сущность
представлять класс как яблоко, которое лежит на руке


начнем изучать визуальные
и начнем писать правильно
созданием визуальной библиотеки и визуальных классов

1 - для моего примера стало быть разницы нету?
2 - сам пробую визуальные, например класс коннекта к серверу Бд, с методом "Случилась ошибка", "веполнить заврос.." ну и так далее....

вот например:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
DEFINE CLASS pgsqlconnector AS custom

	odbcdriver = ""
	serverip = ""
	*-- Specifies the path to the database that contains the table or view associated with the Cursor object.
	database = ""
	dbuser = ""
	userpassword = ""
	spresult =  0 
	csqlstring = ""
	Name = "pgsqlconnector"


	PROCEDURE connector
		nConnHandle =  0 

		lcDSNLess="DRIVER=" + This.odbcdriver + ";" ; 
		+ "SERVER=" + this.serverip + ";" ;
		+ "UID=" + this.dbuser + ";" ;
		+ "PWD=" + this.userpassword + ";" ;
		+ "DATABASE=" + this.database
		** + "'"

		***WAIT WINDOW lcDSNLess
		nConnHandle = sqlstringconnect(m.lcDSNLess)

		IF nConnHandle <= 0
			this.con2postgresqlerror()
		ENDIF
		 
	ENDPROC


	PROCEDURE con2postgresqlerror
		=AERROR(lAerror)

		DO CASE
			CASE 'is not present in table' $ ALLTRIM(lAerror(3))
				DO FORM MEssager2.scx WITH 'У В А Г А   П О М И Л К А ! ! !', ;
						'Записати дані неможливо !', 'Ви заповнили не всі поля'
			CASE lAerror(4) = '23505'
				DO FORM MEssager2.scx WITH 'У В А Г А   П О М И Л К А ! ! !', ;
						'Унікальність порушено', 'Такий запис вже існує'
			CASE 'invalid input syntax for type date' $ ALLTRIM(lAerror(3))
				DO FORM MEssager2.scx WITH 'У В А Г А   П О М И Л К А ! ! !', ;
						'Записати дані неможливо !', 'Поля з датами повинні бути заповнені'


		*	CASE lAerror(5) = 7 && Unique constraint violation
		*		DO FORM MEssager2.scx WITH 'У В А Г А   П О М И Л К А ! ! !', ;
		*				'Такий запис вже', 'існує'
		*	CASE lAerror(5) = 113
		*		DO FORM MEssager.scx WITH 'Помилково введено користувача або пароль'

		OTHERWISE

		= MESSAGEBOX('Не можу отримати дані з бази' + CHR(13) + ;
		'Опис: [' + ALLTRIM(lAerror(2)) + ']'  + CHR(13) + ;
		'ODBC ErrorMessage: ' + ALLTRIM(lAerror(3))  + CHR(13) + ;
		'ODBC SQL state: '  + ALLTRIM(lAerror(4))  + CHR(13) + ;
		'The error № from the ODBC data source: ' + TRANSFORM(lAerror(5))  + CHR(13) + ;
		'The ODBC connection handle: ' + TRANSFORM(lAerror(6)), 16, ;
		'ПОМИЛКА SQL Connect № ' + TRANSFORM(lAerror( 1 )))
		 

		ENDCASE
		 
	ENDPROC


	PROCEDURE spexecute
		PARAMETERS cSqlstr, cCursorName

		this.spresult = SQLExec(nConnHandle, cSqlstr, cCursorName)
	ENDPROC


ENDDEFINE

но так и не понял - чем мне это поможет в случае массы форм, с разным количеством кнопок?

Да, конечно в той же библе класов у меня есть к примеру типовая форма, с гридом кнопкой выйти-добавить-удалить-редактировать....

Если мне нужна другая такая форма - я делаю ее на основе класса первой + добавляю пару кнопок... но как итог.. все равно ниче не понял.. да и класс формы - это не визуальный класс...
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870188
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а чтож это такое

короче начинаем промывку мозгов


мы сейчас договариваемся
мы забываем про команды
create form
do form

и посмотрим, что из этого получится

начнем?
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870198
AKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100а чтож это такое

короче начинаем промывку мозгов


мы сейчас договариваемся
мы забываем про команды
create form
do form

и посмотрим, что из этого получится

начнем?

не так давно, некто alex11100 в некоем топике
писал "я уже забыл как пишется do form, все на классах делаю..."

Неужто я ощибся в цитате?
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870208
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
за деньги, которые на работе do form пишу, но коробит
а для души классами пишу

ну и я сейчас пытаюсь показать это
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870215
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
простой плоский код не дает возможности понять
сущность

у него нет объема

подход с написанием визуальных классов более предпочтителен,
так как более нагляден, удобен и быстр
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870229
AKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100
подход с написанием визуальных классов более предпочтителен,
так как более нагляден, удобен и быстр


нет конкретики
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870240
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нет конкретики

не понял, начинаем писать пример или нет???
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870256
AKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100не понял, начинаем писать пример или нет???

точно не понял.. от меня уже три примера, от Вас ни одного.... о чем Вы только что сказали?
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870294
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот сразу по-сложному

хотелось разжувать вначале

здесь видно 2 слоя
форма и гриды
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870305
AKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы поймите меня верно!
я согласен - классы лучше, я сам хочу исключительно на классах, но увы - в данном разговоре я пока не понял в чем разница между клонированием форм, и клонированием классов форм а бабле класов?

Много форм = много файлов
1 класс = 1 файл, но большой так?
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870312
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дык давай возьмем какои-нить код по-проще, но такой, чтобы было достаточно для класса и позыряем вместе шо куды ?
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870407
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. класс выступает шаблоном для формы или как? т.е. например не используешь ты на формах никогда определенные вещи, а кое-что всегда. создаешь класс где чего не надо - нету, а чего надо - сразу появляецца? т.е. еси класс рожает форму то она всегда одного виду, размеру и кнопульки там в тех жа местах и все такое

а классы ваще чего бывают? ну типа классы форм или классы баз данных или не то?
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870438
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну посмотри в примере
в библиотеке одного вида
а уже в приложении я специально растянул там подвигал


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


с классом легче
легче понять
легче отловить ошибку
другая логика
особенно при написании ассайновых методов

он висит- его легче трогать

какие классы бывают???

набери в командном окне Create и пробел
интеллисенс - подсветит
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870456
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
изв.
какие классы бывают

надави кнопку нью в проекте
и комбик базед он
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870636
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну хотя бы с этим видно что куда. Там классы могут быть базированы на каждого вида объекте - кнопке, спиннере и тд + еще масса другого
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870640
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и тишина, и м ертвые с косами стоят

спасибо Кузнецов Игорь, немного помог

да действительно
здесь чтобы понять, нужно начинать по-другому мыслить
абстрагироваться от прямого кода и начинать мыслить сущностями

более философский подход к программированию

я вот часто заставляю людей
представить говорящее яблоко ....
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870651
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
что в этом примере непонятно???

вот здесь была основная задача показать, что
можно сделать шаблон

и на его основе оч.быстро дальше создавать
готовые формы в приложении

дальше начнем двигаться???

или есть вопросы???

понятно для чего это???
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870895
AKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100и тишина, и м ертвые с косами стоят

от меня тишина потому, что в моей ВФП 7,0
при компиляции:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Compiling c:\ 111 \ 1 \library.vcx
try
Error in line  10  of ocascad.Init (record  2 ): Unrecognized command verb.
catch
Error in line  20  of ocascad.Init (record  2 ): Unrecognized command verb.
endtry
Error in line  22  of ocascad.Init (record  2 ): Unrecognized command verb.
try 

TRY CATCH видимо не понял


alex11100
и на его основе оч.быстро дальше создавать
готовые формы в приложении
дальше начнем двигаться???
или есть вопросы???
понятно для чего это???

непонятно, ибо я и без этого достаточно быстро создаю приложения , когда вдохновение есть...

и мыслить по иному - на кой мне???

Хотя написано красиво, но так как откомпилить нечем мне.. то я воздерживаюсь от комментов
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33870948
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, это на 9 пробовать нужно

там алайнс еще используется

я вот на работе на 8 измучился без икейса
и ступым алайнсом

тем более в 7 и класс нормально не посмотрите
вниз не пойдет
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33871225
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я чесслово седни тугодум канкретна... так что либо на выходных либо с понедельника продолжим, ок?
В любом случае спасибо, что взялся помочь в этом разобраться :)

ой. а че получается - что классом мона создать сразу объект, которым будет являться готовая форма с гридами и кнопками, и наделенному определенными свойствами/событиями и тп за работу всей этой формы отвечающих? или это я дальше по рЭльсам иду, а то нырять нада?

зы говорю же - туго соображаю сеня. вона не в тот тред запихнул ответ
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33871310
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да , ты прав

можно создать и формы - шаблоны заготовки

и какие-то другие виды классов заготовок
...

все засвисит от фантазии


в конечном итоге с помощь
таких технологий создаются фреймы
когда даже юзеру дают самому
создавать формы (аля 1це)
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33871393
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это продолжение темы

там вторая форма
поднята

и затрачено на это совсем немного времени
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33872968
Флш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1 - красиво пишешь, но, так как приходится менять способ мышления - непонятно, но ерунда.. если уж так писать то ИМХО надо С-шарп брать (ИМХО)

2 - ты недавно писал, что на работе тебе приходится DO FORM делать, хотя ты этого не любишь...
Затем ты пишешь, что твой метод, с юзанием классов позволяет очень быстро создавать приложения и т.д.....

ИМХО неувязочка? Ду Форм - не люблю = хреново... Классы = круто = быстро, НО на работе пишу по старинке.. ибо... ХЗ почему?

Наверное потому, что 25 коллег программерофф пишут ДУ ФОРМ, а ты хочешь писать классы, но ты ОДИН, а один в поле не воин?
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33872996
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
потому, что
то что суппортю
работает во всей необъятной
в каждом регионе

и я не могу уже переделать
этот ....
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33873283
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот это без глюка

ну вот он был пример самого простого фрейма

продолжать будем???
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33874355
AKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100
продолжать будем???


Конечно!!!!

И теперь опять вопрос скорей философский, нежели программистский...

На классах писать лучше/хуже или быстрей/медленней = зависит только от набитости руки (ИМХО)

(на каком языке мне лучше говорить? на руском или английском? Лично мне бОльше английский нравится, но вот блин не знаю его так, чтобы только на нем, а окружающие зачастую знают еще хуже... )

в чем смысл беседы сией? Обратить нас в иную веру?
Зачем оно тебе?
Я перешел на ПостгреСКЛ ... и для интерфейса юзаю ВФП 7,0, и классы мне там нафиг не нужны, ибо все программирование на ВФП свелось к
1 положить на форму визуальный класс коннекта к севреру
2 передать в него параметры
3 попросить его выполнить некую ХП...
4 средствами ВФП отобразить это на формах...
все..... остальное - это язык сервера....

нужно лди мне теперь париться с ВФП классами? не вижу смысла
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33874588
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aki, мне 4 мес назад было сказано

нам 9-й фокс не нужен
нам с 6 хорошо, а 9-му мы не доверяем ...

короче зачем пень4-й, ведь 286 тоже сининькими
и красненькими ....

зачем мерс, кушает много, стоит ...- таврия - лучше

ну тогда, я уж не знаю


я хочу показать, что долбить
формы тупо - это не есть хорошо

будущее за фреймами,
за какими-то объектами и классами, которые
помагают смоделировать логику
облегчить программисту жизнь

можно и так делать
pp = ttt.pp+rr.rr ...
repl ff.gg with pp


а можно
параметр Документ
если Документ.Валюта="руб"
Документ.провести("20")
иначе
Документ.провести("50")
конецесли

фиг его знает ....

можно и фрейм написать аля 1С
а можно и формочки и кнопочки лепить всю жизнь

да, ФИЛОСОФИЯ - ШТУКА СУ.. ОПАСНАЯ
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33874750
AKI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100
а можно и формочки и кнопочки лепить всю жизнь


сам же лепишь ибо переписать нет возможности (читай сил и желания...)

Религия штука опасная
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33874791
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну понятно,
не про Кузьму, а про Ерему
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33875668
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
жалко, а так начиналось здорово
все, тема умерла

ну вот последний пример
пример показывает
как технология написания классами
позволяет быстро изменить поведение
объектов уже готового приложения, не трогая их,
а изменяя только базовые классы
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33876828
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сапожечки, трусишки

Эх, это ежели б приехать к тебе да посидеть-попрограмить вместе. Вживую пообщацца да по ходу вопросы позадавать... Тогда б я точняк на классы перешел. Нутром чую что оно так выгоднее писать.

А так... вобщем что это такое классы эти я, насколько смог, настолько понял. За это спасибы бальшия...

Короче класс - родитель объекта. С помощью оного можно много гибчее и быстрее програмить.
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33876839
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть ишшо такой вопрос

как установить факт дублированных по какому-то полю записей? Не сделать их выборку, ни подсчитать скока таких, а просто установить сам факт наличия.

сам тока могу сделать отсортированный по нужному полу курсор и потом его сканить сравнивая следующее значение с предидущим
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33876980
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CTAC-KO... Не сделать их выборку, ни подсчитать скока таких, а просто установить сам факт наличия.

сам тока могу сделать отсортированный по нужному полу курсор и потом его сканить сравнивая следующее значение с предидущим
Не логично это. :) Курсор можешь создать, а выпорку - нет. Почему?
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33876995
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не допустить ввод значений можно построив индекс candidate

Controlling Duplicate Values
Visual FoxPro supports four types of indexes: primary, candidate, unique, and regular. These index types control whether duplicate values are permitted or prohibited in table fields and records.

Preventing Duplicate Values
A primary index is an index that never permits duplicate values on the specified fields or expression. Primary indexes are principally used within the primary or "referenced" table for establishing referential integrity in a persistent relationship. You can create only one primary index for a table. Visual FoxPro returns an error if you specify a primary index on any field that already contains duplicate data.

A candidate index is an index that never permits duplicate values on the specified fields or expression. The name "Candidate" refers to the status of the index; since candidate indexes prohibit duplicate values, they qualify as "candidates" to be selected as the primary index on a table. You can create multiple candidate indexes for a table. You use candidate indexes as either the referenced or referencing index in a persistent relationship for establishing referential integrity. Visual FoxPro returns an error if you specify a candidate index on any field that already contains duplicate data.
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33877010
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык курсор-то я выборкой и сделаю. тока вот в SQL SELECT-е есть условие DISTINCT "без дубликатов", а чтобы тока дубликаты остались?
Получается нужно делать 2 выборки - одну полную, вторую DISTINCT, затем из первой вычесть вторую...
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33877036
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Глядя на что стоит DISTINCT и по какому полю ты будешь анализировать. Или тебе по всем полям нужно?
2. А как ты в этом случае собирался сканить курсор?
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33877086
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не, ну так я просто выберу в курсор ВСЕ записи, ради того чтобы задать ORDER BY по нужному полю. а потом например
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
go top
nDups= 0 
nPrevCode=ab_codes.code
skip
do while not eof()
    if ab_codes.code=nPrevCode
       * найден дупликат %)
       * exit
       nDups=nDups+ 1 
    else
        nPrevCode=ab_codes.code
    endif
    skip
enddo 
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33877128
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и почему не сделать
Код: plaintext
 select code, cnt(code) Qty from ab_codes having(Qty)> 1  group by code
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33877462
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CTAC-KO ?
для чего эти танцы с бубеном??

вот тебе пример
попробуй добавить товары с одинаковым наименованием
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33878944
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2AleksMed
Во! Эт как раз тот селект что надо, останецца тока подсчитать в нем кол-во записей и если оно будет больше 0, то это и есть признак наличия дубликатофф! :)
Сенксь!

2Alex1100
Да эт здорово, конечно, тока у меня задачка проверять дубликаты в уже давно написанном приложении. А там, инада, получаются, из-за ошибок самого приложения, дубликаты. А нормальным образом дубликат ввести не дает.
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33878995
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT ab_code,;
       cnt(ab_code) Qty;
   FROM ab_codes;
   HAVING (Qty)> 1 ;
   GROUP BY ab_code;
   INTO CURSOR curDupz NOFILTER 
вроде как работает, но что такое cnt(ab_code)? я чегой-то не могу найти ни в фоксовом хелпе ни в Понимание SQL (Understanding SQL), в последней есть тока агрегатная функция COUNT, которая вроде как похожа...
...
Рейтинг: 0 / 0
как при выборке заменить .NULL на "" (пустоту/пробелы)
    #33879144
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Угу. Конечно COUNT(), буквы пропустил :)
Анализ системной переменной _TALLY>0 после запроса покажет что есть дубли.
...
Рейтинг: 0 / 0
58 сообщений из 58, показаны все 3 страниц
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как при выборке заменить .NULL на "" (пустоту/пробелы)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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