Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
Как сделать перменные, вычисленные в одной FORM, видными в другой И исчо, может кто подскажет где найти что нибудь почитать про функцию PRINT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 15:26 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
задекларировать их в классе формы как public например int - самый простой путь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2003, 17:12 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
А как сделать ссылку на енту int в другой форме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2004, 14:30 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
вообще это WinForms или Webforms? ============ общий подход public class f1 { public int i; ... } ... в другой сборке, классе... f1 f = new f1(); int x = f.i; <-- f.i виден как public member класса f1 ============== если речь идёт о передаче значений из одной веб формы в другую, тогда всё по-другому, посмотрите на форуме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2004, 15:20 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
А как же основопологающие принципы обьектноореинтированного программирования - инкапсуляция данных и защита ? Все похерить! Обявлять переменные в классе как public полный отстой!!! :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2004, 15:40 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
авторОбявлять переменные в классе как public полный отстой!!! :( Согласен, но вопрос был не о принципах ООП, поэтому я привёл самый п р о с т о й путь. Кроме того, иной раз бывает просто лень писать свойство ради одного поля класса :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2004, 16:13 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
Думаю, что иногда (как пишут в "учебных" целях - но это не тот, конечно, случай) такой подход оправдан, хотя и с некоторыми натяжками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2004, 16:14 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
Прошу прощения за возможно глупый вопрос, но если свойство класса может быть get / set, то почему public переменная отстой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2004, 16:41 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
Согласно ООП, с полями класса желательно работать через методы/свойства, которые делаются public, а поле обычно private, т.е. напрямую работать с полями не рекомендуется. Хотя, опять же, если нельзя, но очень хочется, то можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2004, 16:49 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
Так это постулат? В случае если свойство только set(get) я еще понимаю, но в тут?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2004, 17:31 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
У меня ассоциация с фамилией "Голуб" - химия ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2004, 20:12 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
Енто все умно написано. А как все таки мне написать-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 11:23 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
2hDrummer И что за химик Голуб? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2004, 12:15 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
С переменными я разобралси, спа. Исчо один вопрос: Как закрытии Form2 запустить sqlDataAdapter.Fill(...); который находится в Form1? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2004, 08:15 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
ГЫГЫ сделать DataAdapter public ;)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2004, 14:43 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
Ну давайте все сделаем public! Я вообще предлагаю прекратить использовать ООП и перейти на классический ANSI C! А использовать события Windoze никто не пробовал! Я вообще балдею! Нет вы все таки двошники! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2004, 14:48 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
Может мне все таки кто нито черкнет поподробнее как писать то?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2004, 08:31 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
авторНет вы все таки двошники! Ну а все-таки, что плохого что адаптер будет public? Ну можно сказать, что внутренняя реализация класса будет видна, ну и что из этого? Если в проге нет никакого ноу-хау и она не будет продоваться в коробке какая разница public не public? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2004, 10:42 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
to funikovyuri К сожалению архив с сайта не распоковывается, буду признателен если намылите ее в читаемом виде на mi2k@mail.ru Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2004, 14:24 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
HFH http://www.bibl.ru/c_cplyusplyus.htm all Чтобы подвести итог - цитата этого самого химика Голуба - никто лучше об этом не скажет 109. Все данные в определении класса должны быть закрытыми. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2004, 14:38 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
бл, на свой глупый вопрос я получил столько умных ответов и ни одного конкретного. Можа мне кто нибудь напишет как все енто сделать ( я имею в виду адаптер) Буду очень признателен если енто будет С КОДОМ!!!!!!!!!!!!!!!!!!. P.S. Сразу хочу сказать насчет воших выссказываний и цитат из Голуба. Я все енто понимаю, но свою прогу я не собираюсь отправлять ни в какой Пакистан и проч. Ентой штукой пользуются ВСЕГО 5 ЧЕЛОВЕК. И БОЛЬШЕ НЕ БУДЕТ!!!! Ну так я жду? P.S.2 Кстати насчет объявления адаптера public , енто не работает. Можа я как то код не так написал. Ну тадЫ извините. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2004, 20:30 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
Чтобы не быть голословным - можно вот так... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Но я рескну еще раз позанудствовать и отослать теперь к Бучу 3.2. Отношения между объектами : Видимость. Там как раз все способы которыми один объект может видеть другой ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 15:01 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
2funikovyuri Если уж такая петрушка пошла, то м.б. объясните, зачем вообще давать возможность делать поля класса public? Один + в сторону public полей я знаю - их использование более эффективно по скорости, чем использование, например, свойств. Да и в байт-коде выглядит, наверное (это предположение), покороче. Я понимаю, что с точки зрения ООП делать так некорректно, поскольку нарушает один из основных столпов ООП (а именно инкапсуляцию) и не призываю огульно пользоваться public полями. Но, чёрт возьми, если эта фишка есть, значит она зачем-то нужна? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 15:34 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
hDrummer Ну во-первых, это правило почему-то не для всех очевидно, к тому же профессиональные программисты судя по всему народ консервативный. Вот например создатели Borland C++ Builder/delphi и MFC - вообще это правило игнорировали - т.е. например в Delphi все компоненты на форме - открытые члены данных - т.е. тот же Хейлсберг когда писал VCL - думал что Public - Это нормально - а когда он же писал C#/CLR - считал уже по-другому. Т.е. просто сменился стиль/подход к ООП Т.е. раньше да и сейчас - public это то что многие продолжают использовать и не считаться с этим нельзя. Я полагаю в свое время это отомрет - но видно пока еще рано Далее - public это часть концепции - хотите - используйте - никто мешать не будет - другой вопрос что надо понимать чем это чревато. Т.е. например есть правило что в C++ все параметры передающиеся по ссылке (&) должны быть const - но ведь никто не собирается делать это ограничением компилятора Насчет скорости - в C++ есть inline и оптимизатор компилятора - так что там потери производительности нет. В .Net такую оптимизацию выполняет сам Jitter - так что я думаю там потерь тоже быть не должно. PS> Я, например, - никогда потребности в public data members не замечал - но я не профессионал и тем более не исследователь/ученый - так что вполне возможно что есть и другие причины ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 16:03 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
Да, а вот что бывает с теми кто не слушал Голуба \r \r /topic/68553 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2004, 16:08 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
funikovyuri Кстати так тоже не получается а вот так Form1 f = new Form1(); f.sqlDataAdapter1.fill(f.dataSet31); вроде не ругается но и ничего не обновляет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2004, 12:58 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
funikovyuriно я не профессионал судя по вашим постам я бы так не сказал :) а какой у вас критерий профессионализма? мне когда-то понравилось определение - "профессионал (имеется ввиду в чём-то) - тот, кто зарабатывает себе на жизнь своей профессией". хотя в последнее время смысл этого слово сместился в сторону "высококлассный специалист", так же, как термина "хакер" - в сторону "электронный пират". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2004, 14:09 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
2 sadsaf Ты не описал свою задачу по идее при правильной организации проекта подобных проблем не должно возникать. Могу предположить что в форме 2 находятся данные которые необходимо закинуть в базу данных. Например есть форма 1 там datagrid на чтение, нажимаем кнопку изменить и в форме2 меняем данные, в форме2 нажимаек ОК изменения попадают в БД. ИМХО тогда я бы : 1) На форме2 переменные не стал бы объявлять как public а обращался бы к ним через свойства 2) Открывал бы форму как модальный диалог а при закрытии делал бы что хотел с данными этой формы Код обработчика кнопки "изменить" формы1 Пишу на VB.NET Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Не пинайте за VB.NET главное показать идею ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2004, 21:41 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
Мысль то верная тока как енто все написать на шарпе? И мне нужно что бы данные (при закрытии форм1) сразу же отражались в гриде в форме2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2004, 17:07 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
hDrummer судя по вашим постам я бы так не сказал :) Спасибо профессионал (имеется ввиду в чём-то) - тот, кто зарабатывает себе на жизнь своей профессией Если именно профессией - а то много как зарабатывают - у людей мимикрия развита неплохо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2004, 13:04 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
автор Мысль то верная тока как енто все написать на шарпе? И мне нужно что бы данные (при закрытии форм1) сразу же отражались в гриде в форме2. Напиши поподробнее свою задачу , примерные данные, использованную СУБД в частности (запросы или хранимые процедуры), как выглядит форма 1 (какие данные, элементы управления используются) как выглядит форма 2 (анологично), судя по предыдущим постам картина четко не вырисовывается. Тогда можно что-нибудь и по конкретнее посоветовать. За что люблю .NET есть множество решений одной и той же задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2004, 07:23 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
В форм 1 есть грид с записями. При добавлении новой записи открывается форм 2 с текстБоксами При нажатии кнопки Добавить(кнопка находится в форм 2) данные должны попасть в базу данных(с ентим проблем не существует ) , а при нажатии кнопки EXIT форм2 должна закрыться, а данные должны сразу появится в гриде в форм 1. //Form1 using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; namespace transport_7._03sl { /// <summary> /// Summary description for Form1. /// </summary> public class Form1 : System.Windows.Forms.Form { public System.Windows.Forms.DataGrid dataGrid1; private System.Windows.Forms.Button button2; private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.TextBox textBox2; public System.Data.SqlClient.SqlDataAdapter sqlDataAdapter1; public System.Data.SqlClient.SqlConnection sqlConnection1; public transport_7._03sl.DataSet3 dataSet31; … //Добавление новой записи private void button1_Click(object sender, System.EventArgs e) { Form2 f = new Form2(); f.Show(); } //Form2 using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; namespace transport_7._03sl { /// <summary> /// Summary description for Form2. /// </summary> public class Form2 : System.Windows.Forms.Form { private System.Data.SqlClient.SqlDataAdapter sqlDataAdapter1; private System.Data.SqlClient.SqlConnection sqlConnection1; … //Кнопка сохранения записи private void button2_Click(object sender, System.EventArgs e) { int k = dataGrid1.CurrentRowIndex.GetHashCode(); string filter = "id='" + dataGrid1.CurrentRowIndex.ToString() + "'"; DataRow[] full = dataSet30111.full.Select(filter); dataSet30111.full[k].BeginEdit(); dataSet30111.full[k]["Отправитель"] = textBox1.Text; dataSet30111.full[k]["Груз"] = textBox2.Text; dataSet30111.full[k]["Тип машины"] = textBox3.Text; … dataSet30111.full[k].EndEdit(); sqlDataAdapter2.Update(dataSet30111); } … А вот тута начинается самое интересное //Кнопка закрытия форм 2 private void button3_Click(object sender, System.EventArgs e) { frachtForm f1 = new frachtForm(); f1.sqlDataAdapter1.Fill(f1.dataSet31); this.Close(); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2004, 10:26 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
В форм 1 есть грид с записями. При добавлении новой записи открывается форм 2 с текстБоксами При нажатии кнопки Добавить(кнопка находится в форм 2) данные должны попасть в базу данных(с ентим проблем не существует ) , а при нажатии кнопки EXIT форм2 должна закрыться, а данные должны сразу появится в гриде в форм 1. Если тебе не критично то пусть форма 2 будет модальной. С одной стороны это удобно так как навязывают пользователю отработать этот диалог. А не переключиться на другой оставив этот открытым. Если форма 2 будет модальной то решение может быть следующим. Во первых DataSet отвязанный источник данных поэтому совершенно не обязательно сразу же скидывать значения. в базу данных. Я бы в форме 2 работал только с dataset, про БД можно забыть. И также на форме2 помести две кнопки. ОК и CANCEL - у одной поставил DialogResult = OK у другой CANCEL. В случае если пользователь понял что накосячил он нажимает на СANCEL в БД ничего не заносится. В случае если все ОК пользователь нажимает кнопку ОК и только тогда я обновляю БД. данными из DATASET. При этом физически эта процедура находится не в форме2 а в форме 1. Например, так. Эта процедура вызываемая по нажатию кнопки ДОБАВИТЬ (Форма1 ): Код: 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. Стоит отметить что в форме2 никакого кода для доступа к БД не должно быть. Все делается в форме1 по аналогии но только с некоторыми НО можно сделать в форме1 обработку ИЗМЕНЕНИЯ данных, УДАЛЕНИЯ данных. Никакие другие объекты при закрытии формы2 не создаются. Если тебе и хочется поработать с данными формы1 из формы2 . То если это модальной окно обратись к своему владельцу (Форма2.Owner) - это и будет форма1. (f2.ShowDialog(this); - this как раз устанавливает владельца модального диалога) P.S. Если не хочется особо думать то воспользуйся DATAWIZARD и посмотри на автоматически сгенерированный код. В нем есть минусы но представление о том как работать с DataSet тебе даст. Разницы что это C# или VB.NET нет - тут разница только в синтаксисе а работает все одинаково быстро. В этом коде данные не запрашиваются никогда повторно, то есть полного REFRESH нет, а то представь что постоянно по сетке качать всю таблицу целиком. Мы работаем только с измененными данными их собственно отправляем в БД, и получаем кукиш если БД их не принимает (целостная ссылочность). Советую почитать хорошую книжку по ADO.NET ( лучшие это от WROX красные книги с фотографиями авторов) Professional ADO.NET например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 09:39 |
|
||
|
Как сделать перменные видными
|
|||
|---|---|---|---|
|
#18+
Спасибо за совет Хотя по твоим записям я не совсем разобралси, но натолкнул ты меня на другое решение private void button1_Click(object sender, System.EventArgs e) { zusammenForm f = new zusammenForm(); DialogResult result = f.ShowDialog(this); switch(result) { case DialogResult.OK: sqlDataAdapter1.Fill(dataSet31); break; case DialogResult.Cancel: default: break; } Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2004, 11:12 |
|
||
|
|

start [/forum/topic.php?all=1&fid=20&tid=1439654]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
82ms |
get tp. blocked users: |
1ms |
| others: | 271ms |
| total: | 450ms |

| 0 / 0 |
